/*! tailwindcss v4.3.3 | 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)))){*,::backdrop,:after,:before{--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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--spacing:.25rem;--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.block{display:block}.flex{display:flex}.h-1{height:var(--spacing)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-full{height:100%}.min-h-full{min-height:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.border{border-style:var(--tw-border-style);border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.module-card{min-height:190px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}.module-card:hover{border-color:#bcd1ef;transform:translateY(-2px);box-shadow:0 11px 28px #22355714}.module-card-disabled{box-shadow:none;background:#fafbfd}.module-card-disabled:hover{border-color:var(--line);box-shadow:none;transform:none}.module-status{color:#8d99aa;background:#eef1f5;border-radius:5px;align-items:center;margin-top:16px;padding:5px 8px;font-size:9px;font-weight:700;display:inline-flex}.mind-map-source-note a{color:#7187a5;text-underline-offset:2px;align-items:center;gap:3px;text-decoration:underline;display:inline-flex}.match-row.progress-met{background:#f1fbf8;border-color:#d2efe6}.mind-map-source-note{color:#a0aaba;margin-top:7px;font-size:9px;line-height:1.5}.gesp-level-progress{color:#a0aaba;text-align:right;flex:none;max-width:72px;line-height:1.25;white-space:normal!important;font-size:8px!important}.gesp-level-progress.met{color:#45aa88;font-weight:700}.mind-map-objective{color:#718098;max-width:620px;margin-top:6px;font-size:11px;line-height:1.5}.mind-map-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.mind-map-papers-button{min-height:32px;padding:0 10px;font-size:10px}.gesp-level-card{position:relative}.gesp-level-tooltip{z-index:20;color:#687991;text-align:left;background:#fff;border:1px solid #dfe6ef;border-radius:8px;width:min(270px,100% - 28px);padding:11px 12px;font-size:10px;line-height:1.55;display:none;position:absolute;top:calc(100% + 8px);left:14px;box-shadow:0 10px 24px #2235571f}.gesp-level-tooltip:before{content:"";background:#fff;border-top:1px solid #dfe6ef;border-left:1px solid #dfe6ef;width:8px;height:8px;position:absolute;top:-5px;left:18px;transform:rotate(45deg)}.gesp-level-tooltip span,.gesp-level-tooltip strong{display:block}.gesp-level-tooltip strong{color:var(--ink);margin-bottom:4px;font-size:10px}.gesp-level-tooltip span:before{content:"•";color:var(--orange);margin-right:6px}.gesp-level-card.locked:focus-visible .gesp-level-tooltip,.gesp-level-card.locked:hover .gesp-level-tooltip{display:block}.gesp-level-card.locked:hover{opacity:1}.gesp-level-tooltip{color:#35445c;font-weight:600}.gesp-level-tooltip span{color:#35445c}.subnav-group{gap:3px;display:grid}.subnav-children{border-left:1px solid #dfe6f0;gap:2px;margin:0 0 5px 30px;padding-left:10px;display:grid}.subnav-child-link{color:#8794a8;border-radius:6px;justify-content:space-between;align-items:center;gap:4px;padding:6px 8px;font-size:10px;text-decoration:none;display:flex}.subnav-child-link:hover{color:var(--blue);background:#f4f8ff}.parent-setting-card{margin-top:16px}.parent-setting-result{color:#5e7698;background:#f5f9ff;border:1px solid #e1ebfa;border-radius:8px;align-items:flex-start;gap:8px;margin-top:15px;padding:11px 12px;font-size:11px;line-height:1.55;display:flex}.parent-setting-result svg{color:var(--blue);flex:none}.parent-setting-note{color:#9aa6b7;align-items:center;gap:6px;margin-top:15px;font-size:10px;display:flex}.parent-access-denied,.parent-access-loading{color:#8c99aa;border:1px solid var(--line);text-align:center;background:#fff;border-radius:10px;justify-items:center;gap:8px;padding:60px 20px;display:grid}.parent-access-denied svg{color:var(--orange)}.parent-access-denied strong{color:var(--ink);font-size:14px}.parent-access-denied p{font-size:11px}.settings-child-context{color:#7e8ca1;background:#f5f9ff;border:1px solid #e1ebfa;border-radius:7px;gap:3px;min-width:130px;padding:8px 10px;display:grid}.settings-child-context span{font-size:9px}.settings-child-context strong{color:var(--blue);font-size:10px}.settings-level-actions{align-items:flex-end;gap:8px;display:flex}.settings-save-button{min-height:34px;padding:0 11px;font-size:10px}.settings-save-button:disabled{color:#9ba7b7;box-shadow:none;cursor:not-allowed;background:#e4e9ef}.ai-coach-card{margin-top:16px}.ai-coach-intro{color:#7b899d;font-size:11px;line-height:1.6}.ai-coach-question{background:#fffaf4;border:1px solid #f5e5cf;border-radius:8px;margin-top:14px;padding:14px}.ai-coach-question>p{color:var(--ink);margin-top:9px;font-size:13px;font-weight:700}.ai-coach-question pre{color:#40516c;font-family:var(--font-geist-mono),monospace;white-space:pre-wrap;background:#fff;border:1px solid #f1e5d6;border-radius:6px;padding:10px;overflow-x:auto}.ai-coach-hint,.ai-coach-question pre{margin-top:10px;font-size:10px;line-height:1.5}.ai-coach-hint{color:#946c2e;background:#fff4d9;border:1px solid #f6dfaa;border-radius:7px;align-items:flex-start;gap:7px;padding:9px 10px;display:flex}.ai-coach-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.ai-coach-actions .primary-button,.ai-coach-actions .secondary-button{min-height:32px;padding:0 10px;font-size:10px}.ai-coach-hero{align-items:center}.ai-coach-hero-icon{color:#cfe0ff;background:#ffffff1f;border:1px solid #fff3;border-radius:14px;place-items:center;width:58px;height:58px;display:grid}.ai-direction-card{margin-top:16px}.ai-primary-tabs,.ai-secondary-tabs{flex-wrap:wrap;gap:8px;display:flex}.ai-primary-tabs button,.ai-secondary-tabs button{color:#748198;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;padding:8px 15px;font-size:11px;font-weight:700}.ai-primary-tabs button.active,.ai-primary-tabs button:hover{color:var(--blue);background:#f5f9ff;border-color:#bcd1ef}.ai-secondary-tabs{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.ai-secondary-tabs button{padding:6px 11px;font-size:10px}.ai-secondary-tabs button.active,.ai-secondary-tabs button:hover{color:var(--orange);background:#fffaf4;border-color:#f0c99f}.ai-practice-card{margin-top:16px}.ai-history-note{color:#9aa6b7;align-items:center;gap:3px;margin-left:auto;font-size:10px;display:inline-flex}:root{--ink:#17233d;--muted:#71809a;--line:#e7ebf2;--canvas:#f6f8fc;--panel:#fff;--blue:#2468d7;--blue-dark:#183d83;--orange:#ee7b42;--pink:#d65e94;--teal:#2a9d93}*{box-sizing:border-box}body,html{min-height:100%}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button{font:inherit}button:focus-visible{outline-offset:2px;outline:3px solid #2468d747}.app-shell{background:var(--canvas)}.app-shell,.sidebar{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:20;background:#fff;flex-direction:column;flex:0 0 226px;width:226px;padding:24px 15px 18px;position:relative}.brand-lockup{align-items:center;gap:10px;padding:0 10px 30px;display:flex}.brand-mark{color:#fff;background:var(--blue);border-radius:11px;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 8px 16px #2468d733}.brand-lockup span,.brand-lockup strong{display:block}.brand-lockup strong{letter-spacing:.02em;font-size:15px}.brand-lockup span{color:#96a0b2;margin-top:3px;font-size:10px}.brand-lockup>.brand-mark{color:#fff;font-size:medium;margin-top:0;line-height:1;display:grid}.mobile-menu,.sidebar-close{display:none!important}.sidebar-collapse-toggle{color:#8b98aa;cursor:pointer;background:#f5f7fa;border:1px solid #e7ecf2;border-radius:7px;flex:0 0 28px;place-items:center;width:28px;height:28px;margin-left:auto;display:grid}.sidebar-collapse-toggle:hover{color:var(--blue);background:#edf4ff;border-color:#c9dbf6}.app-shell-sidebar-collapsed .sidebar{flex-basis:76px;width:76px;padding-left:10px;padding-right:10px;transition:width .2s,flex-basis .2s,padding .2s}.app-shell-sidebar-collapsed .brand-lockup{justify-content:center;gap:0;padding-left:0;padding-right:0}.app-shell-sidebar-collapsed .brand-lockup>div:nth-child(2),.app-shell-sidebar-collapsed .home-nav-dnd-note,.app-shell-sidebar-collapsed .nav-arrow,.app-shell-sidebar-collapsed .nav-group-label,.app-shell-sidebar-collapsed .nav-item>span,.app-shell-sidebar-collapsed .sidebar-tip>div:last-child{display:none}.app-shell-sidebar-collapsed .nav-item{justify-content:center;gap:0;padding-left:0;padding-right:0}.app-shell-sidebar-collapsed .subnav-children{display:none}.app-shell-sidebar-collapsed .brand-lockup{position:relative}.app-shell-sidebar-collapsed .sidebar-collapse-toggle{width:22px;height:22px;position:absolute;top:-8px;right:-5px}.app-shell-sidebar-collapsed .sidebar-tip{justify-content:center;padding:10px 5px}.app-shell-sidebar-collapsed .menu-drag-card{justify-content:center}.app-shell-sidebar-collapsed .menu-drag-handle{opacity:0;width:18px;min-height:18px;position:absolute;right:0}.app-shell-sidebar-collapsed .menu-drag-card:hover .menu-drag-handle{opacity:1}.nav-group-label{color:#a8b1c0;letter-spacing:.12em;margin:13px 12px 5px;font-size:10px;font-weight:800}.nav-group-label:first-child{margin-top:0}.primary-nav{gap:4px;display:grid}.nav-item{color:#7b889d;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;font-size:12px;text-decoration:none;transition:all .2s;display:flex}.nav-item-group{cursor:default}.nav-item:hover{color:var(--ink);background:#f5f7fb}.nav-item-active,.subnav-link-active{color:var(--blue);background:#edf4ff;font-weight:700}.nav-item em{color:#fff;background:var(--orange);border-radius:10px;place-items:center;min-width:20px;height:20px;margin-left:auto;font-size:11px;font-style:normal;display:grid}.nav-arrow{opacity:.45;margin-left:auto}.sidebar-spacer{flex:1;min-height:80px}.sidebar-tip{color:#876047;background:#fff8ef;border:1px solid #f9e8d5;border-radius:12px;gap:10px;margin:0 2px 16px;padding:14px 12px;display:flex}.tip-icon{width:27px;height:27px;color:var(--orange);background:#ffecd9;border-radius:8px;flex:0 0 27px;place-items:center;display:grid}.sidebar-tip span,.sidebar-tip strong{display:block}.sidebar-tip strong{font-size:11px}.sidebar-tip span{color:#a9886b;margin-top:4px;font-size:10px;line-height:1.4}.avatar{color:#fff;background:#e59d6e;border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.child-switcher{z-index:30;position:relative}.child-switcher-backdrop{z-index:20;cursor:default;background:0 0;border:0;padding:0;position:fixed;inset:0}.child-switcher-trigger{min-width:112px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;padding:3px 5px;display:flex}.child-switcher-trigger:hover{background:#f3f6fa}.child-switcher-avatar{color:#fff;background:#e59d6e;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:grid}.child-switcher-copy{flex:1;gap:2px;min-width:0;display:grid}.child-switcher-copy small,.child-switcher-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.child-switcher-copy strong{color:var(--ink);font-size:10px}.child-switcher-copy small{color:#9aa6b7;font-size:9px}.child-switcher-child{color:#5f6f86;align-items:center;gap:6px;font-size:11px;display:inline-flex}.child-switcher-child .child-switcher-avatar{flex-basis:26px;width:26px;height:26px}.child-switcher-menu{border:1px solid var(--line);background:#fff;border-radius:10px;width:245px;padding:10px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 32px #192b4824}.child-switcher-menu-title{color:#9aa6b7;letter-spacing:.08em;padding:2px 5px 8px;font-size:9px;font-weight:800}.child-switcher-list{gap:3px;display:grid}.child-switcher-option-row{align-items:center;gap:3px;display:flex}.child-switcher-option{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border:0;border-radius:7px;align-items:center;gap:8px;padding:8px 7px;display:flex}.child-switcher-option.active,.child-switcher-option:hover{background:#f5f9ff}.child-switcher-option-row .child-switcher-option{flex:1}.child-switcher-edit{color:#9aa6b7;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:0 0 27px;place-items:center;width:27px;height:27px;display:grid}.child-switcher-edit:hover{color:var(--blue);background:#f5f9ff}.child-switcher-option>span:nth-child(2){flex:1;gap:3px;min-width:0;display:grid}.child-switcher-option strong{color:var(--ink);font-size:11px}.child-switcher-option small{color:#9aa6b7;font-size:9px}.child-switcher-option>svg{color:var(--blue)}.child-switcher-add{width:100%;color:var(--blue);cursor:pointer;background:#f5f9ff;border:1px dashed #c7d9f2;border-radius:7px;align-items:center;gap:5px;margin-top:7px;padding:9px 7px;font-size:10px;font-weight:700;display:inline-flex}.child-switcher-form{border-top:1px solid var(--line);gap:9px;margin-top:8px;padding-top:9px;display:grid}.child-switcher-form-title{color:var(--ink);font-size:10px}.planning-empty-state{text-align:center;justify-items:center;padding:54px 28px;display:grid}.planning-empty-icon{width:54px;height:54px;color:var(--blue);background:#edf4ff;border-radius:14px;place-items:center;display:grid}.planning-empty-state h2{color:var(--ink);margin-top:17px;font-size:19px}.planning-empty-state>p{color:#7e8ca1;margin-top:8px;font-size:11px}.planning-empty-guide{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(700px,100%);margin-top:27px;display:grid}.planning-empty-guide>div{background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;align-items:flex-start;gap:9px;padding:13px;display:flex}.planning-empty-guide b{color:#fff;background:var(--blue);border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:10px;display:grid}.planning-empty-guide span{gap:5px;display:grid}.planning-empty-guide strong{color:var(--ink);font-size:11px}.planning-empty-guide small{color:#8997aa;font-size:9px;line-height:1.5}.child-switcher-form label{color:#7e8ca1;gap:5px;font-size:9px;font-weight:700;display:grid}.child-switcher-form input,.child-switcher-form select{width:100%;min-height:32px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:6px;outline:none;padding:0 8px;font-size:10px}.child-switcher-form input:focus,.child-switcher-form select:focus{border-color:#b8cef0;box-shadow:0 0 0 3px #edf4ff}.child-switcher-form>div{justify-content:flex-end;gap:6px;display:flex}.child-switcher-form .primary-button,.child-switcher-form .secondary-button{min-height:30px;padding:0 9px;font-size:9px}.child-switcher-form-error{color:#b1555d;background:#fff1f3;border:1px solid #f4d9de;border-radius:6px;margin:-2px 0 0;padding:7px 8px;font-size:9px;line-height:1.45}.onboarding-shell{background:var(--canvas);place-items:center;min-height:100vh;padding:24px;display:grid}.child-onboarding-card{border:1px solid var(--line);background:#fff;border-radius:14px;width:min(480px,100%);padding:32px;box-shadow:0 16px 42px #22355712}.onboarding-brand{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding-bottom:24px;display:flex}.onboarding-brand>span:last-child{gap:3px;display:grid}.onboarding-brand strong{color:var(--ink);font-size:15px}.onboarding-brand small{color:#9aa6b7;font-size:9px}.onboarding-brand .brand-mark{width:35px;height:35px}.onboarding-heading{margin-top:28px}.onboarding-kicker{color:var(--blue);letter-spacing:.1em;font-size:10px;font-weight:800}.onboarding-heading h1,.onboarding-message h1{color:var(--ink);letter-spacing:-.03em;margin-top:9px;font-size:28px}.onboarding-heading p,.onboarding-message p{color:#7e8ca1;margin-top:10px;font-size:11px;line-height:1.7}.child-onboarding-form{gap:13px;margin-top:24px;display:grid}.child-onboarding-form label{color:#66758d;gap:6px;font-size:10px;font-weight:700;display:grid}.child-onboarding-form input,.child-onboarding-form select{width:100%;min-height:40px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;padding:0 11px;font-size:11px;font-weight:400}.child-onboarding-form input:focus,.child-onboarding-form select:focus{border-color:#b8cef0;box-shadow:0 0 0 3px #edf4ff}.onboarding-city-field{position:relative}.onboarding-city-field svg{color:#8da0ba;position:absolute;top:12px;left:11px}.onboarding-city-field input{padding-left:31px}.child-onboarding-form .primary-button{width:100%;margin-top:4px}.child-onboarding-form .primary-button:disabled{color:#9ba7b7;box-shadow:none;cursor:not-allowed;background:#e4e9ef}.onboarding-note{color:#a0aaba;text-align:center;margin-top:18px;font-size:9px;line-height:1.6}.onboarding-message{text-align:center;padding:50px 0 22px}.onboarding-loading{color:#8c99aa;text-align:center;font-size:11px;display:block}.profile-copy{flex:1;min-width:0}.profile-copy small,.profile-copy strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.profile-copy strong{font-size:11px}.profile-copy small{color:#9aa4b5;margin-top:3px;font-size:10px}.main-area{flex:1;min-width:0}.topbar{background:#f6f8fcd1;border-bottom:1px solid #e7ebf2cc;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(20px,4vw,56px);display:flex}.icon-button,.location-control,.primary-button,.secondary-button,.text-button,.view-switcher button{cursor:pointer;border:0}.location-control{color:#5f6f86;background:0 0;align-items:center;gap:5px;font-size:12px;text-decoration:none;display:flex}.location-control:hover{color:var(--blue)}.icon-button{color:#72809a;background:0 0;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.icon-button:hover{color:var(--blue);background:#eef3fa}.notification-button{position:relative}.notification-button i{background:var(--orange);border:2px solid var(--canvas);border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:7px}.content-wrap{width:min(1440px,100%);margin:0 auto;padding:37px clamp(20px,4vw,56px) 56px}.welcome-row{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.eyebrow,.section-kicker{color:var(--blue);letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.eyebrow{align-items:center;gap:7px;display:flex}.eyebrow-dot{background:var(--orange);border-radius:50%;width:7px;height:7px;display:inline-block}h1,h2,h3,p{margin:0}h1{color:var(--ink);letter-spacing:-.045em;margin-top:11px;font-size:clamp(28px,3.3vw,43px);line-height:1.1}h1 span{color:var(--blue)}.welcome-copy{color:#758198;margin-top:12px;font-size:14px}.welcome-actions{align-items:center;gap:17px;padding-bottom:2px;display:flex}.text-button{color:#78859b;background:0 0;align-items:center;gap:6px;padding:8px 0;font-size:12px;display:inline-flex}.text-button:hover{color:var(--blue)}.primary-button{color:#fff;background:var(--blue);border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 16px;font-size:12px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 7px 14px #2468d72b}.primary-button:hover{transform:translateY(-1px);box-shadow:0 10px 18px #2468d73b}.secondary-button{color:#62728a;border:1px solid var(--line);background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.secondary-button:hover{color:var(--blue);border-color:#cbd8eb}.summary-strip{border:1px solid var(--line);background:#fff;border-radius:12px;gap:22px;margin-top:31px;padding:14px 20px;box-shadow:0 7px 24px #22355709}.summary-item,.summary-strip{align-items:center;display:flex}.summary-item{flex:1;gap:10px;min-width:0}.summary-item>span:last-child{min-width:0}.summary-item small,.summary-item strong{display:block}.summary-item small{color:#9aa6b8;font-size:10px}.summary-item strong{color:#34425b;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.summary-item b{color:var(--orange);font-weight:700}.summary-icon{border-radius:9px;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid}.summary-icon.blue{color:var(--blue);background:#edf4ff}.summary-icon.orange{color:var(--orange);background:#fff1e6}.summary-icon.pink{color:var(--pink);background:#fff0f6}.summary-divider{background:var(--line);width:1px;height:30px}.matrix-section{margin-top:39px}.section-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:16px;display:flex}.section-kicker{color:#9ba7b9;letter-spacing:.13em;font-size:10px}.section-heading h2{color:var(--ink);letter-spacing:-.025em;margin-top:6px;font-size:20px}.view-switcher{background:#edf1f7;border-radius:9px;align-items:center;gap:2px;padding:3px;display:flex}.view-switcher button{color:#8692a5;background:0 0;border-radius:7px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;display:flex}.view-switcher .view-switch-active,.view-switcher button:hover{color:var(--ink);background:#fff;box-shadow:0 2px 7px #283a5a14}.matrix-wrap{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 9px 28px #2235570b}.matrix-scroll{overflow-x:auto}.matrix-grid{grid-template-columns:155px repeat(6,minmax(115px,1fr));min-width:890px;display:grid}.matrix-corner{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(to top right,#0000 49.35%,#dfe5ee 49.35% 50.65%,#0000 50.65%),#fbfcfe;min-height:67px;padding:0;position:relative;overflow:hidden}.matrix-corner span{color:#51627d;font-size:14px;font-weight:800;line-height:1;position:absolute}.corner-stage-label{top:16px;right:14px}.corner-path-label{bottom:16px;left:14px}.stage-header{color:#68768d;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:#fbfcfe;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-height:67px;padding:0 13px;display:flex}.stage-header-active,.stage-header:hover{color:var(--blue);background:#f3f7ff}.stage-header strong{font-size:12px}.stage-header span{color:#aab4c2;font-size:10px}.stage-header-active span{color:#7ea3df}.matrix-row{display:contents}.path-header{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;cursor:pointer;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;min-height:118px;padding:0 14px;display:flex}.path-header-active{box-shadow:inset 4px 0}.path-header strong{font-size:12px}.path-header small{color:#8896aa;font-size:9px;line-height:1.4}.path-symbol{border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.matrix-cell.path-tech,.path-header.path-tech{--path:#2468d7;--path-bg:#f3f7ff;--path-border:#dce9fd}.matrix-cell.path-arts,.path-header.path-arts{--path:#d65e94;--path-bg:#fff5fa;--path-border:#f7dce9}.matrix-cell.path-academics,.path-header.path-academics{--path:#2a9d93;--path-bg:#f1fbfa;--path-border:#d6f0ed}.path-header{color:var(--path);background:var(--path-bg)}.path-header .path-symbol{color:var(--path);background:#fff}.matrix-cell{color:#435169;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;min-height:118px;padding:13px;transition:background .2s,box-shadow .2s;display:flex}.matrix-cell-selected,.matrix-cell:hover{background:var(--path-bg)}.matrix-cell-selected{box-shadow:inset 0 0 0 2px var(--path);z-index:1}.matrix-cell-current{background:#fffdfa}.cell-topline{color:var(--path);align-items:center;gap:5px;font-size:9px;font-weight:800;display:flex}.cell-topline i{color:#fff;background:var(--orange);border-radius:4px;padding:2px 5px;font-size:8px;font-style:normal}.matrix-cell strong{color:var(--ink);font-size:13px}.matrix-cell>span:last-child{color:#7d8aa0;align-items:center;gap:4px;font-size:10px;display:inline-flex}.lower-grid{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:18px;margin-top:18px;display:grid}.detail-panel,.next-step-panel{border:1px solid var(--line);background:#fff;border-radius:14px;min-height:222px;padding:22px 23px;box-shadow:0 7px 23px #22355709}.detail-top,.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.panel-heading h2{letter-spacing:-.025em;margin-top:5px;font-size:18px}.step-count{color:#aab4c2;font-size:11px}.next-step-content{gap:14px;margin-top:19px;display:flex}.next-step-icon{width:45px;height:45px;color:var(--orange);background:#fff1e5;border-radius:12px;flex:0 0 45px;place-items:center;display:grid}.mini-label{color:var(--orange);font-size:10px;font-weight:800}.next-step-content h3{color:var(--ink);margin-top:4px;font-size:16px}.next-step-content p{color:#8793a7;max-width:430px;margin-top:6px;font-size:11px;line-height:1.55}.inline-link{color:var(--blue);cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;margin-top:10px;padding:0;font-size:11px;font-weight:700;display:inline-flex}.inline-link:hover{color:var(--blue-dark)}.progress-line{background:#eef2f7;border-radius:4px;height:5px;margin-top:21px;overflow:hidden}.progress-line span{background:var(--orange);border-radius:4px;height:100%;display:block}.progress-caption{color:#a1adbc;justify-content:space-between;margin-top:7px;font-size:10px;display:flex}.progress-caption strong{color:var(--orange)}.detail-panel{color:#fff;background:#172e58;border-color:#172e58;position:relative;overflow:hidden}.detail-panel:after{content:"";pointer-events:none;border:1px solid #ffffff1f;border-radius:50%;width:170px;height:170px;position:absolute;bottom:-58px;right:-42px;box-shadow:0 0 0 24px #ffffff09,0 0 0 48px #ffffff06}.detail-path-tag{color:#fff;background:#ffffff24;border-radius:5px;padding:5px 8px;font-size:10px;display:inline-block}.detail-stage{color:#a9bee3;margin-top:8px;font-size:10px}.detail-panel .icon-button{color:#a9bee3}.detail-panel h2{letter-spacing:-.035em;margin-top:17px;font-size:21px}.detail-description{color:#b8c7e1;max-width:520px;margin-top:7px;font-size:11px;line-height:1.6}.detail-tags{gap:6px;margin-top:13px;display:flex}.detail-tags span{color:#bfd0ec;background:#ffffff1a;border-radius:4px;padding:4px 7px;font-size:9px}.detail-actions{z-index:1;gap:9px;margin-top:17px;display:flex;position:relative}.detail-panel .primary-button{box-shadow:none;background:#3e80e8}.detail-panel .secondary-button{color:#d0ddf1;background:#ffffff14;border-color:#ffffff26}.quick-links{margin-top:37px}.section-heading.compact{margin-bottom:14px}.quick-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.quick-card{min-height:74px;color:var(--ink);border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:11px;align-items:center;gap:11px;padding:12px 14px;transition:all .2s;display:flex}.quick-card:hover{border-color:#ccd8e9;transform:translateY(-1px);box-shadow:0 8px 18px #23375a0f}.quick-card>span:nth-child(2){flex:1;min-width:0}.quick-card small,.quick-card strong{display:block}.quick-card strong{font-size:12px}.quick-card small{color:#919daf;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;overflow:hidden}.quick-card>svg{color:#a5afbd}.quick-icon{border-radius:9px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.honor-card .quick-icon{color:var(--orange);background:#fff2e7}.policy-card .quick-icon{color:var(--pink);background:#fff0f6}.ai-card .quick-icon{color:var(--blue);background:#edf4ff}@media (max-width:1100px){.sidebar{flex-basis:220px;width:220px}.content-wrap{padding-left:28px;padding-right:28px}.matrix-grid{grid-template-columns:135px repeat(6,minmax(113px,1fr))}}@media (max-width:760px){.sidebar{flex-basis:260px;width:260px;transition:left .25s;position:fixed;top:0;left:-270px;box-shadow:13px 0 28px #1527481f}.sidebar-open{left:0}.sidebar-scrim{z-index:15;background:#15233b4d;border:0;position:fixed;inset:0}.mobile-menu,.sidebar-close{display:grid!important}.sidebar-collapse-toggle{display:none!important}.app-shell-sidebar-collapsed .sidebar.sidebar-open{flex-basis:260px;width:260px;padding-left:15px;padding-right:15px}.app-shell-sidebar-collapsed .brand-lockup{justify-content:flex-start;gap:10px;padding-left:10px;padding-right:10px}.app-shell-sidebar-collapsed .brand-lockup>div:nth-child(2),.app-shell-sidebar-collapsed .home-nav-dnd-note,.app-shell-sidebar-collapsed .nav-arrow,.app-shell-sidebar-collapsed .nav-group-label,.app-shell-sidebar-collapsed .nav-item>span,.app-shell-sidebar-collapsed .sidebar-tip>div:last-child{display:block}.app-shell-sidebar-collapsed .nav-item{justify-content:flex-start;gap:10px;padding-left:12px;padding-right:12px}.app-shell-sidebar-collapsed .nav-arrow{margin-left:auto}.app-shell-sidebar-collapsed .subnav-children{display:grid}.brand-lockup{padding-bottom:24px}.brand-lockup .sidebar-close{margin-left:auto}.topbar{height:60px;padding:0 17px}.mobile-menu{margin-left:-8px}.content-wrap{padding:26px 16px 40px}.welcome-row{flex-direction:column;align-items:flex-start;gap:17px}h1{font-size:31px}.welcome-copy{font-size:13px}.welcome-actions{justify-content:space-between;width:100%}.summary-strip{flex-direction:column;align-items:stretch;gap:11px;padding:14px 15px}.summary-divider{width:100%;height:1px}.matrix-section{margin-top:31px}.section-heading{flex-direction:column;align-items:flex-start}.section-heading .view-switcher{align-self:stretch}.settings-level-actions{align-items:flex-end;width:100%}.settings-level-actions .level-setting-field{flex:1}.view-switcher button{flex:1;justify-content:center}.matrix-wrap{border-radius:12px;margin-left:-1px;margin-right:-1px}.matrix-scroll{padding-bottom:2px}.matrix-grid{grid-template-columns:125px repeat(6,120px);min-width:850px}.corner-stage-label{top:16px;right:10px}.corner-path-label{bottom:16px;left:10px}.matrix-corner span{font-size:13px}.lower-grid,.quick-grid{grid-template-columns:1fr}.quick-card{min-height:68px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.subpage-shell{background:var(--canvas);min-height:100vh;display:flex}.subpage-sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;flex:0 0 226px;width:226px;padding:24px 15px;transition:width .2s,flex-basis .2s,padding .2s;display:flex}.subpage-sidebar-header{align-items:flex-start;gap:5px;min-width:0;display:flex}.subpage-sidebar-header .brand-lockup{flex:1;min-width:0}.subpage-sidebar-toggle{color:#8b98aa;cursor:pointer;background:#f5f7fa;border:1px solid #e7ecf2;border-radius:7px;flex:0 0 28px;place-items:center;width:28px;height:28px;margin-top:-3px;display:grid}.subpage-sidebar-toggle:hover{color:var(--blue);background:#edf4ff;border-color:#c9dbf6}.subpage-mobile-menu,.subpage-sidebar-scrim{display:none}.subpage-sidebar .brand-lockup{padding:0 4px 30px;text-decoration:none}.subpage-sidebar .brand-lockup>span:last-child{color:inherit;font-size:inherit;flex:1;margin-top:0}.subpage-sidebar .brand-lockup small,.subpage-sidebar .brand-lockup strong{display:block}.subpage-sidebar .brand-lockup strong{color:var(--ink);font-size:15px}.subpage-sidebar .brand-lockup small{color:#96a0b2;margin-top:3px;font-size:10px}.subpage-nav{gap:4px;display:grid}.subpage-nav-dnd-note{color:#9aa6b7;margin:0 12px 1px;font-size:9px;line-height:1.45}.subpage-nav-zone{border:1px dashed #0000;border-radius:11px;gap:4px;padding:3px 0;transition:background .15s,border-color .15s,box-shadow .15s;display:grid}.subpage-nav-zone+.subpage-nav-zone{margin-top:7px}.subpage-nav-zone.is-drag-over{background:#f5f9ff;border-color:#b8cef0;box-shadow:inset 0 0 0 2px #2468d70d}.subpage-nav-zone .nav-group-label{margin-top:0}.subnav-link{color:#7b889d;border-radius:9px;align-items:center;gap:10px;min-height:42px;padding:0 12px;font-size:12px;text-decoration:none;display:flex}.subnav-link.subnav-link-active{font-weight:700}.subnav-link.subnav-link-active,.subnav-link:hover{color:var(--blue);background:#edf4ff}.subnav-link svg:last-child{opacity:.45;margin-left:auto}.subpage-side-note{color:#8b6a4e;background:#fff8ef;border:1px solid #f9e8d5;border-radius:10px;gap:8px;margin-top:auto;padding:12px;font-size:10px;line-height:1.5;display:flex}.subpage-profile{border-top:1px solid var(--line);color:var(--ink);align-items:center;gap:9px;margin-top:14px;padding:14px 5px 0;text-decoration:none;display:flex}.subpage-profile>span:last-child{min-width:0}.subpage-profile small,.subpage-profile strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.subpage-profile strong{font-size:11px}.subpage-profile small{color:#9aa4b5;margin-top:3px;font-size:10px}.subpage-main{flex:1;min-width:0}.subpage-shell-immersive .subpage-main{flex-direction:column;display:flex}.subpage-shell-immersive,.subpage-shell-immersive .subpage-main{height:100vh;min-height:0;overflow:hidden}.subpage-shell-immersive .subpage-sidebar{scrollbar-width:none;height:100%;min-height:0;overflow-y:auto}.subpage-shell-immersive .subpage-sidebar::-webkit-scrollbar{display:none}.subpage-shell-sidebar-collapsed .subpage-sidebar{flex-basis:76px;width:76px;padding-left:10px;padding-right:10px}.subpage-shell-sidebar-collapsed .subpage-sidebar-header{justify-content:center}.subpage-shell-sidebar-collapsed .subpage-sidebar-header .brand-lockup{flex:none;padding-left:0;padding-right:0}.subpage-shell-sidebar-collapsed .nav-group-label,.subpage-shell-sidebar-collapsed .subnav-link>span,.subpage-shell-sidebar-collapsed .subnav-link>svg:last-child,.subpage-shell-sidebar-collapsed .subpage-nav-dnd-note,.subpage-shell-sidebar-collapsed .subpage-profile>span:last-child,.subpage-shell-sidebar-collapsed .subpage-side-note>span,.subpage-shell-sidebar-collapsed .subpage-sidebar .brand-lockup>span:last-child{display:none}.subpage-shell-sidebar-collapsed .subpage-sidebar-header{position:relative}.subpage-shell-sidebar-collapsed .subpage-sidebar-toggle{width:22px;height:22px;position:absolute;top:-8px;right:-5px}.subpage-shell-sidebar-collapsed .subpage-nav-zone{gap:5px}.subpage-shell-sidebar-collapsed .subnav-link{justify-content:center;gap:0;padding:0}.subpage-shell-sidebar-collapsed .subnav-link>svg:first-child{margin:0}.subpage-shell-sidebar-collapsed .subnav-children{display:none}.subpage-shell-sidebar-collapsed .menu-drag-card{justify-content:center}.subpage-shell-sidebar-collapsed .menu-drag-handle{opacity:0;width:18px;min-height:18px;position:absolute;right:0}.subpage-shell-sidebar-collapsed .menu-drag-card:hover .menu-drag-handle{opacity:1}.subpage-shell-sidebar-collapsed .subpage-side-note{justify-content:center;padding:10px 5px}.subpage-shell-sidebar-collapsed .subpage-profile{justify-content:center;padding-left:0;padding-right:0}.subpage-topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:70px;padding:0 clamp(22px,4vw,56px);display:flex}.subpage-breadcrumb{color:#75829a;align-items:center;gap:8px;font-size:12px;text-decoration:none;display:inline-flex}.subpage-breadcrumb:hover{color:var(--blue)}.subpage-top-actions{color:#64738a;align-items:center;gap:16px;font-size:12px;display:flex}.subpage-notice{color:#77869d;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;display:grid;position:relative}.subpage-notice i{background:var(--orange);border:2px solid var(--canvas);border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:6px}.subpage-content{width:min(1360px,100%);margin:0 auto;padding:43px clamp(20px,4vw,54px) 64px}.subpage-content-immersive{width:100%;height:100%;min-height:0;padding:0;overflow:hidden}.immersive-mobile-menu{display:none}.subpage-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.subpage-heading h1{margin-top:10px;font-size:clamp(27px,3vw,39px)}.subpage-heading>div>p:last-child{color:#7f8ca1;max-width:640px;margin-top:11px;font-size:13px;line-height:1.6}.back-home{color:var(--blue);align-items:center;gap:3px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.subpage-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:22px;box-shadow:0 8px 24px #22355709}.subpage-card h2{color:var(--ink);letter-spacing:-.025em;font-size:19px}.subpage-card p{color:#7e8ca1;font-size:12px;line-height:1.7}.subpage-card-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.subpage-card-grid.two{grid-template-columns:repeat(2,1fr)}.subpage-card-grid.four{grid-template-columns:repeat(4,1fr)}.gesp-settings-card,.learning-workspace{margin-top:16px}.settings-help{max-width:520px;margin-top:7px}.level-setting-field{color:#7e8ca1;gap:6px;min-width:150px;font-size:10px;font-weight:700;display:grid}.level-setting-field select,.level-setting-value{min-height:34px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:7px;outline:none;padding:0 10px;font-size:11px}.level-setting-field select:focus{border-color:#b8cef0;box-shadow:0 0 0 3px #edf4ff}.level-setting-value{color:var(--blue);background:#f5f9ff;border-color:#dce9fd;align-items:center;display:flex}.unlock-criteria{border-top:1px solid var(--line);margin-top:17px;padding-top:15px}.unlock-criteria-heading{color:var(--ink);justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.unlock-criteria-heading span{color:#9aa6b7;font-size:10px;font-weight:400}.gesp-knowledge-map{margin-top:16px}.gesp-knowledge-map .soft-tag{align-items:center;gap:5px;display:inline-flex}.gesp-knowledge-map .soft-tag.locked{color:#8b97a8;background:#f1f3f6}.mind-map-canvas{grid-template-columns:170px minmax(0,1fr);align-items:center;gap:26px;padding:20px 8px 8px;display:grid}.mind-map-core{color:#fff;background:var(--blue);aspect-ratio:1;text-align:center;border-radius:50%;align-content:center;justify-items:center;gap:6px;padding:22px 12px;display:grid;position:relative;box-shadow:0 8px 20px #2468d72b}.mind-map-core:after{content:"";background:#b8cef0;width:27px;height:1px;position:absolute;top:50%;left:100%}.mind-map-core svg{color:#bcd5ff}.mind-map-core strong{font-size:13px}.mind-map-core small,.mind-map-core span{font-size:9px}.mind-map-core small{color:#cbdcff}.mind-map-core span{color:#2161c3;background:#edf4ff;border-radius:4px;padding:3px 6px}.mind-map-core.locked{color:#fff;box-shadow:none;background:#9aa8ba}.mind-map-core.locked small,.mind-map-core.locked svg{color:#e3e8ef}.mind-map-core.locked span{color:#77859a;background:#f1f3f6}.mind-map-branches{gap:10px;display:grid}.mind-map-branch{background:#f7faff;border:1px solid #dfeafb;border-radius:8px;min-width:0;padding:12px 14px;position:relative}.mind-map-branch:before{content:"";background:#b8cef0;width:26px;height:1px;position:absolute;top:50%;right:100%}.mind-map-branch-title{color:#3b67a0;align-items:center;gap:6px;display:flex}.mind-map-branch-title svg{color:#45aa88}.mind-map-branch-title strong{font-size:11px}.mind-map-points{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.mind-map-points span{color:#72839c;background:#fff;border:1px solid #e7edf6;border-radius:5px;padding:4px 7px;font-size:9px}.mind-map-branch.locked{background:#fafbfd;border-color:#e8ecf2}.mind-map-branch.locked .mind-map-branch-title{color:#7b899d}.mind-map-branch.locked .mind-map-branch-title svg{color:#aab4c1}.mind-map-note{color:#8997aa;margin-top:10px;font-size:10px;line-height:1.55}.learning-tabs{background:#edf1f7;border-radius:9px;gap:2px;padding:3px;display:flex}.learning-tabs button{color:#8692a5;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:5px;padding:7px 10px;font-size:10px;font-weight:700;display:inline-flex}.learning-tabs button.active,.learning-tabs button:hover{color:var(--ink);background:#fff;box-shadow:0 2px 7px #283a5a14}.learning-grid{grid-template-columns:minmax(280px,.92fr) minmax(0,1.08fr);gap:15px;display:grid}.learning-list{gap:7px;display:grid}.learning-item{min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;align-items:center;gap:9px;padding:10px;display:flex}.learning-item.active,.learning-item:hover{background:#f5f9ff;border-color:#bcd1ef}.learning-item-icon{width:29px;height:29px;color:var(--blue);background:#edf4ff;border-radius:7px;flex:0 0 29px;place-items:center;display:grid}.learning-item-icon.locked{color:#a5afbc;background:#f0f2f5}.learning-item-copy{flex:1;min-width:0}.learning-item-copy small,.learning-item-copy strong,.learning-item-meta b,.learning-item-meta small{display:block}.learning-item-copy strong{font-size:11px}.learning-item-copy small{color:#8c99aa;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;overflow:hidden}.learning-item-meta{text-align:right;flex:none}.learning-item-meta small{color:#a2adba;font-size:9px}.learning-item-meta b{color:#5f8d80;margin-top:4px;font-size:9px;font-weight:700}.learning-item:has(.locked) .learning-item-meta b{color:#a0aab6}.learning-detail{background:#f8fbff;border:1px solid #e2ebf8;border-radius:10px;flex-direction:column;min-height:286px;padding:19px;display:flex}.learning-detail-top{justify-content:space-between;align-items:center;gap:9px;display:flex}.learning-detail h3{color:var(--ink);margin-top:20px;font-size:20px}.learning-objective{color:#718098;margin-top:7px;font-size:11px;line-height:1.55}.learning-story{color:#806848;background:#fff8ed;border:1px solid #f8e9d1;border-radius:8px;gap:8px;margin-top:15px;padding:11px;font-size:10px;line-height:1.55;display:flex}.learning-sparkle{width:17px;height:17px;color:var(--orange);background:#ffecd9;border-radius:50%;flex:0 0 17px;place-items:center;font-size:11px;font-weight:800;display:grid}.code-example{background:#172e58;border-radius:8px;margin-top:13px;padding:10px 11px}.code-example small{color:#a9bee3;font-size:9px}.code-example pre{color:#e7effc;font-family:var(--font-geist-mono),monospace;white-space:pre-wrap;margin-top:7px;font-size:10px;line-height:1.55;overflow-x:auto}.learning-detail-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:15px;display:flex}.learning-detail-footer>span{color:#8c99aa;align-items:center;gap:5px;font-size:10px;display:inline-flex}.learning-detail-footer .primary-button,.learning-detail-footer .secondary-button{min-height:33px;padding:0 11px;font-size:10px}.learning-detail-footer .primary-button:disabled,.learning-detail-footer .secondary-button:disabled{color:#9ba7b7;box-shadow:none;cursor:not-allowed;background:#e4e9ef;border-color:#e4e9ef;transform:none}.learning-detail-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.gesp-learning-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.gesp-level-card{min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;align-items:center;gap:9px;padding:11px;display:flex}.gesp-level-card.active,.gesp-level-card:hover{background:#fffaf4;border-color:#f0c99f}.gesp-level-card.locked{opacity:.68}.gesp-level-number{color:#fff;background:var(--orange);border-radius:7px;flex:0 0 27px;place-items:center;width:27px;height:27px;font-size:10px;font-weight:800;display:grid}.gesp-level-card>span:nth-child(2){flex:1;min-width:0}.gesp-level-card small,.gesp-level-card strong{display:block}.gesp-level-card strong{font-size:11px}.gesp-level-card small{color:#8c99aa;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;overflow:hidden}.gesp-level-card .status-pill{flex:none}.gesp-detail{grid-column:1/-1;min-height:230px}.gesp-checklist{flex-wrap:wrap;gap:9px;margin-top:14px;display:flex}.gesp-checklist span{color:#5f8d80;align-items:center;gap:4px;font-size:10px;display:inline-flex}.cpp-playground-card{margin-top:16px}.cpp-playground-note{color:#8b6d45;background:#fff8ed;border:1px solid #f8e9d1;border-radius:7px;align-items:center;gap:6px;margin-bottom:12px;padding:8px 10px;font-size:10px;display:flex}.cpp-playground-grid{grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:12px;display:grid}.cpp-editor-panel,.cpp-io-panel{background:#f7f9fc;border:1px solid #e8edf3;border-radius:9px;min-width:0;padding:11px}.cpp-output-heading,.cpp-panel-heading{color:#738197;justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}.cpp-output-heading span,.cpp-panel-heading span:first-child{color:var(--ink);font-weight:800}.cpp-editor{resize:vertical;color:#e7effc;width:100%;min-height:250px;font-family:var(--font-geist-mono),monospace;tab-size:2;background:#172e58;border:0;border-radius:7px;outline:none;margin-top:9px;padding:12px;font-size:11px;line-height:1.6}.cpp-editor:focus{box-shadow:0 0 0 3px #2468d733}.cpp-editor-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.cpp-editor-actions .primary-button,.cpp-editor-actions .secondary-button{min-height:32px;padding:0 11px;font-size:10px}.cpp-editor-actions .primary-button:disabled{color:#9ba7b7;box-shadow:none;cursor:not-allowed;background:#e4e9ef}.cpp-io-panel{align-content:start;gap:12px;display:grid}.cpp-io-block{color:#738197;gap:7px;font-size:10px;font-weight:800;display:grid}.cpp-io-block textarea{resize:vertical;width:100%;min-height:76px;color:var(--ink);border:1px solid var(--line);font-family:var(--font-geist-mono),monospace;background:#fff;border-radius:7px;outline:none;padding:10px;font-size:11px;line-height:1.5}.cpp-io-block textarea:focus{border-color:#b8cef0;box-shadow:0 0 0 3px #edf4ff}.cpp-output-heading small{color:#45aa88;align-items:center;gap:4px;font-size:9px;display:inline-flex}.cpp-output-heading .cpp-output-error{color:#b1555d}.cpp-output{color:#40516c;border:1px solid var(--line);min-height:130px;font-family:var(--font-geist-mono),monospace;white-space:pre-wrap;background:#fff;border-radius:7px;padding:10px;font-size:11px;line-height:1.55;overflow:auto}.cpp-output.error{color:#a64d5d;background:#fff7f8;border-color:#f2d7dc}.cpp-task-box{color:#5f6f86;background:#f5f9ff;border:1px solid #e1ebfa;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:12px;padding:11px 12px;font-size:11px;line-height:1.5;display:flex}.cpp-task-box strong{color:#3b5e8b}.cpp-task-box details{color:var(--blue);flex:none;font-size:10px}.cpp-task-box summary{cursor:pointer}.cpp-task-box details p{color:#7890ad;max-width:280px;margin-top:7px;font-size:10px}.practice-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.practice-option{color:#53637b;border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:7px;align-items:center;gap:8px;min-width:0;padding:10px;font-size:11px;display:flex}.practice-option:hover{background:#f7faff;border-color:#b9cce8}.practice-option>span{color:#7890ad;background:#f1f4f8;border-radius:5px;flex:0 0 20px;place-items:center;width:20px;height:20px;font-size:9px;font-weight:800;display:grid}.practice-option svg{flex:none;margin-left:auto}.practice-option.correct{color:#277d6b;background:#edf9f5;border-color:#bfe7d9}.practice-option.correct>span{color:#fff;background:#45aa88}.practice-option.incorrect{color:#a64d5d;background:#fff5f6;border-color:#f1cfd5}.practice-option.incorrect>span{color:#fff;background:#c66b78}.practice-feedback{border-radius:7px;align-items:flex-start;gap:8px;margin-top:11px;padding:10px;display:flex}.practice-feedback.success{color:#277d6b;background:#edf9f5}.practice-feedback.error{color:#a36a28;background:#fff7e9}.practice-feedback strong{flex:none;font-size:11px}.practice-feedback p{color:inherit;font-size:10px;line-height:1.5}.card-eyebrow{color:var(--blue);letter-spacing:.09em;text-transform:uppercase;margin-bottom:9px;font-size:10px;font-weight:800;display:block}.card-link{color:var(--blue);align-items:center;gap:4px;margin-top:16px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.card-link:hover{color:var(--blue-dark)}.soft-programming-card{color:inherit;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}.soft-programming-card:hover{border-color:#bcd1ef;transform:translateY(-2px);box-shadow:0 11px 28px #22355714}.module-description{max-width:680px;margin-top:8px}.module-topic-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px;display:grid}.module-topic-item{color:#50627c;background:#f7faff;border:1px solid #e1ebf8;border-radius:8px;align-items:center;gap:7px;padding:11px 12px;font-size:11px;display:flex}.module-topic-item svg{color:#45aa88;flex:none}.subpage-hero-panel{color:#fff;background:#17325e;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:24px 26px;display:flex;position:relative;overflow:hidden}.subpage-hero-panel:after{content:"";pointer-events:none;border:1px solid #ffffff29;border-radius:50%;width:240px;height:240px;position:absolute;bottom:-140px;right:-50px;box-shadow:0 0 0 28px #ffffff09,0 0 0 56px #ffffff06}.subpage-hero-panel h2{z-index:1;color:#fff;margin-top:7px;font-size:23px;position:relative}.subpage-hero-panel p{z-index:1;color:#b9cae6;max-width:640px;margin-top:8px;position:relative}.subpage-hero-panel .primary-button{z-index:1;white-space:nowrap;background:#3f82ea;position:relative}.subpage-kicker{color:#8faedf;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.task-summary-strip{background:var(--line);border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:16px;display:grid;overflow:hidden}.task-summary-strip>div{background:#fff;gap:6px;padding:15px 17px;display:grid}.task-summary-strip span{color:#9aa6b7;font-size:10px}.task-summary-strip strong{color:var(--ink);font-size:13px}.task-center-card{margin-top:16px}.task-route-tabs{flex-wrap:wrap;gap:7px;display:flex}.task-route-tabs button{color:#76849a;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;padding:8px 12px;font-size:10px;font-weight:700}.task-route-tabs button.active,.task-route-tabs button:hover{color:var(--blue);background:#f5f9ff;border-color:#bcd1ef}.task-route-tabs button.active.pink{color:#b74778;background:#fff5f9;border-color:#efc5d8}.task-route-tabs button.active.teal{color:#398f83;background:#f2fbf9;border-color:#bce0da}.task-route-list{gap:16px;margin-top:16px;display:grid}.task-route-section{border:1px solid var(--line);border-top:3px solid var(--blue);background:#fff;border-radius:10px;padding:20px}.task-route-section.pink{border-top-color:#d77b9c}.task-route-section.teal{border-top-color:#54a99c}.task-route-heading{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.task-route-heading .card-eyebrow{margin-bottom:6px}.task-route-section.pink .card-eyebrow{color:#b74778}.task-route-section.teal .card-eyebrow{color:#398f83}.task-route-heading h2{color:var(--ink);font-size:17px}.task-route-count{color:#9aa6b7;white-space:nowrap;font-size:10px}.task-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px;display:grid}.task-item{background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;align-items:flex-start;gap:10px;min-width:0;padding:13px;display:flex}.task-item.completed{background:#f4fbf8;border-color:#cfe9de}.task-check{color:#b7c1cd;cursor:pointer;background:#fff;border:1px solid #dbe2eb;border-radius:50%;flex:0 0 20px;place-items:center;width:20px;height:20px;padding:0;display:grid}.task-check svg{color:#45aa88}.task-check span{background:currentColor;border-radius:50%;width:6px;height:6px}.task-item-copy{flex:1;min-width:0}.task-item-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.task-item-meta span{color:var(--orange);font-size:9px;font-weight:800}.task-item-meta small{color:#9aa6b7;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.task-item h3{color:var(--ink);margin-top:9px;font-size:12px;line-height:1.45}.task-item.completed h3{color:#4f786d;text-decoration:line-through}.task-item p{color:#7e8ca1;margin-top:7px;font-size:10px;line-height:1.55}.task-item-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:14px;display:flex}.task-item-footer>span{color:#a0aaba;align-items:center;gap:4px;font-size:9px;display:inline-flex}.task-item-footer a{color:var(--blue);align-items:center;gap:3px;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}.task-entry-card{background:#f7faff;border:1px solid #e1ebfa;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:20px 22px;display:flex}.task-entry-card h2{color:var(--ink);font-size:17px}.task-entry-card p{color:#7e8ca1;max-width:640px;margin-top:7px;font-size:11px;line-height:1.6}.task-entry-card .section-kicker{color:var(--blue);margin-bottom:8px}.path-step{padding-top:7px;position:relative}.path-step:before{content:"";z-index:0;background:#dfe7f2;height:1px;position:absolute;top:22px;left:43px;right:-15px}.path-step:last-child:before{display:none}.path-step-icon{z-index:1;width:44px;height:44px;color:var(--blue);border:5px solid var(--canvas);background:#edf4ff;border-radius:50%;place-items:center;margin-bottom:15px;display:grid;position:relative}.path-step strong{color:var(--ink);font-size:14px;display:block}.path-step p{margin-top:7px;font-size:11px}.current-stage-card{margin-bottom:16px}.current-stage-copy{color:#7e8ca1;margin-top:8px;font-size:11px;line-height:1.6}.current-stage-list{margin-top:20px}.recommended-directions-card{margin-top:16px}.recommendation-note{color:#7e8ca1;margin-top:8px;font-size:11px;line-height:1.6}.recommended-direction-list{gap:9px;margin-top:16px;display:grid}.recommended-direction-item{background:#fafbfd;border:1px solid #edf1f5;border-left:3px solid #4da995;border-radius:8px;align-items:center;gap:12px;min-width:0;padding:14px;display:flex}.recommended-direction-item.blue{border-left-color:var(--blue)}.recommended-direction-item.pink{border-left-color:#d77b9c}.recommendation-rank{color:#fff;background:#45a994;border-radius:50%;flex:0 0 27px;place-items:center;width:27px;height:27px;font-size:11px;font-weight:800;display:grid}.recommended-direction-item.blue .recommendation-rank{background:var(--blue)}.recommended-direction-item.pink .recommendation-rank{background:#d77b9c}.recommended-direction-copy{flex:1;min-width:0}.recommended-direction-copy>div{align-items:baseline;gap:9px;display:flex}.recommended-direction-copy h3{color:var(--ink);font-size:14px}.recommended-direction-copy p{color:#718098;margin-top:5px;font-size:10px;line-height:1.55}.recommended-direction-copy small{color:#9aa6b7;margin-top:6px;font-size:9px;display:block}.recommended-direction-item>.icon-button{color:var(--blue);flex:none}.direction-tabs,.direction-workspace-card{margin-top:16px}.direction-tab-list{background:#f1f4f8;border-radius:9px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:4px;display:grid}.direction-tab{color:#718098;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;grid-template-rows:auto auto;grid-template-columns:29px 1fr;align-items:center;column-gap:8px;padding:10px 11px;display:grid}.direction-tab.active,.direction-tab:hover{color:var(--ink);background:#fff;box-shadow:0 2px 7px #283a5a14}.direction-tab>span{color:#fff;background:#45a994;border-radius:50%;grid-row:1/-1;place-items:center;width:29px;height:29px;font-size:11px;font-weight:800;display:grid}.direction-tab.blue>span{background:var(--blue)}.direction-tab.pink>span{background:#d77b9c}.direction-tab strong{font-size:12px}.direction-tab small{color:#9aa6b7;margin-top:3px;font-size:9px}.direction-tab.active small{color:#718098}.active-direction-panel{background:#fafbfd;border:1px solid #edf1f5;border-left:3px solid #4da995;border-radius:8px;align-items:center;gap:12px;margin-top:10px;padding:15px;display:flex}.active-direction-panel.blue{border-left-color:var(--blue)}.active-direction-panel.pink{border-left-color:#d77b9c}.active-direction-copy{flex:1;min-width:0}.active-direction-copy>div{align-items:baseline;gap:9px;display:flex}.active-direction-copy h3{color:var(--ink);font-size:14px}.active-direction-copy p{color:#718098;margin-top:6px;font-size:10px;line-height:1.55}.active-direction-copy small{color:#9aa6b7;margin-top:6px;font-size:9px;display:block}.active-direction-panel>.icon-button{color:var(--blue)}.active-direction-actions{flex:none;align-items:center;gap:7px;display:flex}.timeline-generate-button{min-height:32px;padding:0 10px;font-size:10px}.timeline-generate-button:disabled{cursor:wait;opacity:.7}.planning-timeline-panel{background:#f7faff;border:1px solid #e1ebfa;border-radius:10px;margin-top:16px;padding:18px}.timeline-headline{color:#637795;margin-top:8px;font-size:11px;line-height:1.6}.timeline-final-target{background:#fff;border:1px solid #e1ebfa;border-radius:8px;gap:6px;margin-top:14px;padding:12px;display:grid}.timeline-final-target span{color:var(--blue);font-size:9px;font-weight:800}.timeline-final-target strong{color:var(--ink);font-size:11px;line-height:1.55}.timeline-list{gap:0;margin-top:16px;display:grid}.timeline-item{grid-template-columns:34px minmax(0,1fr);gap:10px;min-height:128px;display:grid}.timeline-marker{justify-content:center;display:flex;position:relative}.timeline-marker:after{content:"";background:#cbdcf4;width:1px;position:absolute;top:28px;bottom:-1px}.timeline-item:last-child .timeline-marker:after{display:none}.timeline-marker b{z-index:1;color:#fff;background:var(--blue);border-radius:50%;place-items:center;width:25px;height:25px;font-size:10px;display:grid;position:relative}.timeline-item-copy{padding:1px 0 22px}.timeline-period{color:var(--blue);font-size:9px;font-weight:800}.timeline-item-copy h3{color:var(--ink);margin-top:5px;font-size:13px}.timeline-item-copy p{color:#718098;margin-top:7px;font-size:10px;line-height:1.55}.timeline-item-copy p strong{color:#4f6688}.timeline-item-copy small{color:#a36a28;margin-top:7px;font-size:9px;line-height:1.5;display:block}.timeline-disclaimer{color:#9aa6b7;border-top:1px solid #e1ebfa;margin-top:2px;padding-top:12px;font-size:9px;line-height:1.5}.growth-task-tracker{border:1px solid var(--line);background:#fff;border-radius:10px;margin-top:16px;padding:18px}.growth-task-intro{color:#7e8ca1;margin-top:8px;font-size:11px;line-height:1.6}.growth-task-assessment{border:1px solid #e1ebfa;border-radius:8px;align-items:center;gap:10px;margin-top:15px;padding:12px;display:flex}.growth-task-assessment.tracking{background:#f7faff}.growth-task-assessment.good{background:#f1fbf7;border-color:#d4eee6}.growth-task-assessment.risk{background:#fff8ef;border-color:#f4dfbd}.growth-task-assessment-icon{width:29px;height:29px;color:var(--blue);background:#eaf2ff;border-radius:8px;flex:0 0 29px;place-items:center;display:grid}.growth-task-assessment.good .growth-task-assessment-icon{color:#27806e;background:#dff4eb}.growth-task-assessment.risk .growth-task-assessment-icon{color:#b86735;background:#ffecd6}.growth-task-assessment>div{flex:1;min-width:0}.growth-task-assessment strong{color:var(--ink);font-size:11px}.growth-task-assessment p{color:#718098;margin-top:4px;font-size:10px;line-height:1.5}.growth-task-count{color:#7d8ba0;flex:none;font-size:10px;font-weight:700}.growth-task-list{gap:8px;margin-top:12px;display:grid}.growth-task-row{background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;align-items:center;gap:12px;min-width:0;padding:12px;display:flex}.growth-task-copy{flex:1;min-width:0}.growth-task-copy h3{color:var(--ink);margin-top:4px;font-size:12px}.growth-task-copy p{color:#718098;margin-top:6px;font-size:10px;line-height:1.5}.growth-task-copy small{color:#9aa6b7;margin-top:6px;font-size:9px;display:block}.growth-task-result{color:#77859a;background:#f1f3f6;border:1px solid #0000;border-radius:6px;outline:none;min-width:82px;min-height:32px;padding:0 8px;font-size:10px}.growth-task-result.blue{color:#2161c3;background:#edf4ff}.growth-task-result.green{color:#27806e;background:#edf9f5}.growth-task-result.orange{color:#b86735;background:#fff1e6}.plan-form-static{min-height:34px;color:var(--ink);background:#f7f9fc;border:1px solid #e8edf3;border-radius:7px;align-items:center;padding:0 10px;font-size:10px;display:flex}.plan-maintenance-card{margin-top:16px}.plan-add-button{min-height:32px;padding:0 11px;font-size:10px}.plan-maintenance-intro{color:#7e8ca1;margin-top:8px;font-size:11px;line-height:1.6}.plan-empty-list{color:#a1adbd;text-align:center;background:#fafbfd;border:1px dashed #dfe6ef;border-radius:9px;justify-items:center;gap:7px;margin-top:16px;padding:27px 16px;display:grid}.plan-empty-list svg{color:var(--blue)}.plan-empty-list strong{color:var(--ink);font-size:13px}.plan-empty-list p{color:#8997aa;font-size:10px}.plan-empty-list .secondary-button{min-height:31px;margin-top:5px;padding:0 10px;font-size:10px}.plan-list{gap:9px;margin-top:16px;display:grid}.plan-list-item{background:#fafbfd;border:1px solid #edf1f5;border-left:3px solid #4da995;border-radius:8px;align-items:center;gap:11px;min-width:0;padding:13px;display:flex}.plan-list-item.blue{border-left-color:var(--blue)}.plan-list-item.pink{border-left-color:#d77b9c}.plan-list-rank{color:#398f83;background:#eaf8f5;border-radius:9px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:15px;font-weight:800;display:grid}.plan-list-item.blue .plan-list-rank{color:var(--blue);background:#edf4ff}.plan-list-item.pink .plan-list-rank{color:#b74778;background:#fff1f6}.plan-list-copy{flex:1;min-width:0}.plan-list-heading{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.plan-list-heading h3{color:var(--ink);margin-top:4px;font-size:13px}.plan-list-meta{flex:none;justify-items:end;gap:4px;display:grid}.plan-list-heading small{color:#a0aaba;font-size:9px}.plan-list-copy>p{color:#718098;text-overflow:ellipsis;white-space:nowrap;margin-top:7px;font-size:10px;line-height:1.5;overflow:hidden}.plan-list-copy>span{color:#9aa6b7;margin-top:6px;font-size:9px;display:block}.plan-list-actions{flex:none;gap:3px;display:flex}.plan-list-actions .icon-button{width:28px;height:28px}.danger-icon-button{color:#b36b75}.danger-icon-button:hover{color:#a64d5d;background:#fff1f3}.plan-form{border-top:1px solid #edf1f5;gap:12px;margin-top:16px;padding-top:16px;display:grid}.plan-form-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.plan-form-heading h3{color:var(--ink);margin-top:5px;font-size:15px}.plan-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.plan-form-grid label{color:#7e8ca1;gap:5px;font-size:10px;font-weight:700;display:grid}.plan-form-grid label span{color:#6d7d93}.plan-form-grid input,.plan-form-grid select,.plan-form-grid textarea{width:100%;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:7px;outline:none;padding:9px 10px;font-family:inherit;font-size:10px}.plan-form-grid input,.plan-form-grid select{min-height:34px}.plan-form-grid textarea{resize:vertical;line-height:1.5}.plan-form-grid input:focus,.plan-form-grid select:focus,.plan-form-grid textarea:focus{border-color:#b8cef0;box-shadow:0 0 0 3px #edf4ff}.plan-form-wide{grid-column:1/-1}.plan-form-actions{justify-content:flex-end;gap:7px;display:flex}.plan-form-actions .primary-button,.plan-form-actions .secondary-button{min-height:31px;padding:0 10px;font-size:10px}.plan-status-help{color:#8997aa;font-size:9px;line-height:1.5}.plan-form-error{color:#a64d5d;font-size:10px}.plan-detail-modal{max-width:620px}.plan-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:17px;display:grid}.plan-detail-grid>div{background:#fafbfd;border:1px solid #edf1f5;border-radius:7px;gap:5px;padding:11px;display:grid}.plan-detail-grid span{color:#9aa6b7;font-size:9px}.plan-detail-grid strong{color:var(--ink);font-size:11px}.plan-detail-status.blue{color:#2161c3}.plan-detail-status.green{color:#27806e}.plan-detail-status.orange{color:#b86735}.plan-detail-status.gray{color:#77859a}.plan-detail-note{color:#718098;background:#f7f9fc;border:1px solid #e8edf3;border-radius:7px;margin-top:12px;padding:11px;font-size:10px;line-height:1.55}.plan-detail-note strong{color:var(--ink);margin-bottom:5px;font-size:11px;display:block}.path-step-current{background:#f2fbf6;border:1px solid #cfeadd;border-radius:10px;margin:-10px -12px -9px;padding:10px 12px 9px}.path-step-current .path-step-icon{color:#2e9a70;background:#e2f6eb}.path-step-current strong{color:#25835f}.path-step-current p{color:#5e9b7d}.tag-row{flex-wrap:wrap;gap:6px;margin-top:13px;display:flex}.soft-tag{color:#6d7d93;background:#f2f5f9;border-radius:5px;padding:4px 7px;font-size:10px}.subpage-table{border-collapse:collapse;width:100%;font-size:12px}.subpage-table th{color:#9aa6b8;border-bottom:1px solid var(--line);text-align:left;padding:11px 14px;font-size:10px;font-weight:700}.subpage-table td{color:#53637b;vertical-align:middle;border-bottom:1px solid #eef1f5;padding:14px}.subpage-table tr:last-child td{border-bottom:0}.subpage-table td strong{color:var(--ink)}.status-pill{border-radius:5px;padding:4px 7px;font-size:10px;font-weight:700;display:inline-flex}.status-pill.blue{color:#2161c3;background:#edf4ff}.status-pill.green{color:#27806e;background:#edf9f5}.status-pill.orange{color:#b86735;background:#fff1e6}.status-pill.pink{color:#b74778;background:#fff0f6}.status-pill.gray{color:#77859a;background:#f1f3f6}.filter-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.filter-chip{color:#748198;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;padding:8px 11px;font-size:11px}.filter-chip.active,.filter-chip:hover{color:var(--blue);background:#edf4ff;border-color:#bbd1f2}.notice-list{gap:12px;display:grid}.notice-card{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:39px minmax(0,1fr) auto;align-items:start;gap:13px;padding:17px;display:grid}.notice-card.notice-read{background:#fbfcfe}.notice-icon{width:39px;height:39px;color:var(--pink);background:#fff0f6;border-radius:10px;place-items:center;display:grid}.notice-card h3{color:var(--ink);font-size:13px}.notice-card p{margin-top:5px;font-size:11px}.notice-meta{color:#a0abb9;margin-top:9px;font-size:10px}.notice-impact{color:var(--orange);white-space:nowrap;font-size:10px;font-weight:700}.notice-impact-read{color:#94a0b0;font-weight:600}.form-row{gap:10px;margin-bottom:17px;display:flex}.form-row input,.form-row select{min-width:0;min-height:39px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;flex:1;padding:0 11px;font-size:12px}.form-row input:focus,.form-row select:focus{border-color:#b8cef0;box-shadow:0 0 0 3px #edf4ff}.search-field{color:#94a0b1;border:1px solid var(--line);background:#fff;border-radius:8px;flex:1;align-items:center;gap:8px;min-height:39px;padding:0 11px;display:flex}.search-field:focus-within{border-color:#b8cef0;box-shadow:0 0 0 3px #edf4ff}.search-field input{border:0;outline:0;width:100%;min-height:37px;padding:0;box-shadow:none!important}.directory-controls{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 12px;display:grid}.directory-controls label{color:#8e9bad;gap:6px;font-size:10px;font-weight:700;display:grid}.directory-controls select,.tag-select{min-height:39px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;padding:0 11px;font-size:12px}.directory-controls select:focus,.tag-select:focus{border-color:#b8cef0;box-shadow:0 0 0 3px #edf4ff}.directory-filter-grid{justify-content:space-between;align-items:center;gap:12px;display:flex}.directory-filter-grid .filter-row{margin-bottom:0}.tag-select{min-width:164px}.pagination{color:#9aa6b7;border-top:1px solid #eef1f5;justify-content:space-between;align-items:center;padding-top:14px;font-size:10px;display:flex}.pagination>div{gap:4px;display:flex}.pagination .icon-button{border:1px solid var(--line);background:#fff;width:30px;height:30px}.pagination .icon-button:disabled{opacity:.35;cursor:not-allowed}.school-list{display:grid}.school-row{border-bottom:1px solid #eef1f5;align-items:center;gap:13px;padding:16px 0;display:flex}.school-row:last-child{border-bottom:0}.school-icon{width:39px;height:39px;color:var(--blue);background:#edf4ff;border-radius:10px;flex:0 0 39px;place-items:center;display:grid}.school-main{flex:1;min-width:0}.school-main small,.school-main strong,.school-meta{display:block}.school-main strong{color:var(--ink);font-size:13px}.school-location{color:var(--blue);align-items:center;gap:3px;margin-top:4px;font-size:10px;font-weight:700;display:inline-flex}.school-main small{color:#8794a8}.school-feature-inline,.school-main small{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;overflow:hidden}.school-feature-inline{color:#9aa6b7;display:block}.school-meta{color:#a3adba;margin-top:5px;font-size:10px}.school-tag-row{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.school-rank-tag{color:#8f5c20;background:#fff6e8;border:1px solid #f4e3c5;border-radius:5px;padding:4px 7px;font-size:9px;font-weight:700}.school-rank-pending{color:#a36a28;background:#fff7e9}.school-rank-muted{color:#748198;background:#f4f6f9;border-color:#e9edf2;font-weight:400}.admission-labels{flex-wrap:wrap;gap:5px;margin-top:9px;display:flex}.admission-label{color:#77859a;cursor:pointer;background:#f4f6f9;border:1px solid #0000;border-radius:5px;min-height:24px;padding:3px 7px;font-size:9px;line-height:1.2}.admission-label:hover{color:var(--blue);background:#f5f9ff;border-color:#b9cce8}.admission-label.label-yes{color:#257c69;background:#edf9f5;border-color:#d4eee6}.admission-label.label-no{color:#a64d5d;background:#fff1f3;border-color:#f4d9de}.admission-label.label-pending{color:#a56d24;background:#fff7e9;border-color:#f5e5c6}.admission-label.label-unpublished{color:#6f7d92;background:#f4f6f9;border-color:#e9edf2}.admission-label.label-na{color:#9ba5b2;background:#f7f8fa;border-color:#eef0f3}.school-status{gap:7px}.empty-state,.school-status{align-items:center;display:flex}.empty-state{color:#9aa6b8;text-align:center;flex-direction:column;justify-content:center;gap:8px;min-height:170px}.empty-state svg{color:#b8c3d0}.empty-state strong{color:#697890;font-size:13px}.empty-state p{max-width:280px;font-size:11px}.school-detail-hero{align-items:center}.school-detail-hero h2{max-width:620px}.school-detail-actions{z-index:2;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:relative}.school-follow-button{color:#62728a;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:11px;font-weight:700;display:inline-flex}.school-follow-button:hover{color:var(--blue);border-color:#bfd2ee}.school-follow-button.school-following{color:#27806e;background:#edf9f5;border-color:#d4eee6}.school-follow-icon{place-items:center;display:grid}.school-profile-card{margin-top:16px}.school-profile-heading{align-items:center;gap:12px;display:flex}.school-profile-heading>div:nth-child(2){flex:1;min-width:0}.school-profile-heading h2{color:var(--ink);margin-top:5px;font-size:18px}.school-profile-heading span:not(.soft-tag){color:#8d9aae;margin-top:5px;font-size:10px;display:block}.school-profile-icon{width:44px;height:44px;color:var(--blue);background:#edf4ff;border-radius:11px;flex:0 0 44px;place-items:center;display:grid}.school-profile-level{border-top:1px solid #eef1f5;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding-top:13px;display:flex}.school-profile-level span{color:#8d9aae;font-size:10px}.school-profile-level strong{color:#8f5c20;background:#fff6e8;border:1px solid #f4e3c5;border-radius:5px;padding:4px 8px;font-size:10px}.school-profile-level small{color:#a3adba;font-size:9px}.school-feature-summary{border-top:1px solid #eef1f5;grid-template-columns:54px minmax(0,1fr);gap:8px;margin-top:13px;padding-top:13px;display:grid}.school-feature-summary span{color:#8d9aae;font-size:10px}.school-feature-summary p{color:#718098;font-size:11px;line-height:1.55}.school-detail-note{color:#7b899d;border-top:1px solid #eef1f5;margin-top:16px;padding-top:13px;font-size:11px;line-height:1.6}.admission-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.admission-detail-item{background:#fafbfd;border:1px solid #eef1f5;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:13px;display:flex}.admission-detail-item>div{min-width:0}.admission-detail-item strong{color:var(--ink);font-size:12px}.admission-detail-item p{color:#8a98aa;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:10px;overflow:hidden}.policy-versions-card{margin-top:16px}.policy-counts{color:#97a3b3;gap:10px;font-size:10px;display:flex}.policy-counts b{color:var(--ink)}.policy-section{padding-top:18px}.policy-section+.policy-section{border-top:1px solid #eef1f5;margin-top:19px;padding-top:19px}.policy-section-heading{color:#75839a;align-items:center;gap:6px;display:flex}.policy-section-heading svg{color:var(--blue)}.policy-section-heading h3{font-size:12px}.policy-version-list{gap:10px;margin-top:11px;display:grid}.policy-version{background:#fafbfd;border:1px solid #eef1f5;border-radius:9px;padding:14px}.policy-version-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.policy-version-label{color:var(--blue);font-size:10px;font-weight:800}.policy-version h3{color:var(--ink);margin-top:4px;font-size:13px}.policy-version-meta{color:#9aa6b7;flex-wrap:wrap;gap:12px;margin-top:9px;font-size:10px;display:flex}.policy-version>p{color:#718098;margin-top:9px;font-size:11px;line-height:1.55}.policy-condition-list{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.policy-condition-list span{color:#8b98aa;background:#f1f4f8;border-radius:4px;padding:4px 6px;font-size:9px}.policy-version-source{border-top:1px solid #edf0f4;flex-wrap:wrap;align-items:center;gap:8px;margin-top:11px;padding-top:9px;font-size:10px;display:flex}.policy-version-source a,.policy-version-source>span{color:var(--blue);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.policy-version-source>span{color:#a06f2d}.policy-version-source small{color:#a4afbd}.policy-empty{color:#a0abba;background:#fafbfd;border:1px dashed #e2e7ee;border-radius:9px;flex-direction:column;align-items:flex-start;gap:6px;margin-top:10px;padding:13px;display:flex}.policy-empty svg{color:#aeb9c7}.policy-empty strong{color:#718098;font-size:11px}.policy-empty p{max-width:600px;font-size:10px;line-height:1.5}.policy-integrity-notice{margin-top:16px}.admin-hero{align-items:center}.admin-hero-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px;display:grid}.admin-stats>div{border:1px solid var(--line);background:#fff;border-radius:9px;justify-content:space-between;align-items:baseline;gap:10px;padding:13px 15px;display:flex}.admin-stats span{color:#8e9bad;font-size:10px}.admin-stats strong{color:var(--ink);font-size:19px}.admin-toolbar{align-items:center;gap:12px;display:flex}.admin-toolbar .search-field{min-width:210px}.admin-filter-row{margin-bottom:0}.admin-notice{color:#7a8da7;background:#f5f9ff;border:1px solid #e3ecfa;border-radius:7px;align-items:center;gap:6px;margin-top:13px;padding:9px 11px;font-size:10px;line-height:1.5;display:flex}.admin-notice svg{color:var(--blue);flex:none}.review-list{gap:11px;margin-top:14px;display:grid}.review-item{background:#fafbfd;border:1px solid #e8edf3;border-radius:10px;padding:15px}.review-item-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.review-item h3{color:var(--ink);margin-top:5px;font-size:13px}.review-item-head small{color:#9aa6b7;margin-top:6px;font-size:10px;display:block}.source-check-list{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.source-check-list span{border-radius:4px;align-items:center;gap:4px;padding:4px 6px;font-size:9px;display:inline-flex}.source-check-ready{color:#27806e;background:#edf9f5}.source-check-missing{color:#a36a28;background:#fff6e8}.review-summary{color:#718098;margin-top:11px;font-size:11px;line-height:1.55}.review-note{color:#a36a28;margin-top:8px;font-size:10px}.review-actions{border-top:1px solid #edf0f4;flex-wrap:wrap;gap:8px;margin-top:13px;padding-top:12px;display:flex}.review-actions .primary-button,.review-actions .secondary-button{min-height:32px;padding:0 11px;font-size:10px}.review-actions .primary-button:disabled{color:#9ba7b7;box-shadow:none;cursor:not-allowed;background:#e9edf2}.admin-form-card{margin-top:16px}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-field{color:#7f8da1;gap:6px;font-size:10px;font-weight:700;display:grid}.admin-field-wide{grid-column:1/-1}.admin-field input,.admin-field select,.admin-field textarea{width:100%;min-width:0;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;padding:10px 11px;font-size:11px;font-weight:400}.admin-field input,.admin-field select{min-height:39px;padding-top:0;padding-bottom:0}.admin-field textarea{resize:vertical;line-height:1.5}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{border-color:#b8cef0;box-shadow:0 0 0 3px #edf4ff}.admin-form-error{color:#b1555d;gap:5px;margin-top:12px}.admin-form-error,.rights-confirm{align-items:center;font-size:10px;display:flex}.rights-confirm{color:#718098;gap:7px;margin-top:14px}.rights-confirm input{accent-color:var(--blue)}.admin-log-card{margin-top:16px}.admin-log-list{gap:0;display:grid}.admin-log-row{border-bottom:1px solid #eef1f5;gap:10px;padding:12px 0;display:flex}.admin-log-row:last-child{border-bottom:0}.admin-log-dot{background:var(--blue);border-radius:50%;flex:0 0 8px;width:8px;height:8px;margin-top:4px}.admin-log-row>div{min-width:0}.admin-log-row p,.admin-log-row small,.admin-log-row strong{display:block}.admin-log-row strong{color:var(--ink);font-size:11px}.admin-log-row small{color:#9aa6b7;margin-top:4px;font-size:9px}.admin-log-row p{color:#a36a28;margin-top:4px;font-size:10px}.policy-modal-backdrop{z-index:40;background:#1422396b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.policy-modal{border:1px solid var(--line);background:#fff;border-radius:14px;width:min(560px,100%);padding:24px;box-shadow:0 22px 65px #14264433}.policy-modal-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.policy-modal-heading h2{color:var(--ink);margin-top:6px;font-size:21px}.policy-modal-title-row{align-items:center;gap:9px;margin-top:23px;display:flex}.policy-modal-title-row h3{color:var(--ink);font-size:17px}.policy-modal-copy{color:#6f7e94;margin-top:10px;font-size:12px;line-height:1.7}.policy-source-box{color:#55749c;background:#f5f9ff;border:1px solid #e1ebfa;border-radius:9px;gap:10px;margin-top:18px;padding:13px;display:flex}.policy-source-box>svg{color:var(--blue);flex:none;margin-top:2px}.policy-source-box strong{color:#3b5e8b;font-size:11px}.policy-source-box p{color:#7890ad;margin-top:5px;font-size:10px;line-height:1.55}.policy-source-box small{color:#a1afc1;margin-top:7px;font-size:9px;display:block}.policy-modal-actions{flex-wrap:wrap;gap:9px;margin-top:18px;display:flex}.policy-modal-actions .primary-button,.policy-modal-actions .secondary-button{margin-top:0}.planning-guide-list{gap:8px;margin-top:18px;display:grid}.planning-guide-list>div{background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;gap:5px;padding:11px 12px;display:grid}.planning-guide-list strong{color:var(--ink);font-size:11px}.planning-guide-list span{color:#7e8ca1;font-size:10px;line-height:1.55}.subpage-notice i{display:none}.notification-count{color:#fff;background:var(--orange);border:2px solid var(--canvas);border-radius:10px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:8px;font-weight:800;line-height:1;display:grid;position:absolute;top:-3px;right:-5px}.honor-item{border-bottom:1px solid #eef1f5;align-items:center;gap:14px;padding:15px 0;display:flex}.honor-item:last-child{border-bottom:0}.honor-medal{width:38px;height:38px;color:var(--orange);background:#fff2e7;border-radius:10px;flex:0 0 38px;place-items:center;display:grid}.honor-copy{flex:1;min-width:0}.honor-copy small,.honor-copy strong{display:block}.honor-copy strong{color:var(--ink);font-size:12px}.honor-copy small{color:#8d9aae;margin-top:4px;font-size:10px}.honor-actions{align-items:center;gap:4px;display:inline-flex}.honor-actions .icon-button{width:29px;height:29px}.honor-actions .icon-button.danger:hover{color:#b1555d;background:#fff1f3}.honor-year-row{margin-top:8px}.honor-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.honor-form-grid label{color:#65748b;gap:6px;font-size:10px;font-weight:800;display:grid}.honor-form-grid input,.honor-form-grid select{width:100%;min-height:39px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;padding:0 11px;font-size:11px}.honor-form-grid input:focus,.honor-form-grid select:focus{border-color:#b8cef0;box-shadow:0 0 0 3px #edf4ff}.honor-form-actions{justify-content:flex-end;gap:8px;margin-top:13px;display:flex}.honor-form-actions .primary-button:disabled{color:#9ba7b7;box-shadow:none;cursor:not-allowed;background:#e4e9ef;transform:none}.honor-match-grid{gap:9px}.honor-match-row{border:1px solid #edf1f5;flex-wrap:wrap;align-items:flex-start}.honor-match-row span{gap:4px;display:grid}.honor-match-row span strong{color:var(--ink);font-size:11px}.honor-match-row span em{color:#7b899d;font-size:10px;font-style:normal;line-height:1.5}.honor-match-row p{color:#9aa6b7;flex:0 0 100%;margin-left:17px;font-size:9px;line-height:1.5}.match-dot.missing{background:#b1555d}.match-dot.na{background:#c2cad5}.honor-match-row.ok{background:#f1fbf8;border-color:#d2efe6}.honor-match-row.warn{background:#fffaf1;border-color:#f2dfbd}.honor-match-row.pending{background:#f7f9fc}.honor-match-row.missing{background:#fff7f8;border-color:#f2d4d8}.honor-match-row.na{background:#fafbfd}.match-grid{gap:9px;margin-top:17px;display:grid}.match-row{background:#fafbfd;border-radius:8px;align-items:center;gap:9px;padding:11px;display:flex}.match-dot{background:#c2cad5;border-radius:50%;flex:0 0 8px;width:8px;height:8px}.match-dot.ok{background:#45aa88}.match-dot.warn{background:var(--orange)}.match-dot.pending{background:#c59c52}.match-row span{color:#596981;flex:1;font-size:11px}.match-row small{color:#9ca8b8;font-size:10px}.level-list{gap:10px;display:grid}.level-row{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:13px;padding:14px;display:flex}.level-number{color:#fff;background:var(--blue);border-radius:9px;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:12px;font-weight:800;display:grid}.level-row>div:nth-child(2){flex:1;min-width:0}.level-row small,.level-row strong{display:block}.level-row strong{color:var(--ink);font-size:12px}.level-row small{color:#8f9bad;margin-top:3px;font-size:10px}.level-progress{width:125px}.level-progress div{background:#edf0f5;border-radius:4px;height:5px;overflow:hidden}.level-progress span{background:var(--blue);border-radius:4px;height:100%;display:block}.level-progress small{color:#a0aaba;text-align:right;margin-top:5px;font-size:9px;display:block}.typing-hero{align-items:center}.typing-hero-mark{z-index:1;color:#ffd59e;background:#ffffff1a;border:1px solid #fff3;border-radius:16px;place-items:center;width:58px;height:58px;display:grid;position:relative}.typing-game-card{margin-top:16px}.typing-game-card>.section-heading{margin-bottom:14px}.typing-game-card .soft-tag{align-items:center;gap:5px;display:inline-flex}.typing-mode-tabs{background:#f1f4f8;border-radius:9px;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:14px;padding:4px;display:grid}.typing-mode-tabs button{color:#7d8ba0;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:32px;font-size:10px;font-weight:800}.typing-mode-tabs button.active,.typing-mode-tabs button:hover{color:var(--ink);background:#fff;box-shadow:0 2px 7px #283a5a14}.typing-game-layout{grid-template-columns:250px minmax(0,1fr);gap:13px;display:grid}.typing-level-panel{background:#fafbfd;border:1px solid #e8edf4;border-radius:10px;min-width:0;padding:13px}.typing-level-panel-heading{color:var(--ink);justify-content:space-between;align-items:center;gap:8px;padding:1px 2px 10px;font-size:11px;font-weight:800;display:flex}.typing-level-panel-heading small{color:#9aa6b7;font-size:9px;font-weight:400}.typing-level-list{gap:6px;display:grid}.typing-level-item{width:100%;min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border:1px solid #edf1f5;border-radius:8px;align-items:center;gap:8px;padding:9px;display:flex}.typing-level-item.active,.typing-level-item:hover{background:#f5f9ff;border-color:#bcd1ef}.typing-level-item.locked{color:#9ba7b7;cursor:not-allowed;background:#f4f6f8}.typing-level-number{color:#fff;background:var(--blue);border-radius:7px;flex:0 0 25px;place-items:center;width:25px;height:25px;font-size:10px;font-weight:800;display:grid}.typing-level-item.locked .typing-level-number{background:#c4ccd6}.typing-level-copy{flex:1;gap:4px;min-width:0;display:grid}.typing-level-copy strong{font-size:10px}.typing-level-copy small{color:#8f9bad;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.typing-level-copy i{background:#edf0f5;border-radius:4px;height:4px;display:block;overflow:hidden}.typing-level-copy b{background:#45aa88;border-radius:4px;height:100%;display:block}.typing-level-status{color:#8d9aac;flex:none;font-size:9px}.typing-level-item.active .typing-level-status{color:var(--blue);font-weight:800}.typing-game-scene{color:#e9f1ff;background:#172e58;border-radius:10px;min-width:0;padding:14px;position:relative;overflow:hidden}.typing-game-scene:after{content:"";pointer-events:none;border:1px solid #c2daff2b;border-radius:50%;width:240px;height:240px;position:absolute;bottom:-105px;right:-80px;box-shadow:0 0 0 28px #c2daff09,0 0 0 56px #c2daff06}.typing-scene-top{z-index:1;color:#a9bee3;justify-content:space-between;align-items:center;gap:10px;font-size:9px;display:flex;position:relative}.typing-scene-top div span,.typing-scene-top>span{align-items:center;gap:4px;display:inline-flex}.typing-scene-top div{gap:10px;display:flex}.typing-scene-top svg{color:#71a6ff}.typing-space-stage{height:128px;margin-top:2px;position:relative}.typing-space-star{background:#d7e8ff;border-radius:50%;width:3px;height:3px;position:absolute;box-shadow:0 0 8px #d7e8ffcc}.star-one{top:22px;left:14%}.star-two{top:71px;left:66%}.star-three{top:44px;right:14%}.typing-planet{color:#8bb7ff;background:#244c88;border:7px solid #1b3b70;border-radius:50%;place-items:center;width:72px;height:72px;display:grid;position:absolute;top:22px;left:24%;box-shadow:0 0 0 1px #9ec6ff47,0 0 24px #538ff747}.typing-route-line{transform-origin:0;background:#6e9bd5;width:36%;height:1px;position:absolute;top:58px;left:35%;transform:rotate(-7deg)}.typing-destination{color:#ffd18d;background:#664b4f;border:1px solid #e7bd87;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:48px;right:21%}.typing-stage-label{color:#7896c4;font-size:9px;position:absolute;bottom:9px;left:0}.typing-target-box{z-index:1;text-align:center;background:#0919358c;border:1px solid #a0c4f433;border-radius:8px;padding:12px 13px;position:relative}.typing-target-label{color:#9fb9df;font-size:9px;display:block}.typing-target-text{font-family:var(--font-geist-mono),monospace;letter-spacing:.04em;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:9px;font-size:19px;font-weight:700;display:flex}.typing-target-character{color:#9cb5d9;place-items:center;min-width:14px;display:inline-grid}.typing-target-character.next{color:#fff;text-shadow:0 0 13px #fffc}.typing-target-character.correct{color:#69dbad}.typing-target-character.wrong{color:#ff9b8e;text-decoration:underline}.typing-game-stats{z-index:1;color:#9fb4d3;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:10px;font-size:9px;display:flex;position:relative}.typing-game-stats span{align-items:center;gap:4px;display:inline-flex}.typing-game-stats svg{color:#71a6ff}.typing-game-input{z-index:1;color:#e9f1ff;text-align:center;background:#ffffff1a;border:1px solid #5687d4;border-radius:7px;outline:none;width:100%;min-height:38px;margin-top:11px;padding:0 12px;font-size:11px;position:relative}.typing-game-input::placeholder{color:#8fa9d0}.typing-game-input:focus{border-color:#9ac0ff;box-shadow:0 0 0 3px #74a6f62e}.typing-ready,.typing-result{z-index:1;background:#ffffff14;border:1px solid #a0c4f429;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:11px;padding:10px 12px;display:flex;position:relative}.typing-ready>div,.typing-result>div:first-child{gap:4px;display:grid}.typing-ready strong,.typing-result strong{color:#fff;font-size:11px}.typing-ready span,.typing-result span{color:#9fb4d3;font-size:9px}.typing-ready .primary-button,.typing-result .primary-button{min-height:32px;padding:0 10px;font-size:10px}.typing-result{align-items:flex-start}.typing-result-stats{gap:12px;margin-left:auto;display:flex}.typing-result-stats b{color:#69dbad;text-align:center;gap:2px;font-size:15px;display:grid}.typing-result-stats small{color:#9fb4d3;font-size:8px;font-weight:400}.typing-game-footer{color:#9aa6b7;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:11px;font-size:9px;display:flex}.typing-game-footer span{align-items:center;gap:5px;display:inline-flex}.typing-game-footer svg{color:#45aa88}.typing-preview{text-align:center;flex-direction:column;align-items:center;padding:19px 8px 3px;display:flex}.typing-orb{width:58px;height:58px;color:var(--orange);background:#fff2e7;border:8px solid #fff8f2;border-radius:50%;place-items:center;display:grid}.typing-preview p{max-width:300px;margin-top:13px}.typing-code{color:var(--blue-dark);font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;background:#f2f6fc;border-radius:9px;margin-top:17px;padding:13px 20px;font-size:14px}.typing-stats{color:#8d9aac;justify-content:center;gap:15px;margin-top:13px;font-size:10px;display:flex}.typing-stats span{align-items:center;gap:5px;display:inline-flex}.typing-stats strong{color:var(--ink)}.typing-preview .primary-button{margin-top:17px}.typing-embed-card{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;min-height:min(720px,100vh - 180px);margin-top:16px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 28px #2235570f}.typing-embed-frame{background:#fff;border:0;flex:1;width:100%;min-height:660px;display:block}.typing-embed-fallback{color:#8d99aa;background:#fafbfd;border-top:1px solid #edf1f5;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;padding:9px 12px;font-size:10px;display:flex}.typing-embed-fallback a{color:var(--blue);text-underline-offset:2px;font-weight:700;text-decoration:underline}.subpage-shell-immersive .typing-embed-card{height:100%;min-height:0;box-shadow:none;border:0;border-radius:0;margin:0}.subpage-shell-immersive .typing-embed-frame{height:100%;min-height:0}.subpage-shell-immersive .typing-embed-fallback{z-index:2;border:1px solid #e2e8f1;border-radius:7px;position:absolute;bottom:10px;right:12px;box-shadow:0 5px 15px #2235571a}.points-hero{align-items:center}.points-hero-icon{color:#ffd59e;background:#ffffff1a;border:1px solid #fff3;border-radius:16px;place-items:center;width:58px;height:58px;display:grid}.points-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.points-summary-grid>div{border:1px solid var(--line);background:#fff;border-radius:12px;gap:6px;padding:16px;display:grid;box-shadow:0 8px 24px #22355709}.points-summary-grid span{color:#8492a7;font-size:10px;font-weight:800}.points-summary-grid strong{color:var(--ink);letter-spacing:-.03em;font-size:24px}.points-summary-grid small{color:#9aa6b7;font-size:9px}.points-ledger-card,.points-progress-card{margin-top:16px}.points-progress{gap:9px;margin-top:12px;display:grid}.points-progress i{background:#edf0f5;border-radius:99px;height:9px;display:block;overflow:hidden}.points-progress b{background:linear-gradient(90deg,var(--blue),#45aa88);border-radius:99px;height:100%;display:block}.points-note,.points-progress span{color:#7e8ca1;font-size:10px;line-height:1.6}.points-note{margin-top:11px}.points-ledger-list{gap:8px;margin-top:12px;display:grid}.points-ledger-row{background:#fafbfd;border:1px solid #edf1f5;border-radius:9px;align-items:center;gap:10px;padding:11px;display:flex}.points-ledger-icon{width:31px;height:31px;color:var(--orange);background:#fff2e7;border-radius:8px;flex:0 0 31px;place-items:center;display:grid}.points-ledger-row>div{flex:1;min-width:0}.points-ledger-row small,.points-ledger-row strong{display:block}.points-ledger-row strong{color:var(--ink);font-size:11px}.points-ledger-row small{color:#8d9aac;margin-top:4px;font-size:9px}.points-ledger-row b{color:#27806e;font-size:14px}@media (max-width:760px){.subpage-sidebar{display:none}.subpage-sidebar.subpage-sidebar-open{z-index:50;width:min(286px,84vw);padding-top:18px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:18px 0 38px #1527432e}.subpage-sidebar-toggle{display:none}.subpage-shell-sidebar-collapsed .subpage-sidebar.subpage-sidebar-open{width:min(286px,84vw);padding-left:15px;padding-right:15px}.subpage-shell-sidebar-collapsed .nav-group-label,.subpage-shell-sidebar-collapsed .subnav-link>span,.subpage-shell-sidebar-collapsed .subnav-link>svg:last-child,.subpage-shell-sidebar-collapsed .subpage-nav-dnd-note,.subpage-shell-sidebar-collapsed .subpage-profile>span:last-child,.subpage-shell-sidebar-collapsed .subpage-side-note>span,.subpage-shell-sidebar-collapsed .subpage-sidebar .brand-lockup>span:last-child{display:block}.subpage-shell-sidebar-collapsed .subpage-sidebar-header .brand-lockup{flex:1;padding-left:4px;padding-right:4px}.subpage-shell-sidebar-collapsed .subnav-link{justify-content:flex-start;gap:10px;padding:0 12px}.subpage-shell-sidebar-collapsed .subnav-link>svg:last-child{margin-left:auto}.subpage-shell-sidebar-collapsed .subnav-children{display:grid}.subpage-sidebar-scrim{z-index:45;background:#14223952;border:0;width:100%;height:100%;padding:0;display:block;position:fixed;inset:0}.subpage-mobile-menu{margin-left:-8px;display:grid}.immersive-mobile-menu{z-index:120;color:#6f8099;background:#ffffffe6;border:1px solid #e1e8f1;display:grid;position:fixed;top:12px;left:12px}.subpage-topbar{height:60px;padding:0 16px}.subpage-top-actions{gap:9px}.subpage-content{padding:28px 16px 46px}.subpage-heading{flex-direction:column;align-items:flex-start;gap:13px}.subpage-heading h1{font-size:30px}.direction-tab-list,.subpage-card-grid,.subpage-card-grid.four,.subpage-card-grid.two{grid-template-columns:1fr}.active-direction-panel{flex-direction:column;align-items:flex-start}.active-direction-actions{justify-content:space-between;width:100%}.growth-task-assessment{flex-wrap:wrap;align-items:flex-start}.growth-task-count{width:100%;margin-left:39px}.growth-task-row{flex-direction:column;align-items:flex-start}.growth-task-result{width:100%}.plan-form-grid{grid-template-columns:1fr}.plan-form-wide{grid-column:auto}.plan-list-item{flex-wrap:wrap;align-items:flex-start}.plan-list-actions{justify-content:flex-end;width:100%}.plan-detail-grid{grid-template-columns:1fr}.learning-tabs{width:100%}.learning-tabs button{flex:1;justify-content:center}.learning-grid{grid-template-columns:1fr}.learning-detail{min-height:330px}.gesp-learning-grid{grid-template-columns:1fr}.gesp-detail{grid-column:auto}.task-summary-strip{grid-template-columns:repeat(2,1fr)}.task-route-heading{flex-direction:column;align-items:flex-start}.task-list{grid-template-columns:1fr}.task-entry-card{flex-direction:column;align-items:flex-start}.typing-game-layout{grid-template-columns:1fr}.typing-space-stage{height:116px}.typing-result{flex-wrap:wrap;align-items:flex-start}.typing-result-stats{justify-content:space-around;width:100%;margin-left:0}.typing-result .primary-button{margin-left:auto}.mind-map-canvas{grid-template-columns:1fr;gap:18px}.mind-map-core{width:140px;margin:0 auto}.mind-map-core:after{width:1px;height:18px;top:100%;left:50%}.mind-map-branch:before{display:none}.cpp-task-box{flex-direction:column;gap:7px}.cpp-playground-grid{grid-template-columns:1fr}.cpp-editor{min-height:220px}.cpp-editor-actions{justify-content:stretch}.cpp-editor-actions .primary-button,.cpp-editor-actions .secondary-button{flex:1;justify-content:center}.honor-form-grid,.module-topic-list,.planning-empty-guide,.points-summary-grid,.practice-options{grid-template-columns:1fr}.typing-mode-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.subpage-hero-panel{flex-direction:column;align-items:flex-start;padding:21px}.path-step:before{width:1px;height:calc(100% - 26px);top:28px;left:28px;right:auto}.path-step{grid-template-columns:57px 1fr;min-height:112px;padding-top:0;display:grid}.path-step-current{margin:-9px 0 -8px;padding:9px 10px 8px}.path-step-icon{width:44px;margin-bottom:0}.notice-card{grid-template-columns:35px minmax(0,1fr)}.notice-impact{grid-column:2}.form-row{flex-direction:column}.level-progress{width:94px}.directory-filter-grid{flex-direction:column;align-items:stretch}.tag-select{width:100%}.policy-modal{padding:20px}.policy-modal-title-row{flex-direction:column;align-items:flex-start;gap:7px}.school-detail-hero{align-items:flex-start}.school-detail-actions{width:100%}.school-detail-actions .school-follow-button,.school-detail-actions .secondary-button{flex:1;justify-content:center}.school-profile-heading{flex-wrap:wrap;align-items:flex-start}.school-profile-heading .soft-tag{width:100%;margin-left:56px}.admission-detail-grid{grid-template-columns:1fr}.policy-counts{flex-wrap:wrap}.policy-version-head{flex-direction:column;gap:7px}.admin-hero,.policy-version-head{align-items:flex-start}.admin-hero-actions{width:100%}.admin-hero-actions .primary-button,.admin-hero-actions .secondary-button{flex:1}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-toolbar{flex-direction:column;align-items:stretch}.admin-toolbar .search-field{min-width:0}.admin-filter-row{margin-bottom:0}.admin-form-grid{grid-template-columns:1fr}.admin-field-wide{grid-column:auto}}.gesp-simulation-card{margin-top:16px}.simulation-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.simulation-generate-button{min-height:32px;box-shadow:none;padding:0 11px;font-size:10px}.simulation-progress{color:#7d8ba0;margin-top:14px;font-size:10px}.simulation-empty{color:#a1adbd;text-align:center;background:#fafbfd;border:1px dashed #dfe6ef;border-radius:9px;justify-items:center;gap:7px;margin-top:14px;padding:25px 16px;display:grid}.simulation-empty svg{color:var(--orange)}.simulation-empty strong{color:var(--ink);font-size:13px}.simulation-empty p{color:#8997aa;font-size:10px}.gesp-papers-card{margin-top:16px}.gesp-papers-intro{color:#7b899d;font-size:11px;line-height:1.6}.paper-level-tabs{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.paper-level-tabs button{color:#748198;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;padding:7px 10px;font-size:10px}.paper-level-tabs button.active,.paper-level-tabs button:hover{color:var(--orange);background:#fffaf4;border-color:#f0c99f}.paper-year-filter{color:#8a98aa;align-items:center;gap:8px;margin-top:12px;font-size:10px;display:inline-flex}.paper-year-filter select{min-height:31px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:7px;outline:none;padding:0 9px;font-size:10px}.paper-list{gap:8px;margin-top:12px;display:grid}.paper-item{background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;align-items:center;gap:9px;min-width:0;padding:11px;display:flex}.paper-icon{width:29px;height:29px;color:var(--orange);background:#fff1e6;border-radius:7px;flex:0 0 29px;place-items:center;display:grid}.paper-copy{flex:1;min-width:0}.paper-copy small,.paper-copy strong{display:block}.paper-copy strong{color:var(--ink);font-size:11px}.paper-copy small{color:#9aa6b7;margin-top:4px;font-size:9px}.paper-item .status-pill{flex:none}.paper-lock{color:#aab4c1;place-items:center;display:grid}@media (max-width:760px){.paper-item{flex-wrap:wrap;align-items:flex-start}.paper-item .status-pill{margin-left:38px}.paper-lock{margin-left:auto}}.admin-sync-error{margin-bottom:0}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.simulation-mode-tabs{background:#f1f4f8;border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:14px;padding:4px;display:grid}.simulation-mode-tabs button{color:#7d8ba0;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:34px;padding:0 8px;font-size:10px;font-weight:700}.simulation-mode-tabs button.active,.simulation-mode-tabs button:hover{color:var(--ink);background:#fff;box-shadow:0 2px 7px #283a5a14}.simulation-timer{color:#27806e;background:#edf9f5;border-radius:5px;align-items:center;gap:4px;padding:5px 7px;font-size:10px;font-weight:800;display:inline-flex}.simulation-timer.warning{color:#b1555d;background:#fff1f3}.simulation-rules{color:#718098;background:#f7f9fc;border:1px solid #e8edf3;border-radius:8px;gap:5px;margin-top:12px;padding:11px;font-size:10px;display:grid}.simulation-rules strong{color:var(--ink);font-size:11px}.simulation-rules small{color:#9aa6b7;font-size:9px}.simulation-code-panel{margin-top:10px}.simulation-code-panel .cpp-editor{min-height:260px;margin-top:10px}.simulation-sample-info{color:#8d9aac;flex:1;min-width:0;font-size:9px;line-height:1.5}.simulation-code-note{color:#a36a28;margin-top:8px;font-size:9px;line-height:1.5}.simulation-answer-sheet{border-top:1px solid #edf0f4;gap:7px;margin-top:14px;padding-top:12px;display:grid}.simulation-answer-sheet strong{color:var(--ink);font-size:10px}.simulation-answer-sheet>div{flex-wrap:wrap;gap:5px;display:flex}.simulation-answer-sheet button{color:#8d9aac;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:5px;width:27px;height:27px;font-size:9px}.simulation-answer-sheet button.answered{color:#27806e;background:#edf9f5;border-color:#bfe7d9}.simulation-answer-sheet button.current{color:#fff;background:var(--blue);border-color:var(--blue)}.simulation-footer-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.paper-official-link{white-space:nowrap;min-height:31px;padding:0 10px;font-size:10px}.simulation-analysis-card{margin-top:16px}.simulation-analysis-card .soft-tag{align-items:center;gap:4px;display:inline-flex}.simulation-analysis-intro{color:#7b899d;margin-top:9px;font-size:10px;line-height:1.6}.simulation-analysis-list{gap:7px;margin-top:13px;display:grid}.simulation-analysis-row{background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;align-items:center;gap:8px;padding:10px;display:flex}.analysis-topic-icon{width:28px;height:28px;color:var(--blue);background:#eef4ff;border-radius:7px;flex:0 0 28px;place-items:center;display:grid}.simulation-analysis-row>div{flex:1;min-width:0}.simulation-analysis-row small,.simulation-analysis-row strong{display:block}.simulation-analysis-row strong{color:var(--ink);font-size:11px}.simulation-analysis-row small{color:#9aa6b7;margin-top:3px;font-size:9px}.simulation-analysis-row b{color:#27806e;font-size:12px}.simulation-analysis-row b.middle{color:#a36a28}.simulation-analysis-row b.weak{color:#b1555d}.simulation-focus-button{min-height:32px;margin-top:12px;padding:0 11px;font-size:10px}@media (max-width:760px){.simulation-mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.simulation-heading-actions{justify-content:stretch;width:100%}.simulation-heading-actions .simulation-generate-button{flex:1}.simulation-code-panel .cpp-editor-actions{flex-direction:column;align-items:stretch}.simulation-sample-info{flex:none}.simulation-footer-actions{justify-content:stretch}.simulation-footer-actions .secondary-button{flex:1}.paper-official-link{flex:none}}.auth-shell{background:radial-gradient(circle at 12% 15%,#eaf2ff 0,transparent 30%),radial-gradient(circle at 86% 12%,#fff2e4 0,transparent 26%),var(--canvas);place-items:center;min-height:100vh;padding:28px;display:grid}.auth-card,.auth-loading-card{border:1px solid var(--line);background:#fffffff0;border-radius:18px;width:min(440px,100%);box-shadow:0 24px 70px #21365a1f}.auth-loading-card{color:#7e8ca1;text-align:center;padding:34px;font-size:12px}.auth-card{padding:28px}.auth-brand{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding-bottom:22px;display:flex}.auth-brand>span:last-child{gap:3px;display:grid}.auth-brand strong{color:var(--ink);font-size:16px}.auth-brand small{color:#98a4b5;font-size:10px}.auth-header{margin-top:22px}.auth-header h1,.auth-summary h1{color:var(--ink);letter-spacing:-.03em;margin:0;font-size:26px}.auth-header p,.auth-summary p{color:#75849a;margin-top:8px;font-size:12px;line-height:1.7}.auth-method-tabs,.auth-mode-tabs,.auth-role-switcher{background:#f1f4f8;border-radius:11px;gap:6px;margin-top:18px;padding:4px;display:grid}.auth-mode-tabs,.auth-role-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-method-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.auth-method-tabs button,.auth-mode-tabs button,.auth-role-switcher button{color:#77859a;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:35px;font-size:11px;font-weight:800;display:inline-flex}.auth-method-tabs button.active,.auth-mode-tabs button.active,.auth-role-switcher button.active{color:var(--ink);background:#fff;box-shadow:0 3px 9px #22355714}.auth-note{color:#5f7392;background:#f6f9ff;border:1px solid #e1ebfa;border-radius:9px;align-items:flex-start;gap:7px;margin-top:12px;padding:10px 11px;font-size:10px;line-height:1.5;display:flex}.auth-note svg{color:var(--blue);flex:none}.auth-form{gap:13px;margin-top:17px;display:grid}.auth-form label{color:#65748b;gap:6px;font-size:10px;font-weight:800;display:grid}.account-role-form input,.auth-form input{width:100%;min-height:38px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;padding:0 11px;font-size:12px;font-weight:400}.account-role-form input:focus,.auth-form input:focus{border-color:#b8cef0;box-shadow:0 0 0 3px #edf4ff}.auth-secret-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.auth-secret-row .secondary-button{white-space:nowrap;min-height:38px}.auth-form>.primary-button{width:100%;margin-top:2px}.account-role-action:disabled,.account-role-form .primary-button:disabled,.auth-form .primary-button:disabled,.auth-form .secondary-button:disabled{color:#9ba7b7;box-shadow:none;cursor:not-allowed;background:#e4e9ef;border-color:#e4e9ef;transform:none}.auth-code-note{color:#9a681f;background:#fff6e5;border:1px solid #f3dfb8;font-weight:800}.auth-code-note,.auth-feedback{border-radius:8px;margin-top:12px;padding:9px 10px;font-size:11px}.auth-feedback{line-height:1.5}.auth-feedback.success{color:#247866;background:#edf9f5;border:1px solid #cbeee4}.account-role-error,.auth-feedback.error{color:#b1555d;background:#fff1f3;border:1px solid #f4cbd0}.auth-footer{color:#9aa6b7;text-align:center;margin-top:15px;font-size:10px;line-height:1.6}.auth-summary-card{gap:20px;display:grid}.auth-summary-actions{flex-wrap:wrap;gap:9px;display:flex}.auth-method-switcher{background:#f1f4f8;border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:18px;padding:4px;display:grid}.auth-method-switcher button{color:#77859a;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:35px;font-size:11px;font-weight:800;display:inline-flex}.auth-method-switcher button.active{color:var(--ink);background:#fff;box-shadow:0 3px 9px #22355714}.auth-social-divider{color:#a0abba;align-items:center;gap:10px;margin-top:20px;font-size:10px;display:flex}.auth-social-divider:after,.auth-social-divider:before{content:"";background:var(--line);flex:1;height:1px}.auth-social-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;display:grid}.auth-social-button{border:1px solid var(--line);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:39px;font-size:10px;font-weight:800;display:inline-flex}.auth-social-button.alipay{color:#1677c8;background:#f2f9ff;border-color:#cfe7f9}.auth-social-button.wechat{color:#26966c;background:#f0fbf6;border-color:#cbeede}.auth-social-button:hover{transform:translateY(-1px);box-shadow:0 5px 12px #22355714}.auth-setup-card{position:relative}.auth-provider-logo,.auth-setup-icon{width:48px;height:48px;color:var(--blue);background:#edf4ff;border-radius:14px;place-items:center;margin-top:22px;display:grid}.auth-setup-icon{color:#27806e;background:#edf9f5}.auth-authorize-card{text-align:center}.auth-authorize-card .auth-brand{text-align:left}.auth-back-link{color:#728198;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;margin-top:15px;padding:0;font-size:10px;font-weight:800;display:inline-flex}.auth-back-link:hover{color:var(--blue)}.auth-provider-logo{margin:24px auto 0}.auth-provider-logo.alipay{color:#1677c8;background:#f2f9ff}.auth-provider-logo.wechat{color:#26966c;background:#f0fbf6}.auth-authorize-card .auth-header{margin-top:15px}.auth-qr-placeholder{color:#8b98aa;justify-items:center;gap:10px;margin:20px auto 17px;font-size:10px;display:grid}.auth-qr-grid{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:repeat(7,8px);gap:2px;padding:10px;display:grid;box-shadow:0 8px 18px #22355714}.auth-qr-grid i{background:#eef2f7;width:8px;height:8px}.auth-qr-grid i.filled{background:#243b60}.auth-authorize-button{width:100%}.auth-binding-note{color:#5f7392;background:#f6f9ff;border:1px solid #e1ebfa;border-radius:8px;align-items:flex-start;gap:7px;margin-top:2px;padding:9px 10px;font-size:10px;line-height:1.5;display:flex}.auth-binding-note svg{color:var(--blue);flex:none}.account-delete-modal{max-width:520px}.account-delete-warning{color:#8b6570;background:#fff5f6;border:1px solid #f1d6da;border-radius:9px;align-items:flex-start;gap:9px;margin-top:18px;padding:12px;font-size:11px;line-height:1.6;display:flex}.account-delete-warning svg{color:#b1555d;flex:none;margin-top:2px}.account-delete-warning strong{color:#a64d5d;font-size:12px;display:block}.account-delete-warning p{margin-top:3px}.account-delete-modal .account-danger-form{margin-top:18px;padding-top:18px}.topbar-actions,.topbar-left{align-items:center;gap:12px;display:flex}.topbar-left{min-width:0}.topbar-actions{margin-left:auto}.account-role-switcher{z-index:35;position:relative}.account-role-trigger{color:#5f6f86;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:10px;font-weight:800;display:inline-flex;box-shadow:0 4px 12px #2235570a}.account-role-trigger:hover{color:var(--blue);border-color:#cbd8eb}.account-role-menu{border:1px solid var(--line);background:#fff;border-radius:12px;width:238px;padding:12px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 36px #192b4829}.account-role-title{color:var(--ink);font-size:12px;font-weight:900}.account-role-summary{color:#8b98aa;margin-top:5px;font-size:10px;line-height:1.5}.account-role-action,.account-role-logout{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:34px;margin-top:10px;font-size:11px;font-weight:800;display:inline-flex}.account-role-action{color:#fff;background:var(--blue);border:0}.account-role-logout{color:#b1555d;background:#fff6f6;border:1px solid #f1d6da}.account-role-form{gap:9px;margin-top:11px;display:grid}.account-role-form label{color:#65748b;gap:5px;font-size:10px;font-weight:800;display:grid}.account-role-form .primary-button{min-height:34px;font-size:11px}.account-role-error{border-radius:8px;margin-top:9px;padding:8px 9px;font-size:10px;line-height:1.45}.account-settings-card{margin-top:16px}.account-settings-form{gap:13px;margin-top:16px;display:grid}.account-settings-form label{color:#65748b;gap:6px;font-size:10px;font-weight:800;display:grid}.account-settings-form input{width:100%;min-height:38px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;padding:0 11px;font-size:11px}.account-settings-form input:focus{border-color:#b8cef0;box-shadow:0 0 0 3px #edf4ff}.account-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.account-recovery-note{color:#8b6a4e;background:#fff8ef;border:1px solid #f8e5cd;border-radius:8px;align-items:flex-start;gap:8px;padding:11px 12px;font-size:10px;line-height:1.55;display:flex}.account-recovery-note svg{color:#c27a3c;flex:none}.account-recovery-note strong{color:#8a603e;font-size:11px;display:block}.account-recovery-note p{color:#94795f;margin-top:4px;font-size:10px;line-height:1.55}.account-settings-form>.primary-button{justify-self:flex-start}.account-settings-form>.primary-button:disabled{color:#9ba7b7;box-shadow:none;cursor:not-allowed;background:#e4e9ef;transform:none}.account-danger-card{background:#fffafb;border-color:#f1d6da;margin-top:16px}.danger-soft-tag{color:#a64d5d;background:#fff1f3;align-items:center;gap:5px;display:inline-flex}.account-danger-copy{color:#8b6570;max-width:680px;margin-top:8px}.account-danger-actions{justify-content:flex-end;gap:8px;margin-top:15px;display:flex}.danger-button{color:#fff;cursor:pointer;background:#b1555d;border:1px solid #b1555d;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 12px;font-size:11px;font-weight:800;display:inline-flex}.danger-button:hover{background:#9f414e;border-color:#9f414e}.danger-button:disabled{color:#a8abb4;cursor:not-allowed;background:#ececef;border-color:#ececef}.account-danger-form{border-top:1px solid #f1dfe2;gap:12px;margin-top:16px;padding-top:16px;display:grid}.account-danger-form label{color:#7d5b66;gap:6px;font-size:10px;font-weight:800;display:grid}.account-danger-form input{width:100%;min-height:38px;color:var(--ink);background:#fff;border:1px solid #ecd2d6;border-radius:8px;outline:none;padding:0 11px;font-size:11px}.account-danger-form input:focus{border-color:#d99ba4;box-shadow:0 0 0 3px #fff0f2}.home-nav-dnd-note{color:#9aa6b7;grid-column:1/-1;margin:0 12px 1px;font-size:9px;line-height:1.45}.home-nav-zone{border:1px dashed #0000;border-radius:11px;gap:4px;padding:3px 0;transition:background .15s,border-color .15s,box-shadow .15s;display:grid}.home-nav-zone.is-drag-over{background:#f5f9ff;border-color:#b8cef0;box-shadow:inset 0 0 0 2px #2468d70d}.menu-drag-item{transition:opacity .15s,border-color .15s,box-shadow .15s,transform .15s;position:relative}.menu-drag-card{border:1px solid #0000;border-radius:10px;align-items:stretch;min-width:0;display:flex}.menu-settings-group{display:block}.menu-drag-card-row{align-items:stretch;min-width:0;display:flex}.menu-drag-card-row>.nav-item,.menu-drag-card-row>.subnav-link,.menu-drag-card>.nav-item,.menu-drag-card>.subnav-link{flex:1;min-width:0}.menu-drag-handle{color:#a5afbe;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:7px;flex:0 0 32px;place-items:center;width:32px;min-height:42px;padding:0;display:grid}.menu-drag-handle:hover{color:var(--blue);background:#edf4ff}.menu-drag-handle:active{color:var(--blue);cursor:grabbing}.menu-drag-item.is-dragging{opacity:.48}.menu-drag-item.is-drop-target{border-color:#75a2df;transform:translateY(2px);box-shadow:0 -3px #75a2df}.admin-stats-toolbar{justify-content:space-between;align-items:flex-end;gap:16px;margin-top:16px;display:flex}.admin-stats-toolbar h2{color:var(--ink);margin-top:4px;font-size:20px}.admin-stats-toolbar small{color:#8b98aa;margin-top:6px;font-size:10px;display:block}.admin-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.admin-summary-card{border:1px solid var(--line);background:#fff;border-radius:11px;gap:6px;min-width:0;padding:16px;display:grid;box-shadow:0 8px 24px #22355709}.admin-summary-icon{width:32px;height:32px;color:var(--blue);background:#edf4ff;border-radius:9px;place-items:center;display:grid}.admin-summary-card>span:not(.admin-summary-icon){color:#73829a;font-size:10px;font-weight:800}.admin-summary-card strong{color:var(--ink);font-size:26px}.admin-summary-card small{color:#9aa6b7;font-size:9px}.admin-detail-card{margin-top:16px}.admin-detail-card .section-heading>svg{color:var(--blue)}.admin-feature-list{gap:8px;margin-top:14px;display:grid}.admin-feature-row{color:#64748a;background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;font-size:11px;display:flex}.admin-feature-row b{color:var(--blue);font-size:14px}.admin-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.admin-metric-card{gap:8px;display:grid}.admin-metric-card>div{color:var(--ink);align-items:center;gap:7px;display:flex}.admin-metric-card>div svg{color:var(--blue)}.admin-metric-card p{color:#74839a;font-size:10px}.admin-metric-card p b{color:var(--ink);font-size:13px}.admin-denied-card,.admin-loading-card{text-align:center;color:#8b98aa;justify-items:center;gap:9px;margin-top:16px;padding:38px 20px;display:grid}.admin-denied-card svg{color:#c27a3c}.admin-denied-card h2{color:var(--ink);font-size:16px}.admin-denied-card p{max-width:420px;font-size:11px;line-height:1.6}@media (max-width:900px){.admin-metric-grid,.admin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.admin-stats-toolbar{flex-direction:column;align-items:flex-start}.admin-metric-grid,.admin-summary-grid{grid-template-columns:1fr}}@media (max-width:760px){.account-settings-grid{grid-template-columns:1fr}}.training-hero{background:#17325e}.training-hero-mark{z-index:1;color:#b9d1ff;background:#244c88;border:1px solid #b9d1ff47;border-radius:14px;flex:0 0 58px;place-items:center;width:58px;height:58px;display:grid;position:relative}.training-layout{grid-template-columns:minmax(220px,.32fr) minmax(0,1fr);align-items:start;gap:16px;margin-top:16px;display:grid}.training-directory{min-width:0;padding:16px}.training-directory .section-heading>svg{color:var(--blue)}.training-topic-button{color:#738197;cursor:pointer;text-align:left;background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;margin-top:9px;padding:11px;display:flex}.training-topic-button.active,.training-topic-button:hover{color:var(--blue);background:#f3f7ff;border-color:#c8daf4}.training-topic-button span{gap:4px;min-width:0;display:grid}.training-topic-button strong{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.training-topic-button small{color:#9aa6b7;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.45;overflow:hidden}.training-topic-button b{width:24px;height:24px;color:var(--blue);background:#eaf2ff;border-radius:50%;flex:0 0 24px;place-items:center;font-size:10px;display:grid}.training-main{gap:16px;min-width:0;display:grid}.training-problem-list{padding:16px}.training-problems{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px;display:grid}.training-problem-button{color:#7b899d;cursor:pointer;text-align:left;background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;align-items:center;gap:9px;min-width:0;padding:10px;display:flex}.training-problem-button.active,.training-problem-button:hover{color:var(--blue);background:#f3f7ff;border-color:#c8daf4}.training-problem-button>span:nth-child(2){flex:1;gap:4px;min-width:0;display:grid}.training-problem-button strong{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.training-problem-button small{color:#a0aaba;font-size:9px}.training-problem-button svg{color:#45aa88;flex:none}.training-problem-number{color:#8ca2c2;width:26px;height:26px;font-family:var(--font-geist-mono),monospace;background:#edf4ff;border-radius:7px;flex:0 0 26px;place-items:center;font-size:10px;font-weight:800;display:grid}.training-detail{min-width:0;padding:19px}.training-detail-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.training-detail-heading h2{color:var(--ink);margin-top:5px;font-size:19px}.training-tag{white-space:nowrap;border-radius:5px;align-items:center;padding:5px 8px;font-size:9px;font-weight:800;display:inline-flex}.training-tag.入门{color:#398f83;background:#edf9f5}.training-tag.基础{color:#2f6fc4;background:#edf4ff}.training-tag.进阶{color:#a36a28;background:#fff5e8}.training-prompt{color:#52627a;background:#f7f9fc;border:1px solid #e8edf3;border-radius:8px;gap:8px;margin-top:16px;padding:13px;display:grid}.training-prompt p{color:#65748b;font-size:11px;line-height:1.7}.practice-target{color:var(--blue);align-items:center;gap:5px;font-size:10px;font-weight:800;display:inline-flex}.training-description-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.training-description-grid>div{background:#fff;border:1px solid #edf1f5;border-radius:8px;padding:11px}.training-description-grid strong,.training-samples strong{color:var(--ink);font-size:10px;display:block}.training-description-grid p{color:#8a98aa;margin-top:5px;font-size:10px;line-height:1.55}.training-samples{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.training-samples>div{min-width:0}.training-samples pre{color:#50627d;min-height:47px;font-family:var(--font-geist-mono),monospace;white-space:pre-wrap;background:#f7f9fc;border:1px solid #e8edf3;border-radius:7px;margin-top:6px;padding:9px;font-size:10px;line-height:1.5;overflow:auto}.training-code-workspace{background:#f7f9fc;border:1px solid #e8edf3;border-radius:9px;margin-top:14px;padding:11px}.training-code-heading{color:#738197;justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}.training-code-heading span{color:var(--ink);font-weight:800}.training-code-heading small{color:#9aa6b7;font-size:9px}.training-code-workspace .cpp-editor{min-height:250px}.training-code-workspace .cpp-output{min-height:90px;margin-top:10px}.training-hint{color:#8b6d45;background:#fff8ed;border:1px solid #f8e9d1;border-radius:7px;margin-top:12px;padding:10px 12px}.training-hint strong{color:#a36a28;font-size:10px}.training-hint p{color:#9a7d58;margin-top:5px;font-size:10px;line-height:1.6}@media (max-width:900px){.training-layout{grid-template-columns:1fr}.training-directory{width:100%}.training-topic-button{vertical-align:top;width:calc(50% - 5px);margin-right:6px;display:inline-flex}.training-topic-button:last-child{margin-right:0}}@media (max-width:560px){.training-detail-heading{flex-direction:column;align-items:flex-start}.training-description-grid,.training-problems,.training-samples{grid-template-columns:1fr}.training-topic-button{width:100%;margin-right:0}.training-code-workspace .cpp-editor{min-height:220px}}.gesp-training-hero{background:#193864}.gesp-training-hero-mark{z-index:1;color:#c6d9ff;background:#28528f;border:1px solid #c6d9ff4d;border-radius:14px;flex:0 0 62px;place-items:center;width:62px;height:62px;display:grid;position:relative}.gesp-level-selector{margin-top:16px;padding:18px}.gesp-level-selector .section-heading>.soft-tag{white-space:nowrap}.gesp-training-level-list{grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;margin-top:14px;display:grid}.gesp-training-level-button{color:#7e8ca1;cursor:pointer;text-align:left;background:#fafbfd;border:1px solid #e7edf4;border-radius:8px;gap:4px;min-width:0;min-height:58px;padding:9px 7px;display:grid}.gesp-training-level-button.active,.gesp-training-level-button:hover{color:var(--blue);background:#f2f7ff;border-color:#b9d1f3}.gesp-training-level-button:disabled{color:#b4bdc9;cursor:not-allowed;background:#f7f8fa}.gesp-training-level-button strong{color:inherit;font-size:12px}.gesp-training-level-button span{color:#9ba7b7;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.gesp-training-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;margin-top:16px;display:grid}.gesp-editor-pane,.gesp-question-pane{min-width:0;padding:20px}.gesp-editor-toolbar,.gesp-pane-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.gesp-editor-toolbar h2,.gesp-pane-heading h2{color:var(--ink);margin-top:5px;font-size:20px}.gesp-question-count{color:#93a0b1;font-family:var(--font-geist-mono),monospace;font-size:11px}.gesp-question-list,.gesp-topic-list{gap:7px;padding-right:3px;display:grid;overflow:auto}.gesp-topic-list{max-height:230px;margin-top:16px}.gesp-question-list-button,.gesp-topic-button{color:#748198;cursor:pointer;text-align:left;background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.gesp-topic-button{min-height:49px;padding:9px 11px}.gesp-question-list-button.active,.gesp-question-list-button:hover,.gesp-topic-button.active,.gesp-topic-button:hover{color:var(--blue);background:#f2f7ff;border-color:#bed3f2}.gesp-question-list-copy,.gesp-topic-button>span{gap:4px;min-width:0;display:grid}.gesp-question-list-button strong,.gesp-topic-button strong{color:inherit;font-size:11px}.gesp-question-list-button small,.gesp-topic-button small{color:#9ba7b7;font-size:9px}.gesp-question-list-button>svg,.gesp-topic-button svg{color:#45aa88;flex:none}.gesp-question-list-heading{color:var(--blue);justify-content:space-between;align-items:center;gap:8px;margin-top:18px;font-size:12px;display:flex}.gesp-question-list-heading span{color:#9ba7b7;font-size:10px;font-weight:500}.gesp-question-list{max-height:390px;margin-top:8px}.gesp-question-list-button{min-height:48px;padding:8px 10px}.gesp-question-index{color:#8b9bb2;width:27px;height:27px;font-family:var(--font-geist-mono),monospace;background:#eef3f9;border-radius:6px;flex:0 0 27px;place-items:center;font-size:10px;display:grid}.gesp-question-list-button.active .gesp-question-index{color:var(--blue);background:#dceaff}.gesp-question-list-copy{flex:1}.gesp-question-copy{margin-top:20px}.gesp-question-copy h3{color:var(--ink);margin-top:10px;font-size:17px;line-height:1.65}.gesp-description-block{margin-top:16px}.gesp-description-block strong,.gesp-sample-grid strong{color:var(--blue);font-size:12px}.gesp-description-block p{color:#697991;margin-top:6px;font-size:12px;line-height:1.7}.gesp-sample-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.gesp-sample-grid pre{color:#52647f;min-height:58px;font-family:var(--font-geist-mono),monospace;white-space:pre-wrap;background:#f5f7fa;border:1px solid #e8edf3;border-radius:7px;margin-top:7px;padding:11px;font-size:12px;line-height:1.55;overflow:auto}.gesp-hint-toggle{color:#986e31;cursor:pointer;background:#fff8ed;border:1px solid #f3dfbf;border-radius:7px;align-items:center;min-height:34px;margin-top:16px;padding:7px 11px;font-size:11px;font-weight:700;display:inline-flex}.gesp-hint-toggle:hover{color:#7e541c;background:#fff3df;border-color:#ebcf9f}.gesp-hint-box{color:#916f43;background:#fff8ed;border:1px solid #f7e7cc;border-radius:8px;margin-top:10px;padding:12px 13px}.gesp-hint-box strong{color:#a36a28;font-size:11px}.gesp-hint-box p{color:#9a7d58;margin-top:6px;font-size:11px;line-height:1.65}.gesp-editor-pane{position:sticky;top:16px}.gesp-editor-toolbar .soft-tag{white-space:nowrap}.gesp-large-editor{resize:vertical;color:#e7effc;width:100%;min-height:590px;font-family:var(--font-geist-mono),monospace;tab-size:2;background:#172e58;border:0;border-radius:8px;outline:none;margin-top:16px;padding:16px;font-size:14px;line-height:1.7}.gesp-large-editor:focus{box-shadow:0 0 0 3px #2468d733}.cpp-editor,.gesp-large-editor{tab-size:4}.gesp-editor-actions{justify-content:flex-end;gap:8px;margin-top:11px;display:flex}.gesp-input-block,.gesp-output-block{color:#6f7d92;gap:7px;margin-top:14px;font-size:11px;font-weight:800;display:grid}.gesp-input-block textarea{resize:vertical;color:#52647f;width:100%;min-height:58px;font-family:var(--font-geist-mono),monospace;background:#f7f9fc;border:1px solid #e8edf3;border-radius:7px;padding:11px;font-size:12px;line-height:1.55}.gesp-output-block>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.gesp-output-block small{color:#45aa88;align-items:center;gap:4px;font-size:10px;display:inline-flex}.gesp-large-output{color:#40516c;border:1px solid var(--line);min-height:130px;max-height:260px;font-family:var(--font-geist-mono),monospace;white-space:pre-wrap;background:#fff;border-radius:7px;padding:12px;font-size:12px;line-height:1.6;overflow:auto}.gesp-large-output.error{color:#a64d5d;background:#fff7f8;border-color:#f2d7dc}.gesp-editor-note{color:#9aa6b7;margin-top:10px;font-size:10px;line-height:1.6}.gesp-training-unavailable{text-align:center;color:#99a6b7;justify-items:center;gap:8px;margin-top:16px;padding:48px 20px;display:grid}.gesp-training-unavailable svg{color:var(--blue)}.gesp-training-unavailable h2{color:var(--ink);font-size:17px}.gesp-training-unavailable p{font-size:11px}.gesp-catalog-card{margin-top:16px;padding:26px}.gesp-catalog-grid{grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:26px;margin-top:20px;display:grid}.gesp-catalog-section-heading{color:var(--blue);justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;font-size:13px;display:flex}.gesp-catalog-section-heading span{color:#9ba7b7;font-size:10px;font-weight:500}.gesp-catalog-grid .gesp-question-list,.gesp-catalog-grid .gesp-topic-list{max-height:590px;margin-top:0}.gesp-catalog-grid .gesp-question-list-button{min-height:58px;padding:10px 12px}.gesp-catalog-grid .gesp-question-list-copy strong{font-size:12px}.gesp-catalog-grid .gesp-question-list-copy small{font-size:10px}.gesp-focus-page{margin-top:6px}.gesp-focus-toolbar{color:#8290a4;justify-content:space-between;align-items:center;gap:14px;font-size:11px;display:flex}.gesp-focus-toolbar .secondary-button{min-height:36px;padding:0 12px}.gesp-focus-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-top:24px;display:flex}.gesp-focus-heading h2{color:var(--ink);margin-top:9px;font-size:clamp(24px,3vw,34px);line-height:1.3}.gesp-focus-heading p{color:#63738b;max-width:940px;margin-top:12px;font-size:16px;line-height:1.8}.gesp-focus-heading .soft-tag{white-space:nowrap;margin-top:6px}.gesp-focus-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:20px;margin-top:24px;display:grid}.gesp-focus-editor,.gesp-focus-problem{min-width:0;padding:28px}.gesp-focus-section-title{color:var(--blue);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding-bottom:14px;font-size:15px;display:flex}.gesp-focus-section-title svg{color:#5f8ed9}.gesp-focus-problem .gesp-description-block{margin-top:22px}.gesp-focus-problem .gesp-description-block strong,.gesp-focus-problem .gesp-sample-grid strong{font-size:14px}.gesp-focus-problem .gesp-description-block p{color:#5d6e86;margin-top:8px;font-size:15px;line-height:1.9}.gesp-focus-problem .gesp-sample-grid{margin-top:22px}.gesp-focus-problem .gesp-sample-grid pre{min-height:72px;padding:13px;font-size:14px;line-height:1.7}.gesp-focus-editor{position:sticky;top:16px}.gesp-focus-editor .gesp-large-editor{min-height:650px;margin-top:20px;font-size:15px;line-height:1.8}.gesp-focus-editor .gesp-input-block,.gesp-focus-editor .gesp-output-block{font-size:12px}.gesp-focus-editor .gesp-input-block textarea{font-size:13px}.gesp-focus-editor .gesp-large-output{min-height:145px;font-size:13px}.gesp-focus-screen{z-index:100;background:#f5f7fb;flex-direction:column;min-width:0;min-height:0;padding:clamp(24px,4.2vh,52px) clamp(24px,4.6vw,72px);display:flex;position:fixed;inset:0;overflow:hidden}.subpage-shell-immersive .gesp-focus-screen{width:100%;height:100%;position:static;inset:auto}.gesp-focus-screen-header{flex:none;justify-content:space-between;align-items:flex-start;gap:18px;min-width:0;display:flex;position:relative}.gesp-focus-screen-header h1{color:var(--ink);font-size:clamp(28px,3.3vw,47px);line-height:1.25}.gesp-focus-screen-header p{color:#6f8099;margin-top:12px;font-size:clamp(14px,1.35vw,18px);line-height:1.65}.gesp-focus-header-actions{flex:none;align-items:center;gap:9px;display:flex}.gesp-ai-explain-button{min-height:36px;box-shadow:none;padding:0 13px}.gesp-focus-back{color:#8090a7;cursor:pointer;background:#ffffffb8;border:1px solid #e1e8f1;border-radius:8px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.gesp-focus-back:hover{color:var(--blue);background:#fff;border-color:#cbdcf4}.gesp-focus-progress{display:none}.gesp-focus-screen-grid{flex:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(16px,2.2vw,32px);min-height:0;margin-top:clamp(20px,3.6vh,38px);display:grid}.gesp-focus-screen-panel{scrollbar-width:none;background:#fff;border:1px solid #e1e8f1;border-radius:14px;min-width:0;min-height:0;overflow-y:auto;box-shadow:0 8px 24px #22355709}.gesp-focus-screen-panel::-webkit-scrollbar{display:none}.gesp-focus-screen-problem{padding:clamp(22px,2vw,36px)}.gesp-focus-screen-problem .gesp-description-block{margin-top:clamp(20px,2.4vh,28px)}.gesp-focus-screen-problem .gesp-description-block strong,.gesp-focus-screen-problem .gesp-sample-grid strong{font-size:clamp(13px,1.1vw,16px)}.gesp-focus-screen-problem .gesp-description-block p{color:#697a93;margin-top:8px;font-size:clamp(14px,1.25vw,17px);line-height:1.8}.gesp-focus-screen-problem .gesp-sample-grid{margin-top:clamp(20px,2.4vh,28px)}.gesp-focus-screen-problem .gesp-sample-grid pre{min-height:58px;padding:12px;font-size:clamp(13px,1.1vw,15px)}.gesp-focus-screen-editor{flex-direction:column;padding:clamp(22px,2vw,36px);display:flex}.gesp-focus-screen-editor .gesp-editor-toolbar{flex:none}.gesp-header-help-toggle{color:#7f6c46;cursor:pointer;background:#fff8ed;border:1px solid #f0dfc3;border-radius:6px;align-self:flex-start;min-height:29px;margin-top:9px;padding:0 9px;font-size:10px;font-weight:700}.gesp-header-help-toggle:hover{color:#6e531f;background:#fff3df}.gesp-header-help{color:#816b48;-webkit-user-select:none;user-select:none;background:#fffaf2;border:1px solid #f4e6cf;border-radius:7px;flex:none;margin-top:8px;padding:9px 11px}.gesp-header-help strong{font-size:10px}.gesp-header-help p{color:#9a805b;margin-top:4px;font-size:9px;line-height:1.5}.gesp-header-help ul{flex-wrap:wrap;gap:5px 13px;margin:7px 0 0;padding:0;list-style:none;display:flex}.gesp-header-help li{color:#7e6a4b;gap:2px;font-size:10px;display:grid}.gesp-header-help li strong{color:#6e592f;font-family:var(--font-geist-mono),monospace;font-size:10px}.gesp-header-help li span{color:#9a805b;font-size:9px}.gesp-header-help li em{color:#806d51;font-family:var(--font-geist-mono),monospace;font-size:9px;font-style:normal}.gesp-focus-screen-editor .gesp-large-editor{resize:none;scrollbar-width:none;flex:auto;height:auto;min-height:120px;margin-top:16px;font-size:clamp(13px,1.1vw,16px);overflow:auto}.gesp-focus-screen-editor .gesp-large-editor::-webkit-scrollbar{display:none}.gesp-focus-screen-editor .gesp-editor-actions{flex:none}.gesp-custom-test-grid{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px;display:grid}.gesp-custom-test-grid section{min-width:0}.gesp-custom-test-heading{color:#5d6f89;justify-content:space-between;align-items:center;gap:7px;min-height:23px;font-size:10px;font-weight:750;display:flex}.gesp-custom-test-heading>div{align-items:center;gap:4px;display:flex}.gesp-custom-test-heading button{color:#557094;cursor:pointer;background:#f4f7fb;border:1px solid #dfe7f1;border-radius:5px;align-items:center;gap:3px;min-height:23px;padding:0 6px;font-size:9px;font-weight:700;display:inline-flex}.gesp-custom-test-heading button:hover{color:var(--blue);border-color:#bfd2ef}.gesp-custom-test-heading small{color:#3f987d;font-size:9px}.gesp-custom-test-grid pre,.gesp-custom-test-grid textarea{color:#40516c;width:100%;height:62px;min-height:62px;font-family:var(--font-geist-mono),monospace;white-space:pre-wrap;background:#f8fafc;border:1px solid #dfe7f1;border-radius:6px;outline:none;margin:4px 0 0;padding:8px 9px;font-size:11px;line-height:1.45;overflow:auto}.gesp-custom-test-grid textarea{resize:none}.gesp-custom-test-grid textarea:focus{background:#fff;border-color:#9dbceb;box-shadow:0 0 0 2px #2468d71f}.gesp-custom-test-grid pre.unknown{color:#8a7554;background:#fffaf1;border-color:#f0dfc3;font-family:inherit}.gesp-focus-screen-editor .gesp-output-block{flex:0 0 92px;min-height:0;margin-top:9px}.gesp-focus-screen-editor .gesp-large-output{height:66px;min-height:0;max-height:66px;font-size:11px}.gesp-ai-error{color:#a64d5d;background:#fff5f6;border:1px solid #f1d4d9;border-radius:7px;margin-top:10px;padding:8px 10px;font-size:10px}.gesp-ai-explanation{color:#52647e;background:#f5f9ff;border:1px solid #dce9f8;border-radius:8px;gap:8px;margin-top:14px;padding:13px;font-size:11px;line-height:1.6;display:grid}.gesp-ai-explanation>div{color:var(--blue);justify-content:space-between;align-items:center;gap:8px;display:flex}.gesp-ai-explanation>div small{color:#91a0b4;font-size:9px;font-weight:500}.gesp-ai-explanation>p{color:#62738b;font-size:11px;line-height:1.65}.gesp-ai-explanation>strong{color:#3d6296;font-size:10px}.gesp-ai-explanation ol,.gesp-ai-explanation ul{color:#6c7d94;gap:4px;margin:0;padding-left:20px;font-size:10px;display:grid}.gesp-evaluation-summary{color:#8b6d45;background:#fff8ed;border:1px solid #f3e1c6;border-radius:7px;flex:none;align-items:baseline;gap:9px;margin-top:10px;padding:8px 10px;display:flex}.gesp-evaluation-summary strong{color:#a36a28;font-size:18px}.gesp-evaluation-summary span{color:#9a805b;font-size:10px}.gesp-evaluation-summary.passed{color:#397d6b;background:#effaf6;border-color:#ccecdf}.gesp-evaluation-summary.passed strong{color:#27806e}.gesp-evaluation-summary.passed span{color:#5d9788}.gesp-focus-question-nav{flex:0 0 44px;align-items:center;gap:7px;min-width:0;margin-top:10px;display:flex}.gesp-question-nav-arrow{color:#76869e;cursor:pointer;background:#fff;border:1px solid #e1e8f1;border-radius:7px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.gesp-question-nav-arrow:hover:not(:disabled){color:var(--blue);background:#f5f9ff;border-color:#bdd2f0}.gesp-question-nav-arrow:disabled{color:#c5cdd7;cursor:not-allowed}.gesp-question-nav-list{scrollbar-width:none;flex:1;justify-content:flex-start;align-items:center;gap:5px;min-width:0;display:flex;overflow-x:auto}.gesp-question-nav-list::-webkit-scrollbar{display:none}.gesp-question-nav-list button{color:#8694a8;cursor:pointer;text-align:left;background:#fffc;border:1px solid #e1e8f1;border-radius:6px;flex:0 0 126px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:5px;width:126px;height:34px;padding:0 7px;font-size:10px;font-weight:700;display:grid}.gesp-question-nav-list button strong{color:#71829a;background:#eef3f8;border-radius:5px;place-items:center;width:22px;height:22px;font-size:9px;display:grid}.gesp-question-nav-list button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gesp-question-nav-list button.active,.gesp-question-nav-list button:hover{color:#fff;background:var(--blue);border-color:var(--blue)}.gesp-question-nav-list button.active strong,.gesp-question-nav-list button:hover strong{color:var(--blue);background:#fff}@media (max-width:1000px){.gesp-training-level-list{grid-template-columns:repeat(4,minmax(0,1fr))}.gesp-training-split{grid-template-columns:1fr}.gesp-editor-pane{position:static}.gesp-large-editor{min-height:420px}.gesp-catalog-grid,.gesp-focus-grid{grid-template-columns:1fr}.gesp-focus-editor{position:static}}@media (max-width:560px){.gesp-training-level-list{grid-template-columns:repeat(2,minmax(0,1fr))}.gesp-catalog-card,.gesp-editor-pane,.gesp-focus-editor,.gesp-focus-problem,.gesp-question-pane{padding:15px}.gesp-sample-grid{grid-template-columns:1fr}.gesp-large-editor{min-height:320px;font-size:12px}.gesp-editor-actions{flex-direction:column;align-items:stretch}.gesp-editor-actions button{justify-content:center}.gesp-focus-toolbar{flex-direction:column;align-items:flex-start}.gesp-focus-heading{flex-direction:column;gap:8px}.gesp-focus-heading h2{font-size:25px}.gesp-focus-heading p{font-size:14px}.gesp-focus-heading .soft-tag{margin-top:0}.gesp-focus-problem .gesp-description-block p{font-size:14px}.gesp-focus-editor .gesp-large-editor{min-height:390px;font-size:13px}.gesp-focus-screen{padding:18px 14px}.subpage-shell-immersive .gesp-focus-screen{padding:38px 14px 14px}.gesp-focus-screen-header h1{font-size:26px}.gesp-focus-screen-header p{margin-top:8px;font-size:14px}.gesp-focus-header-actions{gap:5px}.gesp-ai-explain-button{min-height:32px;padding:0 9px;font-size:10px}.gesp-focus-screen-grid{grid-template-rows:minmax(0,.92fr) minmax(0,1.08fr);grid-template-columns:1fr;gap:12px;margin-top:17px}.gesp-focus-screen-editor,.gesp-focus-screen-problem{padding:17px}.gesp-focus-screen-problem .gesp-description-block p{font-size:14px}.gesp-focus-screen-editor .gesp-large-editor{min-height:70px;font-size:13px}.gesp-focus-screen-editor .gesp-output-block{flex-basis:95px}.gesp-focus-screen-editor .gesp-large-output{height:65px;max-height:65px}.gesp-header-help ul{gap:6px;display:grid}.gesp-evaluation-summary{flex-direction:column;align-items:flex-start;gap:2px}.gesp-focus-question-nav{flex-basis:40px}.gesp-question-nav-list{justify-content:flex-start}.gesp-question-nav-list button{flex-basis:126px;width:126px;height:32px}}@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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}