/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.text-wrap{text-wrap:wrap}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-paper:oklch(96% .014 82);--color-paper-2:oklch(92% .025 80);--color-surface-raised:oklch(98.5% .008 82);--surface-1:oklch(97.5% .011 82);--surface-2:oklch(99% .006 82);--surface-3:oklch(100% 0 0);--surface-sunken:oklch(93.5% .02 80);--surface-hover:oklch(94.5% .02 82);--surface-selected:oklch(95% .03 226);--color-ink:oklch(28% .045 242);--color-ink-2:oklch(44% .035 232);--text-1:var(--color-ink);--text-2:var(--color-ink-2);--text-3:oklch(48% .028 232);--text-on-accent:oklch(99% .005 82);--color-rule:oklch(28% .045 242/.22);--rule-strong:oklch(28% .045 242/.38);--rule-soft:oklch(28% .045 242/.12);--color-grid:oklch(45% .09 226/.07);--color-accent:oklch(45% .095 226);--color-accent-soft:oklch(72% .05 218);--color-accent-warm:oklch(48% .17 30);--color-accent-ink:oklch(99% .005 82);--color-focus:oklch(48% .2 30);--color-success:oklch(45% .105 155);--color-warning:oklch(47% .115 78);--color-danger:var(--color-accent-warm);--tint-accent:oklch(45% .095 226/.1);--tint-warm:oklch(50% .17 30/.09);--tint-success:oklch(45% .105 155/.1);--tint-warning:oklch(47% .115 78/.11);--figure-beam:oklch(32% .045 240);--figure-beam-2:oklch(24% .04 240);--figure-mass:oklch(58% .012 240);--figure-mass-2:oklch(72% .012 240);--figure-ink:oklch(28% .045 242);--font-body:var(--font-geist-sans), "PingFang SC", "HarmonyOS Sans SC", "Source Han Sans SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-display:"Songti SC", "STSong", "Noto Serif CJK SC", "Source Han Serif SC", "Noto Serif SC", serif;--font-label:var(--font-geist-mono), "SFMono-Regular", ui-monospace, monospace;--font-math:"Cambria Math", "Latin Modern Math", Georgia, "Times New Roman", serif;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--fs-micro:.8125rem;--fs-caption:.875rem;--fs-sm:.9375rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.3125rem;--fs-xl:1.625rem;--fs-display:clamp(2.2rem, 4.2vw, 3.6rem);--text-xs:var(--fs-micro);--text-sm:var(--fs-caption);--text-base:var(--fs-base);--text-md:var(--fs-md);--text-lg:var(--fs-lg);--text-xl:var(--fs-xl);--text-display:var(--fs-display);--lh-tight:1.3;--lh-heading:1.35;--lh-body:1.75;--lh-loose:1.9;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--radius-input:.25rem;--radius-card:.25rem;--radius-pill:999px;--shadow-raised:0 18px 55px oklch(28% .025 75/.11);--tap-min:44px;--disabled-opacity:.62;--texture-opacity:.12;--photo-opacity:.16}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-paper:oklch(18% .018 242);--color-paper-2:oklch(22% .02 242);--color-surface-raised:oklch(26% .022 242);--surface-1:oklch(21% .019 242);--surface-2:oklch(25% .021 242);--surface-3:oklch(29% .023 242);--surface-sunken:oklch(15% .016 242);--surface-hover:oklch(31% .025 242);--surface-selected:oklch(32% .04 226);--color-ink:oklch(95% .008 230);--color-ink-2:oklch(80% .018 226);--text-1:var(--color-ink);--text-2:var(--color-ink-2);--text-3:oklch(74% .02 226);--text-on-accent:oklch(16% .018 242);--color-rule:oklch(85% .02 226/.26);--rule-strong:oklch(88% .02 226/.45);--rule-soft:oklch(85% .02 226/.14);--color-grid:oklch(75% .08 220/.09);--color-accent:oklch(80% .1 220);--color-accent-soft:oklch(58% .07 218);--color-accent-warm:oklch(79% .13 38);--color-accent-ink:oklch(16% .018 242);--color-focus:oklch(84% .13 40);--color-success:oklch(80% .11 155);--color-warning:oklch(85% .1 82);--color-danger:var(--color-accent-warm);--tint-accent:oklch(80% .1 220/.16);--tint-warm:oklch(79% .13 38/.15);--tint-success:oklch(80% .11 155/.15);--tint-warning:oklch(85% .1 82/.16);--figure-beam:oklch(62% .035 240);--figure-beam-2:oklch(48% .03 240);--figure-mass:oklch(56% .012 240);--figure-mass-2:oklch(70% .012 240);--figure-ink:oklch(88% .012 230);--shadow-raised:0 1px 2px oklch(5% .01 242/.5);--texture-opacity:0;--photo-opacity:.07}}@media (prefers-contrast:more){:root{--text-2:var(--text-1);--text-3:var(--text-1);--color-rule:currentColor;--rule-soft:currentColor;--texture-opacity:0;--photo-opacity:0}}:root{--paper:var(--color-paper);--paper-deep:var(--surface-sunken);--surface:var(--surface-2);--surface-muted:var(--surface-1);--ink:var(--text-1);--ink-soft:var(--text-2);--muted:var(--text-3);--tianjin-blue:var(--color-accent);--river-blue:var(--color-accent-soft);--vermilion:var(--color-accent-warm);--charcoal:var(--text-1);--line:var(--color-rule);--line-soft:var(--rule-soft);--grid:var(--color-grid);--shadow:var(--shadow-raised)}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px;overflow-x:clip}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-body);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;overflow-x:clip}h1,h2,h3,h4{letter-spacing:normal;line-height:var(--lh-heading);text-wrap:balance}p{text-wrap:pretty}button,a{font:inherit}button{color:inherit}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;box-shadow:0 0 0 6px var(--color-focus)}@supports (color:color-mix(in lab, red, red)){:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{box-shadow:0 0 0 6px color-mix(in srgb, var(--color-focus) 22%, transparent)}}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{border-radius:2px}:where(button,a[href],select,summary,[role=button]){min-height:var(--tap-min)}:where(button,a[href],input,select,textarea):disabled,:where(button,a[href]) [aria-disabled=true]{opacity:var(--disabled-opacity);cursor:not-allowed}.site-shell{background:radial-gradient(circle at 78% 32%, var(--color-accent-soft), transparent 24%), linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px), var(--paper);min-height:100dvh;padding:0 32px 26px;overflow-x:clip}@supports (color:color-mix(in lab, red, red)){.site-shell{background:radial-gradient(circle at 78% 32%, color-mix(in srgb, var(--color-accent-soft) 18%, transparent), transparent 24%), linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px), var(--paper)}}.site-shell{background-size:auto,24px 24px,24px 24px,auto;position:relative}.site-shell:before{content:"";pointer-events:none;opacity:var(--texture-opacity);mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");position:absolute;inset:0}.site-shell:after{content:"";z-index:0;pointer-events:none;opacity:var(--photo-opacity);mix-blend-mode:multiply;background:url(/editorial-background.png) 0 100%/cover no-repeat;position:absolute;inset:0}.topbar,.quest-layout,.knowledge-strip,.world-view,.graph-view{z-index:1;width:min(1480px,100%);margin-inline:auto;position:relative}.topbar{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;min-height:88px;display:grid}.brand{width:max-content;color:var(--ink);font-family:var(--font-display);letter-spacing:.08em;align-items:center;gap:14px;font-size:clamp(24px,2vw,34px);font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{border:2px solid;border-radius:50%;width:50px;height:50px;position:relative;overflow:hidden}.brand-wave{border:2px solid;border-radius:50%;width:62px;height:18px;position:absolute;bottom:9px;left:-7px}.brand-sun{background:var(--vermilion);border-radius:50%;width:12px;height:12px;position:absolute;top:8px;right:7px}.main-nav{align-items:center;gap:clamp(24px,4.6vw,72px);height:100%;display:flex}.main-nav button{cursor:pointer;color:var(--ink-soft);font-weight:650;font-size:var(--fs-md);background:0 0;border:0;border-bottom:3px solid #0000;align-self:stretch;padding:0 6px}.main-nav button:hover,.main-nav .active{color:var(--ink)}.main-nav .active{border-bottom-color:var(--tianjin-blue)}.energy-pill{border:1px solid var(--line);background:var(--surface-2);font-size:var(--fs-sm);color:var(--ink-soft);justify-self:end;align-items:center;gap:9px;padding:10px 15px;font-weight:650;display:flex}.energy-pill span{background:var(--tianjin-blue);width:8px;height:8px;box-shadow:0 0 0 5px var(--color-accent);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.energy-pill span{box-shadow:0 0 0 5px color-mix(in srgb, var(--color-accent) 10%, transparent)}}.quest-layout{grid-template-columns:minmax(300px,.78fr) minmax(620px,1.72fr);gap:clamp(24px,3vw,48px);min-height:calc(100dvh - 190px);padding:clamp(30px,5vh,58px) 0 28px;display:grid}.quest-intro{flex-direction:column;min-height:660px;padding:12px 12px 30px 6px;display:flex;position:relative}.eyebrow,.puzzle-heading p,.tool-dock p{color:var(--tianjin-blue);font-size:var(--fs-caption);letter-spacing:.08em;text-transform:uppercase;font-weight:750;font-family:var(--font-label);margin:0}.quest-intro h1{font-family:Noto Serif SC,Source Han Serif SC,SimSun,serif;font-size:clamp(39px,4.3vw,69px);line-height:var(--lh-heading);letter-spacing:normal;margin:18px 0 26px}.quest-intro h1 span{color:var(--vermilion);position:relative}.quest-intro h1 span:after{content:"";opacity:.65;border-top:2px solid var(--vermilion);border-radius:50%;height:7px;position:absolute;bottom:-7px;left:-3%;right:-3%;transform:rotate(-1.5deg)}.progress-card{border:1px solid var(--line);background:var(--surface-2);align-items:center;gap:22px;width:min(380px,100%);padding:15px 18px;display:flex}.progress-number{white-space:nowrap;border-right:1px solid var(--line);padding-right:18px;font-size:22px}.progress-number strong{color:var(--tianjin-blue);font-size:35px}.progress-track{flex:1;align-items:center;display:flex}.progress-track i{background:var(--paper-deep);border:1px solid var(--text-1);border-radius:50%;width:11px;height:11px}@supports (color:color-mix(in lab, red, red)){.progress-track i{border:1px solid color-mix(in srgb, var(--text-1) 32%, transparent)}}.progress-track i{position:relative}.progress-track i:not(:last-child):after{content:"";background:var(--text-1);width:clamp(10px,1.4vw,24px);height:2px;position:absolute;top:4px;left:10px}@supports (color:color-mix(in lab, red, red)){.progress-track i:not(:last-child):after{background:color-mix(in srgb, var(--text-1) 20%, transparent)}}.progress-track i:not(:last-child){margin-right:clamp(10px,1.4vw,24px)}.progress-track i.done,.progress-track i.done:after{background:var(--tianjin-blue);border-color:var(--tianjin-blue)}.quest-intro blockquote{border-left:2px solid var(--vermilion);max-width:370px;color:var(--ink-soft);font-family:Noto Serif SC,Source Han Serif SC,SimSun,serif;font-size:var(--fs-base);margin:26px 0;padding:0 0 0 18px;line-height:2}.primary-action{border:1px solid var(--tianjin-blue);background:var(--tianjin-blue);width:min(320px,100%);min-height:72px;color:var(--color-accent-ink);box-shadow:5px 5px 0 var(--text-1);justify-content:space-between;align-items:center;padding:0 28px;display:flex}@supports (color:color-mix(in lab, red, red)){.primary-action{box-shadow:5px 5px 0 color-mix(in srgb, var(--text-1) 14%, transparent)}}.primary-action{cursor:pointer;letter-spacing:.08em;transition:transform var(--dur-micro) var(--ease-out);z-index:3;white-space:nowrap;font-size:20px;font-weight:750;position:relative}@media (hover:hover) and (pointer:fine){.primary-action:hover{box-shadow:7px 8px 0 var(--text-1);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.primary-action:hover{box-shadow:7px 8px 0 color-mix(in srgb, var(--text-1) 12%, transparent)}}}.primary-action:active{transform:translateY(1px)}.primary-action:disabled{cursor:not-allowed;opacity:var(--disabled-opacity);box-shadow:3px 3px 0 var(--text-1);transform:none}@supports (color:color-mix(in lab, red, red)){.primary-action:disabled{box-shadow:3px 3px 0 color-mix(in srgb, var(--text-1) 10%, transparent)}}.primary-action.secondary{background:var(--vermilion);border-color:var(--vermilion)}.primary-action span{font-size:28px;font-weight:400}.city-sketch{opacity:0;pointer-events:none;height:215px;position:absolute;inset:auto -16px 0 -42px}.learning-status{z-index:2;border-left:2px solid var(--river-blue);background:var(--surface-2);width:min(320px,100%);color:var(--ink-soft);font-size:var(--fs-caption);gap:5px;margin-top:18px;padding:12px 15px;display:grid;position:relative}.learning-status span{color:var(--tianjin-blue);letter-spacing:.08em;font-weight:750}.learning-status strong{color:var(--ink);font-size:var(--fs-sm)}.sketch-building{border:2px solid var(--ink);border-bottom:0;position:absolute;bottom:25px}.sketch-building:before,.sketch-building:after{content:"";background:repeating-linear-gradient(90deg, transparent 0 15px, var(--ink) 16px 18px);opacity:.6;position:absolute;inset:18% 16%}.sketch-building-one{width:150px;height:90px;left:0;transform:skewY(-3deg)}.sketch-building-two{width:110px;height:122px;left:138px}.sketch-tower{border:2px solid var(--ink);width:26px;height:50px;position:absolute;bottom:147px;left:178px;transform:perspective(20px)rotateX(7deg)}.sketch-river{border:2px solid var(--tianjin-blue);border-radius:50%;height:80px;position:absolute;left:30px;right:0;transform:rotate(-5deg)}.sketch-river-one{bottom:-19px}.sketch-river-two{bottom:-37px;left:66px}.sketch-wheel{border:2px solid var(--tianjin-blue);border-radius:50%;width:114px;height:114px;position:absolute;bottom:13px;right:6px}.sketch-wheel:after{content:"";background:var(--tianjin-blue);position:absolute;inset:48%}.sketch-wheel i{background:var(--tianjin-blue);transform-origin:0;width:50%;height:1px;position:absolute;top:50%;left:50%}.puzzle-card{border:1px solid var(--text-1);align-self:stretch}@supports (color:color-mix(in lab, red, red)){.puzzle-card{border:1px solid color-mix(in srgb, var(--text-1) 23%, transparent)}}.puzzle-card{background:var(--surface-2);box-shadow:var(--shadow);grid-template-rows:auto 1fr auto auto;min-height:660px;display:grid;position:relative;overflow:hidden}.puzzle-card:before{content:"";opacity:.48;pointer-events:none;background:linear-gradient(var(--color-accent) 1px, transparent 1px), linear-gradient(90deg, var(--color-accent) 1px, transparent 1px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.puzzle-card:before{background:linear-gradient(color-mix(in srgb, var(--color-accent) 8%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--color-accent) 8%, transparent) 1px, transparent 1px)}}.puzzle-card:before{background-size:20px 20px}.puzzle-card.started{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.puzzle-card.started{border-color:color-mix(in srgb, var(--color-accent) 55%, transparent)}}.puzzle-heading,.tool-dock{z-index:2;justify-content:space-between;align-items:center;gap:22px;padding:24px 30px;display:flex;position:relative}.puzzle-heading{border-bottom:1px solid var(--line)}.puzzle-heading h2{margin:7px 0 0;font-family:Noto Serif SC,Source Han Serif SC,SimSun,serif;font-size:clamp(20px,2vw,30px)}.equation{border:1px solid var(--text-1)}@supports (color:color-mix(in lab, red, red)){.equation{border:1px solid color-mix(in srgb, var(--text-1) 20%, transparent)}}.equation{background:var(--surface-3);box-shadow:0 5px 18px var(--text-1)}@supports (color:color-mix(in lab, red, red)){.equation{box-shadow:0 5px 18px color-mix(in srgb, var(--text-1) 7%, transparent)}}.equation{color:var(--ink);letter-spacing:.04em;max-width:100%;padding:12px 24px;font-family:Georgia,Times New Roman,serif;font-size:clamp(24px,3vw,46px);overflow-x:auto}.equation span{font-style:italic}.balance{z-index:1;min-height:390px;padding:42px 30px 20px;position:relative}.scene-caption{max-width:calc(100% - 260px);color:var(--ink-soft);font-family:Noto Serif SC,Source Han Serif SC,SimSun,serif;font-size:var(--fs-sm);margin:0;line-height:1.75;position:absolute;top:18px;left:30px}.balance-rule{border-bottom:1px solid var(--color-accent-warm);width:180px;padding:13px 13px 13px 44px;position:absolute;top:20px;right:26px}@supports (color:color-mix(in lab, red, red)){.balance-rule{border-bottom:1px solid color-mix(in srgb, var(--color-accent-warm) 42%, transparent)}}.balance-rule{color:var(--ink-soft);font-family:Noto Serif SC,Source Han Serif SC,SimSun,serif;font-size:var(--fs-sm);line-height:1.7;transform:rotate(-1.2deg)}.balance-rule span{border:1px solid var(--vermilion);width:25px;height:25px;color:var(--vermilion);border-radius:50%;place-items:center;display:grid;position:absolute;top:11px;left:9px}.beam-wrap{height:330px;margin-top:24px;position:relative}.beam{border:2px solid var(--ink);background:linear-gradient(var(--figure-beam), var(--figure-beam-2));height:11px;box-shadow:0 3px 0 var(--color-accent-warm);border-radius:10px;position:absolute;top:78px;left:8%;right:8%}@supports (color:color-mix(in lab, red, red)){.beam{box-shadow:0 3px 0 color-mix(in srgb, var(--color-accent-warm) 45%, transparent)}}.beam{transition:transform .55s cubic-bezier(.22,.8,.22,1)}.started .beam{animation:.7s cubic-bezier(.22,.8,.22,1) settle}.balance-error .beam{animation:.65s cubic-bezier(.22,.8,.22,1) tip-error}.balance-success .beam{animation:.65s cubic-bezier(.22,.8,.22,1) settle}.fulcrum{clip-path:polygon(40% 0,60% 0,82% 86%,100% 100%,0 100%,18% 86%);background:linear-gradient(90deg, var(--figure-beam-2), var(--figure-beam) 50%, var(--figure-beam-2));border-bottom:5px solid var(--ink);width:140px;height:260px;position:absolute;top:55px;left:50%;transform:translate(-50%)}.fulcrum span{border:8px solid var(--ink);background:var(--paper);width:56px;height:56px;box-shadow:inset 0 0 0 4px var(--vermilion);border-radius:50%;position:absolute;top:7px;left:50%;transform:translate(-50%)}.pan{border-bottom:8px solid var(--ink);border-radius:0 0 50% 50%;width:37%;height:175px;position:absolute;top:87px}.pan:before,.pan:after{content:"";background:var(--text-1);width:2px;height:110px;position:absolute;top:-1px}@supports (color:color-mix(in lab, red, red)){.pan:before,.pan:after{background:color-mix(in srgb, var(--text-1) 63%, transparent)}}.pan:before,.pan:after{transform-origin:top}.pan:before{left:12%;transform:rotate(12deg)}.pan:after{right:12%;transform:rotate(-12deg)}.pan-left{left:1%}.pan-right{right:1%}.pan-items{align-items:flex-end;gap:clamp(6px,1vw,12px);display:flex;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.math-block{border:1px solid var(--text-1);place-items:center;width:clamp(52px,5vw,72px);height:clamp(60px,5.6vw,80px);display:grid}@supports (color:color-mix(in lab, red, red)){.math-block{border:1px solid color-mix(in srgb, var(--text-1) 70%, transparent)}}.math-block{box-shadow:0 5px 0 var(--text-1)}@supports (color:color-mix(in lab, red, red)){.math-block{box-shadow:0 5px 0 color-mix(in srgb, var(--text-1) 18%, transparent)}}.math-block{cursor:default;font-family:Georgia,Times New Roman,serif;font-size:clamp(25px,2.4vw,36px);transition:transform .16s}.math-block:hover{transform:translateY(-4px)}.math-block.variable{background:linear-gradient(135deg, var(--color-accent-warm), var(--color-accent-warm));color:var(--text-on-accent)}.math-block.weight{clip-path:polygon(22% 0,78% 0,92% 100%,8% 100%);background:var(--figure-beam);color:var(--color-paper);text-shadow:none}.math-block.large{width:clamp(70px,6.3vw,94px);height:clamp(76px,6.7vw,102px)}.math-block.compact{width:clamp(42px,4.1vw,58px);height:clamp(50px,4.8vw,66px);font-size:clamp(21px,2vw,29px)}.feedback-banner{z-index:3;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-2);grid-template-columns:30px 1fr auto;align-items:center;gap:12px;min-height:58px;padding:10px 28px;display:grid;position:relative}.feedback-banner>span{border:1px solid;border-radius:50%;place-items:center;width:26px;height:26px;font-weight:800;display:grid}.feedback-banner p{color:var(--ink-soft);font-size:var(--fs-sm);line-height:var(--lh-body);margin:0}.feedback-banner.tone-error{color:var(--vermilion);background:var(--color-accent-warm)}@supports (color:color-mix(in lab, red, red)){.feedback-banner.tone-error{background:color-mix(in srgb, var(--color-accent-warm) 7%, transparent)}}.feedback-banner.tone-success{color:var(--color-success);background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.feedback-banner.tone-success{background:color-mix(in srgb, var(--color-success) 7%, transparent)}}.feedback-banner.tone-thoughtful,.feedback-banner.tone-info{color:var(--tianjin-blue)}.hint-action{color:var(--tianjin-blue);cursor:pointer;font-size:var(--fs-caption);background:0 0;border:0;border-bottom:1px solid;padding:5px 0;font-weight:700}.tool-dock{border-top:1px solid var(--line);background:var(--surface-2)}.tool-dock>.dock-label{min-width:170px;margin-right:auto}.tool-dock span{color:var(--ink-soft);font-size:var(--fs-caption);margin-top:5px;display:block}.tool-dock button{border:1px solid var(--text-1);min-height:48px}@supports (color:color-mix(in lab, red, red)){.tool-dock button{border:1px solid color-mix(in srgb, var(--text-1) 25%, transparent)}}.tool-dock button{background:var(--surface-3);cursor:pointer;font-size:var(--fs-sm);padding:0 16px;font-weight:700;transition:transform .16s,border-color .16s,background .16s}.tool-dock button:hover:not(:disabled){border-color:var(--tianjin-blue);transform:translateY(-2px)}.tool-dock button.recommended:not(:disabled){border-color:var(--tianjin-blue);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.tool-dock button.recommended:not(:disabled){background:color-mix(in srgb, var(--color-accent) 9%, transparent)}}.tool-dock button:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.operation-buttons,.reason-buttons{justify-content:flex-end;gap:10px;display:flex}.reason-buttons{flex:1}.reason-buttons button{white-space:normal;max-width:230px;line-height:var(--lh-body);flex:1;padding:10px 12px}.transfer-form{align-items:center;gap:10px;display:flex}.transfer-form label{font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:700}.transfer-form input{border:1px solid var(--text-1);width:76px;height:50px}@supports (color:color-mix(in lab, red, red)){.transfer-form input{border:1px solid color-mix(in srgb, var(--text-1) 35%, transparent)}}.transfer-form input{background:var(--surface-3);color:var(--ink);text-align:center;font-family:Georgia,Times New Roman,serif;font-size:26px}.transfer-form input:focus{outline:3px solid var(--color-focus);outline-offset:2px;border-color:var(--tianjin-blue)}.transfer-form>button{border-color:var(--tianjin-blue);background:var(--tianjin-blue);min-width:112px;color:var(--text-on-accent)}.completion-card{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:390px;padding:34px;display:flex;position:relative}.completion-seal{border:2px solid var(--color-success);background:var(--color-success);border-radius:50%;place-items:center;width:76px;height:76px;display:grid}@supports (color:color-mix(in lab, red, red)){.completion-seal{background:color-mix(in srgb, var(--color-success) 7%, transparent)}}.completion-seal{color:var(--color-success);font-size:38px}.completion-card>p:first-of-type{color:var(--tianjin-blue);font-size:var(--fs-caption);letter-spacing:.08em;margin:18px 0 5px;font-weight:750}.completion-card h3{margin:0;font-family:Noto Serif SC,Source Han Serif SC,SimSun,serif;font-size:clamp(32px,4vw,52px)}.completion-copy{max-width:560px;color:var(--ink-soft);line-height:var(--lh-heading);margin:12px auto 24px}.mastery-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.mastery-row span{border:1px solid var(--line);background:var(--surface-3);color:var(--ink-soft);font-size:var(--fs-caption);align-items:center;gap:7px;padding:9px 12px;display:flex}.mastery-row i{border:1px solid var(--tianjin-blue);border-radius:50%;width:9px;height:9px}.mastery-row i.filled{background:var(--tianjin-blue)}.next-review{color:var(--vermilion);font-size:var(--fs-caption);margin-top:16px}.knowledge-strip{border:1px solid var(--line);background:var(--surface-2);align-items:center;gap:20px;min-height:70px;padding:13px 22px;display:flex}.book-icon{border:1px solid var(--tianjin-blue);width:40px;height:40px;color:var(--tianjin-blue);border-radius:50%;place-items:center;font-weight:900;display:grid}.knowledge-strip p{color:var(--ink-soft);font-size:var(--fs-sm);margin:0}.knowledge-strip strong{border-left:1px solid var(--line);font-family:Noto Serif SC,Source Han Serif SC,SimSun,serif;font-size:var(--fs-md);padding-left:20px}.knowledge-note{color:var(--vermilion);font-size:var(--fs-sm);margin-left:auto}.world-view,.graph-view{min-height:calc(100dvh - 88px);padding:clamp(34px,5vw,72px) 0 48px}.world-hero{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);align-items:center;gap:clamp(30px,6vw,88px);display:grid}.world-copy{padding:18px 0 20px;position:relative}.version-badge{border:1px solid var(--color-accent);margin-top:16px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.version-badge{border:1px solid color-mix(in srgb, var(--color-accent) 28%, transparent)}}.version-badge{background:var(--surface-2);color:var(--tianjin-blue);font-size:var(--fs-micro);letter-spacing:.08em;padding:7px 11px;font-weight:800}.world-copy h1,.graph-header h1{max-width:850px;font-family:Noto Serif SC,Source Han Serif SC,SimSun,serif;font-size:clamp(44px,5.8vw,88px);line-height:var(--lh-heading);letter-spacing:normal;margin:17px 0 22px}.world-copy h1 span{color:var(--vermilion)}.world-copy>p:last-of-type,.graph-header>div>p:last-child{max-width:720px;color:var(--ink-soft);font-size:clamp(16px,1.4vw,19px);line-height:1.9}.world-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:30px;display:flex}.map-primary{width:min(350px,100%)}.text-action{border:0;border-bottom:1px solid var(--tianjin-blue);color:var(--tianjin-blue);cursor:pointer;font-size:var(--fs-sm);white-space:nowrap;background:0 0;padding:8px 0;font-weight:750}.today-card{border:1px solid var(--text-1);min-height:410px;position:relative}@supports (color:color-mix(in lab, red, red)){.today-card{border:1px solid color-mix(in srgb, var(--text-1) 25%, transparent)}}.today-card{background:linear-gradient(var(--color-accent) 1px, transparent 1px), linear-gradient(90deg, var(--color-accent) 1px, transparent 1px), var(--surface-2)}@supports (color:color-mix(in lab, red, red)){.today-card{background:linear-gradient(color-mix(in srgb, var(--color-accent) 7%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--color-accent) 7%, transparent) 1px, transparent 1px), var(--surface-2)}}.today-card{box-shadow:var(--shadow);background-size:20px 20px;padding:28px}.today-card:before{content:"";border:1px solid var(--text-1);position:absolute;inset:12px}@supports (color:color-mix(in lab, red, red)){.today-card:before{border:1px solid color-mix(in srgb, var(--text-1) 12%, transparent)}}.today-card:before{pointer-events:none}.today-card-top,.today-goals{z-index:1;justify-content:space-between;align-items:center;gap:14px;display:flex;position:relative}.today-card-top{border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:var(--fs-caption);padding-bottom:20px}.today-card-top span{color:var(--tianjin-blue);letter-spacing:.08em;font-weight:800}.today-card>p{z-index:1;color:var(--vermilion);font-size:var(--fs-caption);letter-spacing:.08em;margin:28px 0 8px;font-weight:750;position:relative}.today-card h2{z-index:1;max-width:360px;margin:0;font-family:Noto Serif SC,Source Han Serif SC,SimSun,serif;font-size:clamp(27px,2.6vw,38px);line-height:1.35;position:relative}.today-goals{flex-direction:column;align-items:flex-start;margin-top:26px}.today-goals span{color:var(--ink-soft);font-size:var(--fs-sm);align-items:center;gap:9px;display:flex}.today-goals i{border:1px solid var(--tianjin-blue);border-radius:50%;width:10px;height:10px}.today-goals i.goal-done{background:var(--tianjin-blue);box-shadow:0 0 0 4px var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.today-goals i.goal-done{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-accent) 9%, transparent)}}.today-status{z-index:2;background:var(--tianjin-blue);color:var(--text-on-accent);font-size:var(--fs-caption);padding:11px 18px;font-weight:750;position:absolute;bottom:0;right:0}.today-status.is-complete{background:var(--color-success)}.map-heading{justify-content:space-between;align-items:end;gap:28px;margin:64px 0 24px;display:flex}.map-heading h2{margin:7px 0 0;font-family:Noto Serif SC,Source Han Serif SC,SimSun,serif;font-size:clamp(27px,3vw,42px)}.map-heading>p{max-width:470px;color:var(--ink-soft);font-size:var(--fs-caption);text-align:right;margin:0;line-height:1.75}.region-map{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.region-card{border:1px solid var(--text-1);min-height:350px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.region-card{border:1px solid color-mix(in srgb, var(--text-1) 20%, transparent)}}.region-card{background:var(--surface-2);padding:22px;transition:transform .18s,box-shadow .18s,border-color .18s}.region-card:hover{box-shadow:0 16px 35px var(--text-1);transform:translateY(-4px)}@supports (color:color-mix(in lab, red, red)){.region-card:hover{box-shadow:0 16px 35px color-mix(in srgb, var(--text-1) 9%, transparent)}}.region-card.current{border:2px solid var(--tianjin-blue);background:var(--surface-3);box-shadow:7px 8px 0 var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.region-card.current{box-shadow:7px 8px 0 color-mix(in srgb, var(--color-accent) 10%, transparent)}}.region-card.locked{background:var(--surface-sunken);border-style:dashed}.region-card.locked h3,.region-card.locked>small,.region-card.locked>p{color:var(--text-2)}.region-index{color:var(--text-1);font-family:Georgia,Times New Roman,serif;font-size:28px;position:absolute;top:15px;right:18px}@supports (color:color-mix(in lab, red, red)){.region-index{color:color-mix(in srgb, var(--text-1) 28%, transparent)}}.region-illustration{border-bottom:1px solid var(--line);height:150px;margin:18px 0 16px;position:relative}.region-card>p{color:var(--tianjin-blue);font-size:var(--fs-micro);letter-spacing:.08em;margin:0 0 5px;font-weight:800}.region-card h3{margin:0;font-family:Noto Serif SC,Source Han Serif SC,SimSun,serif;font-size:27px}.region-card>small{color:var(--ink-soft);line-height:var(--lh-body);margin-top:7px;display:block}.region-state,.region-card>button{border:1px solid var(--line);background:var(--surface-2);min-height:38px;color:var(--ink-soft);font-size:var(--fs-micro);align-items:center;padding:0 12px;font-weight:750;display:inline-flex;position:absolute;bottom:20px;left:22px}.region-state.mastered{border-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.region-state.mastered{border-color:color-mix(in srgb, var(--color-success) 30%, transparent)}}.region-state.mastered{color:var(--color-success)}.region-state.building{color:var(--vermilion)}.region-card>button{border-color:var(--tianjin-blue);background:var(--tianjin-blue);color:var(--text-on-accent);cursor:pointer}.number-line-art{justify-content:center;align-items:center;display:flex}.number-line-art:before{content:"";background:var(--ink);height:2px;position:absolute;top:50%;left:10%;right:10%}.number-line-art i{z-index:1;background:var(--paper);border:2px solid var(--ink);border-radius:50%;width:9px;height:9px;margin:0 13px;position:relative}.number-line-art i:nth-child(-n+2){border-color:var(--vermilion)}.number-line-art strong{color:var(--ink-soft);font-family:Georgia,Times New Roman,serif;position:absolute;top:60%;left:48%}.balance-mini .mini-beam{background:var(--ink);height:6px;position:absolute;top:50%;left:13%;right:13%}.balance-mini .mini-beam:after{content:"";background:var(--tianjin-blue);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);width:34px;height:90px;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.mini-left,.mini-right{border:1px solid var(--line);background:var(--surface-3);font-family:Georgia,Times New Roman,serif;font-size:var(--fs-md);padding:8px;position:absolute;top:23%}.mini-left{color:var(--vermilion);left:12%}.mini-right{right:12%}.angle-art span{border-left:3px solid var(--ink);border-bottom:3px solid var(--ink);width:54%;height:90px;position:absolute;bottom:28px;left:23%;transform:skew(-31deg)}.angle-art i{color:var(--vermilion);font-size:35px;font-style:normal;position:absolute;top:22%;right:20%}.chart-art{justify-content:center;align-items:flex-end;gap:10px;padding:25px 30px;display:flex}.chart-art i{background:var(--river-blue);border:1px solid var(--tianjin-blue);width:18px}.chart-art i:first-child{height:34%}.chart-art i:nth-child(2){height:70%}.chart-art i:nth-child(3){height:48%}.chart-art i:nth-child(4){background:var(--vermilion);border-color:var(--vermilion);height:84%}.graph-view{flex-direction:column;display:flex}.graph-header{grid-template-columns:1fr auto;align-items:end;gap:40px;display:grid}.graph-header h1{margin-bottom:13px;font-size:clamp(42px,5vw,74px)}.graph-summary{border:1px solid var(--line);background:var(--surface-2);grid-template-columns:repeat(3,minmax(85px,1fr));display:grid}.graph-summary span{border-right:1px solid var(--line);color:var(--ink-soft);font-size:var(--fs-micro);gap:4px;padding:16px 20px;display:grid}.graph-summary span:last-child{border-right:0}.graph-summary strong{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:26px}.graph-workspace{grid-template-columns:minmax(0,1fr) 340px;gap:24px;margin-top:38px;display:grid}.node-canvas{border:1px solid var(--line);background:radial-gradient(circle, var(--color-accent) 1px, transparent 1.5px), var(--surface-2);min-height:550px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.node-canvas{background:radial-gradient(circle, color-mix(in srgb, var(--color-accent) 18%, transparent) 1px, transparent 1.5px), var(--surface-2)}}.node-canvas{box-shadow:var(--shadow);background-size:22px 22px}.graph-route{background:var(--color-accent);height:2px;position:absolute}@supports (color:color-mix(in lab, red, red)){.graph-route{background:color-mix(in srgb, var(--color-accent) 32%, transparent)}}.graph-route{transform-origin:0}.route-one{width:31%;top:29%;left:18%;transform:rotate(18deg)}.route-two{width:28%;top:34%;left:48%;transform:rotate(-14deg)}.route-three{width:32%;top:38%;left:48%;transform:rotate(43deg)}.knowledge-node{text-align:left;border:1px solid var(--line);background:var(--surface-3);width:190px;min-height:112px;color:var(--ink);cursor:pointer;box-shadow:4px 5px 0 var(--text-1);gap:5px;padding:16px;display:grid;position:absolute}@supports (color:color-mix(in lab, red, red)){.knowledge-node{box-shadow:4px 5px 0 color-mix(in srgb, var(--text-1) 7%, transparent)}}.knowledge-node{transition:transform .16s,box-shadow .16s}.knowledge-node:hover,.knowledge-node:focus-visible{box-shadow:7px 9px 0 var(--text-1);transform:translateY(-3px)}@supports (color:color-mix(in lab, red, red)){.knowledge-node:hover,.knowledge-node:focus-visible{box-shadow:7px 9px 0 color-mix(in srgb, var(--text-1) 8%, transparent)}}.knowledge-node span{color:var(--ink-soft);font-size:var(--fs-micro);letter-spacing:.08em;font-weight:750}.knowledge-node strong{font-family:Noto Serif SC,Source Han Serif SC,SimSun,serif;font-size:var(--fs-md)}.knowledge-node small{color:var(--tianjin-blue)}.knowledge-node.mastered{border-left:5px solid var(--color-success)}.knowledge-node.current{border:2px solid var(--tianjin-blue)}.knowledge-node.fragile{border-left:5px solid var(--vermilion)}.knowledge-node.locked{background:var(--surface-sunken);color:var(--text-2);border-style:dashed}.node-number{top:15%;left:5%}.node-equality{top:34%;left:34%}.node-equation{top:13%;right:7%}.node-transfer{bottom:12%;right:8%}.node-geometry{bottom:10%;left:15%}.node-detail{border:1px solid var(--line);background:var(--surface-2);flex-direction:column;min-height:550px;padding:30px;display:flex}.node-detail>p:first-child{color:var(--tianjin-blue);font-size:var(--fs-micro);letter-spacing:.08em;margin:0;font-weight:800}.node-detail h2{margin:13px 0;font-family:Noto Serif SC,Source Han Serif SC,SimSun,serif;font-size:32px;line-height:1.3}.detail-rule{background:var(--vermilion);width:58px;height:2px;margin-bottom:20px}.node-detail>p:nth-of-type(2){color:var(--ink-soft);margin:0;line-height:1.9}.detail-next{border-left:2px solid var(--river-blue);background:var(--surface-2);gap:8px;margin-top:28px;padding:14px 16px;display:grid}.detail-next span{color:var(--ink-soft);font-size:var(--fs-micro);letter-spacing:.08em;font-weight:750}.detail-next strong{font-size:var(--fs-sm);line-height:var(--lh-body)}.graph-action{width:100%;min-height:58px;font-size:var(--fs-base);margin-top:auto}.graph-legend{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);font-size:var(--fs-micro);align-items:center;gap:22px;margin-top:18px;padding:13px 18px;display:flex}.graph-legend span{align-items:center;gap:7px;display:flex}.graph-legend i{border-radius:50%;width:9px;height:9px}.graph-legend i.mastered{background:var(--color-success)}.graph-legend i.current{background:var(--tianjin-blue)}.graph-legend i.fragile{background:var(--vermilion)}.graph-legend i.locked{background:var(--text-3)}.graph-legend strong{color:var(--ink-soft);margin-left:auto;font-weight:600}@keyframes settle{0%{transform:rotate(0)}35%{transform:rotate(1.8deg)}70%{transform:rotate(-.7deg)}to{transform:rotate(0)}}@keyframes tip-error{0%{transform:rotate(0)}35%{transform:rotate(-4deg)}70%{transform:rotate(-2deg)}to{transform:rotate(0)}}@media (width<=1100px){.site-shell{padding-inline:22px}.energy-pill{display:none}.topbar{grid-template-columns:1fr auto}.quest-layout{grid-template-columns:.7fr 1.3fr}.balance-rule{display:none}.tool-dock{flex-wrap:wrap}.tool-dock>.dock-label,.operation-buttons,.reason-buttons{width:100%}.city-sketch{opacity:.12}.region-map{grid-template-columns:repeat(2,minmax(0,1fr))}.graph-workspace{grid-template-columns:minmax(0,1fr) 300px}.knowledge-node{width:170px}}@media (width<=820px){.site-shell{padding:0 16px 18px}.topbar{min-height:74px}.brand{font-size:24px}.brand-mark{width:42px;height:42px}.main-nav{overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:14px;overflow-x:auto}.main-nav::-webkit-scrollbar{display:none}.main-nav button{scroll-snap-align:start;flex:none}.quest-layout{grid-template-columns:1fr;padding-top:28px}.quest-intro{min-height:auto;padding-bottom:0}.quest-intro blockquote{margin-block:18px}.city-sketch{display:none}.puzzle-card{min-height:610px}.puzzle-heading{flex-direction:column;align-items:flex-start}.equation{text-align:center;width:100%}.balance{min-height:330px;padding-inline:10px}.beam-wrap{transform-origin:top;margin-inline:-24px;transform:scale(.92)}.tool-dock button{flex:29%;padding-inline:8px}.feedback-banner{grid-template-columns:28px 1fr;padding-inline:18px}.hint-action{grid-column:2;justify-self:start}.scene-caption{max-width:calc(100% - 40px)}.knowledge-note{width:100%;margin-left:0}.world-view,.graph-view{padding-top:32px}.world-hero,.graph-header,.graph-workspace{grid-template-columns:1fr}.world-copy h1{font-size:54px}.today-card{min-height:380px}.map-heading{flex-direction:column;align-items:flex-start}.map-heading>p{text-align:left}.node-detail{min-height:auto}.graph-action{margin-top:28px}.graph-summary{width:100%}.graph-legend{flex-wrap:wrap}.graph-legend strong{width:100%;margin-left:0}}@media (width<=520px){.site-shell{padding-inline:12px}.brand{gap:9px;font-size:21px}.brand-mark{width:36px;height:36px}.quest-intro h1{font-size:42px}.quest-intro blockquote{font-size:var(--fs-sm)}.primary-action{width:100%}.puzzle-heading{padding:20px}.puzzle-heading h2{font-size:22px}.balance{min-height:300px}.beam-wrap{margin-inline:-62px;transform:scale(.8)}.tool-dock{padding:18px}.tool-dock button{flex-basis:100%}.operation-buttons,.reason-buttons{flex-direction:column}.reason-buttons button{max-width:none}.transfer-form{flex-wrap:wrap;width:100%}.transfer-form>button{flex:1}.learning-status{width:100%}.mastery-row{grid-template-columns:1fr 1fr;display:grid}.knowledge-strip{gap:12px;padding-inline:14px}.knowledge-strip strong{font-size:var(--fs-sm);padding-left:12px}.world-copy h1,.graph-header h1{font-size:41px}.world-actions{flex-direction:column;align-items:stretch}.text-action{align-self:flex-start}.region-map{grid-template-columns:1fr}.region-card{min-height:330px}.graph-summary span{padding:12px 9px}.node-canvas{gap:12px;min-height:auto;padding:16px;display:grid}.graph-route{display:none}.knowledge-node{width:100%;min-height:94px;position:static}.graph-legend{gap:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.v3-shell{padding-bottom:0}.v3-topbar{background:var(--color-surface-raised);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;position:sticky;top:0}.v3-brand{cursor:pointer;background:0 0;border:0;padding:0}.v3-nav{gap:clamp(14px,2.8vw,42px)}.v3-nav button{font-size:var(--fs-sm)}.v3-progress-pill{white-space:nowrap;text-overflow:ellipsis;max-width:250px;overflow:hidden}.v3-page{z-index:1;width:min(1480px,100%);margin:0 auto;padding:58px 0 90px;position:relative}.v3-hero{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:end;gap:clamp(32px,6vw,96px);padding:28px 0 58px;display:grid}.v3-hero h1{min-width:0;max-width:850px;color:var(--ink);font-family:var(--font-display);font-size:clamp(42px,6vw,86px);line-height:var(--lh-heading);letter-spacing:normal;overflow-wrap:anywhere;margin:18px 0 24px}.v3-hero h1 span{color:var(--vermilion)}.v3-lead{max-width:65ch;color:var(--ink-soft);font-size:clamp(16px,1.5vw,20px);line-height:1.95}.v3-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:30px;display:flex}.v3-status-card{border:1px solid var(--line);background:var(--surface-2);min-height:320px;box-shadow:var(--shadow);flex-direction:column;justify-content:flex-end;padding:26px;display:flex}.v3-card-kicker{color:var(--tianjin-blue);font-size:var(--fs-caption);letter-spacing:.08em;font-weight:800}.v3-status-card>strong{font-size:76px;line-height:1;font-family:var(--font-display);color:var(--tianjin-blue);font-variant-numeric:tabular-nums;margin-top:28px}.v3-status-card p{color:var(--ink-soft);line-height:var(--lh-heading)}.v3-status-card small{color:var(--ink-soft);margin-top:12px}.v3-progress-line{background:var(--paper-deep);height:8px;margin-top:10px;overflow:hidden}.v3-progress-line i{background:var(--tianjin-blue);min-width:8px;height:100%;display:block}.v3-metric-grid{border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.v3-metric{border-right:1px solid var(--line);flex-direction:column;justify-content:center;min-height:126px;padding:20px 24px;display:flex}.v3-metric:last-child{border-right:0}.v3-metric strong{color:var(--tianjin-blue);font-size:38px;line-height:1}.v3-metric span{color:var(--ink-soft);font-size:var(--fs-sm);margin-top:8px}.v3-metric.green strong{color:var(--color-success)}.v3-metric.gold strong{color:var(--color-warning)}.v3-metric.vermilion strong{color:var(--vermilion)}.v3-section-heading{justify-content:space-between;align-items:end;gap:28px;margin:66px 0 22px;display:flex}.v3-section-heading h1,.v3-section-heading h2{letter-spacing:normal;margin:10px 0 0;font-family:Noto Serif SC,SimSun,serif}.v3-section-heading h1{font-size:clamp(38px,5vw,68px)}.v3-section-heading h2{font-size:clamp(28px,3vw,42px)}.v3-section-heading>div>p:not(.eyebrow){max-width:680px;color:var(--ink-soft);line-height:var(--lh-heading)}.v3-domain-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.v3-domain-card{border:1px solid var(--line);background:var(--surface-2);text-align:left;cursor:pointer;align-items:flex-start;gap:16px;min-height:180px;padding:22px;transition:transform .18s,border-color .18s,background .18s;display:flex}.v3-domain-card:hover,.v3-domain-card:focus-visible{border-color:var(--tianjin-blue);background:var(--surface-3);transform:translateY(-3px)}.v3-domain-card>span:nth-child(2){flex-direction:column;flex:1;gap:8px;display:flex}.v3-domain-card small{color:var(--ink-soft);line-height:var(--lh-body)}.v3-domain-card b{color:var(--ink-soft);font-size:var(--fs-md);align-self:end}.v3-domain-card.blue .v3-domain-icon{color:var(--tianjin-blue)}.v3-domain-card.vermilion .v3-domain-icon{color:var(--vermilion)}.v3-domain-card.green .v3-domain-icon{color:var(--color-success)}.v3-domain-card.gold .v3-domain-icon{color:var(--color-warning)}.v3-domain-icon{border:1px solid;place-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:22px;display:grid}.v3-domain-icon.small{width:34px;height:34px;font-size:var(--fs-md);flex:0 0 34px}.v3-evidence-strip{border-left:3px solid var(--vermilion);background:var(--surface-2);grid-template-columns:auto auto 1fr;align-items:center;gap:16px;margin-top:42px;padding:18px 20px;display:grid}.v3-evidence-strip span{color:var(--tianjin-blue);font-size:var(--fs-caption);letter-spacing:.08em;font-weight:800}.v3-evidence-strip strong{font-family:Noto Serif SC,SimSun,serif}.v3-evidence-strip small{color:var(--ink-soft);text-align:right}.v3-map-title{align-items:end}.compact-action{width:auto;min-height:56px;font-size:var(--fs-base)}.v3-filter-row{border:1px solid var(--line);background:var(--surface-2);align-items:center;gap:12px;padding:14px;display:flex}.v3-search{border:1px solid var(--line);background:var(--surface-2);flex:1;align-items:center;gap:8px;min-height:46px;padding:0 14px;display:flex}.v3-search span{color:var(--tianjin-blue);font-size:22px}.v3-search input,.v3-filter-row select{color:var(--ink);font:inherit;background:0 0;border:0}.v3-search input{flex:1;min-width:120px}.v3-filter-row select{border:1px solid var(--line);background:var(--surface-2);min-height:46px;padding:0 10px}.v3-filter-count{color:var(--ink-soft);font-size:var(--fs-caption);white-space:nowrap}.v3-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.v3-unit-card{border:1px solid var(--line);background:var(--surface-2)}.v3-unit-head{border-bottom:1px solid var(--line);align-items:flex-start;gap:14px;padding:20px;display:flex}.v3-unit-head>div{flex:1}.v3-unit-head p{color:var(--tianjin-blue);font-size:var(--fs-micro);letter-spacing:.1em;margin:0 0 6px;font-weight:800}.v3-unit-head h2{margin:0;font-family:Noto Serif SC,SimSun,serif;font-size:22px}.v3-unit-head small{color:var(--ink-soft);line-height:var(--lh-body);margin-top:8px;display:block}.v3-unit-head b{color:var(--ink-soft)}.v3-topic-list{display:grid}.topic-row{border:0;border-bottom:1px solid var(--text-1);grid-template-columns:28px 1fr auto 20px;align-items:center;gap:10px;padding:13px 18px;display:grid}@supports (color:color-mix(in lab, red, red)){.topic-row{border-bottom:1px solid color-mix(in srgb, var(--text-1) 10%, transparent)}}.topic-row{text-align:left;cursor:pointer;background:0 0}.topic-row:last-child{border-bottom:0}.topic-row:hover,.topic-row:focus-visible{background:var(--surface-2)}.topic-row:not(.is-openable){cursor:default}.topic-index{border:1px solid var(--line);width:24px;height:24px;color:var(--ink-soft);font-size:var(--fs-micro);border-radius:50%;place-items:center;display:grid}.topic-copy{gap:3px;min-width:0;display:grid}.topic-copy strong{font-size:var(--fs-sm)}.topic-copy small{color:var(--ink-soft);font-size:var(--fs-micro);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topic-status{font-size:var(--fs-micro);white-space:nowrap}.topic-status.mastered{color:var(--color-success)}.topic-status.current{color:var(--tianjin-blue);font-weight:750}.topic-status.catalogued{color:var(--ink-soft)}.topic-arrow{color:var(--tianjin-blue)}.v3-lesson-layout{grid-template-columns:minmax(260px,.72fr) minmax(0,1.65fr);gap:clamp(24px,4vw,62px);display:grid}.v3-lesson-aside{padding:10px 4px}.back-action{color:var(--tianjin-blue);cursor:pointer;font-size:var(--fs-sm);background:0 0;border:0;padding:0}.v3-lesson-aside h1{font-family:Noto Serif SC,SimSun,serif;font-size:clamp(34px,4vw,60px);line-height:var(--lh-heading);letter-spacing:normal;margin:26px 0 14px}.v3-lesson-aside>p:not(.eyebrow){color:var(--ink-soft);line-height:var(--lh-heading)}.v3-lesson-checklist{border:1px solid var(--line);background:var(--surface-2);gap:10px;margin-top:34px;padding:18px;display:grid}.v3-lesson-checklist span{color:var(--ink-soft);font-size:var(--fs-sm)}.v3-lesson-checklist span:before{content:"○";margin-right:9px}.v3-lesson-checklist span.done{color:var(--color-success)}.v3-lesson-checklist span.done:before{content:"✓"}.v3-lesson-note{color:var(--ink-soft);font-size:var(--fs-caption);margin-top:16px}.v3-lesson-card{border:1px solid var(--line);background:var(--surface-2);min-height:690px;box-shadow:var(--shadow)}.v3-lesson-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;display:flex}.v3-lesson-heading p{color:var(--tianjin-blue);font-size:var(--fs-micro);letter-spacing:.08em;margin:0;font-weight:800}.v3-lesson-heading h2{margin:8px 0 0;font-family:Noto Serif SC,SimSun,serif;font-size:clamp(24px,3vw,40px)}.v3-lesson-heading>strong{border:1px solid var(--line);white-space:nowrap;padding:10px 14px;font-family:Georgia,serif;font-size:clamp(22px,3vw,38px)}.v3-balance{padding:24px 30px 0}.v3-balance-rule{color:var(--ink-soft);font-size:var(--fs-sm)}.v3-beam-wrap{height:280px;margin-top:18px;position:relative}.v3-beam{background:var(--figure-beam);height:10px;box-shadow:0 3px 0 var(--color-accent-warm);border-radius:8px;position:absolute;top:64px;left:12%;right:12%}@supports (color:color-mix(in lab, red, red)){.v3-beam{box-shadow:0 3px 0 color-mix(in srgb, var(--color-accent-warm) 42%, transparent)}}.v3-beam{transition:transform .45s}.balance-error .v3-beam{animation:.6s tip-error}.balance-success .v3-beam{animation:.6s settle}.v3-fulcrum{border-left:50px solid #0000;border-right:50px solid #0000;border-top:174px solid var(--figure-beam);width:0;height:0;position:absolute;top:44px;left:50%;transform:translate(-50%)}.v3-pan{border-bottom:8px solid var(--figure-beam);border-radius:0 0 50% 50%;justify-content:center;align-items:flex-end;gap:8px;width:38%;min-height:130px;padding:10px;display:flex;position:absolute;top:74px}.v3-pan-left{left:5%}.v3-pan-right{right:5%}.v3-pan span{border-radius:8px;place-items:center;width:46px;height:46px;font:700 24px Georgia,serif;display:grid}.v3-pan .variable{border:1px solid var(--vermilion);color:var(--vermilion);background:var(--color-accent-warm)}@supports (color:color-mix(in lab, red, red)){.v3-pan .variable{background:color-mix(in srgb, var(--color-accent-warm) 10%, transparent)}}.v3-pan .weight{border:1px solid var(--tianjin-blue);color:var(--tianjin-blue);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.v3-pan .weight{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}}.v3-pan .large{width:68px;height:68px}.v3-lesson-action{justify-items:center;gap:16px;padding:0 30px 26px;display:grid}.v3-lesson-action p{color:var(--ink-soft)}.v3-choice-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding:0 28px 24px;display:grid}.v3-choice-grid button{border:1px solid var(--line);background:var(--surface-3);cursor:pointer;min-height:64px;font-weight:700}.v3-choice-grid button:hover,.v3-choice-grid button:focus-visible{border-color:var(--tianjin-blue);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.v3-choice-grid button:hover,.v3-choice-grid button:focus-visible{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.v3-answer-form,.v3-transfer-form{gap:12px;padding:0 28px 24px;display:grid}.v3-answer-form label,.v3-transfer-form label{color:var(--ink-soft);font-size:var(--fs-sm);font-weight:700}.v3-answer-form textarea,.v3-transfer-form input,.v3-transfer-form select{border:1px solid var(--line);background:var(--surface-3);width:100%;min-height:48px;color:var(--ink);font:inherit;padding:12px}.v3-answer-form textarea{resize:vertical;min-height:100px}.v3-transfer-form p{color:var(--ink-soft);line-height:var(--lh-heading);margin:0}.v3-transfer-form{position:relative}.v3-transfer-form span{background:var(--surface-3);color:var(--text-2);pointer-events:none;padding:0 4px;position:absolute;bottom:36px;right:42px}.v3-feedback{border-left:3px solid var(--tianjin-blue);background:var(--color-accent);grid-template-columns:32px 1fr auto;align-items:center;gap:10px;margin:0 28px 24px;padding:13px 16px;display:grid}@supports (color:color-mix(in lab, red, red)){.v3-feedback{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.v3-feedback>span{border:1px solid;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.v3-feedback p{color:var(--ink-soft);line-height:var(--lh-body);font-size:var(--fs-sm);margin:0}.v3-feedback button{color:var(--tianjin-blue);cursor:pointer;font-size:var(--fs-caption);white-space:nowrap;background:0 0;border:0}.v3-feedback.error{border-color:var(--vermilion);background:var(--color-accent-warm)}@supports (color:color-mix(in lab, red, red)){.v3-feedback.error{background:color-mix(in srgb, var(--color-accent-warm) 8%, transparent)}}.v3-feedback.error{color:var(--vermilion)}.v3-feedback.success{border-color:var(--color-success);background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.v3-feedback.success{background:color-mix(in srgb, var(--color-success) 8%, transparent)}}.v3-feedback.success{color:var(--color-success)}.v3-catalog-placeholder,.v3-complete-card{text-align:center;align-content:center;place-items:center;gap:14px;min-height:580px;padding:34px;display:grid}.v3-catalog-placeholder>span,.v3-complete-seal{border:2px solid var(--tianjin-blue);width:62px;height:62px;color:var(--tianjin-blue);border-radius:50%;place-items:center;font-size:28px;display:grid}.v3-catalog-placeholder h2,.v3-complete-card h2{margin:4px 0;font-family:Noto Serif SC,SimSun,serif;font-size:32px}.v3-catalog-placeholder p,.v3-complete-card p{max-width:540px;color:var(--ink-soft);line-height:var(--lh-heading)}.v3-mastery-row{flex-wrap:wrap;justify-content:center;gap:10px;margin:12px 0;display:flex}.v3-mastery-row span{border:1px solid var(--line);color:var(--ink-soft);font-size:var(--fs-caption);padding:8px 12px}.v3-mastery-row span.filled{border-color:var(--color-success);color:var(--color-success);background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.v3-mastery-row span.filled{background:color-mix(in srgb, var(--color-success) 8%, transparent)}}.v3-review-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.v3-review-card{border:1px solid var(--line);background:var(--surface-2);min-height:190px;padding:24px}.v3-review-card span{color:var(--ink-soft);font-size:var(--fs-caption)}.v3-review-card strong{color:var(--tianjin-blue);margin-top:22px;font-size:48px;display:block}.v3-review-card p{color:var(--ink-soft);line-height:var(--lh-body)}.v3-review-card.accent{border-top:3px solid var(--vermilion)}.v3-review-card.accent strong{color:var(--vermilion)}.v3-upcoming{border:1px solid var(--line);background:var(--surface-2);margin-top:32px}.v3-upcoming h2{border-bottom:1px solid var(--line);margin:0;padding:20px 22px;font-family:Noto Serif SC,SimSun,serif}.v3-upcoming-row{border-bottom:1px solid var(--text-1);grid-template-columns:1.2fr auto 1fr;align-items:center;gap:16px;padding:16px 22px;display:grid}@supports (color:color-mix(in lab, red, red)){.v3-upcoming-row{border-bottom:1px solid color-mix(in srgb, var(--text-1) 10%, transparent)}}.v3-upcoming-row strong{color:var(--color-success);font-size:var(--fs-caption)}.v3-upcoming-row small{color:var(--ink-soft);text-align:right}.v3-empty{color:var(--ink-soft);padding:28px 22px}.v3-footer{z-index:1;border-top:1px solid var(--line);width:min(1480px,100%);color:var(--ink-soft);font-size:var(--fs-micro);justify-content:space-between;gap:20px;margin:0 auto;padding:20px 0 28px;display:flex;position:relative}@media (width<=980px){.v3-hero,.v3-lesson-layout{grid-template-columns:1fr}.v3-status-card{min-height:240px}.v3-domain-grid{grid-template-columns:repeat(2,1fr)}.v3-unit-grid{grid-template-columns:1fr}.v3-progress-pill{display:none}}@media (width<=680px){.v3-page{padding-top:34px}.v3-nav{gap:8px}.v3-nav button{font-size:var(--fs-caption);padding-inline:3px}.v3-hero h1{font-size:44px}.v3-actions,.v3-section-heading,.v3-filter-row{flex-direction:column;align-items:stretch}.v3-actions .primary-action,.compact-action{width:100%}.v3-metric-grid{grid-template-columns:repeat(2,1fr)}.v3-metric:nth-child(2){border-right:0}.v3-domain-grid,.v3-review-grid,.v3-evidence-strip{grid-template-columns:1fr}.v3-evidence-strip small{text-align:left}.topic-row{grid-template-columns:26px 1fr 18px}.topic-status{color:#0000;width:10px;padding:0;overflow:hidden}.topic-status:before{content:"";width:10px;height:10px;box-shadow:inset 0 0 0 10px var(--topic-dot,var(--text-3));background:currentColor;border-radius:50%;display:block}.topic-status.mastered{--topic-dot:var(--color-success)}.topic-status.current{--topic-dot:var(--color-accent)}.v3-lesson-card{min-height:auto}.v3-lesson-heading{flex-direction:column;align-items:flex-start}.v3-choice-grid{grid-template-columns:1fr}.v3-feedback{grid-template-columns:28px 1fr}.v3-feedback button{grid-column:2;justify-self:start}.v3-upcoming-row{grid-template-columns:1fr auto}.v3-upcoming-row small{text-align:left;grid-column:1/-1}.v3-footer{flex-direction:column}}.v6-command-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:26px;display:grid}.v6-command-grid button{border:1px solid var(--line);background:var(--color-surface-raised);min-height:132px;color:var(--ink);text-align:left;cursor:pointer;transition:transform var(--dur-micro) var(--ease-out);gap:8px;padding:20px;display:grid;position:relative}.v6-command-grid button:focus-visible{border-color:var(--tianjin-blue);background:var(--color-paper-2)}@media (hover:hover) and (pointer:fine){.v6-command-grid button:hover{border-color:var(--tianjin-blue);background:var(--color-paper-2);transform:translateY(-3px)}}.v6-command-grid strong{font-family:var(--font-display);font-size:20px}.v6-command-grid small{max-width:180px;color:var(--ink-soft);line-height:var(--lh-body)}.v6-command-grid span{color:var(--vermilion);font-size:22px;position:absolute;bottom:16px;right:18px}.v6-panel-page{width:min(1480px,100%);margin:0 auto;padding:66px 0 96px}.v6-profile-layout,.v6-model-layout{grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:22px;margin-top:28px;display:grid}.v6-profile-list,.v6-model-list{align-content:start;gap:10px;display:grid}.v6-profile-card{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);text-align:left;cursor:pointer;grid-template-columns:42px 1fr;align-items:center;gap:2px 14px;padding:16px 18px;display:grid}.v6-profile-card>span{background:var(--color-accent);border-radius:50%;grid-row:span 2;place-items:center;width:42px;height:42px;display:grid}@supports (color:color-mix(in lab, red, red)){.v6-profile-card>span{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}}.v6-profile-card>span{color:var(--tianjin-blue);font-weight:800}.v6-profile-card strong{font-family:Noto Serif SC,SimSun,serif;font-size:var(--fs-md)}.v6-profile-card small{color:var(--ink-soft)}.v6-profile-card.active{border-color:var(--tianjin-blue);box-shadow:0 0 0 2px var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.v6-profile-card.active{box-shadow:0 0 0 2px color-mix(in srgb, var(--color-accent) 10%, transparent)}}.v6-admin-form,.v6-report-card{border:1px solid var(--line);background:var(--surface-2);align-content:start;gap:14px;padding:22px;display:grid}.v6-admin-form h2,.v6-report-card h2{margin:0 0 4px;font-family:Noto Serif SC,SimSun,serif;font-size:21px}.v6-admin-form label,.v6-report-card label{color:var(--ink-soft);font-size:var(--fs-caption);gap:6px;display:grid}.v6-admin-form input,.v6-admin-form select,.v6-report-card input,.v6-report-card select{border:1px solid var(--line);background:var(--surface-3);min-height:42px;color:var(--ink);font:inherit;padding:8px 10px}.v6-security-note{color:var(--ink-soft);font-size:var(--fs-caption);margin-top:20px;line-height:1.7}.v6-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.v6-report-card dl{gap:12px;margin:0;display:grid}.v6-report-card dl div{border-bottom:1px dashed var(--line);justify-content:space-between;gap:16px;padding-bottom:8px;display:flex}.v6-report-card dt{color:var(--ink-soft);font-size:var(--fs-sm)}.v6-report-card dd{color:var(--tianjin-blue);margin:0;font:700 20px Georgia,serif}.v6-ai-card{border:1px solid var(--color-accent-warm);grid-template-columns:1fr auto;align-items:center;gap:18px;margin-top:22px;padding:24px;display:grid}@supports (color:color-mix(in lab, red, red)){.v6-ai-card{border:1px solid color-mix(in srgb, var(--color-accent-warm) 35%, transparent)}}.v6-ai-card{background:var(--color-accent-warm)}@supports (color:color-mix(in lab, red, red)){.v6-ai-card{background:color-mix(in srgb, var(--color-accent-warm) 6%, transparent)}}.v6-ai-card h2{margin:0 0 8px;font-family:Noto Serif SC,SimSun,serif}.v6-ai-card p,.v6-ai-card small{color:var(--ink-soft);line-height:var(--lh-body)}.v6-ai-card pre{white-space:pre-wrap;background:var(--surface-3);max-height:360px;color:var(--ink);font:var(--fs-sm)/1.75 ui-monospace, monospace;grid-column:1/-1;margin:0;padding:16px;overflow:auto}.v6-consent{align-items:center;gap:var(--space-xs);color:var(--ink);cursor:pointer;flex-direction:row;margin-top:12px;font-weight:600;display:flex}.v6-model-card{border:1px solid var(--line);background:var(--surface-2);justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.v6-model-card.active{border-color:var(--tianjin-blue);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.v6-model-card.active{background:color-mix(in srgb, var(--color-accent) 6%, transparent)}}.v6-model-card h3{margin:6px 0;font-family:Noto Serif SC,SimSun,serif}.v6-model-card p,.v6-model-card small,.v6-model-card span{color:var(--ink-soft);font-size:var(--fs-caption)}.v6-model-card>div:last-child{flex-wrap:wrap;justify-content:end;gap:6px;display:flex}.v6-model-card button{border:1px solid var(--line);background:var(--surface-3);color:var(--ink);cursor:pointer;padding:7px 10px}.v6-model-card button.danger{color:var(--vermilion)}.v6-dimensions{color:var(--ink-soft);font-size:var(--fs-caption);margin-top:18px}.v6-dimensions summary{cursor:pointer}.v6-dimensions div{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.v6-dimensions span{border:1px solid var(--line);background:var(--surface-2);padding:7px 9px}@media (width<=1100px){.v6-command-grid{grid-template-columns:repeat(3,1fr)}.v6-dashboard-grid{grid-template-columns:1fr 1fr}}@media (width<=720px){.v6-command-grid,.v6-profile-layout,.v6-model-layout,.v6-dashboard-grid{grid-template-columns:1fr}.v6-panel-page{padding-top:38px}.v6-ai-card{grid-template-columns:1fr}.v6-model-card{flex-direction:column;align-items:start}.v6-model-card>div:last-child{justify-content:start}}.v3-diagnostic-page{max-width:1040px}.v3-diagnostic-counter{border:1px solid var(--line);color:var(--tianjin-blue);white-space:nowrap;padding:12px 16px;font-family:Georgia,serif;font-size:24px}.v3-diagnostic-card{border:1px solid var(--line);background:var(--surface-2);box-shadow:var(--shadow);justify-items:start;gap:18px;margin-top:30px;padding:clamp(24px,5vw,58px);display:grid}.v3-diagnostic-card h2{max-width:780px;font-family:Noto Serif SC,SimSun,serif;font-size:clamp(28px,4vw,48px);line-height:var(--lh-heading);margin:0}.v3-diagnostic-card small{color:var(--ink-soft);line-height:1.7}.v3-diagnostic-input{width:100%;max-width:720px}.v3-diagnostic-input .v3-dsl-choice-grid{padding:0}.v3-diagnostic-result-row{color:var(--ink-soft);font-size:var(--fs-sm);align-items:center;gap:12px;display:flex}.v3-diagnostic-result-row strong{color:var(--tianjin-blue);font-size:32px}.v3-dsl-goal{border-left:3px solid var(--vermilion);background:var(--surface-2);gap:6px;margin-top:24px;padding:16px;display:grid}.v3-dsl-goal strong{color:var(--tianjin-blue);font-size:var(--fs-micro);letter-spacing:.1em}.v3-dsl-goal p{color:var(--ink-soft);font-size:var(--fs-caption);margin:0 0 8px;line-height:1.7}.v3-representation-scene{border:1px dashed var(--color-accent);justify-items:center;gap:10px;min-height:260px;margin:26px 28px 0;padding:34px 24px;display:grid}@supports (color:color-mix(in lab, red, red)){.v3-representation-scene{border:1px dashed color-mix(in srgb, var(--color-accent) 35%, transparent)}}.v3-representation-scene{background:radial-gradient(circle at 50% 30%, var(--color-accent), transparent 60%), var(--surface-2)}@supports (color:color-mix(in lab, red, red)){.v3-representation-scene{background:radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--color-accent) 12%, transparent), transparent 60%), var(--surface-2)}}.v3-representation-scene{text-align:center}.v3-representation-kicker{color:var(--tianjin-blue);font-size:var(--fs-caption);letter-spacing:.08em;font-weight:800}.v3-representation-symbol{border:1px solid var(--vermilion);width:92px;height:92px;color:var(--vermilion);background:var(--color-accent-warm);border-radius:50%;place-items:center;font:58px Georgia,serif;display:grid}@supports (color:color-mix(in lab, red, red)){.v3-representation-symbol{background:color-mix(in srgb, var(--color-accent-warm) 8%, transparent)}}.v3-representation-scene strong{font-family:Noto Serif SC,SimSun,serif;font-size:24px}.v3-representation-scene small{color:var(--ink-soft)}.v3-dsl-form{gap:16px;padding:28px;display:grid}.v3-dsl-prompt{color:var(--ink);font-size:var(--fs-md);line-height:var(--lh-heading);margin:0}.v3-dsl-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.v3-dsl-choice-grid button{border:1px solid var(--line);background:var(--surface-3);min-height:64px;color:var(--ink);cursor:pointer;font:inherit;padding:12px;font-weight:700}.v3-dsl-choice-grid button:hover,.v3-dsl-choice-grid button:focus-visible,.v3-dsl-choice-grid button.selected{border-color:var(--tianjin-blue);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.v3-dsl-choice-grid button:hover,.v3-dsl-choice-grid button:focus-visible,.v3-dsl-choice-grid button.selected{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}}.v3-dsl-input{border:1px solid var(--line);background:var(--surface-3);width:100%;min-height:56px;color:var(--ink);padding:12px 15px;font:18px Georgia,serif}.v3-dsl-input:focus{border-color:var(--tianjin-blue);box-shadow:0 0 0 3px var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.v3-dsl-input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 12%, transparent)}}.v3-dsl-form>.primary-action{justify-self:start}.v3-feedback button:disabled,.v3-dsl-form button:disabled,.v3-diagnostic-card button:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}@media (width<=680px){.v3-dsl-choice-grid{grid-template-columns:1fr}.v3-dsl-form{padding:22px}.v3-representation-scene{margin-inline:22px}.v3-diagnostic-result-row{flex-wrap:wrap}}.v3-page,.v6-panel-page{padding-top:42px;padding-bottom:72px}.v3-hero{gap:clamp(28px,4.5vw,68px);padding:18px 0 42px}.v3-hero h1{max-width:760px;font-size:clamp(38px,4.6vw,64px);line-height:var(--lh-heading);letter-spacing:normal;margin:14px 0 18px}.v3-lead{max-width:680px;font-size:clamp(16px,1.25vw,19px);line-height:var(--lh-heading)}.v3-actions{gap:18px;margin-top:24px}.primary-action{min-height:52px;font-size:var(--fs-base);padding:0 22px}.compact-action{min-height:48px;font-size:var(--fs-base)}.v3-status-card{min-height:258px;padding:22px}.v3-status-card>strong{margin-top:20px;font-size:54px}.v3-metric{min-height:104px;padding:16px 20px}.v3-metric strong{font-size:32px}.v3-section-heading{align-items:center;margin:48px 0 20px}.v3-section-heading h1{font-size:clamp(30px,3vw,42px);line-height:var(--lh-heading)}.v3-section-heading h2{font-size:clamp(25px,2.4vw,34px);line-height:1.3}.v3-domain-card{min-height:152px;padding:18px}.v3-domain-card strong{font-size:var(--fs-md)}.v6-command-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.v6-command-grid button{min-height:112px;padding:17px}.v6-command-grid strong{font-size:var(--fs-md)}.v3-lesson-aside h1{margin-top:20px;font-size:clamp(30px,3.2vw,46px)}.v3-lesson-card{min-height:610px}.v3-lesson-heading h2{font-size:clamp(22px,2.3vw,32px)}.v3-lesson-heading>strong{font-size:clamp(19px,2vw,28px)}.v3-representation-scene{min-height:220px;margin-top:22px;padding:26px 22px}.v3-representation-symbol{width:72px;height:72px;font-size:44px}.v3-representation-scene strong{font-size:21px}.v3-diagnostic-card{padding:clamp(24px,3.8vw,44px)}.v3-diagnostic-card h2{font-size:clamp(24px,3vw,36px)}.v3-review-card{min-height:156px;padding:20px}.v3-review-card strong{margin-top:16px;font-size:38px}.v3-progress-pill{align-items:center;gap:5px;display:flex}.v3-progress-pill,.text-action,.v6-model-card button{min-height:44px}.text-action{align-items:center;display:inline-flex}.v3-progress-pill small{color:var(--ink-soft);font-size:var(--fs-micro);margin-left:4px;font-weight:700}.v7-today-plan{border:1px solid var(--line);background:var(--color-surface-raised);grid-template-columns:minmax(240px,1fr) auto auto;align-items:center;gap:28px;margin:0 0 22px;padding:18px 20px 18px 42px;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.v7-today-plan{background:color-mix(in oklch, var(--color-surface-raised) 72%, transparent)}}.v7-today-plan:before{content:"";background:var(--tianjin-blue);inset-inline-start:20px;width:8px;height:8px;position:absolute;top:25px}.v7-today-plan h2{font-family:var(--font-display);margin:4px 0;font-size:22px}.v7-today-plan small{color:var(--ink-soft);line-height:var(--lh-body)}.v7-today-plan ol{gap:18px;margin:0;padding:0;list-style:none;display:flex}.v7-today-plan li{color:var(--ink-soft);font-size:var(--fs-micro);white-space:nowrap;justify-items:center;gap:5px;display:grid}.v7-today-plan li span{border:1px solid var(--line);border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.v7-today-plan li.current{color:var(--tianjin-blue);font-weight:800}.v7-today-plan li.current span{border-color:var(--tianjin-blue);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.v7-today-plan li.current span{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}}.v7-today-plan li.done span{border-color:var(--color-success);color:var(--color-success)}.v7-confidence{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.v7-confidence legend{width:100%;color:var(--ink-soft);font-size:var(--fs-caption);margin-bottom:2px;font-weight:700}.v7-confidence button{border:1px solid var(--line);background:var(--surface-3);min-height:44px;color:var(--ink-soft);cursor:pointer;font:inherit;font-size:var(--fs-sm);padding:7px 12px}.v7-confidence button:hover,.v7-confidence button:focus-visible,.v7-confidence button.selected{border-color:var(--tianjin-blue);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.v7-confidence button:hover,.v7-confidence button:focus-visible,.v7-confidence button.selected{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}}.v7-confidence button:hover,.v7-confidence button:focus-visible,.v7-confidence button.selected{color:var(--tianjin-blue)}.v7-sync{border:1px solid var(--line);color:var(--ink-soft);font-size:var(--fs-caption);flex:none;padding:8px 11px}.v7-sync.server{border-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.v7-sync.server{border-color:color-mix(in srgb, var(--color-success) 35%, transparent)}}.v7-sync.server{color:var(--color-success);background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.v7-sync.server{background:color-mix(in srgb, var(--color-success) 7%, transparent)}}.v7-sync.local{border-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.v7-sync.local{border-color:color-mix(in srgb, var(--color-warning) 35%, transparent)}}.v7-sync.local{color:var(--color-warning);background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.v7-sync.local{background:color-mix(in srgb, var(--color-warning) 7%, transparent)}}.v7-target-select{min-width:230px;color:var(--ink-soft);font-size:var(--fs-caption);gap:6px;display:grid}.v7-target-select select{border:1px solid var(--line);background:var(--surface-3);min-height:44px;color:var(--ink);font:inherit;padding:8px 10px}.v8-cohort-summary{flex-wrap:wrap;gap:10px;margin:14px 0 4px;display:flex}.v8-cohort-summary span{border:1px solid var(--text-1);align-items:baseline;gap:5px;padding:8px 10px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.v8-cohort-summary span{border:1px solid color-mix(in srgb, var(--text-1) 12%, transparent)}}.v8-cohort-summary span{background:var(--surface-2);color:var(--ink-soft);font-size:var(--fs-caption);border-radius:10px}.v8-cohort-summary strong{color:var(--ink);font-size:var(--fs-base)}.v7-dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.v7-caution{border-left:3px solid var(--color-warning);background:var(--color-warning);grid-template-columns:auto 1fr;gap:14px;margin-top:16px;padding:14px 16px;display:grid}@supports (color:color-mix(in lab, red, red)){.v7-caution{background:color-mix(in srgb, var(--color-warning) 7%, transparent)}}.v7-caution strong{color:var(--color-warning)}.v7-caution p{color:var(--ink-soft);line-height:var(--lh-body);margin:0}.v7-student-row{width:100%;color:var(--ink);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0}.v7-student-row:hover,.v7-student-row:focus-visible{background:var(--surface-2)}.v7-form-actions{align-items:center;gap:14px;display:flex}.v6-model-card button:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.v6-admin-form input,.v6-admin-form select,.v6-report-card input,.v6-report-card select{min-height:44px}.v6-consent input{width:18px;height:18px}@media (width<=1180px){.v7-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.v8-auth-shell{background:radial-gradient(circle at 20% 10%, var(--color-accent), transparent 35%), linear-gradient(145deg, var(--surface-1), var(--color-paper));place-items:center;min-height:100dvh;padding:32px 18px;display:grid}@supports (color:color-mix(in lab, red, red)){.v8-auth-shell{background:radial-gradient(circle at 20% 10%, color-mix(in srgb, var(--color-accent) 18%, transparent), transparent 35%), linear-gradient(145deg, var(--surface-1), var(--color-paper))}}.v8-auth-card{border:1px solid var(--text-1);width:min(520px,100%);padding:clamp(26px,5vw,48px)}@supports (color:color-mix(in lab, red, red)){.v8-auth-card{border:1px solid color-mix(in srgb, var(--text-1) 14%, transparent)}}.v8-auth-card{background:var(--surface-3);box-shadow:var(--shadow-raised);border-radius:28px}.v8-auth-card h1{font-size:clamp(30px,5vw,46px);line-height:var(--lh-heading);margin:10px 0}.v8-auth-brand{margin-bottom:26px;display:inline-flex}.v8-auth-form{gap:15px;margin:26px 0 14px;display:grid}.v8-auth-form label,.v6-admin-form fieldset{color:var(--ink);gap:7px;font-weight:650;display:grid}.v8-auth-form input,.v8-auth-form select{border:1px solid var(--text-1);width:100%;min-height:48px}@supports (color:color-mix(in lab, red, red)){.v8-auth-form input,.v8-auth-form select{border:1px solid color-mix(in srgb, var(--text-1) 20%, transparent)}}.v8-auth-form input,.v8-auth-form select{background:var(--surface-3);border-radius:12px;padding:0 14px}.v8-auth-status{min-height:24px;color:var(--vermilion)}.v8-preview-banner{z-index:60;color:var(--text-on-accent);background:var(--color-warning);box-shadow:0 4px 18px var(--text-1);justify-content:center;align-items:center;gap:18px;padding:10px 18px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.v8-preview-banner{box-shadow:0 4px 18px color-mix(in srgb, var(--text-1) 15%, transparent)}}.v8-preview-banner span{opacity:.88}.v8-preview-banner button,.v8-logout{color:inherit;background:0 0;border:1px solid;border-radius:999px;padding:7px 12px}.v8-account-tools{align-items:center;gap:10px;display:flex}.v8-role-switcher{font-size:var(--fs-micro);color:var(--muted);gap:2px;display:grid}.v8-role-switcher select{max-width:104px;color:var(--ink);background:0 0;border:0;font-weight:750}.v8-logout{color:var(--ink);font-size:var(--fs-caption)}.v8-admin-grid{grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);align-items:start;gap:22px;display:grid}.v8-admin-stack{gap:22px;display:grid}.v8-role-checks{flex-wrap:wrap;gap:10px 16px;display:flex}.v8-role-checks label{align-items:center;gap:6px;font-weight:600;display:flex}.v8-preview-console,.v8-account-list,.v8-group-list,.v8-audit,.v8-group-context{border:1px solid var(--text-1);margin-top:22px;padding:22px}@supports (color:color-mix(in lab, red, red)){.v8-preview-console,.v8-account-list,.v8-group-list,.v8-audit,.v8-group-context{border:1px solid color-mix(in srgb, var(--text-1) 12%, transparent)}}.v8-preview-console,.v8-account-list,.v8-group-list,.v8-audit,.v8-group-context{background:var(--surface-3);border-radius:18px}.v8-preview-console div{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.v8-preview-console button,.v8-account-list button{border:1px solid var(--text-1)}@supports (color:color-mix(in lab, red, red)){.v8-preview-console button,.v8-account-list button{border:1px solid color-mix(in srgb, var(--text-1) 18%, transparent)}}.v8-preview-console button,.v8-account-list button{background:var(--surface-3);border-radius:999px;padding:8px 13px}.v8-account-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.v8-account-list article,.v8-group-list article{border-top:1px solid var(--text-1);grid-template-columns:auto 1fr minmax(140px,auto) auto;align-items:center;gap:9px;padding:14px 0;display:grid}@supports (color:color-mix(in lab, red, red)){.v8-account-list article,.v8-group-list article{border-top:1px solid color-mix(in srgb, var(--text-1) 10%, transparent)}}.v8-group-list article{grid-template-columns:1fr auto}.v8-group-list article small{grid-column:1/-1}.v8-group-members{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.v8-group-members span{background:var(--text-1);border-radius:999px;align-items:center;gap:6px;padding:5px 9px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.v8-group-members span{background:color-mix(in srgb, var(--text-1) 6%, transparent)}}.v8-group-members span{font-size:var(--fs-caption)}.v8-group-members button{color:var(--vermilion);font:inherit;cursor:pointer;background:0 0;border:0}.v8-account-status{background:var(--text-3);border-radius:50%;width:9px;height:9px}.v8-account-status.active{background:var(--color-success)}.v8-audit p{font-size:var(--fs-sm);color:var(--muted);margin:8px 0}.v8-group-context{flex-wrap:wrap;align-items:center;gap:12px;display:flex}@media (width<=920px){.v8-admin-grid{grid-template-columns:1fr}.v8-account-tools .energy-pill{display:none}.v8-preview-banner{flex-direction:column;align-items:flex-start;gap:5px}}@media (width<=620px){.v8-role-switcher span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.v8-role-switcher select{max-width:92px}.v8-account-list article{grid-template-columns:auto 1fr auto}.v8-account-list article small{grid-column:2/-1}}@media (width<=980px){.v3-progress-pill{gap:0;max-width:44px;padding-inline:12px}.v3-progress-pill small{display:none}}@media (width<=680px){.v3-page,.v6-panel-page{padding-top:28px;padding-bottom:54px}.v3-hero{padding-top:8px;padding-bottom:30px}.v3-hero h1{font-size:clamp(32px,10vw,40px);line-height:var(--lh-heading)}.v3-lead{font-size:var(--fs-base);line-height:var(--lh-body)}.v3-status-card{min-height:210px}.v3-status-card>strong{font-size:46px}.v3-section-heading h1{font-size:clamp(27px,7.5vw,33px)}.v3-section-heading h2{font-size:24px}.v3-diagnostic-card h2{font-size:25px}.v3-diagnostic-counter{font-size:19px}.v3-metric strong{font-size:28px}.v7-dashboard-grid{grid-template-columns:1fr}.v7-target-select{width:100%;min-width:0}.v7-confidence button{flex:1;min-width:88px;min-height:44px}.v7-caution{grid-template-columns:1fr}.v7-form-actions{flex-direction:column;align-items:stretch}.v3-topbar button,.text-action{min-height:44px}.v7-today-plan{grid-template-columns:1fr;gap:16px}.v7-today-plan ol{justify-content:space-between}}.v9-resolved{flex-direction:column;gap:12px;margin-top:18px;display:flex}.v9-resolved details{border:1px solid var(--line-soft,var(--text-1))}@supports (color:color-mix(in lab, red, red)){.v9-resolved details{border:1px solid var(--line-soft,color-mix(in srgb, var(--text-1) 14%, transparent))}}.v9-resolved details{background:var(--surface-muted,var(--text-1));border-radius:12px;padding:10px 14px}@supports (color:color-mix(in lab, red, red)){.v9-resolved details{background:var(--surface-muted,color-mix(in srgb, var(--text-1) 4%, transparent))}}.v9-resolved details summary{cursor:pointer;font-weight:600;font-size:var(--fs-sm)}.v9-resolved details p{line-height:1.7;font-size:var(--fs-sm);margin:10px 0 0}.v3-feedback.reveal{border-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.v3-feedback.reveal{border-color:color-mix(in srgb, var(--color-warning) 50%, transparent)}}.v3-feedback.reveal{background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.v3-feedback.reveal{background:color-mix(in srgb, var(--color-warning) 12%, transparent)}}.v3-lesson-checklist .current{border-color:currentColor;font-weight:600}.v9-budget{font-size:var(--fs-sm);white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.v9-budget select{border:1px solid var(--line-soft,var(--text-1));border-radius:10px;padding:6px 10px}@supports (color:color-mix(in lab, red, red)){.v9-budget select{border:1px solid var(--line-soft,color-mix(in srgb, var(--text-1) 18%, transparent))}}.v9-budget select{background:var(--surface-3);color:inherit}.v9-forecast{border:1px solid var(--line-soft,var(--text-1));border-radius:16px;margin:20px 0 8px;padding:18px 20px}@supports (color:color-mix(in lab, red, red)){.v9-forecast{border:1px solid var(--line-soft,color-mix(in srgb, var(--text-1) 12%, transparent))}}.v9-forecast{background:var(--surface-3)}.v9-forecast>strong{font-size:var(--fs-sm);margin-bottom:14px;display:block}.v9-forecast-bars{grid-template-columns:repeat(14,1fr);align-items:end;gap:6px;height:90px;display:grid}.v9-forecast-bars span{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.v9-forecast-bars i{background:linear-gradient(180deg, var(--color-accent), var(--color-accent));border-radius:4px 4px 0 0;width:100%;display:block}@supports (color:color-mix(in lab, red, red)){.v9-forecast-bars i{background:linear-gradient(180deg, color-mix(in srgb, var(--color-accent) 85%, transparent), color-mix(in srgb, var(--color-accent) 35%, transparent))}}.v9-forecast-bars small{font-size:var(--fs-micro);opacity:.65}.v9-card-row{grid-template-columns:minmax(0,1.6fr) 120px auto;align-items:center;gap:16px;display:grid}.v9-curve{width:120px;height:44px;overflow:visible}.v9-curve path{fill:none;stroke:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.v9-curve path{stroke:color-mix(in srgb, var(--color-accent) 90%, transparent)}}.v9-curve path{stroke-width:2px;vector-effect:non-scaling-stroke}.v9-curve-target{stroke:var(--color-accent-warm)}@supports (color:color-mix(in lab, red, red)){.v9-curve-target{stroke:color-mix(in srgb, var(--color-accent-warm) 45%, transparent)}}.v9-curve-target{stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.v9-assessment-item{border-bottom:1px solid var(--line-soft,var(--text-1));padding:16px 0}@supports (color:color-mix(in lab, red, red)){.v9-assessment-item{border-bottom:1px solid var(--line-soft,color-mix(in srgb, var(--text-1) 10%, transparent))}}.v9-assessment-item>p{line-height:var(--lh-body);margin:0 0 4px}.v9-assessment-item>small{opacity:.65;margin-bottom:10px;display:block}@media (width<=720px){.v9-card-row{grid-template-columns:1fr}.v9-curve{width:100%}.v9-forecast-bars{height:70px}}@media (prefers-color-scheme:dark){.site-shell:before{mix-blend-mode:normal;opacity:0}.site-shell:after{mix-blend-mode:luminosity;opacity:var(--photo-opacity)}.beam{background:linear-gradient(var(--figure-beam), var(--figure-beam-2))}}.v3-muted{margin:var(--space-xs) 0 0;color:var(--text-2);font-size:var(--fs-caption);line-height:var(--lh-body)}.v3-lesson-page{padding-top:clamp(24px,3vw,42px)}.v3-progress-line{border-radius:var(--radius-pill);position:relative}.v3-progress-line i{border-radius:var(--radius-pill);transition:width var(--dur-short) var(--ease-out)}.v3-progress-line u{background:var(--color-accent-warm);width:2px;margin-left:-1px;text-decoration:none;position:absolute;top:-3px;bottom:-3px}.v3-tutor-page{gap:var(--space-lg);flex-direction:column;display:flex}.v3-tutor-head{gap:var(--space-xs);padding-bottom:var(--space-md);border-bottom:1px solid var(--line);display:grid}.v3-tutor-head h1{margin:var(--space-2xs) 0 0;font-family:var(--font-display);font-size:clamp(28px,3.4vw,44px)}.v3-tutor-objective{margin:var(--space-xs) 0 0;padding:var(--space-sm) var(--space-md);border-left:3px solid var(--color-accent);background:var(--tint-accent);color:var(--text-1);font-size:var(--fs-sm);line-height:var(--lh-body)}.v3-tutor-objective span{color:var(--text-2)}.v3-tutor-layout{gap:var(--space-lg);grid-template-columns:minmax(0,1.7fr) minmax(280px,.75fr);align-items:start;display:grid}.v3-tutor-thread{gap:var(--space-md);overscroll-behavior:contain;min-height:320px;max-height:min(62vh,720px);padding:var(--space-md);border:1px solid var(--line);background:var(--surface-1);flex-direction:column;scroll-padding-block-end:var(--space-lg);display:flex;overflow-y:auto}.v3-tutor-bubble{max-width:46rem;padding:var(--space-md) var(--space-lg);border:1px solid var(--line);font-size:var(--fs-base);line-height:var(--lh-body);border-radius:14px}.v3-tutor-bubble p{margin:0 0 var(--space-xs)}.v3-tutor-bubble p:last-of-type{margin-bottom:0}.v3-tutor-bubble.tutor{background:var(--surface-2);color:var(--text-1);border-bottom-left-radius:4px;align-self:flex-start}.v3-tutor-bubble.tutor .teaching{color:var(--text-2);font-size:var(--fs-sm)}.v3-tutor-bubble.tutor .question{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px dashed var(--rule-soft);color:var(--text-1);font-size:var(--fs-md);font-weight:650;line-height:var(--lh-body)}.v3-tutor-bubble.student{background:var(--color-accent);color:var(--text-on-accent);border-color:#0000;border-bottom-right-radius:4px;align-self:flex-end}.v3-tutor-verdict{align-self:stretch;gap:var(--space-2xs);padding:var(--space-md) var(--space-lg);border:1px solid var(--line);border-left:4px solid var(--text-3);background:var(--surface-2);font-size:var(--fs-sm);line-height:var(--lh-body);border-radius:10px;display:grid}.v3-tutor-verdict p{margin:0}.v3-tutor-verdict .feedback{color:var(--text-1);font-size:var(--fs-base)}.v3-tutor-verdict .understood{color:var(--color-success)}.v3-tutor-verdict .missing{color:var(--color-accent-warm)}.v3-tutor-verdict .gate{margin-top:var(--space-2xs);padding-top:var(--space-xs);border-top:1px solid var(--rule-soft);color:var(--text-2);font-family:var(--font-label);font-size:var(--fs-micro)}.v3-tutor-verdict.correct{border-left-color:var(--color-success);background:var(--tint-success)}.v3-tutor-verdict.partial{border-left-color:var(--color-warning);background:var(--tint-warning)}.v3-tutor-verdict.incorrect{border-left-color:var(--color-accent-warm);background:var(--tint-warm)}.v3-tutor-verdict .feedback:before{margin-right:var(--space-xs);font-weight:800}.v3-tutor-verdict.correct .feedback:before{content:"✓";color:var(--color-success)}.v3-tutor-verdict.partial .feedback:before{content:"◐";color:var(--color-warning)}.v3-tutor-verdict.incorrect .feedback:before{content:"!";color:var(--color-accent-warm)}.v3-error-tag{margin:var(--space-2xs) 0;border:1px solid var(--color-accent);border-radius:var(--radius-pill);background:var(--tint-accent);color:var(--color-accent);font-size:var(--fs-micro);justify-self:start;align-items:center;padding:6px 10px;font-weight:700;line-height:1.4;display:inline-flex}.v3-error-tag.blocking{border-color:var(--color-accent-warm);background:var(--tint-warm);color:var(--color-accent-warm)}.v3-error-tag.blocking:before{content:"⛔";margin-right:6px}.v6-feedback-actions{align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--rule-soft);flex-wrap:wrap;display:flex}.v6-feedback-actions>span{color:var(--text-2);font-size:var(--fs-micro);margin-right:auto}.v6-feedback-actions button{min-height:var(--tap-min);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-3);color:var(--text-2);cursor:pointer;font-size:var(--fs-micro);padding:0 14px;font-weight:700}.v6-feedback-actions button:hover,.v6-feedback-actions button:focus-visible{border-color:var(--color-accent);background:var(--tint-accent);color:var(--color-accent)}.v3-tutor-side{gap:var(--space-md);align-content:start;display:grid;position:sticky;top:104px}.v3-tutor-meter{gap:var(--space-xs);padding:var(--space-md) var(--space-lg);border:1px solid var(--line);background:var(--surface-2);box-shadow:var(--shadow-raised);display:grid}.v3-tutor-meter-head{align-items:baseline;gap:var(--space-xs);flex-wrap:wrap;display:flex}.v3-tutor-meter-head strong{color:var(--color-accent);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:42px;line-height:1}.v3-tutor-meter-head span{color:var(--text-1);font-size:var(--fs-base);font-weight:650}.v3-tutor-meter-head em{color:var(--text-2);font-size:var(--fs-micro);white-space:nowrap;margin-left:auto;font-style:normal}.v3-tutor-blocks{gap:var(--space-2xs);margin:var(--space-2xs) 0 0;color:var(--color-accent-warm);font-size:var(--fs-micro);line-height:var(--lh-body);padding-left:1.2em;display:grid}.v3-tutor-caps{color:var(--text-2);font-size:var(--fs-micro);line-height:var(--lh-body);margin:0}.v3-tutor-steps{border:1px solid var(--line);background:var(--surface-1);gap:2px;margin:0;padding:0;list-style:none;display:grid}.v3-tutor-steps li{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);color:var(--text-2);font-size:var(--fs-sm);border-left:3px solid #0000;display:flex}.v3-tutor-steps li span{flex:1;min-width:0}.v3-tutor-steps li em{color:var(--text-3);font-family:var(--font-label);font-size:var(--fs-micro);white-space:nowrap;font-style:normal}.v3-tutor-steps li.active{border-left-color:var(--color-accent);background:var(--tint-accent);color:var(--text-1);font-weight:700}.v3-tutor-steps li.mastered{border-left-color:var(--color-success)}.v3-tutor-steps li.mastered:before{content:"✓";color:var(--color-success);font-weight:800}.v3-tutor-steps li.mastered em{color:var(--color-success)}.v3-tutor-steps li.pending:before{content:"○";color:var(--text-3)}.v3-tutor-steps li.active:before{content:"◉";color:var(--color-accent)}.v3-tutor-steps li.blocked{border-left-color:var(--color-accent-warm)}.v3-tutor-steps li.blocked:before{content:"⛔"}.v3-tutor-prereq{padding:var(--space-md);border-left:3px solid var(--color-warning);background:var(--tint-warning);color:var(--text-1);font-size:var(--fs-sm);line-height:var(--lh-body);margin:0}.v3-tutor-compose{gap:var(--space-sm);padding:var(--space-lg);border:1px solid var(--line);background:var(--surface-2);box-shadow:var(--shadow-raised);display:grid}.v3-tutor-input{width:100%;min-height:92px;padding:var(--space-sm) var(--space-md);border:1px solid var(--rule-strong);background:var(--surface-3);color:var(--text-1);font:inherit;font-size:var(--fs-md);line-height:var(--lh-body);resize:vertical}.v3-tutor-input::placeholder{color:var(--text-3)}.v3-tutor-input:focus{border-color:var(--color-accent)}.v3-tutor-actions{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.v3-tutor-actions .primary-action{margin-left:auto}.v3-tutor-hint-flag{align-items:center;gap:var(--space-xs);min-height:var(--tap-min);color:var(--text-2);font-size:var(--fs-sm);cursor:pointer;display:inline-flex}.v3-tutor-hint-flag input{width:20px;height:20px;accent-color:var(--color-accent)}.v3-tutor-note{color:var(--text-2);font-size:var(--fs-caption);line-height:var(--lh-body);margin:0}.v3-tutor-error{padding:var(--space-sm) var(--space-md);border-left:3px solid var(--color-accent-warm);background:var(--tint-warm);color:var(--text-1);font-size:var(--fs-sm);margin:0}.v3-point-picker{align-items:flex-end;gap:var(--space-md);margin:var(--space-lg) 0;padding:var(--space-md) var(--space-lg);border:1px solid var(--line);background:var(--surface-1);flex-wrap:wrap;display:flex}.v3-point-picker label{gap:var(--space-2xs);color:var(--text-2);font-size:var(--fs-caption);font-weight:700;display:grid}.v3-point-picker select{min-width:160px;min-height:var(--tap-min);padding:0 var(--space-sm);border:1px solid var(--rule-strong);background:var(--surface-3);color:var(--text-1);font:inherit;font-size:var(--fs-base)}.v3-point-note{color:var(--text-2);font-size:var(--fs-caption);line-height:var(--lh-body);flex:22rem;margin:0}.v3-placement-page>header{gap:var(--space-xs);padding-bottom:var(--space-lg);border-bottom:1px solid var(--line);display:grid}.v3-placement-page h1{margin:var(--space-2xs) 0;font-family:var(--font-display);font-size:clamp(30px,3.6vw,48px)}.v3-placement-page>header>p{max-width:62ch;color:var(--text-2);font-size:var(--fs-base);line-height:var(--lh-body);margin:0}.v3-placement-notes{gap:var(--space-2xs);margin:var(--space-xs) 0 0;color:var(--text-2);font-size:var(--fs-caption);line-height:var(--lh-body);padding-left:1.3em;display:grid}.v3-placement-print{margin:var(--space-xs) 0 0;padding:var(--space-sm) var(--space-md);border-left:3px solid var(--color-accent);background:var(--tint-accent);color:var(--text-1);font-size:var(--fs-sm);line-height:var(--lh-body)}.v3-placement-print a{color:var(--color-accent);text-underline-offset:3px;font-weight:700}.v3-placement-list{gap:var(--space-md);margin:var(--space-lg) 0;counter-reset:placement;padding:0;list-style:none;display:grid}.v3-placement-item{gap:var(--space-sm);padding:var(--space-lg);border:1px solid var(--line);background:var(--surface-2);display:grid}.v3-placement-item:focus-within{border-color:var(--color-accent)}.v3-placement-item .prompt{color:var(--text-1);font-size:var(--fs-md);line-height:var(--lh-body);margin:0}.v3-placement-item .prompt b{margin-right:var(--space-xs);color:var(--color-accent);font-family:var(--font-label)}.v3-placement-item .v3-dsl-choice-grid{padding:0}.v3-placement-item>.text-action{color:var(--text-2);justify-self:start}.v3-placement-footer{z-index:5;align-items:center;gap:var(--space-md);margin-top:var(--space-lg);padding:var(--space-md) var(--space-lg);border:1px solid var(--line);background:var(--surface-2);box-shadow:var(--shadow-raised);flex-wrap:wrap;display:flex;position:sticky;bottom:0}.v3-placement-footer>p{color:var(--text-1);font-size:var(--fs-base);font-variant-numeric:tabular-nums;margin:0 auto 0 0;font-weight:700}.v3-placement-footer>p[role=alert]{color:var(--color-accent-warm);flex-basis:100%;margin-right:0;font-weight:600}.v3-report-page h1{margin:0 0 var(--space-lg);font-family:var(--font-display);font-size:clamp(30px,3.6vw,48px)}.v3-report-page h2{margin:var(--space-xl) 0 var(--space-sm);font-family:var(--font-display);font-size:clamp(21px,2.2vw,28px)}.v3-report-page>p{max-width:68ch;color:var(--text-2);font-size:var(--fs-base);line-height:var(--lh-body)}.v3-report-grid{border:1px solid var(--line);background:var(--surface-2);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.v3-report-grid>div{gap:var(--space-2xs);padding:var(--space-md) var(--space-lg);border-right:1px solid var(--line);display:grid}.v3-report-grid>div:last-child{border-right:0}.v3-report-grid strong{color:var(--color-accent);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:40px;line-height:1}.v3-report-grid>div:nth-child(2) strong{color:var(--color-accent-warm)}.v3-report-grid>div:nth-child(3) strong{color:var(--color-warning)}.v3-report-grid span{color:var(--text-2);font-size:var(--fs-caption)}.v3-report-honesty{margin:var(--space-lg) 0 0;padding:var(--space-md) var(--space-lg);border-left:4px solid var(--color-warning);background:var(--tint-warning);font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--text-1)!important}.v3-report-bars{gap:var(--space-xs);margin:0;padding:0;list-style:none;display:grid}.v3-report-bars li{align-items:center;gap:var(--space-md);padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--rule-soft);font-size:var(--fs-sm);grid-template-columns:6.5em minmax(0,1fr) 4.5em;display:grid}.v3-report-bars li>span{color:var(--text-1);font-weight:650}.v3-report-bars li .v3-progress-line{margin-top:0}.v3-report-bars li em{color:var(--text-2);font-family:var(--font-label);text-align:right;font-variant-numeric:tabular-nums;font-style:normal}.v3-report-weak{gap:var(--space-xs);margin:0;padding:0;list-style:none;display:grid}.v3-report-weak li{align-items:baseline;gap:var(--space-xs) var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--line);border-left:3px solid var(--color-accent-warm);background:var(--surface-2);flex-wrap:wrap;display:flex}.v3-report-weak li b{color:var(--text-1);font-size:var(--fs-base)}.v3-report-weak li span{color:var(--text-2);font-size:var(--fs-caption)}.v3-report-notes{gap:var(--space-2xs);margin:var(--space-md) 0;color:var(--text-2);font-size:var(--fs-caption);line-height:var(--lh-body);padding-left:1.3em;display:grid}.v3-plan-page h1{margin:0 0 var(--space-xs);font-family:var(--font-display);font-size:clamp(30px,3.6vw,48px)}.v3-plan-page>p{margin:0 0 var(--space-sm);color:var(--text-2);font-size:var(--fs-base)}.v3-plan-day{margin-top:var(--space-lg);border:1px solid var(--line);background:var(--surface-2)}.v3-plan-day h2{padding:var(--space-sm) var(--space-lg);border-bottom:1px solid var(--line);background:var(--surface-1);font-family:var(--font-display);font-size:var(--fs-lg);margin:0}.v3-plan-day ul{margin:0;padding:0;list-style:none}.v3-plan-day li{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--rule-soft);flex-wrap:wrap;display:flex}.v3-plan-day li:last-child{border-bottom:0}.v3-plan-day li>div{gap:var(--space-3xs);flex:16rem;min-width:0;display:grid}.v3-plan-day li b{color:var(--text-1);font-size:var(--fs-md)}.v3-plan-day li span{color:var(--text-2);font-size:var(--fs-caption);line-height:var(--lh-body)}.v3-plan-day li .primary-action{flex:none;width:auto;min-width:150px}.v3-plan-day li.done{background:var(--tint-success)}.v3-plan-day li.done b:before{content:"✓ ";color:var(--color-success);font-weight:800}.v3-syllabus-page h1{margin:var(--space-2xs) 0 0;font-family:var(--font-display);font-size:clamp(30px,3.6vw,48px)}.v3-syllabus-unit{margin-top:var(--space-sm);border:1px solid var(--line);background:var(--surface-2)}.v3-syllabus-unit-head{align-items:center;gap:var(--space-md);width:100%;min-height:60px;padding:var(--space-sm) var(--space-lg);color:var(--text-1);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.v3-syllabus-unit-head b{font-family:var(--font-display);font-size:var(--fs-lg);flex:1}.v3-syllabus-unit-head span{color:var(--text-2);font-size:var(--fs-caption);white-space:nowrap}.v3-syllabus-unit-head:after{content:"▾";color:var(--color-accent);font-size:var(--fs-md);transition:transform var(--dur-short) var(--ease-out)}.v3-syllabus-unit-head[aria-expanded=true]{background:var(--tint-accent)}.v3-syllabus-unit-head[aria-expanded=true]:after{transform:rotate(180deg)}.v3-syllabus-unit-head:hover{background:var(--surface-hover)}.v3-syllabus-topics{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.v3-syllabus-topics li{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--rule-soft);flex-wrap:wrap;display:flex}.v3-syllabus-topics li:last-child{border-bottom:0}.v3-syllabus-topics li>div:first-child{gap:var(--space-3xs);flex:14rem;min-width:0;display:grid}.v3-syllabus-topics li b{color:var(--text-1);font-size:var(--fs-base)}.v3-syllabus-topics li span{color:var(--text-2);font-size:var(--fs-caption)}.v3-syllabus-actions{align-items:center;gap:var(--space-xs) var(--space-md);flex-wrap:wrap;display:flex}.v3-syllabus-actions .primary-action{width:auto;min-width:118px;min-height:var(--tap-min);padding-inline:var(--space-md);font-size:var(--fs-sm)}.v6-feedback-summary{margin-top:var(--space-md);padding:var(--space-md) var(--space-lg);border:1px solid var(--line);background:var(--surface-1);color:var(--text-2);font-size:var(--fs-sm)}.v6-feedback-summary summary{min-height:var(--tap-min);color:var(--text-1);cursor:pointer;font-size:var(--fs-base);align-items:center;font-weight:700;display:flex}.v6-feedback-summary h3{margin:var(--space-md) 0 var(--space-2xs);color:var(--text-1);font-size:var(--fs-sm)}.v6-feedback-summary p{margin:var(--space-2xs) 0;line-height:var(--lh-body)}.v6-feedback-summary button{min-height:var(--tap-min);margin:var(--space-xs) 0;border:1px solid var(--line);background:var(--surface-3);color:var(--text-1);cursor:pointer;font-size:var(--fs-sm);padding:0 14px}.v3-lesson-card[class*=stage-]{border-top:4px solid var(--stage-color,var(--color-accent))}.stage-understand{--stage-color:var(--color-accent)}.stage-generate{--stage-color:var(--color-success)}.stage-recall{--stage-color:var(--color-warning)}.stage-near-transfer{--stage-color:var(--color-accent-soft)}.stage-structural-transfer,.stage-far-transfer{--stage-color:var(--color-accent-warm)}.stage-boundary{--stage-color:var(--text-3)}@media (width<=980px){.v3-tutor-layout{grid-template-columns:1fr}.v3-tutor-side{position:static}.v3-tutor-thread{max-height:none}.v3-report-bars li{gap:var(--space-sm);grid-template-columns:5em minmax(0,1fr) 4em}}@media (width<=680px){.v3-tutor-bubble{max-width:100%;padding:var(--space-sm) var(--space-md)}.v3-tutor-actions{flex-direction:column;align-items:stretch}.v3-tutor-actions .primary-action{width:100%;margin-left:0}.v3-placement-item{padding:var(--space-md)}.v3-placement-footer{flex-direction:column;align-items:stretch}.v3-placement-footer .primary-action{width:100%}.v3-report-grid{grid-template-columns:1fr 1fr}.v3-report-grid>div:nth-child(2n){border-right:0}.v3-plan-day li .primary-action,.v3-syllabus-actions .primary-action{width:100%}.v3-point-picker{flex-direction:column;align-items:stretch}.v3-point-picker select{width:100%}}@media print{:root{--surface-1:#fff;--surface-2:#fff;--surface-3:#fff;--surface-sunken:#fff;--color-paper:#fff;--text-1:#000;--text-2:#1a1a1a;--text-3:#333;--texture-opacity:0;--photo-opacity:0;--shadow-raised:none}.site-shell:before,.site-shell:after,.topbar,.v3-footer,.v8-preview-banner,.v3-placement-footer,.v3-tutor-compose,.back-action,.text-action{display:none!important}.v3-page{padding:0}.v3-placement-item,.v3-report-weak li,.v3-plan-day{break-inside:avoid;page-break-inside:avoid}a[href]:after{content:" (" attr(href) ")";font-size:11px}}.math-block.variable{background:linear-gradient(135deg, var(--color-accent-warm), var(--color-accent-warm))}@supports (color:color-mix(in lab, red, red)){.math-block.variable{background:linear-gradient(135deg, color-mix(in srgb, var(--color-accent-warm) 88%, var(--surface-3)), var(--color-accent-warm))}}.text-action,.back-action,.hint-action,.v3-feedback button,.v8-logout,.v8-group-members button,.v6-model-card button,.v8-preview-banner button,.v8-preview-console button,.v8-account-list button{min-height:var(--tap-min);padding-inline:var(--space-xs);justify-content:center;align-items:center;display:inline-flex}.text-action,.back-action,.hint-action{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.text-action:hover,.back-action:hover,.hint-action:hover{text-decoration-thickness:2px}.v9-resolved details summary,.v6-dimensions summary{min-height:var(--tap-min);align-items:center;display:flex}:target,[id]{scroll-margin-top:104px}.v3-topbar{border-bottom:1px solid var(--line);background:var(--surface-2)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.v3-topbar{background:var(--surface-2)}@supports (color:color-mix(in lab, red, red)){.v3-topbar{background:color-mix(in srgb, var(--surface-2) 88%, transparent)}}}.knowledge-node:focus-visible{border-color:var(--color-accent)}.v3-feedback>span{color:inherit;flex:none;font-weight:800}::placeholder{color:var(--text-3);opacity:1}input,select,textarea,button{color-scheme:normal}input[type=checkbox],input[type=radio]{accent-color:var(--color-accent)}.topic-copy small,.v3-progress-pill,.v6-model-card small{overflow-wrap:anywhere}.v3-metric strong,.v3-status-card>strong,.v3-review-card strong,.graph-summary strong,.progress-number strong{font-variant-numeric:tabular-nums}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
