@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@500;600&family=Noto+Sans+TC:wght@400;500;600;700;800&display=swap";
@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-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.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}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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{--type-label:12px;--type-code:12px;--type-body:14px;--type-heading-3:16px;--type-heading-2:18px;--type-heading-1:clamp(23px, calc(19px + .65vw), 28px);--weight-regular:400;--weight-semibold:600;--weight-bold:700;--leading-body:1.78;--leading-heading:1.35;--leading-compact:1.4;--leading-code:1.7;--tracking-body:.015em;--tracking-heading:-.015em;--color-primary:var(--primary);--color-primary-dark:var(--primary-dark);--color-primary-soft:var(--primary-soft);--color-primary-faint:var(--primary-faint);--color-surface-canvas:var(--canvas);--color-surface-panel:var(--panel);--color-surface-card:var(--card);--color-text-primary:var(--ink);--color-text-secondary:var(--ink-muted);--color-text-tertiary:var(--ink-subtle);--color-border:var(--border);--color-line-strong:var(--line-strong);--color-success:#557963;--color-warning:#a97936;--color-error:#b94b47;--color-accent:#f2b84b;--color-link:var(--primary-dark);--color-link-hover:var(--primary);--color-link-visited:var(--primary-dark)}@supports (color:color-mix(in lab, red, red)){:root{--color-link-visited:color-mix(in srgb, var(--primary-dark) 78%, var(--ink-muted))}}:root{--color-link-decoration:var(--color-link)}@supports (color:color-mix(in lab, red, red)){:root{--color-link-decoration:color-mix(in srgb, var(--color-link) 44%, transparent)}}:root{--focus-ring-width:3px;--focus-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--focus-ring-color:color-mix(in srgb, var(--primary) 25%, transparent)}}:root{--duration-fast:.15s;--duration-standard:.2s;--ease-product:cubic-bezier(.2, .8, .2, 1);--space-xs:.25rem;--space-sm:.5rem;--space-md:.75rem;--space-lg:1rem;--space-xl:1.5rem;--space-2xl:2rem}.admin-system-shell{background:var(--color-surface-canvas);grid-template-columns:212px minmax(0,1fr) 212px;min-height:100vh;display:grid}.admin-system-shell--sub-toc{grid-template-columns:212px 212px minmax(0,1fr) 212px}.admin-system-shell--single-rail{grid-template-columns:212px minmax(0,1fr)}.admin-main-rail,.admin-sub-rail,.admin-toc-rail{border-right:1px solid var(--color-border);background:var(--color-surface-panel);z-index:2;flex-direction:column;min-width:0;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.admin-toc-rail{border-right:0;border-left:1px solid var(--color-border);padding:0 12px 20px}.admin-main-rail{padding:0 12px 14px}.admin-shell-brand{border-bottom:1px solid var(--color-border);align-items:center;gap:9px;min-height:72px;display:flex}.admin-shell-brand .brand-mark{flex-basis:30px;width:30px;height:30px}.admin-main-tabs{gap:2px;padding:18px 0;display:grid}.admin-main-tabs a{border-radius:var(--radius-sm);min-height:38px;color:var(--color-text-secondary);font-size:var(--type-body);font-weight:var(--weight-regular);line-height:var(--leading-compact);transition:color var(--duration-fast) ease, background var(--duration-fast) ease;align-items:center;padding:8px 12px;text-decoration:none;display:flex}.admin-main-tabs a:hover{color:var(--color-text-primary);background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.admin-main-tabs a:hover{background:color-mix(in srgb, var(--color-primary) 5%, transparent)}}.admin-main-tabs a.active{color:var(--color-text-primary);background:var(--color-primary-soft);font-weight:var(--weight-semibold)}.admin-main-tab-divider{margin-top:14px;position:relative}.admin-main-tab-divider:before{content:"";border-top:1px solid var(--color-border);position:absolute;top:-8px;left:0;right:0}.admin-shell-account{border-top:1px solid var(--color-border);grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;margin-top:auto;padding-top:14px;display:grid}.admin-shell-account>span{width:32px;height:32px;color:var(--color-primary-dark);background:var(--color-primary-soft);font-size:var(--type-label);font-weight:var(--weight-bold);border-radius:50%;place-items:center;display:grid}.admin-shell-account>div{gap:1px;min-width:0;display:grid}.admin-shell-account strong,.admin-shell-account small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-shell-account strong{font-size:var(--type-label);line-height:var(--leading-compact)}.admin-shell-account small{color:var(--color-text-tertiary);font-size:10px}.admin-shell-account .admin-logout-button{width:100%;font-size:var(--type-label);grid-column:1/-1;margin-top:4px}.admin-shell-account .admin-logout-error{color:var(--color-error);grid-column:1/-1;margin:2px 0 0;font-size:10px;line-height:1.45}.admin-sub-rail{padding:0 12px 20px}.admin-sub-rail>header{border-bottom:1px solid var(--color-border);align-content:center;gap:3px;min-height:72px;padding:0 12px;display:grid}.admin-sub-rail>header span{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:10px;line-height:var(--leading-compact);letter-spacing:.08em}.admin-sub-rail>header strong{font-size:var(--type-body);font-weight:var(--weight-semibold);line-height:var(--leading-compact)}.admin-sub-rail nav{gap:2px;padding:12px 0;display:grid}.admin-sub-rail nav a{border-radius:var(--radius-sm);min-height:48px;color:var(--color-text-secondary);transition:color var(--duration-fast) ease, background var(--duration-fast) ease;align-content:center;gap:3px;padding:8px 12px;text-decoration:none;display:grid}.admin-sub-rail nav a:hover{color:var(--color-text-primary);background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.admin-sub-rail nav a:hover{background:color-mix(in srgb, var(--color-primary) 5%, transparent)}}.admin-sub-rail nav a.active{color:var(--color-text-primary);background:var(--color-primary-soft)}.admin-sub-rail nav a strong{font-size:var(--type-body);font-weight:var(--weight-regular);line-height:var(--leading-compact)}.admin-sub-rail nav a.active strong{font-weight:var(--weight-semibold)}.admin-sub-rail nav a small{color:var(--color-text-tertiary);font-size:11px;line-height:var(--leading-compact);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-toc-rail>header{border-bottom:1px solid var(--color-border);background:var(--color-surface-panel);z-index:1;align-content:center;gap:3px;min-height:72px;padding:0 12px;display:grid;position:sticky;top:0}.admin-toc-rail>header span{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:10px;line-height:var(--leading-compact);letter-spacing:.08em}.admin-toc-rail>header strong{font-size:var(--type-body);font-weight:var(--weight-semibold);line-height:var(--leading-compact)}.admin-toc-rail nav{gap:2px;padding:12px 0;display:grid}.admin-toc-rail nav a{border-radius:var(--radius-sm);min-height:32px;color:var(--color-text-secondary);font-size:var(--type-body);font-weight:var(--weight-regular);line-height:var(--leading-compact);text-overflow:ellipsis;white-space:nowrap;transition:color var(--duration-fast) ease, background var(--duration-fast) ease;align-items:center;padding:6px 12px;text-decoration:none;display:flex;overflow:hidden}.admin-toc-rail nav a:hover{color:var(--color-text-primary);background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.admin-toc-rail nav a:hover{background:color-mix(in srgb, var(--color-primary) 5%, transparent)}}.admin-toc-rail nav a.active{color:var(--color-text-primary);background:var(--color-primary-soft);font-weight:var(--weight-semibold)}.admin-system-content{min-width:0}.docs-page,.docs-page-wide{--docs-page-max:920px;--docs-page-pad-x:clamp(1.25rem, 3vw, 2.5rem);--docs-page-pad-y:2rem;--docs-section-gap:1.75rem;--docs-text:var(--ink-muted);--docs-heading:var(--ink);--docs-muted:var(--ink-subtle);--docs-body-size:var(--type-body);--docs-surface:var(--card)}@supports (color:color-mix(in lab, red, red)){.docs-page,.docs-page-wide{--docs-surface:color-mix(in srgb, var(--card) 64%, transparent)}}.docs-page,.docs-page-wide{--docs-rule:var(--border)}@supports (color:color-mix(in lab, red, red)){.docs-page,.docs-page-wide{--docs-rule:color-mix(in srgb, var(--border) 80%, transparent)}}.docs-page,.docs-page-wide{width:min(100%, var(--docs-page-max));box-sizing:border-box;padding:var(--docs-page-pad-y) var(--docs-page-pad-x) 3.25rem;letter-spacing:var(--tracking-body);margin:0 auto}.docs-page-wide{--docs-page-max:1180px}.docs-page-comfortable{--docs-page-max:980px}.docs-page-narrow{--docs-page-max:760px;--docs-page-pad-x:clamp(1rem, 2vw, 2rem)}.docs-section{padding:0 0 var(--docs-section-gap);margin:0 0 var(--docs-section-gap);border-bottom:1px solid var(--docs-rule)}.docs-section:last-child{border-bottom:none;margin-bottom:0}.docs-section h1{max-width:780px;color:var(--docs-heading);font-size:var(--type-heading-1);font-weight:var(--weight-bold);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);margin:0 0 .65rem}.docs-section h1+p{border-bottom:1px solid var(--docs-rule);max-width:760px;color:var(--docs-text);font-size:var(--docs-body-size);line-height:var(--leading-body);margin:0 0 1.25rem;padding-bottom:1rem}.docs-section h2{border-bottom:1px solid var(--docs-rule);color:var(--docs-heading);font-size:var(--type-heading-2);font-weight:var(--weight-bold);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);align-items:center;gap:.5rem;margin:1.75rem 0 .7rem;padding-bottom:.5rem;display:flex}.docs-section h2:first-child{margin-top:0}.docs-section h3{color:var(--docs-heading);font-size:var(--type-heading-3);font-weight:var(--weight-semibold);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);align-items:center;gap:.375rem;margin:1.25rem 0 .5rem;display:flex}.docs-section h3:before{content:"";background:var(--color-primary);border-radius:2px;flex-shrink:0;width:3px;height:.875rem}.docs-section hr{border:0;border-top:1px solid var(--docs-rule);margin:1.5rem 0}.docs-section p,.docs-section li{max-width:760px;color:var(--docs-text);font-size:var(--docs-body-size);line-height:var(--leading-body)}.docs-section ul{margin:.55rem 0 .9rem;padding-left:1.25rem;list-style:outside}.docs-section ol{counter-reset:none;margin:.55rem 0 .9rem;padding-left:1.5rem;list-style:decimal}.docs-section li{margin-bottom:.35rem}.docs-section ol li{margin-bottom:.45rem}.docs-section li::marker{color:var(--docs-muted);font-weight:var(--weight-semibold)}.docs-section a:not([class]){color:var(--color-link);font-weight:inherit;text-decoration-line:underline;-webkit-text-decoration-color:var(--color-link-decoration);-webkit-text-decoration-color:var(--color-link-decoration);-webkit-text-decoration-color:var(--color-link-decoration);text-decoration-color:var(--color-link-decoration);text-underline-offset:.18em;text-decoration-skip-ink:auto;transition:color var(--duration-fast) ease, text-decoration-color var(--duration-fast) ease;text-decoration-thickness:1px}.docs-section a:not([class]):visited{color:var(--color-link-visited)}.docs-section a:not([class]):hover{color:var(--color-link-hover);text-decoration-color:currentColor}.docs-section code{border:1px solid var(--docs-rule);color:var(--color-primary);border-radius:4px;padding:.125rem .375rem}@supports (color:color-mix(in lab, red, red)){.docs-section code{color:color-mix(in srgb, var(--color-primary) 68%, var(--ink))}}.docs-section code{background:var(--docs-surface);font-family:var(--font-mono);font-size:var(--type-label)}.docs-section pre{border:1px solid var(--docs-rule);background:var(--docs-surface);border-radius:8px;margin:.9rem 0 1.35rem;padding:1rem 1.25rem;overflow-x:auto}.docs-section pre code{color:var(--docs-text);font-size:var(--type-label);background:0 0;border:0;padding:0;line-height:1.7}.docs-section blockquote,.docs-callout{border-left:3px solid var(--color-primary);border-radius:0 var(--radius-md) var(--radius-md) 0;max-width:780px;padding:var(--space-md) var(--space-lg);color:var(--docs-text);background:var(--color-primary);margin:1.1rem 0 1.5rem}@supports (color:color-mix(in lab, red, red)){.docs-section blockquote,.docs-callout{background:color-mix(in srgb, var(--color-primary) 8%, transparent)}}.docs-section blockquote,.docs-callout{font-size:var(--docs-body-size);line-height:var(--leading-body)}.docs-callout-title{color:var(--docs-heading);font-weight:var(--weight-semibold);display:block}.docs-callout p{margin:var(--space-xs) 0 0;color:var(--docs-text);font-size:inherit;line-height:inherit}.docs-section table{border:1px solid var(--docs-rule);border-collapse:separate;border-spacing:0;border-radius:var(--radius-sm);width:100%;font-size:var(--docs-body-size);margin:1rem 0 1.5rem;overflow:hidden}.docs-section th{border-bottom:1px solid var(--docs-rule);padding:var(--space-sm) var(--space-md);color:var(--docs-heading);background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.docs-section th{background:color-mix(in srgb, var(--color-primary) 8%, transparent)}}.docs-section th{font-size:var(--docs-body-size);font-weight:var(--weight-semibold);line-height:var(--leading-compact);text-align:left}.docs-section td{border-bottom:1px solid var(--docs-rule);padding:var(--space-sm) var(--space-md);color:var(--docs-text);line-height:var(--leading-body);vertical-align:top}.docs-section th:first-child,.docs-section td:first-child{min-width:126px}.docs-section tr:last-child td{border-bottom:0}.docs-section strong{color:var(--docs-heading);font-weight:var(--weight-semibold)}.docs-section[id]{scroll-margin-top:var(--space-lg)}.type-specimen{max-width:780px;margin:var(--space-lg) 0 var(--space-xl);border:1px solid var(--docs-rule);border-radius:var(--radius-md);background:var(--docs-surface);display:grid;overflow:hidden}.type-specimen-row{align-items:baseline;gap:var(--space-lg);border-bottom:1px solid var(--docs-rule);grid-template-columns:minmax(7rem,.65fr) minmax(0,2fr) auto;padding:.8rem .9rem;display:grid}.type-specimen-row:last-child{border-bottom:0}.type-specimen-name,.type-specimen-value{color:var(--docs-muted);font-family:var(--font-mono);font-size:var(--type-label);line-height:var(--leading-compact)}.type-specimen-value{white-space:nowrap}.type-specimen-sample{color:var(--docs-heading)}.type-specimen-sample[data-level=h1]{font-size:var(--type-heading-1);font-weight:var(--weight-bold);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}.type-specimen-sample[data-level=h2]{font-size:var(--type-heading-2);font-weight:var(--weight-bold);line-height:var(--leading-heading)}.type-specimen-sample[data-level=h3]{font-size:var(--type-heading-3);font-weight:var(--weight-semibold);line-height:var(--leading-heading)}.type-specimen-sample[data-level=body]{color:var(--docs-text);font-size:var(--type-body);line-height:var(--leading-body)}.type-specimen-sample[data-level=label]{color:var(--docs-muted);font-size:var(--type-label);font-weight:var(--weight-semibold);line-height:var(--leading-compact)}.type-specimen-sample[data-level=code]{color:var(--docs-text);font-family:var(--font-mono);font-size:var(--type-code);line-height:var(--leading-code);letter-spacing:0}.foundation-color-role{align-items:center;gap:var(--space-sm);display:inline-flex}.foundation-color-role i{border:1px solid var(--docs-rule);border-radius:var(--radius-sm);flex:0 0 1.1rem;width:1.1rem;height:1.1rem}.foundation-layout-specimen{max-width:780px;min-height:8rem;margin:var(--space-lg) 0;border:1px solid var(--docs-rule);border-radius:var(--radius-md);background:var(--docs-surface);grid-template-columns:106px 106px minmax(0,1fr);display:grid;overflow:hidden}.foundation-layout-region{border-right:1px solid var(--docs-rule);padding:var(--space-md);color:var(--docs-muted);font-size:var(--type-label);font-weight:var(--weight-semibold);line-height:var(--leading-compact);text-align:center;place-items:center;display:grid}.foundation-layout-region:last-child{color:var(--docs-heading);background:var(--card);border-right:0}.foundation-token-grid,.docs-card-family-grid{gap:var(--space-md);max-width:980px;margin:var(--space-lg) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.foundation-token-card,.docs-card{border:1px solid var(--docs-rule);border-radius:var(--radius-md);min-width:0;padding:var(--space-lg);background:var(--docs-surface);margin:0}.foundation-token-card>strong,.docs-card-title{margin-bottom:var(--space-sm);color:var(--docs-heading);font-size:var(--type-body);font-weight:var(--weight-semibold);line-height:var(--leading-heading);display:block}.foundation-token-card p,.docs-card p{margin:0}.docs-card-family-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.docs-card--indexed{flex-direction:column;align-items:flex-start;display:flex}.docs-card-marker{width:1.55rem;height:1.55rem;margin-bottom:var(--space-md);color:#fff;background:var(--color-primary);font-size:var(--type-label);font-weight:var(--weight-bold);border-radius:50%;place-items:center;display:grid}.docs-card--media{align-items:start;gap:var(--space-md);grid-template-columns:2rem minmax(0,1fr);display:grid}.docs-card-icon{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-primary);background:var(--color-primary);place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.docs-card-icon{background:color-mix(in srgb, var(--color-primary) 9%, transparent)}}.docs-card-icon{font-style:normal}.docs-card-icon svg{width:18px;height:18px}.docs-card-copy{min-width:0}.foundation-redline-demo{gap:var(--space-xl);max-width:780px;margin:var(--space-lg) 0 var(--space-xl);border:1px solid var(--docs-rule);border-radius:var(--radius-md);padding:var(--space-xl);background:var(--docs-surface);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.foundation-redline-demo>div{border-left:1px dashed var(--color-primary);padding:var(--space-md);gap:3px;display:grid}.foundation-redline-demo span,.foundation-redline-demo small{color:var(--docs-muted);font-family:var(--font-mono);font-size:var(--type-label);line-height:var(--leading-compact)}.foundation-prompt-specimen{max-width:760px;margin:var(--space-lg) 0 var(--space-xl);border:1px solid var(--docs-rule);border-radius:var(--radius-md);background:var(--card);overflow:hidden}.foundation-prompt-specimen header{justify-content:space-between;align-items:center;gap:var(--space-lg);border-bottom:1px solid var(--docs-rule);min-height:38px;padding:var(--space-xs) var(--space-md);background:var(--color-primary);display:flex}@supports (color:color-mix(in lab, red, red)){.foundation-prompt-specimen header{background:color-mix(in srgb, var(--color-primary) 7%, transparent)}}.foundation-prompt-specimen header strong,.foundation-prompt-specimen header button{font-size:var(--type-body)}.foundation-prompt-specimen header button{border:1px solid var(--docs-rule);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);color:var(--docs-text);background:var(--card)}.foundation-prompt-specimen pre{padding:var(--space-md) var(--space-lg);color:var(--docs-text);background:var(--card);font-family:var(--font-mono);font-size:var(--type-body);line-height:var(--leading-body);white-space:pre-wrap;border:0;border-radius:0;margin:0}.foundation-link-demo{max-width:760px;margin:var(--space-lg) 0;border-left:3px solid var(--color-primary);padding:var(--space-md) var(--space-lg);background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.foundation-link-demo{background:color-mix(in srgb, var(--color-primary) 5%, transparent)}}.foundation-focus-demo{margin:var(--space-lg) 0;border:1px solid var(--docs-rule);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);color:var(--docs-heading);background:var(--card);font-size:var(--type-body);font-weight:var(--weight-semibold);line-height:var(--leading-compact);align-items:center;display:inline-flex}.foundation-focus-demo:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.docs-badge{color:var(--color-text-secondary);background:var(--color-text-tertiary);border:1px solid #0000;border-radius:4px;align-items:center;padding:2px 9px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.docs-badge{background:color-mix(in srgb, var(--color-text-tertiary) 8%, transparent)}}.docs-badge{font-size:var(--type-label);font-weight:var(--weight-semibold);line-height:var(--leading-compact);letter-spacing:.05em;white-space:nowrap}.docs-badge.live{color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.docs-badge.live{color:color-mix(in srgb, var(--color-success) 72%, var(--ink))}}.docs-badge.live{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.docs-badge.live{background:color-mix(in srgb, var(--color-success) 12%, transparent)}}.docs-badge.wip{color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.docs-badge.wip{color:color-mix(in srgb, var(--color-primary) 72%, var(--ink))}}.docs-badge.wip{background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.docs-badge.wip{background:color-mix(in srgb, var(--color-primary) 12%, transparent)}}.docs-badge.warn{color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.docs-badge.warn{color:color-mix(in srgb, var(--color-warning) 72%, var(--ink))}}.docs-badge.warn{background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.docs-badge.warn{background:color-mix(in srgb, var(--color-warning) 12%, transparent)}}.docs-badge.error{color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.docs-badge.error{color:color-mix(in srgb, var(--color-error) 72%, var(--ink))}}.docs-badge.error{background:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.docs-badge.error{background:color-mix(in srgb, var(--color-error) 12%, transparent)}}.docs-badge.defer{border-color:var(--color-text-tertiary)}@supports (color:color-mix(in lab, red, red)){.docs-badge.defer{border-color:color-mix(in srgb, var(--color-text-tertiary) 34%, transparent)}}.docs-badge.skip{text-decoration:line-through}.docs-count-pill{border-radius:var(--radius-md);color:var(--color-text-secondary);background:var(--color-text-tertiary);align-items:center;padding:2px 9px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.docs-count-pill{background:color-mix(in srgb, var(--color-text-tertiary) 8%, transparent)}}.docs-count-pill{font-family:var(--font-mono);font-size:var(--type-label);font-weight:var(--weight-regular);line-height:var(--leading-compact);font-variant-numeric:tabular-nums}.docs-action-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:32px;color:var(--color-text-primary);background:var(--color-surface-card);font-size:var(--type-label);font-weight:var(--weight-semibold);line-height:var(--leading-compact);white-space:nowrap;cursor:pointer;transition:color var(--duration-fast) ease, background var(--duration-fast) ease, border-color var(--duration-fast) ease;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.docs-action-btn:hover{color:var(--color-primary-dark);border-color:var(--color-primary);background:var(--color-primary-faint)}.docs-action-btn--primary,.docs-action-btn--primary:hover{color:#fff;border-color:var(--color-primary);background:var(--color-primary)}.docs-action-btn--primary:hover{border-color:var(--color-primary-dark);background:var(--color-primary-dark)}.docs-action-btn:disabled,.docs-action-btn:disabled:hover{color:var(--color-text-tertiary);border-color:var(--color-border);background:var(--color-surface-panel);cursor:not-allowed}.docs-icon-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-secondary);background:var(--color-surface-card);cursor:pointer;transition:color var(--duration-fast) ease, background var(--duration-fast) ease;place-items:center;display:inline-grid}.docs-icon-btn:hover{color:var(--color-text-primary);background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.docs-icon-btn:hover{background:color-mix(in srgb, var(--color-primary) 5%, transparent)}}.docs-field{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:0;min-height:36px;color:var(--color-text-primary);background:var(--color-surface-card);font-size:var(--type-body);line-height:var(--leading-compact);padding:0 12px}.docs-field::placeholder{color:var(--color-text-tertiary)}.docs-field:hover{border-color:var(--color-line-strong)}.docs-field:focus-visible{border-color:var(--color-primary);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.docs-joined-grid{max-width:980px;margin:var(--space-lg) 0;border:1px solid var(--color-line-strong);border-radius:var(--radius-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.docs-joined-cell{border-right:1px solid var(--docs-rule);min-width:0;padding:var(--space-lg);background:var(--docs-surface);margin:0}.docs-joined-cell:last-child{border-right:0}.docs-joined-cell p{margin:0}.docs-flow{border:1px solid var(--docs-rule);padding:var(--space-lg) var(--space-xl);color:var(--docs-text);background:var(--docs-surface);font-family:var(--font-mono);font-size:var(--type-code);line-height:var(--leading-code);letter-spacing:0;white-space:pre;border-radius:8px;margin:.9rem 0 1.35rem;overflow-x:auto}.foundation-control-row{align-items:center;gap:var(--space-md);margin:var(--space-lg) 0 var(--space-xl);flex-wrap:wrap;display:flex}.foundation-shadow-sample{height:44px;margin-top:var(--space-md);border:1px solid var(--docs-rule);border-radius:var(--radius-sm);background:var(--card);display:block}.foundation-shadow-sample[data-shadow=xs]{box-shadow:var(--shadow-xs)}.foundation-shadow-sample[data-shadow=sm]{box-shadow:var(--shadow-sm)}.foundation-shadow-sample[data-shadow=brand]{box-shadow:0 8px 24px #d83a162e}.foundation-weight-sample{margin-bottom:var(--space-sm);color:var(--docs-heading);font-size:var(--type-body);line-height:var(--leading-compact)}.foundation-weight-sample[data-weight=regular]{font-weight:var(--weight-regular)}.foundation-weight-sample[data-weight=semibold]{font-weight:var(--weight-semibold)}.foundation-weight-sample[data-weight=bold]{font-weight:var(--weight-bold)}.foundation-nav-state-rail{max-width:280px;margin:var(--space-lg) 0 var(--space-xl);border:1px solid var(--docs-rule);border-radius:var(--radius-md);background:var(--color-surface-panel);gap:2px;padding:12px;display:grid}.foundation-nav-row{border-radius:var(--radius-sm);min-height:38px;color:var(--color-text-secondary);font-size:var(--type-body);font-weight:var(--weight-regular);line-height:var(--leading-compact);align-items:center;padding:8px 12px;display:flex}.foundation-nav-row[data-state=hover]{color:var(--color-text-primary);background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.foundation-nav-row[data-state=hover]{background:color-mix(in srgb, var(--color-primary) 5%, transparent)}}.foundation-nav-row[data-state=active]{color:var(--color-text-primary);background:var(--color-primary-soft);font-weight:var(--weight-semibold)}.foundation-nav-row[data-state=focus]{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.foundation-slide-stage{--slide-preview-scale:.55;width:calc(1280px * var(--slide-preview-scale));height:calc(720px * var(--slide-preview-scale));max-width:100%;margin:48px 0 var(--space-xl)}.foundation-slide-stage .slide{transform:scale(var(--slide-preview-scale));transform-origin:0 0;margin:0}.foundation-icon-grid{gap:var(--space-md);margin:var(--space-lg) 0 var(--space-xl);flex-wrap:wrap;display:flex}.foundation-icon-sample{align-items:center;gap:var(--space-sm);border:1px solid var(--docs-rule);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);color:var(--docs-text);background:var(--docs-surface);font-size:var(--type-body);line-height:var(--leading-compact);display:inline-flex}.foundation-icon-sample svg{width:16px;height:16px;color:var(--color-primary);flex:0 0 16px}.foundation-icon-sample[data-size=block] svg{flex-basis:20px;width:20px;height:20px}.admin-dashboard-page .docs-section>p{margin:0 0 var(--space-lg)}.admin-data-notice{max-width:780px;margin:0 0 var(--space-xl);border-left:3px solid var(--color-primary);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:var(--space-md) var(--space-lg);color:var(--color-text-secondary);background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.admin-data-notice{background:color-mix(in srgb, var(--color-primary) 7%, transparent)}}.admin-data-notice{font-size:var(--type-body);line-height:var(--leading-body)}.admin-data-notice.error{border-left-color:var(--color-error);color:var(--color-error);background:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.admin-data-notice.error{background:color-mix(in srgb, var(--color-error) 7%, transparent)}}.admin-stat-grid,.admin-week-grid{gap:var(--space-md);width:100%;margin:var(--space-lg) 0 0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.admin-stat-grid article,.admin-week-grid article{border:1px solid var(--docs-rule);border-radius:var(--radius-md);min-width:0;padding:var(--space-lg);background:var(--docs-surface);margin:0}.admin-stat-grid span,.admin-week-grid span{margin-bottom:var(--space-sm);color:var(--color-primary-dark);font-family:var(--font-mono);font-size:var(--type-label);font-weight:var(--weight-semibold);line-height:var(--leading-compact);letter-spacing:.08em;display:block}.admin-stat-grid strong,.admin-week-grid strong{color:var(--color-text-primary);font-size:var(--type-heading-1);font-weight:var(--weight-bold);line-height:var(--leading-heading);display:block}.admin-stat-grid p,.admin-week-grid p{margin:var(--space-xs) 0 0;color:var(--color-text-secondary);font-size:var(--type-label);line-height:var(--leading-compact)}.admin-dashboard-page .docs-table{max-width:none}.admin-status{border:1px solid var(--color-border);min-height:24px;color:var(--color-text-secondary);background:var(--color-surface-card);font-size:var(--type-label);font-weight:var(--weight-semibold);line-height:var(--leading-compact);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 9px;display:inline-flex}.admin-status.success{border-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.admin-status.success{border-color:color-mix(in srgb, var(--color-success) 35%, var(--color-border))}}.admin-status.success{color:var(--color-success);background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.admin-status.success{background:color-mix(in srgb, var(--color-success) 7%, var(--color-surface-card))}}.admin-status.warning{border-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.admin-status.warning{border-color:color-mix(in srgb, var(--color-warning) 35%, var(--color-border))}}.admin-status.warning{color:var(--color-warning);background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.admin-status.warning{background:color-mix(in srgb, var(--color-warning) 7%, var(--color-surface-card))}}.admin-submission-table td:first-child small,.admin-assignment-learner small{color:var(--color-text-tertiary);font-size:11px;line-height:var(--leading-compact);margin-top:2px;display:block}.admin-assignment-matrix-wrap{border:1px solid var(--docs-rule);border-radius:var(--radius-md);background:var(--docs-surface);width:100%;overflow-x:auto}.admin-assignment-matrix-wrap:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.admin-dashboard-page .admin-assignment-matrix{table-layout:fixed;border:0;border-radius:0;width:100%;min-width:1080px;margin:0}.admin-assignment-matrix th:first-child{width:220px}.admin-assignment-matrix thead th:not(:first-child){width:215px}.admin-assignment-learner,.admin-assignment-cell{vertical-align:top}.admin-assignment-learner strong,.admin-assignment-filename{color:var(--color-text-primary);display:block}.admin-assignment-cell{background:var(--docs-surface);min-height:132px}.admin-assignment-cell.is-missing{background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.admin-assignment-cell.is-missing{background:color-mix(in srgb, var(--color-warning) 3%, var(--docs-surface))}}.admin-assignment-cell.is-submitted{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.admin-assignment-cell.is-submitted{background:color-mix(in srgb, var(--color-success) 3%, var(--docs-surface))}}.admin-assignment-filename{font-size:var(--type-label);line-height:var(--leading-compact);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-assignment-cell small{color:var(--color-text-tertiary);font-size:11px;line-height:var(--leading-compact);margin-top:3px;display:block}.admin-preview-link,.admin-preview-unavailable{margin-top:var(--space-sm)}.admin-feedback-jump{width:fit-content;color:var(--color-text-secondary);font-size:11px;font-weight:var(--weight-semibold);line-height:var(--leading-compact);text-underline-offset:3px;margin-top:7px;display:block}.admin-feedback-jump:hover{color:var(--color-primary-dark)}.admin-feedback-jump:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.admin-feedback-list{gap:var(--space-lg);display:grid}.admin-feedback-card{border:1px solid var(--docs-rule);border-radius:var(--radius-md);padding:var(--space-lg);background:var(--docs-surface);scroll-margin-top:24px}.admin-feedback-card:target{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.admin-feedback-card:target{border-color:color-mix(in srgb, var(--color-primary) 55%, var(--color-border))}}.admin-feedback-card:target{box-shadow:0 0 0 3px var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.admin-feedback-card:target{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 10%, transparent)}}.admin-feedback-card>header{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);margin-bottom:var(--space-md);display:flex}.admin-feedback-card>header span{color:var(--color-primary-dark);font-size:var(--type-label);font-weight:var(--weight-semibold);margin-bottom:3px;display:block}.admin-feedback-card>header h3,.admin-feedback-card>header p{margin:0}.admin-feedback-card>header p{color:var(--color-text-tertiary);font-size:var(--type-label);overflow-wrap:anywhere;margin-top:3px}.admin-feedback-card>header a,.admin-feedback-card>header .admin-preview-unavailable{flex:none;margin-top:0}.admin-feedback-card>header a{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:34px;color:var(--color-text-secondary);background:var(--color-surface-card);font-size:var(--type-label);font-weight:var(--weight-semibold);align-items:center;padding:5px 12px;text-decoration:none;display:inline-flex}.admin-feedback-readonly{border-left:3px solid var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:var(--space-md) var(--space-lg);background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.admin-feedback-readonly{background:color-mix(in srgb, var(--color-primary) 4%, var(--docs-surface))}}.admin-feedback-readonly span{margin-bottom:var(--space-xs);color:var(--color-primary-dark);font-size:var(--type-label);font-weight:var(--weight-semibold);display:block}.admin-feedback-readonly p{color:var(--color-text-primary);line-height:var(--leading-body);white-space:pre-wrap;margin:0}.admin-feedback-readonly.is-empty{border:1px dashed var(--color-border);background:var(--color-text-tertiary);border-left-width:3px}@supports (color:color-mix(in lab, red, red)){.admin-feedback-readonly.is-empty{background:color-mix(in srgb, var(--color-text-tertiary) 3%, var(--docs-surface))}}.admin-feedback-readonly.is-empty span,.admin-feedback-readonly.is-empty p{color:var(--color-text-tertiary)}.admin-submission-workspace{gap:clamp(2.25rem,5vw,4.5rem);display:grid}.admin-submission-hero{gap:var(--space-xl);border-bottom:1px solid var(--docs-rule);grid-template-columns:minmax(0,1fr) auto;padding-bottom:clamp(1.75rem,4vw,3rem);scroll-margin-top:24px;display:grid}.admin-submission-hero-copy>span,.admin-workspace-heading>div>span{color:var(--color-primary-dark);font-size:var(--type-label);font-weight:var(--weight-semibold);letter-spacing:.08em}.admin-submission-hero h1{margin:var(--space-sm) 0 var(--space-md);letter-spacing:-.035em;font-size:clamp(2rem,4vw,3.4rem);line-height:1.06}.admin-submission-hero-copy p,.admin-workspace-heading p{max-width:720px;color:var(--color-text-secondary);margin:0}.admin-workflow-jumps{align-items:flex-start;gap:var(--space-sm);display:flex}.admin-workflow-jumps a{border:1px solid var(--color-border);min-height:38px;color:var(--color-text-secondary);background:var(--color-surface-card);font-size:var(--type-label);font-weight:var(--weight-semibold);white-space:nowrap;border-radius:999px;align-items:center;padding:7px 14px;text-decoration:none;display:inline-flex}.admin-workflow-jumps a:first-child{border-color:var(--color-primary);color:#fff;background:var(--color-primary)}.admin-workflow-jumps a:focus-visible,.admin-review-item>summary:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:3px}.admin-submission-hero>.admin-data-notice{grid-column:1/-1;margin:0}.admin-submission-kpis{gap:var(--space-md);grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.admin-submission-kpis article{border:1px solid var(--docs-rule);border-radius:var(--radius-md);min-height:134px;padding:var(--space-lg);background:var(--docs-surface);position:relative;overflow:hidden}.admin-submission-kpis article:before{background:var(--color-text-tertiary);width:3px;position:absolute;inset:0 auto 0 0}@supports (color:color-mix(in lab, red, red)){.admin-submission-kpis article:before{background:color-mix(in srgb, var(--color-text-tertiary) 28%, transparent)}}.admin-submission-kpis article:before{content:""}.admin-submission-kpis article.is-action-needed{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.admin-submission-kpis article.is-action-needed{border-color:color-mix(in srgb, var(--color-primary) 38%, var(--docs-rule))}}.admin-submission-kpis article.is-action-needed{background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.admin-submission-kpis article.is-action-needed{background:color-mix(in srgb, var(--color-primary) 4%, var(--docs-surface))}}.admin-submission-kpis article.is-action-needed:before{background:var(--color-primary)}.admin-submission-kpis span,.admin-submission-kpis small{color:var(--color-text-tertiary);font-size:var(--type-label);display:block}.admin-submission-kpis strong{margin:var(--space-xs) 0;color:var(--color-text-primary);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1;display:block}.admin-review-workspace,.admin-submission-overview{scroll-margin-top:24px}.admin-workspace-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-xl);margin-bottom:var(--space-xl);display:flex}.admin-workspace-heading h2{margin:var(--space-xs) 0 var(--space-sm)}.admin-workspace-heading>strong{color:var(--color-primary-dark);background:var(--color-primary);border-radius:999px;flex:none;padding:7px 12px}@supports (color:color-mix(in lab, red, red)){.admin-workspace-heading>strong{background:color-mix(in srgb, var(--color-primary) 8%, var(--docs-surface))}}.admin-workspace-heading>strong{font-size:var(--type-label)}.admin-review-queue{border:1px solid var(--docs-rule);border-radius:var(--radius-lg);background:var(--docs-surface);overflow:hidden}.admin-review-item{border-bottom:1px solid var(--docs-rule);scroll-margin-top:24px}.admin-review-item:last-child{border-bottom:0}.admin-review-item:target{box-shadow:inset 3px 0 0 var(--color-primary)}.admin-review-item>summary{align-items:center;gap:var(--space-lg);min-height:86px;padding:14px var(--space-lg);cursor:pointer;grid-template-columns:82px minmax(220px,1fr) minmax(150px,auto) 24px;list-style:none;transition:background-color .15s;display:grid}.admin-review-item>summary::-webkit-details-marker{display:none}.admin-review-item>summary:hover{background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.admin-review-item>summary:hover{background:color-mix(in srgb, var(--color-primary) 3%, var(--docs-surface))}}.admin-review-item[open]>summary{border-bottom:1px solid var(--docs-rule);background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.admin-review-item[open]>summary{background:color-mix(in srgb, var(--color-primary) 4%, var(--docs-surface))}}.admin-review-week{width:fit-content;color:var(--color-primary-dark);background:var(--color-primary);border-radius:999px;padding:4px 9px}@supports (color:color-mix(in lab, red, red)){.admin-review-week{background:color-mix(in srgb, var(--color-primary) 8%, var(--docs-surface))}}.admin-review-week{font-size:11px;font-weight:var(--weight-semibold);white-space:nowrap}.admin-review-identity,.admin-review-summary-meta{min-width:0}.admin-review-identity strong,.admin-review-identity small,.admin-review-summary-meta small,.admin-review-summary-meta strong{display:block}.admin-review-identity strong{color:var(--color-text-primary);font-size:var(--type-body)}.admin-review-identity small,.admin-review-summary-meta small{color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;overflow:hidden}.admin-review-summary-meta{text-align:right}.admin-review-summary-meta strong{width:fit-content;color:var(--color-success);background:var(--color-success);border-radius:999px;margin:5px 0 0 auto;padding:3px 8px}@supports (color:color-mix(in lab, red, red)){.admin-review-summary-meta strong{background:color-mix(in srgb, var(--color-success) 8%, var(--docs-surface))}}.admin-review-summary-meta strong{font-size:11px;font-weight:var(--weight-semibold)}.admin-review-item.is-pending .admin-review-summary-meta strong{color:var(--color-primary-dark);background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.admin-review-item.is-pending .admin-review-summary-meta strong{background:color-mix(in srgb, var(--color-primary) 9%, var(--docs-surface))}}.admin-review-chevron{color:var(--color-text-tertiary);font-size:20px;line-height:1;transition:transform .15s}.admin-review-item[open] .admin-review-chevron{transform:rotate(180deg)}.admin-review-content{gap:var(--space-lg);padding:var(--space-lg);display:grid}.admin-review-filebar{justify-content:space-between;align-items:center;gap:var(--space-lg);display:flex}.admin-review-filebar p{color:var(--color-text-tertiary);font-size:var(--type-label);margin:0}.admin-review-filebar a{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:34px;color:var(--color-primary-dark);background:var(--color-surface-card);font-size:var(--type-label);font-weight:var(--weight-semibold);align-items:center;padding:5px 12px;text-decoration:none;display:inline-flex}.admin-review-empty{padding:var(--space-xl);color:var(--color-text-secondary);margin:0}.admin-week-progress-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.admin-week-progress-grid article{border:1px solid var(--docs-rule);border-radius:var(--radius-md);padding:var(--space-md);background:var(--docs-surface)}.admin-week-progress-grid article>div{justify-content:space-between;align-items:baseline;gap:var(--space-sm);display:flex}.admin-week-progress-grid span,.admin-week-progress-grid small{color:var(--color-text-tertiary);font-size:var(--type-label)}.admin-week-progress-grid strong{color:var(--color-text-primary);font-size:var(--type-body)}.admin-week-progress-grid progress{width:100%;height:5px;margin:var(--space-md) 0 var(--space-sm);background:var(--color-border);border:0;border-radius:999px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.admin-week-progress-grid progress{background:color-mix(in srgb, var(--color-border) 55%, transparent)}}.admin-week-progress-grid progress::-webkit-progress-bar{background:var(--color-border);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.admin-week-progress-grid progress::-webkit-progress-bar{background:color-mix(in srgb, var(--color-border) 55%, transparent)}}.admin-week-progress-grid progress::-webkit-progress-value{background:var(--color-primary);border-radius:999px}.admin-week-progress-grid progress::-moz-progress-bar{background:var(--color-primary);border-radius:999px}.admin-submission-workspace .admin-assignment-cell{min-height:0;padding-top:13px;padding-bottom:13px}.admin-submission-workspace .admin-assignment-learner{z-index:1;background:var(--color-primary);position:sticky;left:0}@supports (color:color-mix(in lab, red, red)){.admin-submission-workspace .admin-assignment-learner{background:color-mix(in srgb, var(--color-primary) 4%, var(--docs-surface))}}.admin-assignment-actions{margin-top:var(--space-sm);align-items:center;gap:7px;display:flex}.admin-assignment-actions .admin-preview-link,.admin-assignment-actions .admin-feedback-jump,.admin-assignment-actions .admin-preview-unavailable{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:28px;color:var(--color-text-secondary);background:var(--color-surface-card);font-size:11px;font-weight:var(--weight-semibold);align-items:center;margin:0;padding:3px 9px;line-height:1;text-decoration:none;display:inline-flex}.admin-assignment-actions .admin-feedback-jump{color:var(--color-primary-dark)}.admin-assignment-inline-feedback{margin-top:var(--space-md);border-top:1px solid var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.admin-assignment-inline-feedback{border-top:1px solid color-mix(in srgb, var(--color-primary) 18%, var(--color-border))}}.admin-assignment-inline-feedback{padding-top:var(--space-sm)}.admin-assignment-inline-feedback span{color:var(--color-primary-dark);font-size:10px;font-weight:var(--weight-semibold);letter-spacing:.04em;margin-bottom:4px;display:block}.admin-assignment-inline-feedback p{color:var(--color-text-secondary);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:12px;line-height:1.55}.admin-assignment-inline-feedback p+p{margin-top:var(--space-sm)}.admin-assignment-feedback-pending{margin:var(--space-md) 0 0;border-top:1px dashed var(--color-border);padding-top:var(--space-sm);color:var(--color-text-tertiary);font-size:11px;line-height:var(--leading-compact)}.admin-preview-link{border:1px solid var(--color-primary);align-items:center;min-height:30px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.admin-preview-link{border:1px solid color-mix(in srgb, var(--color-primary) 38%, var(--color-border))}}.admin-preview-link{border-radius:var(--radius-sm);color:var(--color-primary-dark);background:var(--color-primary);padding:4px 11px}@supports (color:color-mix(in lab, red, red)){.admin-preview-link{background:color-mix(in srgb, var(--color-primary) 5%, var(--color-surface-card))}}.admin-preview-link{font-size:var(--type-label);font-weight:var(--weight-semibold);line-height:var(--leading-compact);white-space:nowrap;text-decoration:none;transition:border-color .15s,color .15s,background-color .15s}.admin-preview-link:hover{border-color:var(--color-primary);background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.admin-preview-link:hover{background:color-mix(in srgb, var(--color-primary) 9%, var(--color-surface-card))}}.admin-preview-link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.admin-preview-unavailable{color:var(--color-text-tertiary);font-size:11px;line-height:var(--leading-compact);display:block}.admin-download-link{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:30px;color:var(--color-text-secondary);background:var(--color-surface-card);font-size:var(--type-label);font-weight:var(--weight-semibold);line-height:var(--leading-compact);white-space:nowrap;align-items:center;padding:4px 11px;text-decoration:none;transition:border-color .15s,color .15s,background-color .15s;display:inline-flex}.admin-download-link:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.admin-download-link:hover{border-color:color-mix(in srgb, var(--color-primary) 45%, var(--color-border))}}.admin-download-link:hover{color:var(--color-primary-dark);background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.admin-download-link:hover{background:color-mix(in srgb, var(--color-primary) 6%, var(--color-surface-card))}}.admin-download-link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}@media (max-width:1280px){.admin-system-shell{grid-template-columns:212px minmax(0,1fr)}.admin-system-shell--sub-toc{grid-template-columns:212px 212px minmax(0,1fr)}.admin-toc-rail{display:none}}@media (max-width:960px){.admin-system-shell,.admin-system-shell--sub-toc,.admin-system-shell--single-rail{display:block}.admin-main-rail,.admin-sub-rail{border-right:0;border-bottom:1px solid var(--color-border);width:100%;height:auto;position:static}.admin-main-tabs,.admin-sub-rail nav{display:flex;overflow-x:auto}.admin-main-tabs a,.admin-sub-rail nav a{flex:none}.admin-sub-rail>header{border-bottom:0;min-height:0;padding:12px}.admin-main-tab-divider{margin-top:0;margin-left:14px}.admin-main-tab-divider:before{border-top:0;border-left:1px solid var(--color-border);inset:0 auto 0 -8px}.admin-shell-account{display:none}.docs-page,.docs-page-wide{--docs-page-pad-y:1.25rem;--docs-section-gap:1.5rem}.docs-section table{display:block;overflow-x:auto}.admin-stat-grid,.admin-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-submission-hero{grid-template-columns:1fr}.admin-workflow-jumps{grid-row:2}.admin-submission-kpis,.admin-week-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-review-item>summary{gap:var(--space-md);grid-template-columns:72px minmax(180px,1fr) minmax(140px,auto) 20px}}@media (max-width:760px){.admin-feedback-card>header{flex-direction:column;align-items:stretch}.admin-submission-workspace{gap:2.5rem}.admin-submission-hero h1{font-size:2.2rem}.admin-workflow-jumps,.admin-workspace-heading,.admin-review-filebar{flex-direction:column;align-items:stretch}.admin-workflow-jumps a{justify-content:center}.admin-submission-kpis,.admin-week-progress-grid{grid-template-columns:1fr 1fr}.admin-submission-kpis article{min-height:116px;padding:var(--space-md)}.admin-review-item>summary{gap:var(--space-sm) var(--space-md);min-height:0;padding:var(--space-md);grid-template-columns:auto minmax(0,1fr) 20px}.admin-review-summary-meta{justify-content:space-between;align-items:center;gap:var(--space-sm);text-align:left;grid-column:2/3;display:flex}.admin-review-summary-meta small{margin:0}.admin-review-summary-meta strong{flex:none;margin:0}.admin-review-chevron{grid-area:1/3}.admin-review-content{padding:var(--space-md)}.type-specimen-row,.foundation-token-grid,.docs-card-family-grid,.docs-joined-grid,.foundation-redline-demo{grid-template-columns:1fr}.docs-joined-cell{border-right:0;border-bottom:1px solid var(--docs-rule)}.docs-joined-cell:last-child{border-bottom:0}.type-specimen-value{white-space:normal}.foundation-layout-specimen{grid-template-columns:72px 72px minmax(0,1fr)}.admin-stat-grid,.admin-week-grid{grid-template-columns:1fr}}:root{--card-shadow:0 1px 0 #0000002e;--card-shadow-hover:0 8px 24px #00000029;--color-bg-primary:#fff;--color-bg-secondary:#f4f6f8;--color-bg-tertiary:#e9edf2;--color-primary-faint:#fff6f3;--color-teaching:#2f6fed;--color-teaching-soft:#e8f0ff;--shadow-blue:0 8px 24px #d83a162e}.chapter-section{flex-direction:column;margin-bottom:1.5rem;padding-top:1rem;display:flex}.chapter-section>.chapter-title{font-size:var(--type-heading-1);font-weight:var(--weight-bold);line-height:var(--leading-heading);color:var(--color-text-primary);border-bottom:1px solid var(--color-border);letter-spacing:var(--tracking-heading);margin-bottom:2rem;padding-bottom:.75rem}.slide{background:var(--color-surface-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);width:1280px;height:720px;box-shadow:var(--shadow-xs);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;margin:3rem auto 2.5rem;padding:2rem;display:flex;position:relative}.slide.slide--fill{justify-content:flex-start;overflow:hidden}.slide--overflow{outline-offset:-2px;outline:2px dashed #ef4444}.slide--overflow:after{content:"⚠ 內容溢出 " attr(data-overflow-px) "px，請拆頁";color:#fff;z-index:50;pointer-events:none;white-space:nowrap;letter-spacing:.02em;background:#ef4444;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:600;position:absolute;top:10px;right:10px}.slide>.slide-header{flex-shrink:0;width:100%;position:absolute;bottom:calc(100% + .5rem);left:0;overflow:visible}.slide>:not(.slide-header):not(.slide-nav-overlay):not(.action-link):not(.class-intro):not(.contact-info-split){width:90%;max-width:900px}.slide-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.slide-number{background:var(--color-primary-soft);min-width:2.75rem;height:1.75rem;color:var(--color-primary-dark);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;padding:0 .5rem;font-size:.8rem;font-weight:700;display:inline-flex}.slide-label{color:var(--color-text-primary);font-size:1.05rem;font-weight:550}.slide h1{color:var(--color-text-primary);letter-spacing:-.04em;margin:0 0 .75rem;font-size:3.2rem;font-weight:700;line-height:1.25}.slide h2{color:var(--color-text-primary);letter-spacing:-.035em;margin:0 0 .5rem;font-size:2.3rem;font-weight:700;line-height:1.3}.slide h3{color:var(--color-text-primary);margin:0 0 .5rem;font-size:1.55rem;font-weight:650;line-height:1.45}.slide h1+.c2-download-card,.slide h2+.c2-download-card,.slide h3+.c2-download-card{margin-top:var(--space-xl)}.slide p:not(.highlight-text){color:var(--color-text-secondary);margin-bottom:1.25rem;font-size:1.5rem;line-height:1.7}.slide p:last-child{margin-bottom:0}.slide .large-text>p:first-child{color:var(--color-text-primary)}.slide .slide-subtitle{color:var(--color-text-secondary);margin:0 0 1.25rem;font-size:1.5rem;line-height:1.6}.slide h2+p:not(.highlight-text),.slide-heading .slide-subtitle{margin-top:.6rem;padding-left:.1rem}.slide-heading{width:100%}.slide em{font-style:normal}.slide a:not(.action-link):not(.c2-download-card__btn){color:var(--color-primary);font-weight:500;text-decoration:none;transition:color .2s}.slide a:not(.action-link):not(.c2-download-card__btn):hover{color:var(--color-primary-dark);text-decoration:underline}.slide>.action-link{align-self:center}.prompt-box{border-radius:var(--radius-md);border:1px solid var(--color-border);margin:.75rem 0;position:relative;overflow:hidden}.prompt-box-header{background:var(--color-surface-panel);border-bottom:1px solid var(--color-border);font-family:var(--font-sans);color:var(--color-text-primary);letter-spacing:.03em;justify-content:space-between;align-items:center;padding:.4rem 1rem;font-size:.8rem;font-weight:600;display:flex}.prompt-box-copy{color:var(--color-text-tertiary);font-size:.75rem;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:.35rem;padding:.15rem .5rem;transition:color .15s,background .15s;display:flex}.prompt-box-copy:hover{color:var(--color-text-primary);background:#0000000a}.prompt-box-copy i{font-size:.7rem}.prompt-box-content{background:var(--color-surface-card);color:var(--color-text-secondary);font-family:var(--font-sans);white-space:pre-wrap;padding:1rem 1.25rem;font-size:1rem;line-height:1.7}.prompt-box-v2{z-index:45;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-panel);box-shadow:none;margin:.75rem 0;position:relative;overflow:hidden}.prompt-box-v2__header{min-height:38px;padding:var(--space-xs) var(--space-sm) var(--space-xs) var(--space-md);border-bottom:1px solid var(--color-border);font-family:var(--font-sans);font-size:var(--type-body);font-weight:var(--weight-semibold);letter-spacing:0;color:var(--color-text-primary);background:0 0;justify-content:space-between;align-items:center;display:flex}.prompt-box-v2__title{font-weight:var(--weight-semibold);line-height:var(--leading-heading);align-items:center;display:flex}.prompt-box-v2__copy{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:3.75rem;color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--type-label);font-weight:500;line-height:var(--leading-compact);white-space:nowrap;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:4px;padding:.3rem .65rem;transition:all .2s;display:flex}.prompt-box-v2__copy:hover{border-color:var(--color-text-tertiary);background:var(--color-bg-tertiary);color:var(--color-text-primary)}.prompt-box-v2__textarea{box-sizing:border-box;width:100%;padding:var(--space-md) var(--space-lg);box-shadow:none;background:var(--color-bg-primary);color:var(--color-text-primary);border:none;outline:none;margin:0;display:block}@supports (color:color-mix(in lab, red, red)){.prompt-box-v2__textarea{color:color-mix(in srgb, var(--color-text-primary) 72%, var(--color-text-secondary))}}.prompt-box-v2__textarea{font-family:var(--font-sans);font-size:var(--type-body);line-height:var(--leading-body);letter-spacing:var(--tracking-body);white-space:pre-wrap;word-wrap:break-word;resize:none;cursor:text}.prompt-box-v2__mask{z-index:1;border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--color-bg-primary);border:0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.prompt-box-v2__mask{background:color-mix(in srgb, var(--color-bg-primary) 94%, transparent)}}.prompt-box-v2__mask{color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--type-label);cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:background-color .2s,color .2s}.prompt-box-v2__mask:hover{background:var(--color-bg-primary);color:var(--color-text-primary)}:is(.slide,.slide-engine) .prompt-box-v2{margin-left:auto;margin-right:auto}:is(.slide,.slide-engine) .prompt-box-v2__header{min-height:52px;padding:.65rem .8rem .65rem 1.25rem;font-size:1.35rem}:is(.slide,.slide-engine) .prompt-box-v2__copy{min-width:5rem;padding:.5rem 1rem;font-size:.95rem}:is(.slide,.slide-engine) .prompt-box-v2__textarea{padding:1rem 1.25rem;font-size:1.3rem;line-height:1.75}:is(.slide,.slide-engine) .prompt-box-v2__mask{font-size:.95rem}.card-grid{gap:1rem;margin:1.25rem 0;display:grid}.slide p+.card-grid{margin-top:0}.card-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.process-flow{align-items:stretch;gap:.75rem;width:100%;margin:1.5rem 0;display:flex}.process-flow__endpoint{border:1px dashed var(--color-border);background:var(--color-bg-tertiary);text-align:center;border-radius:12px;flex-direction:column;flex:0 0 128px;justify-content:center;align-items:center;padding:1rem .75rem;display:flex}.process-flow__endpoint-label{color:var(--color-text-tertiary);margin-bottom:.35rem;font-size:.8rem;font-weight:700}.process-flow__endpoint strong{color:var(--color-text-primary);font-size:1.1rem}.process-flow__arrow{color:var(--color-text-tertiary);align-self:center;font-size:1.1rem}.process-flow__steps{flex:1;gap:.5rem;min-width:0;display:grid}.process-flow__steps--2{grid-template-columns:repeat(2,minmax(0,1fr))}.process-flow__steps--3{grid-template-columns:repeat(3,minmax(0,1fr))}.process-flow__steps--4{grid-template-columns:repeat(4,minmax(0,1fr))}.process-flow__steps--5{grid-template-columns:repeat(5,minmax(0,1fr))}.process-flow__step{border:1px solid var(--color-primary);background:var(--color-primary);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;min-width:0;padding:1rem .5rem;display:flex}@supports (color:color-mix(in lab, red, red)){.process-flow__step{background:color-mix(in srgb, var(--color-primary) 8%, transparent)}}.process-flow__step{color:var(--color-text-primary);text-align:center}.process-flow__step span{background:var(--color-primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;font-size:.8rem;font-weight:700;display:inline-flex}.process-flow__step strong{font-size:1rem}.process-flow__step-items{color:var(--color-text-secondary);margin:.1rem 0 0;padding:0;font-size:.86rem;line-height:1.45;list-style:none}.process-flow__step-items li+li{margin-top:.25rem}.card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-card);box-shadow:var(--card-shadow);text-align:left;transition:border-color .2s ease, box-shadow .2s var(--ease-product), transform .2s var(--ease-product);padding:1.25rem 1.5rem}.card:hover{box-shadow:var(--card-shadow-hover);border-color:var(--color-line-strong);transform:translateY(-2px)}.card h3{color:var(--color-text-primary);margin:0 0 .75rem;font-size:1.25rem;font-weight:700}.card h4{color:var(--color-text-primary);margin:0 0 .75rem;font-size:1.15rem;font-weight:700}.slide .card h4{font-size:1.4rem}.slide .card p{font-size:1.2rem}.slide .c2-table{margin:1.25rem 0}.slide .ai-image-tool-choice-table{width:100%;max-width:960px}.slide .ai-image-tool-choice-table>table{font-size:1.24rem;line-height:1.55}.slide .ai-image-tool-choice-table th,.slide .ai-image-tool-choice-table td{vertical-align:middle;padding:1.05rem 1.35rem}.slide .ai-image-tool-choice-table th:first-child,.slide .ai-image-tool-choice-table td:first-child{width:16%;font-weight:700}.card h4 i{margin-right:.4rem}.card p{color:var(--color-text-secondary);margin:0;font-size:.875rem;line-height:1.6}.card--centered{text-align:center;padding:1.75rem 1.5rem}.slide>.contact-info-split.contact-info-split{width:88%;max-width:1160px;margin-left:auto;margin-right:auto;padding:0}.contact-info-split{grid-template-columns:minmax(0,1fr) 380px;align-items:center;gap:2.5rem;display:grid}.contact-info-copy{flex-direction:column;align-items:flex-start;gap:0;min-width:0;display:flex}.contact-info-copy__item{border-bottom:1px solid var(--color-border);flex-direction:column;align-items:flex-start;gap:.8rem;width:100%;min-width:0;padding:1.45rem 0;display:flex}@supports (color:color-mix(in lab, red, red)){.contact-info-copy__item{border-bottom:1px solid color-mix(in srgb, var(--color-border) 76%, transparent)}}.contact-info-copy__item:first-child{padding-top:0}.contact-info-copy__item:last-child{border-bottom:0;padding-bottom:0}.contact-info-line{flex-direction:column;align-items:center;gap:.95rem;display:flex}.slide .contact-info-copy h3{color:var(--color-text-secondary);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:1.35rem;font-weight:800;line-height:1.15}.slide .contact-info-copy a{color:var(--color-primary);overflow-wrap:anywhere;font-size:2.7rem;font-weight:800;line-height:1.25}.slide .contact-info-line h3{color:var(--color-text-secondary);letter-spacing:.08em;margin:0;font-size:1.35rem;font-weight:800;line-height:1.15}.contact-info-qr-panel{justify-content:center;align-items:center;width:380px;height:380px;display:flex;overflow:hidden}.slide>.module-combination-showcase{width:92%;max-width:1080px}.module-combination-showcase{border:1px solid var(--color-border);flex-direction:column;align-items:center;gap:1rem;height:304px;margin-top:.25rem;padding:1.35rem 1.6rem 2.5rem;display:flex}@supports (color:color-mix(in lab, red, red)){.module-combination-showcase{border:1px solid color-mix(in srgb, var(--color-border) 70%, transparent)}}.module-combination-showcase{background:radial-gradient(circle at 12% 20%, var(--color-primary), transparent 32%), radial-gradient(circle at 88% 22%, #22c55e12, transparent 30%), var(--color-bg-primary);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.module-combination-showcase{background:radial-gradient(circle at 12% 20%, color-mix(in srgb, var(--color-primary) 8%, transparent), transparent 32%), radial-gradient(circle at 88% 22%, #22c55e12, transparent 30%), var(--color-bg-primary)}}.module-combination-showcase{box-shadow:var(--card-shadow)}.module-combination-showcase__label{color:var(--color-primary);font-size:.95rem;font-weight:800;line-height:1.2}.module-combination-showcase__formula{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;width:100%;animation:.48s both moduleFormulaIn;display:grid}.module-combination-showcase__step{display:contents}.module-combination-showcase__module{min-height:74px;color:var(--color-text-primary);text-align:center;white-space:nowrap;transform-origin:50%;border:1.5px solid;border-radius:10px;justify-content:center;align-items:center;padding:.8rem 1rem;font-size:2rem;font-weight:800;line-height:1.15;animation:2.6s ease-in-out infinite moduleCardPulse;display:flex;box-shadow:inset 0 1px #ffffff59}.module-combination-showcase__module--1{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.module-combination-showcase__module--1{border-color:color-mix(in srgb, var(--color-primary) 58%, transparent)}}.module-combination-showcase__module--1{background:linear-gradient(135deg, var(--color-primary), transparent), var(--color-bg-secondary)}@supports (color:color-mix(in lab, red, red)){.module-combination-showcase__module--1{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 11%, transparent), transparent), var(--color-bg-secondary)}}.module-combination-showcase__module--2{background:linear-gradient(135deg, #d9a5201f, transparent), var(--color-bg-secondary);border-color:#d9a52085;animation-delay:.12s}.module-combination-showcase__module--3{background:linear-gradient(135deg, #14b8a61c, transparent), var(--color-bg-secondary);border-color:#14b8a680;animation-delay:.24s}.module-combination-showcase__plus{color:var(--color-primary);font-size:2.4rem;font-weight:900;line-height:1}.slide .module-combination-showcase__note{max-width:none;min-height:2.9em;color:var(--color-text-secondary);text-align:center;justify-content:center;align-items:center;margin:0;padding:0;font-size:1.18rem;font-weight:600;line-height:1.45;display:flex}.module-combination-showcase__dots{justify-content:center;align-items:center;gap:.45rem;display:flex}.module-combination-showcase__dot{background:var(--color-text-secondary);border:0;border-radius:999px;width:7px;height:7px;padding:0}@supports (color:color-mix(in lab, red, red)){.module-combination-showcase__dot{background:color-mix(in srgb, var(--color-text-secondary) 28%, transparent)}}.module-combination-showcase__dot{cursor:pointer;transition:width .2s,background .2s,transform .2s}.module-combination-showcase__dot--active{background:var(--color-primary);width:20px}.module-combination-showcase__dot:hover{transform:translateY(-1px)}@keyframes moduleFormulaIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes moduleCardPulse{0%,to{transform:translateY(0)}45%{transform:translateY(-2px)}}.contact-info-qr{width:416px;height:416px;image-rendering:pixelated;display:block}.content-list{width:100%;max-width:900px;margin:1rem auto}.content-list__item{border-bottom:1px solid var(--color-border);grid-template-columns:3rem minmax(0,1fr);gap:.85rem;padding:.85rem 0;display:grid}.content-list__item:last-child{border-bottom:0}.content-list__marker{color:var(--color-primary);justify-content:flex-end;align-items:flex-start;font-size:1.45rem;font-weight:800;line-height:1.6;display:inline-flex}.content-list__content{min-width:0}.content-list__title{color:var(--color-text-primary);font-size:1.45rem;font-weight:750;line-height:1.5}.content-list__body{color:var(--color-text-secondary);font-size:1.35rem;line-height:1.6}.content-list__title+.content-list__body{margin-top:.2rem}.bullet-list-v2{width:100%;max-width:900px;margin:1rem auto}.bullet-list-v2__item{align-items:flex-start;gap:.9rem;padding:.25rem 0;display:flex}.bullet-list-v2__marker{flex:0 0 2rem;font-size:1.45rem;font-weight:700;line-height:1.6}.bullet-list-v2__text{flex:1;min-width:0;font-size:1.45rem;line-height:1.6}.bullet-list{margin:.5rem 0;padding-left:1.5rem}.bullet-list li{color:var(--color-text-secondary);margin-bottom:.5rem;font-size:1.45rem;line-height:1.55}.badge{background:var(--color-primary-soft);color:var(--color-primary-dark);border-radius:var(--radius-sm);padding:.25rem .75rem;font-size:.8rem;font-weight:700;display:inline-block}.badge-large{padding:.4rem 1.2rem;font-size:1rem}.checkpoint{background:var(--color-primary-faint);border:1px solid var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.checkpoint{border:1px solid color-mix(in srgb, var(--color-primary) 18%, var(--color-border))}}.checkpoint{border-radius:var(--radius-md);align-items:center;gap:.75rem;margin:1.25rem 0;padding:1rem 1.25rem;display:flex}.checkpoint i{color:var(--color-primary);flex-shrink:0;font-size:1.2rem}.checkpoint p{color:var(--color-text-primary);margin:0;font-size:1.45rem;font-weight:600}.highlight-text{color:var(--color-text-primary);text-align:center;letter-spacing:-.035em;margin:1rem 0;font-size:2.5rem;font-weight:650;line-height:1.3}.chapter-section>.slide:first-of-type .highlight-text{color:var(--color-text-primary);font-size:3.5rem}.comparison{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;margin:.75rem 0;display:grid}.comparison-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-card);box-shadow:var(--card-shadow);padding:1rem}.comparison-item h4{margin-bottom:.3rem;font-size:1.1rem;font-weight:700}.comparison-item p{color:var(--color-text-secondary);margin:0;font-size:1rem;line-height:1.6}.steps{counter-reset:step;margin:.75rem 0;padding-left:0;list-style:none}.steps li{counter-increment:step;color:var(--color-text-secondary);padding:.5rem 0 .5rem 2.5rem;font-size:1.45rem;line-height:1.55;position:relative}.steps li:before{content:counter(step);background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:.55rem;left:0}.slide.break-notice{background:var(--color-bg-secondary);justify-content:center}.break-notice p{color:var(--color-text-secondary);text-align:center;margin:0;font-weight:600}.mono-url{font-family:var(--font-mono);word-break:break-all;color:var(--color-text-secondary);font-size:.8rem;line-height:1.6}.mono-url .hl{color:var(--color-primary);font-weight:600}.back-link{color:var(--color-text-secondary);border-radius:6px;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.4rem .75rem;font-size:.85rem;text-decoration:none;transition:all .2s;display:inline-flex}.back-link:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.action-badge{background:var(--color-primary-soft);color:var(--color-primary-dark);border:1px solid var(--color-primary);align-items:center;gap:.6rem;padding:.75rem 1.4rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.action-badge{border:1px solid color-mix(in srgb, var(--color-primary) 22%, var(--color-border))}}.action-badge{border-radius:var(--radius-sm);box-shadow:none;letter-spacing:.02em;margin:.5rem 0;font-size:1.1rem;font-weight:700}.action-badge--sm{padding:.45rem 1rem;font-size:.9rem}.action-badge--lg{padding:1rem 1.8rem;font-size:1.3rem}.action-badge i{font-size:.95rem}.action-link{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);transition:all .2s var(--ease-product);box-shadow:none;align-self:flex-start;align-items:center;gap:.5rem;margin-top:.75rem;padding:.6rem 1.2rem;font-weight:600;text-decoration:none;display:inline-flex}.action-link:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-sm);color:#fff;transform:translateY(-1px)}.slide-table{border-collapse:separate;border-spacing:0;border-radius:var(--radius-md);border:1px solid var(--color-border);width:100%;margin:1.25rem 0;font-size:1.25rem;overflow:hidden}.slide-table thead tr{background:var(--color-bg-secondary)}.slide-table th{text-align:left;background:var(--color-bg-secondary);color:var(--color-text-primary);letter-spacing:.02em;padding:.75rem 1rem;font-size:1.25rem;font-weight:650}.slide-table td{border-bottom:1px solid var(--color-border);color:var(--color-text-primary);padding:.75rem 1rem}.slide-table tbody tr:last-child td{border-bottom:none}.slide-table tbody tr:hover{background:var(--color-primary-faint)}.class-intro{flex-wrap:nowrap;align-items:flex-start;gap:1.25rem;width:100%;max-width:none;margin-top:.5rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.class-intro .slide-table{flex:1 1 0;min-width:0;height:auto;margin-top:0}.class-intro .slide-table thead tr,.class-intro .slide-table th{background:var(--color-primary);color:#fff}.class-intro .slide-table td:first-child,.class-intro .slide-table th:first-child{text-align:center;white-space:nowrap;width:5rem}.slide-table-row--active td{background:var(--color-primary-soft);font-weight:700;color:var(--color-primary)!important}.c2-table{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.c2-table.is-sticky{max-height:24rem;overflow-y:auto}.c2-table>table{border-collapse:collapse;width:100%;font-size:1rem;line-height:1.5}.c2-table thead{background:var(--color-bg-secondary)}.c2-table.is-sticky thead{z-index:1;position:sticky;top:0}.c2-table th{text-align:left;background:var(--color-bg-secondary);color:var(--color-text-primary);font-weight:600}.c2-table th,.c2-table td{padding:.9rem 1.2rem}.c2-table td{color:var(--color-text-secondary)}.c2-table tbody tr:not(:first-child) td{border-top:1px solid var(--color-border)}.c2-table tbody tr.is-highlight{background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.c2-table tbody tr.is-highlight{background:color-mix(in srgb, var(--color-primary) 5%, transparent)}}.c2-table.is-striped tbody tr:nth-child(2n){background:var(--color-bg-secondary)}@supports (color:color-mix(in lab, red, red)){.c2-table.is-striped tbody tr:nth-child(2n){background:color-mix(in srgb, var(--color-bg-secondary) 50%, transparent)}}.c2-table[data-variant=compact]>table{font-size:.75rem;line-height:1rem}.c2-table[data-variant=compact] th,.c2-table[data-variant=compact] td{padding:.4rem .75rem}.callout-box{border-radius:var(--radius-md);background:var(--callout-bg,var(--color-primary));padding:.75rem 1rem}@supports (color:color-mix(in lab, red, red)){.callout-box{background:var(--callout-bg,color-mix(in srgb, var(--color-primary) 8%, transparent))}}.callout-box{border:1px solid var(--callout-border,var(--color-primary))}@supports (color:color-mix(in lab, red, red)){.callout-box{border:1px solid var(--callout-border,color-mix(in srgb, var(--color-primary) 20%, transparent))}}.callout-box{margin-top:.75rem}.callout-box__text{color:var(--color-text-primary);font-size:1.35rem;line-height:1.7;display:block}.callout-box--info{--callout-color:var(--color-teaching);--callout-bg:var(--color-teaching-soft);--callout-border:var(--color-teaching)}@supports (color:color-mix(in lab, red, red)){.callout-box--info{--callout-border:color-mix(in srgb, var(--color-teaching) 18%, var(--color-border))}}.callout-box--success{--callout-color:var(--color-success);--callout-bg:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.callout-box--success{--callout-bg:color-mix(in srgb, var(--color-success) 8%, transparent)}}.callout-box--success{--callout-border:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.callout-box--success{--callout-border:color-mix(in srgb, var(--color-success) 20%, transparent)}}.callout-box--warning{--callout-color:var(--color-warning);--callout-bg:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.callout-box--warning{--callout-bg:color-mix(in srgb, var(--color-warning) 8%, transparent)}}.callout-box--warning{--callout-border:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.callout-box--warning{--callout-border:color-mix(in srgb, var(--color-warning) 20%, transparent)}}.slide-action-btn{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;font-weight:600;font-family:var(--font-sans);box-shadow:none;border:none;align-items:center;gap:.5rem;margin-top:.5rem;padding:.6rem 1.2rem;transition:all .2s;display:inline-flex}a.slide-action-btn{color:#fff;text-decoration:none}.slide-action-btn:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-blue);transform:translateY(-1px)}.slide-action-btn.active{background:var(--color-primary-dark);box-shadow:0 0 0 2px var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.slide-action-btn.active{box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 30%, transparent)}}.modal-overlay{z-index:9999;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.75rem;width:90%;max-width:860px;max-height:85vh;padding:1.5rem;overflow-y:auto;box-shadow:0 8px 32px #0003}.modal-close{cursor:pointer;color:var(--color-text-tertiary);background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1.1rem;transition:all .2s}.modal-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.icon-primary{color:var(--color-primary)}.icon-success{color:var(--color-success)}.icon-error{color:var(--color-error)}.icon-warning{color:var(--color-warning)}.icon-muted{color:var(--color-text-tertiary)}.drink-order-root{width:100%;padding:1rem 0}.drink-order-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.drink-order-form-section,.drink-order-list-section{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem}.drink-order-label{color:var(--color-text-secondary);margin-bottom:1rem;font-size:.95rem;font-weight:500;display:block}.drink-order-input{border:1px solid var(--color-border);background:var(--color-bg-tertiary);width:100%;color:var(--color-text-primary);border-radius:10px;margin-top:.35rem;padding:.6rem .75rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.drink-order-input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #1a5f4a1f}.drink-order-option-group{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;margin-bottom:1rem;display:flex}.drink-order-option-btn{border:1px solid var(--color-border);background:var(--color-bg-tertiary);color:var(--color-text-secondary);cursor:pointer;border-radius:10px;padding:.5rem 1rem;font-size:.95rem;transition:background .2s,border-color .2s,color .2s}.drink-order-option-btn:hover{color:#1a5f4a;background:#1a5f4a14;border-color:#1a5f4a}.drink-order-option-btn.selected:hover{color:#fff;background:#14503e;border-color:#14503e}.drink-order-option-btn.selected{color:#fff;background:#1a5f4a;border-color:#1a5f4a}.drink-order-submit{color:#fff;cursor:pointer;background:#1a5f4a;border:none;border-radius:10px;width:100%;margin-top:.75rem;padding:.7rem 1.4rem;font-size:1rem;font-weight:600;transition:background .2s,transform .1s}.drink-order-submit:hover{background:#14503e}.drink-order-submit:active{transform:scale(.99)}@keyframes drink-dots{0%{content:"."}33%{content:".."}66%{content:"..."}}.drink-order-dots:after{content:".";animation:1s step-end infinite drink-dots}.drink-order-submit.submitting{pointer-events:none;opacity:.85}.drink-order-submit.success{background:var(--color-success)}.drink-order-list-section{max-height:400px;overflow-y:auto}.drink-order-loading{color:var(--color-text-tertiary);margin:0;font-size:.95rem}.drink-order-error{color:var(--color-error);margin-top:.5rem;font-size:.9rem}.drink-order-list{margin:0;padding:0;list-style:none}.drink-order-list li{border-bottom:1px solid var(--color-border);grid-template-columns:1fr auto;align-items:baseline;gap:.3rem 1rem;padding:.85rem 0;display:grid}.drink-order-list li:last-child{border-bottom:none}.drink-order-list li:first-child{padding-top:0}.drink-order-name{color:var(--color-text-primary);grid-column:1;font-weight:600}.drink-order-detail{color:var(--color-text-secondary);grid-column:1/-1;font-size:.9rem}.drink-order-time{color:var(--color-text-tertiary);grid-area:1/2;font-size:.8rem}@media (max-width:480px){.drink-order-main{grid-template-columns:1fr}}.showcase-game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;width:100%;display:grid}.showcase-game-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.showcase-game-card{border:1px solid var(--color-border);background:var(--color-surface-card,var(--color-bg-primary));border-radius:14px;flex-direction:column;min-height:380px;display:flex;overflow:hidden}.showcase-game-title{color:#fff;background:var(--color-text-primary);letter-spacing:.03em;padding:.65rem 1rem;font-size:.85rem;font-weight:700}.showcase-game-body{flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex}.showcase-game-desc{color:var(--color-text-secondary);text-align:center;margin:0;font-size:.85rem}.showcase-game-counter{color:var(--color-text-tertiary);text-align:center;margin:0;font-size:.75rem}.showcase-game-question{color:var(--color-text-primary);text-align:center;margin:0;font-size:.9rem;font-weight:600;line-height:1.5}.showcase-game-mood-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem;display:grid}.showcase-game-mood-btn{border:1.5px solid var(--color-border);background:var(--color-surface-panel,var(--color-bg-secondary));color:var(--color-text-secondary);cursor:pointer;font-size:.8rem;font-weight:500;font-family:var(--font-sans);border-radius:10px;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem 0;transition:all .2s;display:flex}.showcase-game-mood-btn:hover{border-color:var(--color-primary);background:var(--color-bg-secondary);color:var(--color-text-primary)}.showcase-game-mood-btn.active{border-color:var(--color-primary);background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.showcase-game-mood-btn.active{background:color-mix(in srgb, var(--color-primary) 10%, transparent)}}.showcase-game-mood-btn.active{color:var(--color-primary)}.showcase-game-mood-emoji{font-size:1.4rem}.showcase-game-quote{background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.showcase-game-quote{background:color-mix(in srgb, var(--color-primary) 6%, transparent)}}.showcase-game-quote{border:1px solid var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.showcase-game-quote{border:1px solid color-mix(in srgb, var(--color-primary) 20%, transparent)}}.showcase-game-quote{border-radius:10px;flex-direction:column;flex:1;gap:.5rem;padding:.75rem;display:flex}.showcase-game-quote p{color:var(--color-text-primary);flex:1;margin:0;font-size:.85rem;line-height:1.6}.showcase-game-options{flex-direction:column;gap:.5rem;display:flex}.showcase-game-option-btn{border:1.5px solid var(--color-border);background:var(--color-surface-panel,var(--color-bg-secondary));color:var(--color-text-primary);cursor:pointer;text-align:left;font-size:.85rem;font-weight:500;font-family:var(--font-sans);border-radius:10px;padding:.55rem .75rem;transition:all .2s}.showcase-game-option-btn:hover{border-color:var(--color-primary);background:var(--color-bg-secondary)}.showcase-game-yesno{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem;margin-top:auto;display:grid}.showcase-game-option-btn.yes:hover{border-color:var(--color-success);background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.showcase-game-option-btn.yes:hover{background:color-mix(in srgb, var(--color-success) 8%, transparent)}}.showcase-game-option-btn.no:hover{border-color:var(--color-error);background:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.showcase-game-option-btn.no:hover{background:color-mix(in srgb, var(--color-error) 8%, transparent)}}.showcase-game-result{text-align:center;justify-content:center;align-items:center;gap:.6rem}.showcase-game-score-display{color:var(--color-primary);font-size:2.5rem;font-weight:700;line-height:1}.showcase-game-score-display span{color:var(--color-text-tertiary);font-size:1.1rem;font-weight:400}.showcase-game-sleep-icon{font-size:2rem}.showcase-game-sleep-label{color:var(--color-text-primary);margin:0;font-size:1rem;font-weight:700}.showcase-game-reset{border:1.5px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;font-size:.8rem;font-weight:500;font-family:var(--font-sans);background:0 0;border-radius:8px;align-self:center;padding:.5rem 1.2rem;transition:all .2s}.showcase-game-reset:hover{border-color:var(--color-primary);color:var(--color-primary)}.vibe-demo-btn{border:1px solid var(--color-border,#3f3f46);color:inherit;font-family:var(--font-sans);cursor:pointer;background:0 0;border-radius:999px;padding:.55rem 1.1rem;font-size:.95rem;transition:border-color .2s,color .2s,background .2s,transform .1s}.vibe-demo-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.vibe-demo-btn:active{transform:scale(.97)}.flip-grid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:1rem;margin:1rem 0;display:grid}.flip-card{border:1px solid var(--color-border,#3f3f46);min-height:140px;color:inherit;font-family:var(--font-sans);text-align:left;cursor:pointer;background:0 0;border-radius:.75rem;padding:1.1rem 1.2rem;transition:border-color .25s,background .25s,transform .15s;position:relative}.flip-card:hover{border-color:var(--color-primary)}.flip-card:active{transform:scale(.98)}.flip-card--good{background:#22c55e1a;border-color:#22c55e}.flip-card--bad{background:#ef44441a;border-color:#ef4444}.flip-card__face{flex-direction:column;gap:.55rem;height:100%;display:flex}.flip-card__face--back{justify-content:space-between}.flip-card__scenario{font-size:.98rem;line-height:1.55}.flip-card__cue{color:var(--color-text-secondary,#a1a1aa);letter-spacing:.04em;font-size:.78rem}.flip-card__verdict{letter-spacing:.06em;font-size:.85rem;font-weight:600}.flip-card--good .flip-card__verdict{color:#22c55e}.flip-card--bad .flip-card__verdict{color:#ef4444}.flip-card__insight{font-size:.95rem;line-height:1.6}.sftd-root{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);align-items:start;gap:.5rem;width:100%;padding:.25rem 0;display:grid}.sftd-panel{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:14px;min-height:200px;padding:1.25rem 1.5rem}.sftd-panel-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 1rem;font-size:.78rem;font-weight:600}.sftd-form{flex-direction:column;gap:.75rem;display:flex}.sftd-label{color:var(--color-text-secondary);flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:500;display:flex}.sftd-input{border:1px solid var(--color-border);background:var(--color-bg-tertiary);color:var(--color-text-primary);border-radius:9px;padding:.55rem .75rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.sftd-input:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f126}.sftd-submit{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:9px;margin-top:.25rem;padding:.65rem 1.25rem;font-size:.95rem;font-weight:600;transition:background .2s,transform .1s}.sftd-submit:hover{background:#4f46e5}.sftd-submit:active{transform:scale(.99)}.sftd-submit.saving{opacity:.75;pointer-events:none}.sftd-submit.saved{background:#16a34a}.sftd-option-group{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.sftd-option-btn{border:1px solid var(--color-border);background:var(--color-bg-tertiary);color:var(--color-text-secondary);cursor:pointer;border-radius:9px;padding:.45rem 1rem;font-size:.9rem;transition:background .2s,border-color .2s,color .2s}.sftd-option-btn:hover{color:#6366f1;background:#6366f114;border-color:#6366f1}.sftd-option-btn.selected{color:#fff;background:#6366f1;border-color:#6366f1}.sftd-arrow{color:var(--color-text-tertiary);justify-content:center;align-items:center;padding-top:5rem;display:flex}.sftd-empty{color:var(--color-text-tertiary);margin:0;padding-top:.5rem;font-size:.9rem}.sftd-table{border-collapse:collapse;width:100%;font-size:.9rem}.sftd-table th{text-align:left;color:var(--color-text-tertiary);border-bottom:1px solid var(--color-border);padding:0 .75rem .6rem;font-size:.8rem;font-weight:600}.sftd-table td{color:var(--color-text-primary);border-bottom:1px solid var(--color-border);vertical-align:middle;padding:.55rem .75rem}.sftd-table tr:last-child td{border-bottom:none}@keyframes sftd-flash{0%{background:#6366f140}to{background:0 0}}.sftd-row-new td{animation:.9s ease-out forwards sftd-flash}.sfs-scope .onb-table th:nth-child(2),.sfs-scope .onb-table td:nth-child(2){white-space:nowrap;padding-inline:2.2rem}.c2-download-card{align-items:center;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);margin-bottom:var(--space-md);text-align:left;background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--card-shadow);display:flex}.c2-download-card__info{flex:1;min-width:0}.c2-download-card__name{color:var(--color-text-primary);font-weight:600}.c2-download-card__desc{margin-top:var(--space-xs);color:var(--color-text-secondary);font-size:.85rem}.c2-download-card__actions{gap:var(--space-sm);flex-shrink:0;display:flex}.c2-download-card__btn{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer;font-size:.85rem;font-weight:600;font-family:var(--font-sans);color:var(--color-text-secondary);border:1px solid var(--color-border);background:0 0;transition:all .2s;display:inline-flex}.c2-download-card__btn:hover{border-color:var(--color-text-tertiary);color:var(--color-text-primary)}.c2-download-card__btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.c2-download-card__btn--primary:hover{background:var(--color-primary-dark);color:#fff}.c2-download-card__btn--primary svg{color:currentColor}.c2-download-card__preview{margin-bottom:var(--space-md)}.c2-download-card__preview th,.c2-download-card__preview td{white-space:nowrap}.c2-text-preview{z-index:9999;padding:var(--space-xl);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.c2-text-preview__card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;width:min(90vw,860px);max-height:85vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #0006}.c2-text-preview__header{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-lg);border-bottom:1px solid var(--color-border);display:flex}.c2-text-preview__title{color:var(--color-text-primary);font-size:1rem;font-weight:700}.c2-text-preview__close{width:2rem;height:2rem;color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.c2-text-preview__close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.c2-text-preview__content{padding:var(--space-lg);white-space:pre-wrap;word-break:break-word;color:var(--color-text-primary);margin:0;font-family:SF Mono,Menlo,Consolas,Noto Sans TC,monospace;font-size:.85rem;line-height:1.7;overflow:auto}.c2-asset-preview__card{width:min(94vw,1100px)}.c2-asset-preview__body{min-height:0;padding:var(--space-lg);overflow:auto}.c2-asset-preview__meta{margin-bottom:var(--space-md);color:var(--color-text-secondary);font-size:.85rem}.c2-asset-preview__table{max-height:65vh;overflow:auto}.c2-asset-preview__table th,.c2-asset-preview__table td{white-space:nowrap}.c2-asset-preview__pdf{background:#fff;border:0;width:100%;height:min(72vh,760px)}.c2-result-shell{margin-top:var(--space-md)}.c2-result-shell__header{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm);background:var(--color-surface-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.c2-result-shell__file{align-items:center;gap:var(--space-sm);min-width:0;color:var(--color-text-secondary);flex:1;font-size:.85rem;display:flex}.c2-result-shell__icon{color:var(--color-text-tertiary);flex-shrink:0}.c2-result-shell__filename{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.c2-result-shell__filename strong{color:var(--color-text-primary)}.c2-result-shell__count{opacity:.55;flex-shrink:0;font-size:.78rem}.c2-result-shell__actions{align-items:center;gap:var(--space-sm);flex-shrink:0;display:flex}.c2-result-shell__reset{padding:var(--space-xs) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer;font-size:.75rem;font-family:var(--font-sans);background:0 0;transition:all .2s}.c2-result-shell__reset:hover{border-color:var(--color-text-tertiary)}.c2-result-shell__toolbar{margin-bottom:var(--space-sm)}.c2-result-shell__body{padding-right:var(--space-xs);overflow-y:auto}.c2-dropzone{text-align:center;margin-top:var(--space-md);padding:var(--space-2xl) var(--space-xl);border:1px dashed var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface-card);cursor:pointer;justify-content:center;align-items:center;transition:border-color .2s,background .2s;display:flex}.c2-dropzone.is-dragging{border-color:var(--color-success);background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.c2-dropzone.is-dragging{background:color-mix(in srgb, var(--color-success) 6%, transparent)}}.c2-dropzone.is-error{border-color:var(--color-error);background:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.c2-dropzone.is-error{background:color-mix(in srgb, var(--color-error) 6%, transparent)}}.c2-dropzone__inner{align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.c2-dropzone__icon{margin-bottom:var(--space-xs);color:var(--color-text-tertiary)}.c2-dropzone.is-error .c2-dropzone__icon{color:var(--color-error)}.c2-dropzone__title{color:var(--color-text-primary);font-weight:600}.c2-dropzone.is-error .c2-dropzone__title{color:var(--color-error)}.c2-dropzone__hint{color:var(--color-text-secondary);font-size:.85rem}@keyframes folder-truth-flow{to{background-position:0 18px}}@keyframes folder-truth-file-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes folder-truth-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--color-primary) 40%, transparent)}60%{box-shadow:0 0 0 7px color-mix(in srgb, var(--color-primary) 0%, transparent)}}.folder-truth-tool{border:1px solid var(--color-border);background:var(--color-surface-panel);border-radius:8px;flex-direction:column;align-items:center;gap:.1rem;padding:.35rem .7rem;transition:border-color .3s,opacity .3s;display:flex}.folder-truth-tool--active{animation:2s ease-in-out infinite folder-truth-pulse}.folder-truth-link{background-image:repeating-linear-gradient(to bottom, var(--color-border) 0 6px, transparent 6px 18px);background-size:2px 18px;width:2px;height:24px;transition:background-image .3s}.folder-truth-link--tall{height:38px}.folder-truth-link--active{background-image:repeating-linear-gradient(to bottom, var(--color-primary) 0 6px, transparent 6px 18px);animation:.6s linear infinite folder-truth-flow}.folder-truth-folder{margin-top:.5rem}.folder-truth-folder__tab{border:1px solid var(--color-border);background:var(--color-surface-panel);color:var(--color-text-secondary);border-bottom:none;border-radius:8px 8px 0 0;padding:.2rem .9rem;font-size:.75rem;font-weight:700;display:inline-block}.folder-truth-folder__body{border:1px solid var(--color-border);background:var(--color-surface-card);border-radius:0 8px 8px;flex-direction:column;gap:.5rem;padding:.7rem .85rem;display:flex}.folder-truth-folder__title{font-size:.95rem;font-weight:700}.folder-truth-file{animation:.35s both folder-truth-file-in}.folder-truth-panel{border:1px solid var(--color-border);background:var(--color-surface-card);border-radius:8px;flex-direction:column;gap:.5rem;padding:.7rem .85rem;display:flex}.folder-truth-panel--empty{border-style:dashed}.folder-truth-panel__title{font-size:.9rem;font-weight:700}.folder-truth-wall{border-left:2px dashed var(--color-text-tertiary);opacity:.6;width:2px;height:72px}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:#d83a16;--primary-dark:#a92b10;--primary-soft:#fbe1d9;--primary-faint:#fff4f0;--ink:#25231f;--ink-muted:#6f6b63;--ink-subtle:#9a958b;--canvas:#f4f4f1;--panel:#f8f8f6;--card:#fcfcfa;--border:#d8d8d2;--line-strong:#c8c8c2;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-xs:0 1px 0 #25231f0a;--shadow-sm:0 14px 38px #25231f14;--font-sans:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-mono:"Fira Code", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--canvas);font-family:var(--font-sans);letter-spacing:.012em;-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.7}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 25%, transparent)}}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:2px}.brand{align-items:center;gap:10px;min-width:0;display:inline-flex}.brand-mark{border:1px solid var(--line-strong);border-radius:50%;flex:0 0 30px;width:30px;height:30px;position:relative}.brand-mark:before{content:"";border-top:1.5px solid var(--primary);border-radius:50%;width:15px;height:7px;position:absolute;top:14px;left:7px;transform:rotate(-24deg)}.brand-mark>span{background:var(--primary);border-radius:50%;width:4px;height:4px;position:absolute;top:5px;right:5px}.brand-copy{line-height:1.2;display:grid}.brand-copy strong{letter-spacing:-.025em;font-size:15px;font-weight:800}.brand-copy small{color:var(--ink-subtle);font-family:var(--font-mono);letter-spacing:.14em;margin-top:3px;font-size:8px;font-weight:600}.eyebrow,.section-kicker{color:var(--primary-dark);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:currentColor;width:22px;height:1px}.primary-button{border:1px solid var(--primary);border-radius:var(--radius-sm);color:#fff;background:var(--primary);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-size:13px;font-weight:700;transition:background .16s,transform .16s,box-shadow .16s;display:inline-flex}.primary-button:hover{background:var(--primary-dark);border-color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 8px 24px #d83a162e}.primary-button:disabled{opacity:.62;cursor:wait;box-shadow:none;transform:none}.app-loading{background:var(--canvas);place-content:center;justify-items:center;gap:20px;min-height:100vh;display:grid}.app-loading>span{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite app-loading-spin}@keyframes app-loading-spin{to{transform:rotate(360deg)}}.auth-page{background:var(--card);grid-template-columns:repeat(2,minmax(0,1fr));min-height:100vh;display:grid}.auth-intro{border-right:1px solid var(--border);background:linear-gradient(115deg,#f4f4f1f7,#f4f4f1e0),repeating-linear-gradient(90deg,#0000 0 47px,#25231f09 47px 48px),repeating-linear-gradient(0deg,#0000 0 47px,#25231f09 47px 48px);min-height:100vh;position:relative;overflow:hidden}.auth-intro:after{content:"";border:1px solid var(--primary);width:440px;height:440px;position:absolute;bottom:-180px;right:-200px}@supports (color:color-mix(in lab, red, red)){.auth-intro:after{border:1px solid color-mix(in srgb, var(--primary) 28%, transparent)}}.auth-intro:after{border-radius:50%;box-shadow:0 0 0 70px #d83a1606,0 0 0 140px #d83a1605}.auth-intro-inner{z-index:1;grid-template:minmax(0,1fr)/minmax(0,1fr);width:min(700px,100% - 96px);min-height:100vh;margin:0 auto;padding:42px 0 46px;display:grid;position:relative}.auth-intro-inner>.brand{grid-area:1/1;place-self:start}.auth-intro-content{grid-area:1/1;align-self:center;width:100%}@keyframes auth-content-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-message{max-width:620px;margin:0 0 36px}.auth-message>*{animation:.52s cubic-bezier(.2,.8,.2,1) both auth-content-enter}.auth-message h1{animation-delay:70ms}.auth-message p{animation-delay:.13s}.auth-message h1{letter-spacing:-.055em;margin:18px 0;font-size:clamp(38px,3.2vw,56px);line-height:1.16}.auth-message p{width:min(100%,490px);color:var(--ink-muted);margin:0;font-size:16px;line-height:1.8}.agent-pipeline{isolation:isolate;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(115deg, #ffffff6b, transparent 42%), radial-gradient(circle at 50% 50%, #d83a1613, transparent 34%), var(--card);height:228px;position:relative;overflow:hidden;box-shadow:0 14px 36px #25231f0e}.agent-pipeline:before{content:"";z-index:-1;opacity:.58;background-image:radial-gradient(circle,#25231f1c .7px,#0000 .8px);background-size:18px 18px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 46% 54%,#000);mask-image:linear-gradient(90deg,#000,#0000 46% 54%,#000)}.agent-pipeline:after{content:"";background:linear-gradient(90deg, transparent, var(--primary), transparent);opacity:.58;width:34%;height:1px;position:absolute;top:0;left:33%}.pipeline-map{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.pipeline-base-path,.pipeline-active-path{fill:none;vector-effect:non-scaling-stroke}.pipeline-base-path{stroke:var(--ink)}@supports (color:color-mix(in lab, red, red)){.pipeline-base-path{stroke:color-mix(in srgb, var(--ink) 13%, transparent)}}.pipeline-base-path{stroke-width:1px}.pipeline-active-path{stroke:var(--primary)}@supports (color:color-mix(in lab, red, red)){.pipeline-active-path{stroke:color-mix(in srgb, var(--primary) 52%, transparent)}}.pipeline-active-path{stroke-width:1.25px;stroke-dasharray:4 9}.flow-packet{fill:var(--primary);filter:drop-shadow(0 0 5px #d83a168c)}.processor-pulse{fill:none;stroke:var(--primary)}@supports (color:color-mix(in lab, red, red)){.processor-pulse{stroke:color-mix(in srgb, var(--primary) 40%, transparent)}}.processor-pulse{stroke-width:1px;vector-effect:non-scaling-stroke}.pipeline-source-list,.pipeline-output-list{z-index:4;display:grid;position:absolute}.pipeline-source-list{gap:19px;top:27px;left:6.2%}.pipeline-output-list{gap:16px;top:25px;right:3.8%}.flow-service{width:42px;height:42px;color:var(--primary);border:1px solid var(--primary);place-items:center;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.flow-service{border:1px solid color-mix(in srgb, var(--primary) 22%, var(--border))}}.flow-service{background:var(--card);border-radius:12px;box-shadow:0 7px 18px #25231f14}.flow-service>svg{width:18px;height:18px}.flow-service>i{border:2px solid var(--card);background:var(--primary);border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;right:-3px}.flow-artifact{border:1px solid var(--border);width:76px;height:46px;color:var(--primary);background:var(--card);border-radius:9px;grid-template-columns:22px 1fr;align-items:center;gap:8px;padding:8px;display:grid;box-shadow:0 7px 18px #25231f13}.flow-artifact>svg{width:19px;height:19px}.artifact-copy{gap:5px;display:grid}.artifact-line{background:var(--ink-subtle);border-radius:99px;width:100%;height:3px;display:block}@supports (color:color-mix(in lab, red, red)){.artifact-line{background:color-mix(in srgb, var(--ink-subtle) 35%, transparent)}}.artifact-line-short{width:67%}.ai-processor{z-index:5;width:118px;height:118px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.processor-ring{border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.processor-ring-a{border:1px dashed var(--ink);width:116px;height:116px}@supports (color:color-mix(in lab, red, red)){.processor-ring-a{border:1px dashed color-mix(in srgb, var(--ink) 17%, transparent)}}.processor-ring-b{border:1px solid var(--primary);width:94px;height:94px}@supports (color:color-mix(in lab, red, red)){.processor-ring-b{border:1px solid color-mix(in srgb, var(--primary) 32%, transparent)}}.processor-ring>i{border:2px solid var(--card);background:var(--primary);width:6px;height:6px;box-shadow:0 0 0 1px var(--primary);border-radius:50%;position:absolute}.processor-ring-a>i:first-child{top:19px;left:9px}.processor-ring-a>i:last-child{bottom:31px;right:4px}.processor-ring-b>i{top:10px;right:11px}.processor-shell{border:1.5px solid var(--primary);background:radial-gradient(circle at 62% 32%, #d83a161c, transparent 24%), var(--card);border-radius:50%;width:76px;height:76px;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 0 11px #d83a160e,0 10px 26px #25231f1a}.processor-eye{background:var(--primary);border-radius:50%;width:8px;height:8px;position:absolute;top:16px;right:16px}.processor-curve{border-top:1.8px solid var(--primary);border-radius:50%;width:31px;height:15px;position:absolute;top:38px;left:21px;transform:rotate(-24deg)}.processor-scan{opacity:.38;background:linear-gradient(var(--primary), transparent);width:1px;height:38px;position:absolute;top:0;left:50%}.processor-spark{opacity:0;background:var(--primary);border-radius:50%;width:4px;height:4px;position:absolute;transform:scale(.2)}.spark-a{top:21px;left:15px}.spark-b{bottom:13px;right:22px}.spark-c{bottom:11px;left:27px}.pipeline-ambient{z-index:-1;filter:blur(22px);border-radius:50%;width:150px;height:150px;position:absolute;top:50%;transform:translateY(-50%)}.pipeline-ambient-left{background:#f2b84b14;left:-60px}.pipeline-ambient-right{background:#d83a1613;right:-60px}.pipeline-complete-glow{opacity:0;pointer-events:none;background:radial-gradient(circle,#d83a161c,#0000 68%);border-radius:50%;width:150px;height:180px;position:absolute;top:24px;right:-15px}.auth-panel{background:var(--card);grid-template:minmax(0,1fr)/minmax(0,1fr);min-height:100vh;padding:clamp(28px,4vh,44px) clamp(40px,5vw,80px);display:grid}.auth-card{grid-area:1/1;place-self:center;width:min(100%,460px)}.auth-card-head{margin-bottom:32px}.auth-card h2{letter-spacing:-.035em;margin:0 0 9px;font-size:30px;line-height:1.35}.auth-card-head p{color:var(--ink-muted);margin:0;font-size:14px;line-height:1.7}.auth-tabs{background:var(--canvas);border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:24px;padding:4px;display:grid}.auth-tabs button{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:8px;font-size:13px;font-weight:600}.auth-tabs button.active{color:var(--ink);background:var(--card);box-shadow:0 1px 3px #25231f17}.auth-form{gap:20px;display:grid}.auth-form label{gap:7px;display:grid}.auth-form label>span{font-size:12px;font-weight:700}.auth-form input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:50px;color:var(--ink);background:var(--card);padding:0 13px;font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-form input::placeholder{color:var(--ink-subtle)}.auth-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.auth-code-email{color:var(--ink);overflow-wrap:anywhere;font-weight:700;display:inline}.auth-form .auth-otp-input{height:54px;font-family:var(--font-mono);letter-spacing:.3em;text-align:center;padding-left:calc(13px + .3em);font-size:22px;font-weight:700}.auth-code-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.auth-code-actions button{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:700}.auth-code-actions button:hover:not(:disabled){color:var(--primary-dark)}.auth-code-actions button:disabled{color:var(--ink-subtle);cursor:default}.auth-form .primary-button{width:100%;min-height:50px;margin-top:3px}.form-error{color:#9b301f;border-left:2px solid var(--primary);background:var(--primary-faint);margin:-4px 0 0;padding:9px 11px;font-size:12px}.backend-status{color:var(--ink-subtle);text-align:center;justify-content:center;align-items:center;gap:7px;margin:22px 0 0;font-size:11px;display:flex}.backend-status i{background:var(--ink-subtle);border-radius:50%;flex:0 0 7px;width:7px;height:7px}.backend-status.connected{color:#26734d}.backend-status.connected i{background:#2e9a68;box-shadow:0 0 0 3px #2e9a681f}.backend-status.error{color:#9b301f}.backend-status.error i{background:var(--primary)}.local-tools-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);grid-area:1/1;place-self:end center;width:min(100%,520px);margin:0;padding:15px}.local-tools-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.local-tools-head>div{gap:2px;line-height:1.25;display:grid}.local-tools-head span{color:var(--primary-dark);font-family:var(--font-mono);letter-spacing:.12em;font-size:8px;font-weight:600}.local-tools-head strong{font-size:12px}.local-tools-head>small{color:var(--ink-subtle);font-size:9px}.local-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.local-tool-card{border:1px solid var(--border);width:100%;min-width:0;min-height:64px;color:var(--ink);background:var(--card);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:8px;grid-template-columns:32px minmax(0,1fr) 14px;align-items:center;gap:9px;padding:10px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.local-tool-card:hover{border-color:var(--primary);box-shadow:var(--shadow-xs);transform:translateY(-1px)}.local-tool-card:focus-visible{outline:2px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.local-tool-card:focus-visible{outline:2px solid color-mix(in srgb, var(--primary) 34%, transparent)}}.local-tool-card:focus-visible{outline-offset:2px}.local-tool-card>*{pointer-events:none}.local-tool-card:disabled{opacity:.62;cursor:wait;transform:none}.local-tool-card.admin{background:#fff9e9;border-color:#d9c892;grid-column:1/-1}.local-tool-card.admin .local-tool-icon{color:#765d1d;background:#fff3ce;border-color:#eadcae}.local-tool-icon{width:32px;height:32px;color:var(--primary);border:1px solid var(--primary-soft);background:var(--primary-faint);border-radius:50%;place-items:center;display:grid}.local-tool-copy{min-width:0;line-height:1.3;display:grid}.local-tool-copy strong{font-size:11px}.local-tool-copy small{color:var(--ink-subtle);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:9px;overflow:hidden}.technical-docs-page{background:var(--canvas);min-height:100vh}.admin-logout-button{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink);background:var(--card);font:inherit;cursor:pointer;padding:7px 12px;font-size:12px;font-weight:700}.admin-logout-button:hover{color:var(--primary-dark);border-color:var(--primary)}.admin-logout-button:disabled{opacity:.6;cursor:wait}.sidebar-logout-error{color:var(--color-error);grid-column:1/-1;margin:2px 0 0;font-size:10px;line-height:1.45}.technical-docs-page{grid-template-columns:292px minmax(0,1fr);display:grid}.technical-docs-nav{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;height:100vh;padding:0 18px 18px;display:flex;position:sticky;top:0;overflow-y:auto}.technical-admin-brand{border-bottom:1px solid var(--border);align-items:center;gap:10px;min-height:72px;display:flex}.technical-admin-brand .brand-mark{width:34px;height:34px}.technical-admin-tabs{gap:5px;margin-top:18px;display:grid}.technical-admin-tabs a{border-radius:var(--radius-sm);min-height:52px;color:var(--ink-muted);border:1px solid #0000;grid-template-columns:31px 1fr;align-items:center;gap:8px;padding:8px 11px;text-decoration:none;display:grid}.technical-admin-tabs a.active{color:var(--primary-dark);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.technical-admin-tabs a.active{border-color:color-mix(in srgb, var(--primary) 18%, transparent)}}.technical-admin-tabs a.active{background:var(--primary-faint)}.technical-admin-tabs a>span{font-family:var(--font-mono);font-size:var(--type-label);font-weight:var(--weight-bold)}.technical-admin-tabs a strong{font-size:var(--type-body);font-weight:var(--weight-semibold);line-height:var(--leading-compact)}.technical-doc-index{border-top:1px solid var(--border);margin-top:30px;padding:25px 7px 0}.technical-doc-index>span{color:var(--primary);font-family:var(--font-mono);font-size:var(--type-label);font-weight:var(--weight-bold);line-height:var(--leading-compact);letter-spacing:.11em}.technical-doc-index>strong{font-size:var(--type-body);line-height:var(--leading-compact);margin-top:6px;display:block}.technical-doc-index nav{gap:2px;margin-top:14px;display:grid}.technical-doc-index nav a{border-radius:var(--radius-sm);color:var(--ink-muted);font-size:var(--type-label);line-height:var(--leading-compact);padding:7px 8px;text-decoration:none}.technical-doc-index nav a:hover{color:var(--primary-dark);background:var(--primary-faint)}.technical-admin-account{border-top:1px solid var(--border);grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;margin-top:auto;padding:18px 7px 0;display:grid}.technical-admin-account>span{width:34px;height:34px;color:var(--primary-dark);background:var(--primary-soft);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.technical-admin-account>div{gap:1px;min-width:0;display:grid}.technical-admin-account>div strong,.technical-admin-account>div small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.technical-admin-account>div strong{font-size:10px}.technical-admin-account>div small{color:var(--ink-subtle);font-size:8px}.technical-admin-account .admin-logout-button{grid-column:1/-1;width:100%;margin-top:3px;font-size:10px}.technical-docs-header small{color:var(--ink-subtle);font-family:var(--font-mono);font-size:var(--type-label);line-height:var(--leading-compact);display:block}.technical-docs-header .section-kicker{margin-bottom:var(--space-md);font-size:var(--type-label);line-height:var(--leading-compact)}.technical-section-number{flex-shrink:0}.technical-stack-list{border-top:1px solid var(--border);margin:22px 0 0}.technical-stack-list>div{border-bottom:1px solid var(--border);grid-template-columns:140px 1fr;align-items:center;gap:20px;min-height:48px;display:grid}.technical-stack-list dt{color:var(--ink-subtle);font-size:var(--type-label);line-height:var(--leading-compact)}.technical-stack-list dd{font-size:var(--type-body);font-weight:var(--weight-semibold);line-height:var(--leading-body);margin:0}.technical-flow{flex-wrap:wrap;align-items:center;gap:10px;margin-top:25px;display:flex}.technical-flow span{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);font-size:var(--type-label);font-weight:var(--weight-bold);line-height:var(--leading-compact);padding:9px 12px}.technical-flow i{color:var(--primary);font-style:normal}.learning-shell{background:var(--canvas);min-height:100vh;display:flex}.course-sidebar{border-right:1px solid var(--border);background:var(--panel);z-index:30;flex-direction:column;flex:0 0 258px;width:258px;height:100vh;display:flex;position:sticky;top:0}.sidebar-head{border-bottom:1px solid var(--border);flex:0 0 68px;align-items:center;height:68px;padding:0 18px;display:flex}.sidebar-primary-nav{gap:4px;padding:14px 12px 12px;display:grid}.overview-link{border-radius:var(--radius-sm);width:100%;height:40px;color:var(--ink-muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:10px;margin:0;padding:0 11px;font-size:13px;font-weight:600;display:flex}.overview-link:hover,.overview-link.active{color:var(--primary-dark);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.overview-link:hover,.overview-link.active{border-color:color-mix(in srgb, var(--primary) 22%, transparent)}}.overview-link:hover,.overview-link.active{background:var(--primary-faint)}.course-nav{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;min-height:0;padding:0 12px 18px;overflow-y:auto}.sidebar-week-nav{border-top:1px solid var(--border);align-content:start;gap:8px;padding-top:12px;display:grid}.sidebar-week-head{height:32px;color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;margin:0;padding:0 11px;font-size:13px;font-weight:700;display:flex;overflow:hidden}.sidebar-week-head.active{color:var(--primary-dark)}.sidebar-week-panel{display:grid}.sidebar-week-panel>div{gap:2px;padding-bottom:6px;display:grid}.sidebar-week-subitem{border:0;border-left:2px solid var(--border);height:32px;color:var(--ink-muted);text-align:left;cursor:pointer;background:0 0;border-radius:0;align-items:center;margin-left:20px;padding:0 11px;font-size:12px;font-weight:500;display:flex}.sidebar-week-subitem:hover{color:var(--ink);border-left-color:var(--ink-subtle)}.sidebar-week-subitem.active{color:var(--primary-dark);border-left-color:var(--primary);font-weight:600}.sidebar-footer{border-top:1px solid var(--border);flex:0 0 66px;grid-template-columns:30px 1fr 30px;align-items:center;gap:9px;height:66px;padding:0 14px;display:grid}.sidebar-user-avatar,.mobile-avatar{color:#fff;background:var(--primary);border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:grid}.sidebar-footer>div:nth-child(2){min-width:0;line-height:1.3;display:grid}.sidebar-footer strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.sidebar-footer small{color:var(--ink-subtle);white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.sidebar-footer button,.mobile-close,.mobile-header>button{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.sidebar-footer button:hover,.mobile-close:hover,.mobile-header>button:hover{color:var(--ink);background:var(--canvas)}.mobile-close{display:none}.shell-content{flex:1;min-width:0}.mobile-header{display:none}.dashboard-page{width:min(1140px,100% - 72px);margin:0 auto;padding:46px 0 70px}.course-hero{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);min-height:330px;box-shadow:var(--shadow-xs);grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);align-items:center;display:grid;position:relative;overflow:hidden}.hero-copy{z-index:2;padding:48px 54px;position:relative}.hero-copy h1{letter-spacing:-.055em;margin:13px 0 12px;font-size:clamp(34px,4vw,52px);line-height:1.2}.hero-copy>p{max-width:590px;color:var(--ink-muted);margin:0;font-size:15px;line-height:1.8}.hero-schedule{color:var(--ink-muted);flex-wrap:wrap;gap:7px 16px;margin-top:18px;font-size:11px;font-weight:600;display:flex}.hero-schedule span{align-items:center;gap:5px;display:inline-flex}.hero-visual{border-left:1px solid var(--border);background:radial-gradient(circle at center, #d83a160f, transparent 56%), repeating-linear-gradient(0deg, transparent 0 35px, #25231f09 35px 36px), repeating-linear-gradient(90deg, transparent 0 35px, #25231f09 35px 36px), var(--panel);height:100%;min-height:330px;position:relative;overflow:hidden}.orbit{border:1px solid #d83a1640;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit-one{width:190px;height:190px}.orbit-two{border-color:#25231f1c;width:290px;height:290px}.hero-core{border:1px solid var(--primary);background:var(--card);border-radius:50%;place-items:center;width:74px;height:74px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 12px #d83a160d}.hero-core:before{content:"";border-top:2px solid var(--primary);border-radius:50%;width:30px;height:14px;transform:rotate(-24deg)}.hero-core span{background:var(--primary);border-radius:50%;width:7px;height:7px;position:absolute;top:17px;right:17px}.hero-dot{border:2px solid var(--card);background:var(--primary);width:9px;height:9px;box-shadow:0 0 0 1px var(--primary);border-radius:50%;position:absolute}.dot-one{top:calc(50% - 69px);left:calc(50% + 78px)}.dot-two{top:calc(50% + 30px);left:calc(50% - 133px)}.dot-three{top:calc(50% + 95px);left:calc(50% + 105px)}.home-playback-section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-xs);margin-top:44px;padding:30px;scroll-margin-top:24px}.home-playback-intro{max-width:760px;margin-bottom:26px}.home-playback-intro h2{letter-spacing:-.035em;margin:5px 0 8px;font-size:24px;line-height:1.35}.home-playback-intro>p{color:var(--ink-muted);margin:0;font-size:13px;line-height:1.8}.course-section{margin-top:44px}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px;display:flex}.section-heading h2{letter-spacing:-.035em;margin:4px 0 0;font-size:24px;line-height:1.35}.section-heading>p{color:var(--ink-subtle);margin:0 0 2px;font-size:12px}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.week-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);min-height:220px;box-shadow:var(--shadow-xs);flex-direction:column;padding:24px;display:flex}.week-card-top{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.week-index{color:var(--primary);font-family:var(--font-mono);font-size:18px;font-weight:600}.week-card h3{letter-spacing:-.025em;margin:0 0 7px;font-size:18px;line-height:1.4}.week-card>p{color:var(--ink-muted);margin:0 0 16px;font-size:13px}.week-schedule{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.week-schedule>div{border-left:2px solid var(--primary-soft);gap:2px;padding-left:9px;display:grid}.week-schedule span{color:var(--ink-subtle);font-size:9px;font-weight:600}.week-schedule strong{font-size:10px;font-weight:600}.week-open-button{width:fit-content;color:var(--primary-dark);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;margin-top:18px;padding:0;font-size:11px;font-weight:700;display:inline-flex}.week-open-button:hover{color:var(--primary)}.public-commons{border-top:1px solid var(--border);margin-top:54px;padding-top:42px}.public-commons-page .public-commons{border-top:0;margin-top:0;padding-top:0}.public-commons-head{justify-content:space-between;align-items:end;gap:30px;margin-bottom:20px;display:flex}.public-commons-head h2{letter-spacing:-.04em;margin:5px 0 0;font-size:25px}.public-commons-head>p{max-width:430px;color:var(--ink-muted);text-align:right;margin:0 0 2px;font-size:12px}.public-commons-empty{border:1px dashed var(--border);border-radius:var(--radius-md);min-height:170px;color:var(--ink-subtle);background:var(--card);align-content:center;place-items:center;gap:7px;display:grid}@supports (color:color-mix(in lab, red, red)){.public-commons-empty{background:color-mix(in srgb, var(--card) 60%, transparent)}}.public-commons-empty{text-align:center}.public-commons-empty strong{color:var(--ink);font-size:13px}.public-commons-empty span{font-size:11px}.public-assignment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.public-assignment-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);min-width:0;box-shadow:var(--shadow-xs);flex-direction:column;padding:20px;display:flex}.public-assignment-meta{color:var(--ink-subtle);font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:12px;font-size:9px;display:flex}.public-assignment-meta span{color:var(--primary-dark);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.public-assignment-icon{width:38px;height:38px;color:var(--primary-dark);background:var(--primary-soft);border-radius:50%;place-items:center;margin:22px 0 14px;display:grid}.public-assignment-card h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;line-height:1.45;overflow:hidden}.public-assignment-card>p{color:var(--ink-muted);margin:5px 0 20px;font-size:11px}.public-assignment-card footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:13px;display:flex}.public-assignment-card footer small{color:var(--ink-subtle);font-size:9px}.public-assignment-card footer button{color:var(--primary-dark);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:4px 0;font-size:10px;font-weight:700;display:inline-flex}.public-assignment-card footer button:disabled{opacity:.55;cursor:wait}.public-commons-error{color:#9f2f18;margin:12px 0 0;font-size:11px}.reader-page{width:min(820px,100% - 72px);margin:0 auto;padding:38px 0 80px}.back-button{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:6px 0;font-size:12px;font-weight:600;display:inline-flex}.back-button:hover{color:var(--primary-dark)}.reader-head{border-bottom:1px solid var(--border);margin-top:34px;padding-bottom:36px}.reader-meta{color:var(--ink-subtle);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:10px;font-size:9px;font-weight:600;display:flex}.reader-meta i{background:var(--border);border-radius:50%;width:3px;height:3px}.reader-meta span:last-child{align-items:center;gap:5px;display:inline-flex}.reader-head h1{letter-spacing:-.05em;margin:16px 0 10px;font-size:clamp(34px,5vw,48px);line-height:1.22}.reader-head>p{max-width:680px;color:var(--ink-muted);margin:0;font-size:16px}.week-workspace{width:min(900px,100% - 72px)}.week-workspace-slides{width:min(1360px,100% - 72px)}.week-workspace-video{width:min(1480px,100% - 48px);container:week-video/inline-size}.week-video-page{gap:0;display:grid}.week-video-player-section{padding-top:0}.docs-page.week-workspace-video .video-playback-layout{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:0;display:grid}.docs-page.week-workspace-video .chapter-panel{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:min(520px,100dvh - 160px);margin-top:0;overflow-y:auto}@container week-video (min-width:1120px){.docs-page.week-workspace-video .video-playback-layout{grid-template-columns:minmax(0,1fr) clamp(350px,30%,400px);align-items:start}.docs-page.week-workspace-video .chapter-panel{height:clamp(380px,56.25cqw - 234px,560px);max-height:none}}.week-video-transcript{width:min(1100px,100%);margin-inline:auto}.week-video-transcript-status{border-block:1px solid var(--border);color:var(--ink-muted);margin:0;padding:24px 0}.week-video-transcript-status.error{color:var(--color-error)}.transcript-chapter{border-bottom:1px solid var(--border);padding:32px 0 36px}.transcript-chapter>header{margin-bottom:22px}.transcript-entry>time{color:var(--primary);font-family:var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:15px;font-weight:700}.transcript-chapter>header h3{margin:0;font-size:18px;line-height:1.45}.transcript-chapter>header h3:before{content:none}.transcript-entries{gap:18px;display:grid}.transcript-entry{grid-template-columns:92px minmax(0,1fr);align-items:start;gap:20px;display:grid}.transcript-entry>time{color:var(--ink-subtle);font-weight:600;line-height:1.85}.transcript-entry>p{max-width:84ch;color:var(--ink-muted);margin:0;font-size:15px;line-height:1.85}@media (max-width:720px){.transcript-chapter{padding-block:26px 30px}.transcript-entry{grid-template-columns:76px minmax(0,1fr);gap:12px}.transcript-entry>time,.transcript-entry>p{font-size:14px}.transcript-entry>p{line-height:1.8}}.slide-stage,.slide-stage-inner{width:100%}.slide-toc-rail{border-left:1px solid var(--border);background:var(--panel);scrollbar-width:thin;scrollbar-color:var(--border) transparent;z-index:20;flex-direction:column;flex:0 0 212px;width:212px;min-width:0;height:100vh;padding:0 12px 20px;display:flex;position:sticky;top:0;overflow-y:auto}.slide-toc-rail>header{border-bottom:1px solid var(--border);background:var(--panel);z-index:1;align-content:center;gap:3px;min-height:68px;padding:0 12px;display:grid;position:sticky;top:0}.slide-toc-rail>header span{color:var(--ink-subtle);font-family:var(--font-mono);letter-spacing:.08em;font-size:9px;font-weight:600}.slide-toc-rail>header strong{font-size:13px;font-weight:600}.slide-toc-rail nav{align-content:start;gap:2px;padding:12px 0;display:grid}.slide-toc-rail nav a{border-radius:var(--radius-sm);min-height:32px;color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;padding:6px 11px;font-size:12px;font-weight:500;line-height:1.3;text-decoration:none;display:flex;overflow:hidden}.slide-toc-rail nav a:hover{color:var(--ink);background:var(--canvas)}.slide-toc-rail nav a.active{color:var(--primary-dark);background:var(--primary-faint);font-weight:600}.concept-toc-rail nav a.toc-parent{min-height:36px;color:var(--ink);white-space:normal;margin-top:8px;font-weight:700}.concept-toc-rail nav a.toc-parent:first-child{margin-top:0}.concept-toc-rail nav a.toc-child{white-space:normal;min-height:28px;padding-left:22px;font-size:11px}.concept-toc-rail nav a.toc-child:before{content:"";opacity:.45;background:currentColor;flex:0 0 5px;width:5px;height:1px;margin-right:7px}@media (max-width:1180px){.slide-toc-rail{display:none}}.week-workspace-head{padding-bottom:30px}.reader-body{gap:20px;padding-top:30px;display:grid}.content-section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-xs);padding:32px}.text-section h2{letter-spacing:-.03em;margin:8px 0 16px;font-size:22px;line-height:1.4}.text-section>p{color:var(--ink-muted);margin:0 0 13px;font-size:15px;line-height:1.9}.concept-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:26px 0 0;padding:0;list-style:none;display:grid}.concept-list li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);flex-direction:column;justify-content:space-between;min-height:84px;padding:12px;display:flex}.concept-list li span{color:var(--primary);font-family:var(--font-mono);font-size:9px}.concept-list li strong{font-size:12px;font-weight:600}.content-section-heading{align-items:center;gap:13px;display:flex}.content-icon{width:38px;height:38px;color:var(--primary);border:1px solid var(--primary-soft);background:var(--primary-faint);border-radius:50%;flex:0 0 38px;place-items:center;display:grid}.content-section-heading>div{display:grid}.content-section-heading span,.download-copy>span{color:var(--ink-subtle);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:600}.content-section-heading h2{margin:1px 0 0;font-size:18px;line-height:1.4}.content-lead{color:var(--ink-muted);margin:15px 0 18px;font-size:13px}.video-frame{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius-sm);background:#1c1b18;overflow:hidden}.mux-course-player{--controls-backdrop-color:#25231f1f;--media-object-fit:contain;width:100%;height:100%;display:block}.mux-course-player::part(control-bar bottom){width:calc(100% - (var(--space-md) * 2));margin:0 var(--space-md) var(--space-md);border-radius:var(--radius-sm);padding:var(--space-xs);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:opacity var(--duration-standard) var(--ease-product), transform var(--duration-standard) var(--ease-product);background:#25231fd6;border:1px solid #fcfcfa1f;box-shadow:0 8px 24px #0f0e0c33}.mux-course-player::part(bottom button),.mux-course-player::part(bottom display),.mux-course-player::part(bottom volume range){--media-control-height:16px;--media-control-padding:var(--space-xs);border-radius:var(--radius-sm)}.mux-course-player::part(bottom button):hover{background:#fcfcfa1f}.mux-course-player::part(bottom time range){width:calc(100% - (var(--space-md) * 2));height:var(--space-md);margin-inline:var(--space-md);--media-range-track-height:3px;--media-range-track-border-radius:999px;--media-range-thumb-width:10px;--media-range-thumb-height:10px;--media-range-thumb-border-radius:50%;--media-range-thumb-background:var(--primary);--media-range-thumb-box-shadow:0 0 0 3px #fcfcfa33;transition:opacity var(--duration-standard) var(--ease-product), transform var(--duration-standard) var(--ease-product);padding-inline:0;bottom:0}@media (hover:hover) and (pointer:fine){.mux-course-player:not(:hover):not(:focus-within)::part(control-bar),.mux-course-player:not(:hover):not(:focus-within)::part(time range){opacity:0;pointer-events:none;transform:translateY(var(--space-sm))}.video-frame:hover .mux-course-player::part(control-bar),.video-frame:hover .mux-course-player::part(time range),.video-frame:focus-within .mux-course-player::part(control-bar),.video-frame:focus-within .mux-course-player::part(time range){opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important}}.mux-course-player::part(menu){border-radius:var(--radius-sm);padding:var(--space-xs);border:1px solid #25231f24;box-shadow:0 12px 32px #0f0e0c33}.mux-course-player::part(menu-item){border-radius:calc(var(--radius-sm) - 2px);min-height:34px;padding:var(--space-sm) var(--space-md);font-family:var(--font-sans)}.mux-course-player::part(center play button){width:64px;height:64px;padding:var(--space-lg);background:var(--primary);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.mux-course-player::part(center play button){background:color-mix(in srgb, var(--primary) 88%, transparent)}}.mux-course-player::part(center play button){box-shadow:0 8px 28px #25231f3d}.docs-page .video-playback-layout{grid-template-columns:minmax(0,1fr) 260px;gap:1rem;margin:1rem 0 1.5rem;display:grid}.docs-page .video-frame{border:1px solid var(--docs-rule,var(--border));border-radius:var(--radius-sm);min-width:0;overflow:hidden}.docs-page .mux-course-player{aspect-ratio:16/9;width:100%;display:block}.docs-page .chapter-panel{border:1px solid var(--docs-rule,var(--border));border-radius:var(--radius-sm);min-width:0;overflow:hidden}.docs-page .chapter-panel>header{border-bottom:1px solid var(--docs-rule,var(--border));background:var(--color-primary);padding:.7rem .85rem}@supports (color:color-mix(in lab, red, red)){.docs-page .chapter-panel>header{background:color-mix(in srgb, var(--color-primary) 5%, transparent)}}.docs-page .chapter-panel>header span{color:var(--ink-subtle);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.08em;font-size:10px}.docs-page .chapter-panel>header h3{font-size:var(--type-heading-3);margin:.15rem 0 0;display:block}.docs-page .chapter-panel>header h3:before{content:none}.docs-page .chapter-panel>header small{color:var(--ink-subtle);font-size:var(--type-label);margin-top:.2rem;display:block}.docs-page .chapter-list{margin:0;padding:0;list-style:none}.docs-page .chapter-list li{max-width:none;margin:0}.docs-page .chapter-list button{border:0;border-top:1px solid var(--docs-rule,var(--border));width:100%;color:var(--ink-muted);font-size:var(--type-label);text-align:left;cursor:pointer;background:0 0;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.5rem;padding:.55rem .85rem;transition:background .15s,color .15s;display:grid}.docs-page .chapter-list li:first-child button{border-top:0}.docs-page .chapter-list button:hover{background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.docs-page .chapter-list button:hover{background:color-mix(in srgb, var(--color-primary) 4%, transparent)}}.docs-page .chapter-list button.active{color:var(--color-primary);background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.docs-page .chapter-list button.active{background:color-mix(in srgb, var(--color-primary) 7%, transparent)}}.docs-page .chapter-index,.docs-page .chapter-list time{color:var(--ink-subtle);font-family:var(--font-mono,ui-monospace, monospace)}@media (max-width:860px){.docs-page .video-playback-layout{grid-template-columns:minmax(0,1fr)}}@media (min-width:1180px){.video-playback-layout{grid-template-columns:minmax(0,1fr) clamp(280px,28%,320px);align-items:start;gap:16px;display:grid}.video-playback-layout .chapter-panel{margin-top:0}.video-playback-layout .chapter-panel>header{flex-direction:column;align-items:flex-start;gap:7px}.video-playback-layout .chapter-list button{grid-template-columns:24px minmax(0,1fr) auto 14px;gap:8px;padding-inline:16px}}.chapter-panel{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);margin-top:16px;overflow:hidden}.chapter-panel>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;gap:20px;padding:18px 20px 14px;display:flex}.chapter-panel>header div{gap:2px;display:grid}.chapter-panel>header span{color:var(--primary);font-family:var(--font-mono);letter-spacing:.12em;font-size:9px;font-weight:700}.chapter-panel>header h3{margin:0;font-size:15px}.chapter-panel>header small{color:var(--ink-subtle);font-size:10px}.chapter-list{margin:0;padding:0;list-style:none;display:grid}.chapter-list li+li{border-top:1px solid var(--border)}.chapter-list button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:28px minmax(0,1fr) auto 18px;align-items:center;gap:12px;padding:13px 20px;transition:color .15s,background .15s;display:grid}.chapter-list button:hover,.chapter-list button.active{color:var(--primary-dark);background:var(--primary-faint)}.chapter-list button.active{box-shadow:inset 3px 0 0 var(--primary)}.chapter-index,.chapter-list time{font-family:var(--font-mono);font-size:9px}.chapter-index{color:var(--ink-subtle)}.chapter-list strong{min-width:0;font-size:12px;font-weight:650}.chapter-copy{gap:4px;min-width:0;display:grid}.chapter-description{color:var(--ink-muted);font-size:10.5px;font-weight:400;line-height:1.5}.chapter-list button.has-description{align-items:start;padding-block:13px 14px}.chapter-list button.has-description .chapter-index,.chapter-list button.has-description time,.chapter-list button.has-description svg{margin-top:3px}.chapter-list button.has-description.active .chapter-description{color:var(--primary-dark)}@supports (color:color-mix(in lab, red, red)){.chapter-list button.has-description.active .chapter-description{color:color-mix(in srgb, var(--primary-dark) 72%, var(--ink-muted))}}.chapter-list time{color:var(--ink-muted)}.chapter-list svg{color:var(--primary)}.download-section{padding:0;overflow:hidden}.home-download-section{margin-top:44px}.download-card{background:linear-gradient(90deg, var(--primary-faint), transparent 34%), var(--card);grid-template-columns:48px 1fr auto;align-items:center;gap:18px;min-height:138px;padding:25px 28px;display:grid}.download-file-icon{width:48px;height:48px;color:var(--primary);border:1px solid var(--primary-soft);border-radius:var(--radius-sm);background:var(--card);place-items:center;display:grid}.download-copy{min-width:0}.download-copy h2{margin:2px 0 3px;font-size:17px;line-height:1.4}.download-copy p{color:var(--ink-muted);margin:0 0 4px;font-size:12px}.download-copy small{color:var(--ink-subtle);font-family:var(--font-mono);font-size:9px}.download-button{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink);background:var(--card);white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:9px 13px;font-size:11px;font-weight:700;text-decoration:none;transition:border-color .15s,color .15s,transform .15s;display:inline-flex}.download-button:hover{color:var(--primary-dark);border-color:var(--primary);transform:translateY(-1px)}.home-assignment-guide{border-top:1px solid var(--border);margin-top:44px;padding-top:38px}.home-assignment-guide>header{max-width:720px;margin-bottom:20px}.home-assignment-guide>header h2{letter-spacing:-.04em;margin:5px 0 6px;font-size:25px}.home-assignment-guide>header p{color:var(--ink-muted);margin:0;font-size:12px;line-height:1.7}.home-assignment-guide-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:14px;display:grid}.assignment-start-card,.home-assignment-rules{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-xs)}.assignment-start-card{background:linear-gradient(145deg, var(--primary-faint), transparent 58%), var(--card);padding:24px}.assignment-start-card>span{color:var(--primary-dark);font-family:var(--font-mono);letter-spacing:.08em;font-size:9px;font-weight:700}.assignment-start-card h3{letter-spacing:-.025em;margin:10px 0 7px;font-size:18px}.assignment-start-card p{color:var(--ink-muted);margin:0;font-size:12px;line-height:1.75}.assignment-start-card p strong{color:var(--ink)}.assignment-start-card code{border:1px solid var(--border);color:var(--primary-dark);background:var(--card);font-family:var(--font-mono);border-radius:4px;padding:2px 5px;font-size:10px}.assignment-start-card>div{flex-wrap:wrap;align-items:center;gap:7px;margin-top:22px;display:flex}.assignment-start-card>div i{color:var(--ink-subtle);font-size:10px;font-style:normal}.home-assignment-rules{margin:0;padding:0 22px;list-style:none}.home-assignment-rules li{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:12px;min-height:92px;padding:18px 0;display:grid}.home-assignment-rules li+li{border-top:1px solid var(--border)}.home-assignment-rules li>span{color:var(--primary);font-family:var(--font-mono);font-size:11px;font-weight:700}.home-assignment-rules strong{color:var(--ink);margin-bottom:4px;font-size:13px;display:block}.home-assignment-rules p{color:var(--ink-muted);margin:0;font-size:11px;line-height:1.7}.mobile-backdrop{display:none}@media (max-width:980px){.auth-page{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-intro-inner{width:calc(100% - 56px)}.dashboard-page,.reader-page{width:min(100% - 48px,860px)}.course-hero{grid-template-columns:1fr 260px}.public-assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy{padding:38px}}@media (max-width:800px){.technical-docs-page{display:block}.technical-docs-nav{border-right:0;border-bottom:1px solid var(--border);height:auto;padding:0 20px 18px;position:static}.technical-admin-brand{min-height:64px}.technical-admin-tabs{margin-top:14px}.technical-doc-index{margin-top:16px;padding:17px 0 0}.technical-doc-index nav{margin-top:12px;display:flex;overflow-x:auto}.technical-doc-index nav a{flex:none}.technical-admin-account{grid-template-columns:34px minmax(0,1fr) auto;margin-top:18px}.technical-admin-account .admin-logout-button{grid-column:3;width:auto;margin-top:0}.auth-page{background:var(--canvas);display:block}.auth-intro{border-right:0;border-bottom:1px solid var(--border);min-height:auto}.auth-intro-inner{width:min(100% - 40px,520px);min-height:auto;padding:28px 0 34px;display:block}.auth-message{margin:54px 0 28px}.auth-message h1{font-size:38px}.auth-message p{font-size:14px}.agent-pipeline{display:none}.auth-panel{background:var(--card);min-height:auto;padding:42px 24px 56px;display:block}.auth-card{margin:0 auto}.local-tools-panel{margin:64px auto 0}.course-sidebar{transition:transform .22s cubic-bezier(.2,.8,.2,1);position:fixed;top:0;left:0;transform:translate(-105%);box-shadow:12px 0 40px #25231f24}.course-sidebar.open{transform:translate(0)}.mobile-close{margin-left:auto;display:grid}.mobile-backdrop{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#25231f5c;border:0;display:block;position:fixed;inset:0}.mobile-header{z-index:15;border-bottom:1px solid var(--border);background:var(--panel);grid-template-columns:36px 1fr 36px;align-items:center;gap:10px;height:58px;padding:0 16px;display:grid;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.mobile-header{background:color-mix(in srgb, var(--panel) 94%, transparent)}}.mobile-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-header .brand{justify-self:center}.mobile-header .brand-mark{flex-basis:26px;width:26px;height:26px}.mobile-header .brand-mark:before{width:13px;top:12px;left:6px}.mobile-header .brand-mark>span{top:4px;right:4px}.mobile-header .brand-copy small{display:none}.mobile-avatar{justify-self:end;width:28px;height:28px}.dashboard-page,.reader-page{width:min(100% - 32px,680px);padding-top:24px}.course-hero{min-height:0;display:block}.home-assignment-guide-grid{grid-template-columns:1fr}.hero-copy{padding:32px}.hero-visual{border-top:1px solid var(--border);border-left:0;min-height:220px}.week-grid{grid-template-columns:1fr}}@media (max-width:520px){.technical-stack-list>div{grid-template-columns:100px 1fr;gap:12px}.local-tools-grid{grid-template-columns:1fr}.auth-message h1{font-size:32px}.auth-panel{padding-inline:20px}.hero-copy{padding:27px 24px}.hero-copy h1{font-size:34px}.home-playback-section{padding:22px}.section-heading{display:block}.section-heading>p{margin-top:5px}.public-commons-head{display:block}.public-commons-head>p{text-align:left;margin-top:7px}.public-assignment-grid{grid-template-columns:1fr}.week-card{padding:20px}.reader-head{margin-top:24px}.reader-head h1{font-size:34px}.reader-head>p{font-size:14px}.chapter-panel>header{flex-direction:column;align-items:flex-start;gap:8px}.chapter-list button{grid-template-columns:24px minmax(0,1fr) auto;gap:9px;padding-inline:16px}.chapter-list button svg{display:none}.content-section{padding:24px 20px}.concept-list{grid-template-columns:1fr}.concept-list li{flex-direction:row;align-items:center;min-height:58px}.download-section{padding:0}.download-card{grid-template-columns:42px 1fr;gap:14px;padding:22px 20px}.download-file-icon{width:42px;height:42px}.download-button{grid-column:1/-1;margin-top:5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
