@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-border-style:solid}}}@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;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.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}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}}:root{--ink:#17211d;--ink-soft:#24342d;--paper:#f3f5f2;--surface:#fff;--surface-alt:#e9eeea;--line:#d5ddd7;--line-strong:#b8c4bc;--text:#1d2924;--muted:#66736c;--green:#2f7d5a;--green-dark:#205f44;--green-light:#d7eadf;--lime:#c8e96b;--amber:#d59a2b;--amber-light:#f4e5c7;--coral:#c85d4a;--blue:#3c6f8e;--shadow:0 18px 50px #17211d29}*{box-sizing:border-box;letter-spacing:0}html{background:var(--paper);color:var(--text)}body{background:var(--paper);min-width:320px;color:var(--text);text-rendering:optimizelegibility;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2f7d5a47}button:disabled{cursor:not-allowed;opacity:.52}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:30;background:var(--ink);color:#f3f7f4;border-right:1px solid #304139;flex-direction:column;width:248px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.brand-block{border-bottom:1px solid #304139;align-items:center;min-height:76px;padding:16px 18px;display:flex}.brand-mark{background:var(--lime);width:38px;height:38px;color:var(--ink);border-radius:5px;flex:0 0 38px;place-items:center;margin-right:11px;font-size:.79rem;font-weight:850;display:grid}.brand-block>div{min-width:0}.brand-block strong,.brand-block span{display:block}.brand-block strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;line-height:1.2;overflow:hidden}.brand-block div span{color:#9baca3;margin-top:3px;font-size:.72rem}.sidebar-close{color:#dbe5df;margin-left:auto;display:none}.primary-nav{flex-direction:column;flex:1;gap:4px;padding:24px 12px;display:flex}.nav-label{color:#82958b;text-transform:uppercase;padding:0 12px 10px;font-size:.65rem;font-weight:760}.nav-item{color:#aebdb5;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;grid-template-columns:22px 1fr auto;align-items:center;width:100%;min-height:42px;padding:0 12px;display:grid}.nav-item:hover{color:#fff;background:#22332b}.nav-item.active{color:#fff;box-shadow:inset 3px 0 0 var(--lime);background:#2b4036}.nav-item span:not(.nav-count){padding-left:7px;font-size:.84rem;font-weight:650}.nav-count{background:var(--lime);min-width:22px;color:var(--ink);text-align:center;border-radius:999px;padding:3px 6px;font-size:.65rem;font-weight:800}.sidebar-program{background:#202f29;border:1px solid #34463e;border-radius:6px;margin:0 12px 14px;padding:16px}.sidebar-program-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.sidebar-program-head span{color:#9fb0a7;font-size:.71rem}.sidebar-program-head strong{font-size:.78rem}.progress-track{background:#dbe2dd;border-radius:999px;width:100%;height:6px;position:relative;overflow:hidden}.progress-track span{background:var(--green);border-radius:inherit;height:100%;transition:width .24s;display:block}.progress-track.dark{background:#415148}.progress-track.dark span{background:var(--lime)}.sidebar-program dl{gap:7px;margin:15px 0 0;display:grid}.sidebar-program dl div{justify-content:space-between;gap:8px;display:flex}.sidebar-program dt,.sidebar-program dd{margin:0;font-size:.68rem}.sidebar-program dt{color:#82958b}.sidebar-program dd{color:#dce5e0;font-weight:680}.sidebar-profile{border-top:1px solid #304139;grid-template-columns:34px 1fr 20px;align-items:center;gap:10px;min-height:66px;padding:12px 16px;display:grid}.avatar{color:#fff;background:#365347;border:1px solid #4f6e60;border-radius:50%;place-items:center;width:34px;height:34px;font-size:.69rem;font-weight:800;display:grid}.sidebar-profile div strong,.sidebar-profile div span{display:block}.sidebar-profile div strong{font-size:.76rem}.sidebar-profile div span{color:#8da097;margin-top:3px;font-size:.65rem}.sidebar-profile>svg{color:var(--lime)}.app-content{min-width:0}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;justify-content:space-between;align-items:center;min-height:64px;padding:0 34px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:12px;display:flex}.topbar-left div span,.topbar-left div strong{display:block}.topbar-kicker{color:var(--muted);text-transform:uppercase;margin-bottom:2px;font-size:.63rem;font-weight:720}.topbar-left strong{font-size:.92rem}.topbar-status{color:var(--muted);align-items:center;gap:9px;font-size:.75rem;display:flex}.topbar-status strong{color:var(--text)}.live-dot{background:var(--green);border:2px solid var(--green-light);border-radius:50%;width:8px;height:8px}.icon-button{width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;place-items:center;padding:0;display:inline-grid}.icon-button:hover{border-color:var(--line);background:#66736c1a}.mobile-menu{display:none}main{min-height:calc(100vh - 64px)}.mission-band{background:var(--ink-soft);color:#f5f8f6;border-bottom:5px solid var(--lime);grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:48px;padding:46px 48px 42px;display:grid}.mission-copy{max-width:760px}.eyebrow{color:#b9c8c0;text-transform:uppercase;align-items:center;gap:9px;font-size:.69rem;font-weight:760;display:flex}.eyebrow span{background:var(--lime);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #c8e96b24}.mission-band h1{max-width:720px;margin:16px 0 13px;font-size:2.85rem;font-weight:790;line-height:1.03}.mission-copy>p{color:#bac8c1;max-width:680px;margin:0;font-size:1rem;line-height:1.65}.mission-facts{flex-wrap:wrap;gap:16px 24px;margin:24px 0 28px;display:flex}.mission-facts span{color:#dce5e0;align-items:center;gap:7px;font-size:.75rem;display:inline-flex}.mission-facts svg{color:var(--lime)}.primary-button,.secondary-button{cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:.76rem;font-weight:760;display:inline-flex}.primary-button{background:var(--lime);border:1px solid var(--lime);color:var(--ink)}.primary-button:hover:not(:disabled){background:#daf58a;border-color:#daf58a}.secondary-button{background:var(--surface);border:1px solid var(--line-strong);color:var(--text)}.secondary-button:hover{background:var(--surface-alt);border-color:#8fa096}.secondary-button.success{color:var(--green-dark);border-color:#8eb49f}.mission-metrics{border-left:1px solid #476056;align-self:stretch;padding:8px 0 0 38px}.metric-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:13px;display:flex}.metric-heading span{color:#a9bbb1;font-size:.72rem}.metric-heading strong{color:var(--lime);font-size:1.55rem}.progress-track.large{background:#42574d;height:8px}.progress-track.large span{background:var(--lime)}.metric-grid{border-top:1px solid #42574d;border-left:1px solid #42574d;grid-template-columns:1fr 1fr;margin-top:25px;display:grid}.metric-grid div{border-bottom:1px solid #42574d;border-right:1px solid #42574d;min-width:0;padding:15px 14px}.metric-grid span,.metric-grid strong{display:block}.metric-grid span{color:#92a69b;text-transform:uppercase;margin-bottom:5px;font-size:.64rem}.metric-grid strong{overflow-wrap:anywhere;color:#edf3ef;font-size:.8rem}.xp-note{color:#a9bbb1;align-items:center;gap:10px;margin-top:20px;font-size:.72rem;display:flex}.xp-note svg{color:var(--amber)}.xp-note strong{color:#f0f4f2}.campaign-strip,.sprint-section,.page-section{padding:34px 48px}.campaign-strip{background:var(--surface);border-bottom:1px solid var(--line)}.sprint-section,.page-section{padding-bottom:64px}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.inline-heading{margin-bottom:28px}.section-label{color:var(--green-dark);text-transform:uppercase;margin-bottom:7px;font-size:.65rem;font-weight:800;display:block}.section-heading h2,.page-intro h1{color:var(--text);margin:0;font-size:1.35rem;line-height:1.2}.section-meta{color:var(--muted);flex:none;font-size:.72rem}.campaign-map{grid-template-columns:repeat(6,minmax(110px,1fr));padding-bottom:4px;display:grid;overflow-x:auto}.campaign-node{grid-template-columns:34px minmax(0,1fr);min-width:132px;display:grid}.node-rail{align-items:center;min-width:0;display:flex}.node-icon{z-index:2;background:var(--surface-alt);border:1px solid var(--line-strong);color:#718078;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid;position:relative}.campaign-node.active .node-icon{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 0 0 5px var(--green-light)}.campaign-node.planned .node-icon{background:var(--amber-light);color:#875f14;border-color:#d5aa5f}.node-line{background:var(--line-strong);width:calc(100% + 98px);height:1px;display:block}.node-copy{min-width:0;padding:1px 8px 0 9px}.node-copy span,.node-copy strong,.node-copy small{display:block}.node-copy span{color:var(--muted);font-size:.58rem;font-weight:780}.node-copy strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:4px 0;font-size:.74rem;overflow:hidden}.node-copy small{color:var(--muted);font-size:.62rem}.task-list{background:var(--surface);border:1px solid var(--line);border-radius:6px}.task-row{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) 54px 98px;align-items:center;gap:17px;min-height:128px;padding:18px 20px;display:grid}.task-row:last-child{border-bottom:0}.task-row.completed{background:#f7faf8}.task-index{background:var(--surface-alt);border:1px solid var(--line);width:40px;height:40px;color:var(--muted);border-radius:5px;place-items:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:760;display:grid}.completed .task-index{background:var(--green-light);color:var(--green-dark);border-color:#a8cdb8}.task-copy{min-width:0}.task-tags{flex-wrap:wrap;gap:12px;margin-bottom:6px;display:flex}.task-tags span{color:var(--green-dark);text-transform:uppercase;font-size:.61rem;font-weight:780}.task-tags span+span{color:var(--muted);font-weight:650}.task-copy h3{margin:0 0 6px;font-size:.95rem}.task-copy p{max-width:780px;color:var(--muted);margin:0;font-size:.76rem;line-height:1.5}.task-reward{text-align:center}.task-reward span,.task-reward small{display:block}.task-reward span{color:var(--amber);font-size:.92rem;font-weight:820}.task-reward small{color:var(--muted);margin-top:2px;font-size:.55rem;font-weight:780}.page-section{max-width:1440px;margin:0 auto}.page-intro{border-bottom:1px solid var(--line);padding:34px 0 30px}.page-intro h1{font-size:2rem}.page-intro p{max-width:660px;color:var(--muted);margin:10px 0 0;font-size:.87rem;line-height:1.6}.campaign-summary{background:var(--ink-soft);color:#fff;border-bottom:4px solid var(--lime);grid-template-columns:repeat(4,1fr);display:grid}.campaign-summary div{border-right:1px solid #42574d;padding:20px 24px}.campaign-summary div:last-child{border-right:0}.campaign-summary span,.campaign-summary strong{display:block}.campaign-summary span{color:#9fb2a8;text-transform:uppercase;margin-bottom:6px;font-size:.64rem}.campaign-summary strong{font-size:.92rem}.module-list{background:var(--surface);border:1px solid var(--line);border-radius:6px;margin-top:30px}.module-row{border-bottom:1px solid var(--line);grid-template-columns:42px 46px minmax(0,1fr) 240px 24px;align-items:center;gap:17px;min-height:154px;padding:22px 24px;display:grid}.module-row:last-child{border-bottom:0}.module-row.locked{color:#617068}.module-number{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.7rem;font-weight:800}.module-icon{background:var(--surface-alt);width:42px;height:42px;color:var(--green-dark);border-radius:5px;place-items:center;display:grid}.module-row.active .module-icon{background:var(--green);color:#fff}.module-row.planned .module-icon{background:var(--amber-light);color:#825a12}.module-main{min-width:0}.module-title-line{align-items:center;gap:12px;display:flex}.module-title-line h2{color:var(--text);margin:0;font-size:1rem}.module-title-line span{background:var(--surface-alt);color:var(--muted);text-transform:uppercase;border-radius:3px;padding:4px 7px;font-size:.58rem;font-weight:760}.module-row.active .module-title-line span{background:var(--green-light);color:var(--green-dark)}.module-main p{max-width:760px;color:var(--muted);margin:8px 0 11px;font-size:.75rem;line-height:1.5}.skill-list{flex-wrap:wrap;gap:6px;display:flex}.skill-list span{border:1px solid var(--line);color:#59665f;background:#f1f4f2;border-radius:3px;padding:4px 7px;font-size:.61rem}.module-stats{grid-template-columns:1.4fr .8fr .7fr;gap:12px;margin:0;display:grid}.module-stats div{min-width:0}.module-stats dt,.module-stats dd{margin:0}.module-stats dt{color:var(--muted);text-transform:uppercase;margin-bottom:5px;font-size:.58rem}.module-stats dd{color:var(--text);font-size:.7rem;font-weight:720}.evidence-list{background:var(--surface);border:1px solid var(--line);border-radius:6px;margin-top:30px}.evidence-row{border-bottom:1px solid var(--line);grid-template-columns:40px minmax(0,1fr) 100px;align-items:center;gap:18px;min-height:142px;padding:22px 24px;display:grid}.evidence-row:last-child{border-bottom:0}.evidence-status{background:var(--green-light);width:36px;height:36px;color:var(--green-dark);border-radius:50%;place-items:center;display:grid}.evidence-copy span{color:var(--green-dark);text-transform:uppercase;font-size:.62rem;font-weight:760}.evidence-copy h2{margin:6px 0;font-size:1rem}.evidence-copy p{max-width:760px;color:var(--muted);margin:0;font-size:.75rem;line-height:1.5}.evidence-copy a{color:var(--green-dark);margin-top:8px;font-size:.72rem;font-weight:730;display:inline-block}.empty-state{background:var(--surface);border:1px dashed var(--line-strong);text-align:center;border-radius:6px;place-items:center;min-height:360px;margin-top:30px;padding:40px;display:grid}.empty-state>span{background:var(--green-light);width:58px;height:58px;color:var(--green-dark);border-radius:50%;place-items:center;display:grid}.empty-state h2{margin:18px 0 4px;font-size:1rem}.empty-state p{color:var(--muted);margin:0;font-size:.77rem}.dialog-backdrop{z-index:80;background:#0d1612b3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.task-dialog{background:var(--surface);width:min(720px,100%);max-height:min(820px,100vh - 48px);box-shadow:var(--shadow);border-radius:7px;flex-direction:column;display:flex;overflow:hidden}.dialog-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding:22px 24px 18px;display:flex}.dialog-header span{color:var(--green-dark);text-transform:uppercase;font-size:.62rem;font-weight:780}.dialog-header h2{margin:6px 0 0;font-size:1.35rem}.dialog-body{padding:24px;overflow-y:auto}.dialog-description{color:var(--muted);margin:0 0 22px;font-size:.86rem;line-height:1.6}.briefing-block,.acceptance-block{border-top:1px solid var(--line);padding:16px 0}.briefing-block p{margin:0;font-size:.8rem;line-height:1.55}.acceptance-block ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.acceptance-block li{color:#4f5d56;align-items:flex-start;gap:9px;font-size:.76rem;line-height:1.45;display:flex}.acceptance-block li svg{color:var(--green);flex:none;margin-top:5px}.evidence-form{border-top:1px solid var(--line);padding-top:17px}.evidence-form label{color:var(--text);margin:0 0 7px;font-size:.7rem;font-weight:740;display:block}.evidence-form label span{color:var(--muted);font-weight:550}.evidence-form textarea,.evidence-form input{border:1px solid var(--line-strong);width:100%;color:var(--text);background:#fbfcfb;border-radius:5px;display:block}.evidence-form textarea{resize:vertical;min-height:118px;padding:11px 12px;font-size:.76rem;line-height:1.5}.evidence-form input{height:40px;padding:0 12px;font-size:.75rem}.evidence-form textarea:focus,.evidence-form input:focus{border-color:var(--green)}.field-caption{color:var(--muted);justify-content:space-between;margin:5px 0 16px;font-size:.59rem;display:flex}.dialog-footer{border-top:1px solid var(--line);background:#f3f6f4;justify-content:space-between;align-items:center;gap:20px;padding:16px 24px;display:flex}.dialog-reward{color:var(--muted);align-items:center;gap:9px;font-size:.7rem;display:flex}.dialog-reward svg{color:var(--amber)}.dialog-reward strong{color:var(--text)}.nav-backdrop{display:none}@media (max-width:1120px){.mission-band{grid-template-columns:minmax(0,1fr) 330px;gap:32px;padding-left:36px;padding-right:36px}.campaign-strip,.sprint-section,.page-section{padding-left:36px;padding-right:36px}.module-row{grid-template-columns:38px 42px minmax(0,1fr) 190px 20px;gap:12px;padding-left:18px;padding-right:18px}}@media (max-width:960px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{transition:transform .18s;position:fixed;left:0;transform:translate(-102%)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-close,.mobile-menu{display:inline-grid}.nav-backdrop{z-index:25;background:#0d161280;border:0;width:100%;height:100%;padding:0;display:block;position:fixed;inset:0}.mission-band h1{font-size:2.45rem}}@media (max-width:760px){.topbar{min-height:58px;padding:0 18px}.topbar-status span:last-child{display:none}.mission-band{grid-template-columns:1fr;gap:34px;padding:34px 22px 30px}.mission-band h1{font-size:2.08rem}.mission-copy>p{font-size:.9rem}.mission-metrics{border-top:1px solid #476056;border-left:0;padding:25px 0 0}.campaign-strip,.sprint-section,.page-section{padding-left:18px;padding-right:18px}.section-heading{flex-direction:column;align-items:flex-start;gap:8px}.campaign-map{grid-template-columns:repeat(6,138px)}.task-row{grid-template-columns:42px minmax(0,1fr) 72px;gap:12px;min-height:0;padding:18px 14px}.task-reward{grid-area:2/1}.task-row .secondary-button{grid-column:2/4;width:100%}.campaign-summary{grid-template-columns:1fr 1fr}.campaign-summary div:nth-child(2){border-right:0}.campaign-summary div:nth-child(-n+2){border-bottom:1px solid #42574d}.module-row{grid-template-columns:34px 42px minmax(0,1fr) 20px;align-items:start;min-height:0;padding:20px 14px}.module-stats{grid-column:3/5;grid-template-columns:repeat(3,1fr);width:100%;padding-top:8px}.evidence-row{grid-template-columns:36px minmax(0,1fr);align-items:start;padding:20px 16px}.evidence-row .secondary-button{grid-column:2;width:fit-content}.dialog-backdrop{align-items:end;padding:0}.task-dialog{border-radius:7px 7px 0 0;width:100%;max-height:94vh}.dialog-footer{flex-direction:column;align-items:stretch}.dialog-footer .primary-button{width:100%}}@media (max-width:470px){.mission-band h1{font-size:1.78rem}.mission-facts{flex-direction:column;align-items:flex-start;gap:9px}.metric-grid,.campaign-summary{grid-template-columns:1fr}.campaign-summary div,.campaign-summary div:nth-child(2){border-bottom:1px solid #42574d;border-right:0}.campaign-summary div:last-child{border-bottom:0}.module-row{grid-template-columns:32px minmax(0,1fr) 20px}.module-icon{display:none}.module-stats{grid-column:2/4}.task-row{grid-template-columns:38px minmax(0,1fr)}.task-reward{grid-column:1}.task-row .secondary-button{grid-column:2}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.topbar-actions{align-items:center;gap:12px;display:flex}.sync-indicator{min-height:28px;color:var(--green-dark);white-space:nowrap;background:#edf3ef;border:1px solid #d2ddd6;border-radius:4px;align-items:center;gap:6px;padding:0 9px;font-size:.65rem;font-weight:720;display:inline-flex}.sync-indicator.local,.sync-indicator.offline{color:#765616;background:#f8f1e5;border-color:#ead9b7}.profile-action{color:#aebdb5;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:32px;height:32px;margin-left:auto;padding:0;display:grid}.profile-action:hover{color:#fff;background:#2b4036}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-shell{background:#e9eeea;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;width:min(100%,420px);padding:34px;box-shadow:0 24px 70px #17211d1f}.login-brand{background:var(--lime);width:48px;height:48px;color:var(--ink);border-radius:5px;place-items:center;margin-bottom:24px;display:grid}.login-panel h1{margin:7px 0 0;font-size:1.8rem;line-height:1.2}.login-panel>p{color:var(--muted);margin:10px 0 24px;font-size:.82rem;line-height:1.6}.login-panel form{gap:9px;display:grid}.login-panel label{color:#44534c;margin-top:7px;font-size:.69rem;font-weight:720}.login-panel input{border:1px solid var(--line-strong);width:100%;min-height:44px;color:var(--text);background:#fbfcfb;border-radius:4px;padding:0 12px;font-size:.83rem}.login-panel input:focus{border-color:var(--green)}.login-error{border-left:3px solid var(--coral);color:#833a2e;background:#f9e9e5;margin:8px 0 0;padding:10px 12px;font-size:.7rem;line-height:1.45}.login-submit{width:100%;margin-top:13px}@media (max-width:720px){.topbar-actions{gap:7px}.sync-indicator{color:#0000;justify-content:center;width:29px;padding:0;font-size:0;overflow:hidden}.sync-indicator svg{color:currentColor}.sync-indicator.local svg,.sync-indicator.offline svg{color:#765616}.sync-indicator.loading svg,.sync-indicator.saving svg,.sync-indicator.synced svg{color:var(--green-dark)}}@media (max-width:480px){.login-shell{background:var(--surface);align-items:stretch;padding:0}.login-panel{width:100%;min-height:100vh;padding:max(30px, env(safe-area-inset-top)) 24px max(30px, env(safe-area-inset-bottom));box-shadow:none;border:0}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
.mission-actions{flex-wrap:wrap;gap:10px;display:flex}.dark-secondary-button,.text-button{cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:.76rem;font-weight:760;display:inline-flex}.dark-secondary-button{color:#edf3ef;background:0 0;border:1px solid #63776d}.dark-secondary-button:hover{background:#31463c;border-color:#8ba096}.text-button{min-height:34px;color:var(--green-dark);background:0 0;border:0;padding:0 8px}.text-button:hover:not(:disabled){background:var(--green-light)}.learning-view{background:#eef2ee;min-height:calc(100vh - 64px)}.learning-header{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:36px;padding:34px 42px 30px;display:flex}.learning-header>div:first-child{max-width:720px}.learning-header h1{margin:0;font-size:1.85rem;line-height:1.15}.learning-header p{color:var(--muted);margin:10px 0 0;font-size:.84rem;line-height:1.6}.learning-header-stats{border:1px solid var(--line);grid-template-columns:repeat(3,minmax(92px,1fr));min-width:340px;display:grid}.learning-header-stats div{border-right:1px solid var(--line);padding:13px 14px}.learning-header-stats div:last-child{border-right:0}.learning-header-stats strong,.learning-header-stats span{display:block}.learning-header-stats strong{margin-bottom:4px;font-size:.86rem}.learning-header-stats span{color:var(--muted);font-size:.6rem;line-height:1.25}.learning-layout{grid-template-columns:284px minmax(0,1fr);align-items:start;gap:22px;max-width:1580px;margin:0 auto;padding:24px;display:grid}.lesson-outline{background:var(--surface);border:1px solid var(--line);border-radius:6px;max-height:calc(100vh - 112px);position:sticky;top:88px;overflow-y:auto}.outline-heading{z-index:2;background:var(--surface);border-bottom:1px solid var(--line);padding:16px;position:sticky;top:0}.outline-heading>div:first-child{justify-content:space-between;gap:12px;margin-bottom:10px;display:flex}.outline-heading span,.outline-heading strong{font-size:.65rem}.outline-heading span{color:var(--muted)}.outline-list{padding:6px}.outline-item{width:100%;min-height:63px;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #edf0ed;border-radius:4px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:8px 9px;display:grid}.outline-item:last-child{border-bottom:0}.outline-item:hover:not(:disabled){background:#f1f5f2}.outline-item.selected{background:var(--green-light);box-shadow:inset 3px 0 0 var(--green)}.outline-item:disabled{color:#7d8982;cursor:default}.outline-number{background:var(--surface-alt);border:1px solid var(--line);width:30px;height:30px;color:var(--muted);border-radius:50%;place-items:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.61rem;font-weight:760;display:grid}.outline-item.selected .outline-number,.outline-item.done .outline-number{background:var(--green);border-color:var(--green);color:#fff}.outline-copy{min-width:0}.outline-copy strong,.outline-copy small{display:block}.outline-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;line-height:1.3;overflow:hidden}.outline-copy small{color:var(--muted);margin-top:4px;font-size:.57rem}.lesson-reader{background:var(--surface);border:1px solid var(--line);border-radius:6px;min-width:0;overflow:hidden}.lesson-title-block{background:var(--ink-soft);color:#f5f8f6;border-bottom:4px solid var(--lime);padding:30px 36px 26px}.lesson-kicker{color:#aebeb6;text-transform:uppercase;justify-content:space-between;align-items:center;gap:16px;font-size:.65rem;font-weight:760;display:flex}.mastered-label{color:var(--lime);align-items:center;gap:6px;display:inline-flex}.lesson-title-block h2{margin:10px 0 8px;font-size:2rem;line-height:1.12}.lesson-title-block>p{color:#b9c8c0;max-width:760px;margin:0;font-size:.86rem;line-height:1.55}.lesson-facts,.practice-facts{flex-wrap:wrap;gap:14px 22px;margin-top:20px;display:flex}.lesson-facts span,.practice-facts span{align-items:center;gap:7px;font-size:.7rem;display:inline-flex}.lesson-facts span{color:#dae4df}.lesson-facts svg{color:var(--lime)}.reader-tabs{border-bottom:1px solid var(--line);background:#f4f6f4;grid-template-columns:repeat(3,1fr);display:grid}.reader-tabs button{border:0;border-right:1px solid var(--line);min-height:48px;color:var(--muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;font-size:.72rem;font-weight:720;display:flex}.reader-tabs button:last-child{border-right:0}.reader-tabs button:hover{color:var(--text)}.reader-tabs button.active{background:var(--surface);color:var(--green-dark);box-shadow:inset 0 -3px 0 var(--green)}.reader-tabs button span{background:var(--surface-alt);color:var(--muted);border-radius:999px;padding:2px 5px;font-size:.56rem}.theory-reader{min-height:620px}.section-stepper{justify-content:center;gap:8px;padding:18px 24px 0;display:flex}.section-stepper button{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);cursor:pointer;background:#f0f3f1;border-radius:50%;place-items:center;padding:0;font-size:.63rem;font-weight:760;display:grid}.section-stepper button.active{border-color:var(--green);box-shadow:0 0 0 3px var(--green-light);color:var(--green-dark)}.section-stepper button.done{background:var(--green);border-color:var(--green);color:#fff}.reading-column{width:min(860px,100%);margin:0 auto;padding:30px 40px 38px}.theory-section-title{margin-bottom:28px}.theory-section-title>span{color:var(--green-dark);text-transform:uppercase;font-size:.63rem;font-weight:780}.theory-section-title h3{margin:8px 0 10px;font-size:1.55rem;line-height:1.2}.theory-section-title p{color:var(--muted);margin:0;font-size:.93rem;line-height:1.7}.theory-blocks{gap:20px;display:grid}.theory-paragraph{color:#35423c;margin:0;font-size:.92rem;line-height:1.78}.theory-callout{border-left:4px solid var(--green);background:#eef5f0;grid-template-columns:28px minmax(0,1fr);gap:11px;padding:16px 18px;display:grid}.theory-callout.warning{border-left-color:var(--amber);background:#fbf4e7}.theory-callout.transfer{border-left-color:var(--blue);background:#edf3f7}.theory-callout>svg{color:var(--green-dark);margin-top:1px}.theory-callout.warning>svg{color:#996812}.theory-callout.transfer>svg{color:var(--blue)}.theory-callout strong{margin-bottom:5px;font-size:.74rem;display:block}.theory-callout p{color:#53615a;margin:0;font-size:.78rem;line-height:1.58}.theory-list{gap:9px;margin:0;padding:4px 0 4px 4px;list-style:none;display:grid}.theory-list li{color:#3f4c46;align-items:flex-start;gap:10px;font-size:.84rem;line-height:1.55;display:flex}.theory-list svg{color:var(--green);flex:none;margin-top:6px}.theory-code{color:#e6eee9;background:#121b17;border:1px solid #2d3c35;border-radius:6px;margin:4px 0;overflow:hidden}.theory-code figcaption{color:#b9c8c0;background:#1e2b25;border-bottom:1px solid #34443c;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:40px;padding:0 14px;font-size:.67rem;display:grid}.theory-code figcaption svg{color:var(--lime)}.theory-code figcaption small{color:#80938a;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.59rem}.theory-code pre{max-width:100%;margin:0;padding:18px;overflow-x:auto}.theory-code code{font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.74rem;line-height:1.65}.theory-table-wrap{border:1px solid var(--line);max-width:100%;overflow-x:auto}.theory-table{border-collapse:collapse;width:100%;min-width:600px;font-size:.72rem}.theory-table th,.theory-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:11px 13px;line-height:1.45}.theory-table th:last-child,.theory-table td:last-child{border-right:0}.theory-table tr:last-child td{border-bottom:0}.theory-table th{color:#445149;text-transform:uppercase;background:#edf1ee;font-size:.62rem}.theory-table td{color:#536159}.theory-flow{border:1px solid var(--line);background:#f5f7f5;margin:2px 0;padding:16px}.theory-flow figcaption{color:var(--muted);text-transform:uppercase;margin-bottom:14px;font-size:.64rem;font-weight:760}.theory-flow>div{grid-template-columns:repeat(5,1fr);display:grid}.flow-step{text-align:center;min-width:0;padding:0 9px;position:relative}.flow-step:after{background:var(--line-strong);content:"";width:16px;height:1px;position:absolute;top:14px;right:-8px}.flow-step:last-child:after{display:none}.flow-step>span{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;margin:0 auto 8px;font-size:.61rem;font-weight:780;display:grid}.flow-step strong,.flow-step small{overflow-wrap:anywhere;display:block}.flow-step strong{font-size:.67rem}.flow-step small{color:var(--muted);margin-top:4px;font-size:.56rem;line-height:1.35}.section-complete-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:22px;margin-top:34px;padding-top:22px;display:flex}.section-complete-row div strong,.section-complete-row div span{display:block}.section-complete-row div strong{font-size:.78rem}.section-complete-row div span{color:var(--muted);margin-top:4px;font-size:.65rem}.knowledge-panel,.practice-panel{width:min(900px,100%);margin:0 auto;padding:34px 40px 42px}.panel-intro{margin-bottom:28px}.panel-intro h3{margin:0;font-size:1.5rem}.panel-intro>p{max-width:680px;color:var(--muted);margin:9px 0 0;font-size:.84rem;line-height:1.6}.check-list{gap:18px;display:grid}.knowledge-check{border:1px solid var(--line);border-radius:6px;padding:20px}.check-number{color:var(--green-dark);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem;font-weight:760}.knowledge-check h4{margin:7px 0 14px;font-size:.9rem;line-height:1.45}.check-options{gap:7px;display:grid}.check-options button{border:1px solid var(--line);color:#45534c;cursor:pointer;text-align:left;background:#f8faf8;border-radius:4px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;min-height:43px;padding:7px 10px;font-size:.75rem;line-height:1.4;display:grid}.check-options button:hover{border-color:#8ea096}.check-options button.correct{color:var(--green-dark);background:#e5f2e9;border-color:#84b49a}.check-options button.incorrect{color:#883e31;background:#faece9;border-color:#d59a8e}.check-options button>span{background:var(--surface);border:1px solid var(--line);border-radius:50%;place-items:center;width:24px;height:24px;font-size:.58rem;font-weight:780;display:grid}.answer-feedback{color:var(--green-dark);background:#eaf4ed;grid-template-columns:22px minmax(0,1fr);gap:8px;margin-top:12px;padding:11px 12px;display:grid}.answer-feedback.incorrect{color:#78540f;background:#fbf2e3}.answer-feedback p{margin:0;font-size:.7rem;line-height:1.5}.lesson-completion{border:1px solid var(--line);background:#f3f6f4;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;margin-top:24px;padding:18px;display:grid}.completion-requirements{flex-wrap:wrap;gap:8px 16px;display:flex}.completion-requirements span{color:var(--muted);align-items:center;gap:6px;font-size:.65rem;display:inline-flex}.completion-requirements span.done{color:var(--green-dark);font-weight:720}.practice-facts{margin-top:16px}.practice-facts span{color:var(--green-dark)}.practice-context{border-left:4px solid var(--blue);background:#edf3f7;padding:16px 18px}.practice-context strong{margin-bottom:5px;font-size:.7rem;display:block}.practice-context p{color:#4f6069;margin:0;font-size:.78rem;line-height:1.55}.practice-steps{counter-reset:none;gap:0;margin:24px 0;padding:0;list-style:none;display:grid}.practice-steps li{border-bottom:1px solid var(--line);grid-template-columns:38px minmax(0,1fr);gap:12px;padding:13px 0;display:grid}.practice-steps li>span{background:var(--ink-soft);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:.62rem;font-weight:780;display:grid}.practice-steps p{color:#47554e;margin:4px 0 0;font-size:.78rem;line-height:1.5}.practice-code{margin:24px 0}.deliverable-box{background:var(--amber-light);border-left:4px solid var(--amber);grid-template-columns:28px minmax(0,1fr);gap:11px;padding:16px 18px;display:grid}.deliverable-box>svg{color:#8b6010}.deliverable-box strong{margin-bottom:5px;font-size:.7rem;display:block}.deliverable-box p{color:#675329;margin:0;font-size:.76rem;line-height:1.5}.references-block{border-top:1px solid var(--line);gap:8px;margin-top:28px;padding-top:20px;display:grid}.references-block>a{border:1px solid var(--line);min-height:48px;color:var(--text);background:#f7f9f7;border-radius:4px;justify-content:space-between;align-items:center;gap:16px;padding:8px 11px;text-decoration:none;display:flex}.references-block>a:hover{border-color:#8fa096}.references-block a strong,.references-block a small{display:block}.references-block a strong{font-size:.7rem}.references-block a small{color:var(--muted);margin-top:3px;font-size:.6rem}.references-block a svg{color:var(--green-dark);flex:none}.lesson-footer-nav{border-top:1px solid var(--line);background:#f4f6f4;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;min-height:56px;padding:8px 22px;display:grid}.lesson-footer-nav>span{color:var(--muted);font-size:.62rem}.lesson-footer-nav .text-button:last-child{justify-self:end}@media (max-width:1160px){.learning-header{flex-direction:column;align-items:flex-start}.learning-header-stats{width:100%}.learning-layout{grid-template-columns:244px minmax(0,1fr)}}@media (max-width:880px){.learning-header{padding:28px 22px 24px}.learning-layout{grid-template-columns:1fr;padding:16px}.lesson-outline{max-height:none;position:static}.outline-list{grid-template-columns:1fr 1fr;display:grid}.outline-item{border-right:1px solid #edf0ed}}@media (max-width:640px){.learning-header-stats{grid-template-columns:1fr;min-width:0}.learning-header-stats div{border-right:0;border-bottom:1px solid var(--line)}.learning-header-stats div:last-child{border-bottom:0}.outline-list{grid-template-columns:1fr}.lesson-title-block{padding:25px 20px 22px}.lesson-title-block h2{font-size:1.55rem}.reader-tabs button{flex-direction:column;gap:3px;min-height:58px;font-size:.63rem}.reader-tabs button span{display:none}.reading-column,.knowledge-panel,.practice-panel{padding-left:18px;padding-right:18px}.theory-section-title h3{font-size:1.3rem}.theory-paragraph{font-size:.86rem}.theory-flow>div{grid-template-columns:1fr;gap:8px}.flow-step{text-align:left;grid-template-columns:30px minmax(0,1fr);gap:2px 9px;padding:4px 0;display:grid}.flow-step:after{display:none}.flow-step>span{grid-row:1/3;margin:0}.flow-step small{margin-top:0}.section-complete-row{flex-direction:column;align-items:stretch}.section-complete-row .primary-button,.section-complete-row .secondary-button{width:100%}.lesson-completion{grid-template-columns:1fr}.lesson-completion .primary-button,.lesson-completion .secondary-button{width:100%}.lesson-footer-nav{grid-template-columns:1fr 1fr}.lesson-footer-nav>span{display:none}}
