/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:12px;--text-xs--line-height:calc(1 / .75);--text-sm:14px;--text-base:16px;--text-2xl:28px;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:34px;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--leading-snug:1.375;--radius-sm:6px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:1rem;--shadow-sm:0 1px 2px #12293e14;--shadow-md:0 4px 14px #12293e1a, 0 2px 6px #12293e0f;--shadow-lg:0 14px 40px #12293e24, 0 8px 16px #12293e17;--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);--radius:10px;--color-navy-50:#f4f7fa;--color-navy-100:#e4edf5;--color-navy-600:#2e6088;--color-navy-700:#1f4a6b;--color-navy-800:#1a3d5c;--color-navy-900:#12293e;--color-primary:var(--color-navy-800);--color-primary-light:var(--color-navy-600);--color-primary-soft:var(--color-navy-100);--color-primary-bg:var(--color-navy-50);--color-body:#1a2a36;--color-muted:#48586a;--color-disabled:#6a7886;--color-surface:#fafbfd;--color-surface-raised:#fff;--color-warm-bg:#fafbfd;--color-border:#c9d8e4;--color-border-strong:#8297a7;--color-card-border:#d3dde5;--color-accent:#e89b3f;--color-accent-strong:#a64b12;--color-success:#175937;--color-sun:#e0bd3f;--color-couple-bg:#eafaf1;--color-couple-border:#3a845d;--color-couple-strong:#175937;--color-ai-bg:#f4f2ff;--color-ai-border:#8f85c1;--color-ai-chip:#e3deff;--color-ai-text:#362573;--color-ai-muted:#4a4185;--color-focus-inner:#12293e;--color-focus-outer:#f3c623;--focus-ring:0 0 0 2px var(--color-focus-inner), 0 0 0 5px var(--color-focus-outer);--focus-ring-inverse:0 0 0 2px #fff, 0 0 0 5px var(--color-focus-outer);--color-state-active:var(--color-accent);--font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-family-mono:ui-monospace, Menlo, Consolas, monospace;--space-3:12px;--z-sticky:30;--z-scrim:40;--z-drawer:50;--z-sidebar-mobile:60;--z-popover:80;--z-toast:120;--z-skiplink:200}}@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%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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{.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.z-40{z-index:40}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-7{height:calc(var(--spacing) * 7)}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-7{width:calc(var(--spacing) * 7)}.w-20{width:calc(var(--spacing) * 20)}.w-full{width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:var(--radius)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.border{border-style:var(--tw-border-style);border-width:1px}.p-5{padding:calc(var(--spacing) * 5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.uppercase{text-transform:uppercase}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font-family-sans);color:var(--color-body);background:var(--color-warm-bg);font-size:var(--text-base);-webkit-font-smoothing:antialiased;line-height:1.55}a{color:var(--color-navy-700);text-underline-offset:2px;text-decoration-thickness:1px}a:hover{color:var(--color-navy-900)}a:visited{color:#4a3a6b}:focus{outline:none}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);z-index:1;outline:none;position:relative}.on-dark :focus-visible{box-shadow:var(--focus-ring-inverse)}.skip-link{z-index:var(--z-skiplink);background:var(--color-navy-900);color:#fff;border-radius:0 0 var(--radius) var(--radius);padding:12px 18px;font-weight:700;text-decoration:none;transition:top .12s;position:absolute;top:-60px;left:12px}.skip-link:focus{color:#fff;top:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,input,textarea,select{font-family:inherit;font-size:inherit}button{cursor:pointer}textarea{resize:vertical}::placeholder{color:var(--color-disabled);opacity:1}.field-label{font-size:var(--text-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-weight:700;display:block}.field-input{border:1px solid var(--color-border-strong);width:100%;min-height:44px;color:var(--color-body);font-size:var(--text-base);background:#fff;border-radius:8px;padding:10px 13px;line-height:1.5;display:block}.field-input:focus-visible{box-shadow:var(--focus-ring);border-color:var(--color-navy-700)}.wizard-link{font-size:var(--text-xs);color:var(--color-primary-light);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}@media(pointer:coarse){button,[role=button],a.lp-btn{min-width:44px;min-height:44px}}:root{--subject-NOR-tint:#ebf5fb;--subject-NOR-ink:#1b4a72;--subject-NOR-line:#4a8cc2;--subject-MAT-tint:#e0f2f1;--subject-MAT-ink:#004d40;--subject-MAT-line:#1d7f73;--subject-ENG-tint:#f5eef8;--subject-ENG-ink:#5b2a7a;--subject-ENG-line:#8e6ba8;--subject-NAT-tint:#eafaf1;--subject-NAT-ink:#175937;--subject-NAT-line:#3e8c63;--subject-SAF-tint:#fef9e7;--subject-SAF-ink:#6a4e00;--subject-SAF-line:#a88a3c;--subject-KRLE-tint:#fce4ec;--subject-KRLE-ink:#762e55;--subject-KRLE-line:#b25c85;--subject-KRO-tint:#fff3e0;--subject-KRO-ink:#8f3600;--subject-KRO-line:#c97a3a;--subject-KOH-tint:#fce4e4;--subject-KOH-ink:#961b1b;--subject-KOH-line:#c25555;--subject-MOH-tint:#f9fbe7;--subject-MOH-ink:#5c5410;--subject-MOH-line:#8e8a2e}.chip{font-family:var(--font-family-mono);font-size:var(--text-xs);white-space:nowrap;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-weight:700;line-height:1.4;display:inline-flex}.chip-NOR{background:var(--subject-NOR-tint);color:var(--subject-NOR-ink);border-color:var(--subject-NOR-line)}.chip-MAT{background:var(--subject-MAT-tint);color:var(--subject-MAT-ink);border-color:var(--subject-MAT-line)}.chip-ENG{background:var(--subject-ENG-tint);color:var(--subject-ENG-ink);border-color:var(--subject-ENG-line)}.chip-NAT{background:var(--subject-NAT-tint);color:var(--subject-NAT-ink);border-color:var(--subject-NAT-line)}.chip-SAF{background:var(--subject-SAF-tint);color:var(--subject-SAF-ink);border-color:var(--subject-SAF-line)}.chip-KRLE{background:var(--subject-KRLE-tint);color:var(--subject-KRLE-ink);border-color:var(--subject-KRLE-line)}.chip-KRO{background:var(--subject-KRO-tint);color:var(--subject-KRO-ink);border-color:var(--subject-KRO-line)}.chip-KOH{background:var(--subject-KOH-tint);color:var(--subject-KOH-ink);border-color:var(--subject-KOH-line)}.chip-MOH{background:var(--subject-MOH-tint);color:var(--subject-MOH-ink);border-color:var(--subject-MOH-line)}.chip-solid-NOR{background:var(--subject-NOR-ink);color:#fff;border-color:var(--subject-NOR-ink)}.chip-solid-MAT{background:var(--subject-MAT-ink);color:#fff;border-color:var(--subject-MAT-ink)}.chip-solid-ENG{background:var(--subject-ENG-ink);color:#fff;border-color:var(--subject-ENG-ink)}.chip-solid-NAT{background:var(--subject-NAT-ink);color:#fff;border-color:var(--subject-NAT-ink)}.chip-solid-SAF{background:var(--subject-SAF-ink);color:#fff;border-color:var(--subject-SAF-ink)}.chip-solid-KRLE{background:var(--subject-KRLE-ink);color:#fff;border-color:var(--subject-KRLE-ink)}.chip-solid-KRO{background:var(--subject-KRO-ink);color:#fff;border-color:var(--subject-KRO-ink)}.chip-solid-KOH{background:var(--subject-KOH-ink);color:#fff;border-color:var(--subject-KOH-ink)}.chip-solid-MOH{background:var(--subject-MOH-ink);color:#fff;border-color:var(--subject-MOH-ink)}.chip-theme{color:var(--color-muted);border-color:var(--color-border-strong);font-family:var(--font-family-sans);font-weight:500;font-size:var(--text-xs);background:#fff;border-radius:4px;padding:3px 8px}.status-pill{font-size:var(--text-xs);border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-weight:700;display:inline-flex}.status-planned{color:#3c4c57;background:#eceff1;border-color:#9aa8b2}.status-active{color:#6a4e00;background:#fff2cc;border-color:#a88a3c}.status-done{color:#14512f;background:#c6efce;border-color:#3a845d}.status-missing{color:#7e3232;background:#ffe0e0;border-color:#c25555}.status-planned:before{content:"○"}.status-active:before{content:"◐"}.status-done:before{content:"●"}.status-missing:before{content:"!"}.progress-track{background:#e4e9ed;border-radius:4px;height:8px;overflow:hidden}.progress-fill-planned{background:#6d7c8a}.progress-fill-active{background:repeating-linear-gradient(135deg,#a88a3c 0,#a88a3c 6px,#c7a64b 6px,#c7a64b 12px)}.progress-fill-done{background:#175937}.ai-badge{font-family:var(--font-family-mono);font-size:var(--text-xs);letter-spacing:.05em;color:var(--color-ai-text);background:var(--color-ai-chip);border:1px solid var(--color-ai-border);border-radius:5px;padding:3px 8px;font-weight:700}.kicker{font-family:var(--font-family-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--color-primary);font-weight:700}@media(prefers-color-scheme:dark){html:not([data-theme]){color-scheme:dark}}html[data-theme=dark],html:not([data-theme]).dark-auto{color-scheme:dark;--color-warm-bg:#0e1b26;--color-surface:#142430;--color-surface-raised:#1b2e3c;--color-primary:#1b2e3c;--color-primary-soft:#1e3646;--color-primary-bg:#142430;--color-primary-light:#8cc0e4;--color-heading:#eaf2f8;--color-body:#e3ecf3;--color-muted:#afc2cf;--color-subtle:#90a6b5;--color-border:#2b4152;--color-border-strong:#567487;--color-card-border:#2b4152;--color-accent-strong:#f0a863;--color-success:#7fd3a3;--color-warning:#e3c05f;--color-danger:#f09090;--color-ai-bg:#1e1b3a;--color-ai-border:#4c43a0;--color-ai-text:#cfc7ff;--color-focus-inner:#0e1b26;--color-focus-outer:#f3c623;--shadow-sm:none;--shadow-md:0 4px 14px #00000073;--shadow-lg:0 14px 40px #0000008c}html[data-theme=dark]{--subject-NOR-tint:#16313f;--subject-NOR-ink:#a9d3f0;--subject-NOR-line:#527c99;--subject-MAT-tint:#10312c;--subject-MAT-ink:#8fd9cd;--subject-MAT-line:#467f75;--subject-ENG-tint:#2a1f38;--subject-ENG-ink:#d3b4ea;--subject-ENG-line:#7a639c;--subject-NAT-tint:#12301f;--subject-NAT-ink:#94ddb2;--subject-NAT-line:#467f5e;--subject-SAF-tint:#2c2612;--subject-SAF-ink:#e0ce8a;--subject-SAF-line:#7b6f44;--subject-KRLE-tint:#331c29;--subject-KRLE-ink:#eda9c6;--subject-KRLE-line:#8e6078;--subject-KRO-tint:#34210f;--subject-KRO-ink:#f0b183;--subject-KRO-line:#8c6742;--subject-KOH-tint:#331717;--subject-KOH-ink:#f0a3a3;--subject-KOH-line:#915b5b;--subject-MOH-tint:#2a2a12;--subject-MOH-ink:#d8d48a;--subject-MOH-line:#767447}html[data-theme=dark] [class*=chip-solid-]{color:#0e1b26}html[data-theme=high-contrast]{--color-warm-bg:#fff;--color-surface:#fff;--color-surface-raised:#fff;--color-heading:#000;--color-body:#000;--color-muted:#1a1a1a;--color-subtle:#1a1a1a;--color-border:#000;--color-border-strong:#000;--color-card-border:#000;--color-primary:#002b45;--color-primary-light:#003d73;--color-accent-strong:#7a2e00}html[data-theme=high-contrast] a{font-weight:700;text-decoration:underline}html[data-theme=high-contrast] .chip,html[data-theme=high-contrast] .status-pill,html[data-theme=high-contrast] .field-input,html[data-theme=high-contrast] button{border:2px solid}html[data-theme=high-contrast] [class*=chip-]{color:#000;background:#fff;border-color:#000}html[data-theme=high-contrast] :focus-visible{box-shadow:0 0 0 3px #000,0 0 0 6px #f3c623}@media(prefers-contrast:more){html:not([data-theme]){--color-muted:#2a3742;--color-border:#6b7c8a}}@keyframes lkfade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes lkdrawer{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.view-fade{animation:.25s lkfade}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.lk-nav-item[aria-current=page]{background:var(--color-navy-900);border-left:4px solid var(--color-state-active);color:#fff;font-weight:700}.lk-sidebar{width:230px}.lk-topbar{display:none}@media(max-width:860px){.lk-topbar{align-items:center;gap:var(--space-3);z-index:var(--z-sticky);background:var(--color-primary);color:#fff;height:56px;padding:0 14px;display:flex;position:sticky;top:0}.lk-sidebar{z-index:var(--z-sidebar-mobile);width:min(280px,84vw);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.lk-sidebar[data-open=true]{transform:none}.lk-sidebar-scrim{z-index:var(--z-scrim);background:#12293e80;position:fixed;top:0;right:0;bottom:0;left:0}}.scrim{z-index:var(--z-scrim);background:#12293e73;animation:.2s ease-out fadeIn;position:fixed;top:0;right:0;bottom:0;left:0}.drawer{background:var(--color-surface-raised);width:560px;max-width:100vw;z-index:var(--z-drawer);flex-direction:column;animation:.28s lkdrawer;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-12px 0 32px #12293e38}@media(max-width:620px){.drawer{width:100vw}}.lk-scroll::-webkit-scrollbar{width:8px;height:8px}.lk-scroll::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:8px}.toast{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-lg);font-size:var(--text-sm);z-index:var(--z-toast);border-radius:999px;padding:12px 22px;font-weight:500;animation:.25s ease-out forwards toastIn;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(8px)}@keyframes toastIn{to{transform:translate(-50%)translateY(0)}}.goal-popover{background:var(--color-surface-raised);border-radius:var(--radius-lg);width:560px;max-width:92vw;max-height:80vh;box-shadow:var(--shadow-lg);z-index:var(--z-popover);flex-direction:column;animation:.18s ease-out popIn;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}@keyframes popIn{0%{opacity:0;transform:translate(-50%,-48%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.couple-badge{font-size:var(--text-xs);color:var(--color-couple-strong);background:var(--color-couple-bg);border:1px solid var(--color-couple-border);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-weight:600;display:inline-flex}.ai-panel{background:var(--color-ai-bg);border:1px solid var(--color-ai-border);border-radius:8px;padding:12px;animation:.2s lkfade}@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-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@page{size:A4 portrait;margin:14mm 12mm 16mm}.print-only{display:none}@media print{html{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}body{background:#fff;font-size:10pt;line-height:1.45}.no-print{display:none!important}.print-only{display:block}*{box-shadow:none!important}.print-root{display:block!important;min-height:0!important}.print-page{max-width:none!important;margin:0!important;padding:0!important}.chip{font-size:8.5pt}.print-header{display:flex;align-items:flex-end;justify-content:space-between;gap:8mm;border-bottom:1.5pt solid var(--color-primary);padding-bottom:2.5mm;margin-bottom:5mm}.print-header h1{font-size:16pt;line-height:1.15;font-weight:700;color:var(--color-primary);margin:0}.print-header-sub{font-size:10pt;color:var(--color-muted);margin-top:1mm}.print-header-meta{flex:none;text-align:right;font-size:8.5pt;line-height:1.5;color:var(--color-muted)}.print-header-meta strong{display:block;font-size:9.5pt;color:var(--color-body)}.print-footer{margin-top:6mm;padding-top:2mm;border-top:.5pt solid #ccc;font-size:7.5pt;color:#777}.print-section{margin-top:5mm;break-inside:avoid;page-break-inside:avoid}.print-section-title{font-size:11pt;font-weight:700;color:var(--color-primary);border-bottom:.5pt solid var(--color-border-strong);padding-bottom:1mm;margin:0 0 2.5mm}.print-field{margin-top:2.5mm}.print-field-label{font-size:7.5pt;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted);margin-bottom:.8mm}.print-text{font-size:9.5pt;white-space:pre-wrap;margin:0}.print-list{margin:0;padding-left:5mm;font-size:9.5pt}.print-list li{margin-bottom:.8mm}.print-empty{font-size:9pt;font-style:italic;color:#8a8a8a}.print-mono{font-family:var(--font-family-mono);font-size:8pt;color:var(--color-muted)}.print-subject+.print-subject{break-before:page;page-break-before:always}.print-subject-head{display:flex;align-items:baseline;gap:3mm;border-left:3pt solid var(--color-primary);padding:1mm 0 1mm 3mm;margin:4mm 0 3mm}.print-subject-head h2{font-size:13pt;font-weight:700;margin:0}.print-subject-head span{font-size:9.5pt;color:var(--color-muted)}.print-period{break-inside:avoid;page-break-inside:avoid;border:.75pt solid var(--color-card-border);border-left-width:2.5pt;border-radius:1.5mm;padding:3mm 3.5mm;margin-bottom:3mm}.print-period-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:3mm;font-size:8.5pt;color:var(--color-muted);margin-bottom:1.5mm}.print-period-weeks{font-family:var(--font-family-mono);font-size:9pt;font-weight:700;color:var(--color-primary)}.print-period h3{font-size:11.5pt;font-weight:700;margin:0 0 1.5mm}.print-tag{display:inline-block;border:.5pt solid var(--color-border-strong);border-radius:1mm;padding:.3mm 1.5mm;font-size:8pt}.print-couple{font-size:8.5pt;font-weight:600;color:var(--color-success)}.print-goal-id{font-family:var(--font-family-mono);font-size:7.5pt;color:#8a8a8a;margin-left:1.5mm}.print-resource-url{font-family:var(--font-family-mono);font-size:8pt;color:var(--color-muted);word-break:break-all}.print-band{margin-bottom:6mm;break-inside:avoid;page-break-inside:avoid}.print-band+.print-band{break-before:page;page-break-before:always}.print-band-title{font-size:10pt;font-weight:700;color:var(--color-primary);margin:0 0 1.5mm}.print-year{width:100%;border-collapse:collapse;table-layout:fixed}.print-year thead{display:table-header-group}.print-year th,.print-year td{border:.5pt solid #d8d8d8;padding:.8mm .6mm;vertical-align:middle;text-align:center;overflow:hidden}.print-year thead th{font-family:var(--font-family-mono);font-size:7pt;font-weight:700;color:var(--color-muted);background:#f4f6f8}.print-year-subject{width:24mm;font-family:var(--font-family-mono);font-size:8pt;font-weight:700;text-align:left!important;padding-left:1.5mm!important}.print-year-block{font-size:7.5pt;font-weight:600;white-space:nowrap;text-overflow:ellipsis;line-height:1.3}.print-holiday{background:#eceff1}.print-year tbody tr{break-inside:avoid;page-break-inside:avoid}.print-band-list{margin:2mm 0 0;padding:0;list-style:none;font-size:8pt;columns:2;column-gap:8mm}.print-band-list li{margin-bottom:.8mm;break-inside:avoid;page-break-inside:avoid}.print-band-list strong{font-family:var(--font-family-mono);font-size:7.5pt}.print-timeplan{width:100%;border-collapse:collapse;table-layout:fixed}.print-timeplan thead{display:table-header-group}.print-timeplan th,.print-timeplan td{border:.5pt solid #ccc;vertical-align:top;text-align:left;padding:1.5mm 2mm;font-size:8.5pt}.print-timeplan thead th{background:#f2f2f2;font-size:9pt;text-align:center}.print-timeplan tbody tr{break-inside:avoid;page-break-inside:avoid}.print-slot-num{width:18mm;font-family:var(--font-family-mono);font-size:8pt;font-weight:700;color:var(--color-primary);background:#f8f9fa}.print-slot-num span{display:block;font-weight:500;color:var(--color-muted)}.print-slot-title{font-weight:700}.print-slot-detail{margin-top:.8mm;font-size:8pt;color:#444}.print-slot-other{margin-top:1mm;padding-top:1mm;border-top:.5pt dashed #ddd;font-size:7.5pt;font-style:italic;color:#666}.print-slot{margin-bottom:2mm;padding-bottom:2mm;border-bottom:.5pt dashed #ddd}.print-slot:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.print-week-item{break-inside:avoid;page-break-inside:avoid;border-bottom:.5pt solid #e4e4e4;padding:2mm 0}.print-week-item:last-child{border-bottom:0}.print-week-subject{font-size:10pt;font-weight:700;color:var(--color-primary)}.print-week-title{font-size:9.5pt;font-weight:600}.print-notes{margin-top:6mm;border:.75pt solid var(--color-border-strong);border-radius:1.5mm;padding:3mm;min-height:22mm;break-inside:avoid;page-break-inside:avoid}.print-notes-label{font-size:8pt;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.lk-print-landscape .print-header h1{font-size:14pt}.lk-print-landscape body{font-size:9.5pt}}
