/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.table{display:table}}:root{--ink:#17231f;--muted:#6f7d78;--line:#e1e8e3;--cream:#f4f6f2;--green:#245e4d;--dark:#173f35;--gold:#f1c469}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0;font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif}button,textarea{font:inherit;color:inherit}.shell{grid-template-columns:244px 1fr;min-height:100vh;display:grid}.sidebar{z-index:20;background:var(--dark);color:#fff;flex-direction:column;height:100vh;padding:25px 17px 17px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff1d;align-items:center;gap:12px;padding:0 8px 25px;display:flex}.brand>i{background:var(--gold);width:43px;height:43px;color:var(--dark);border-radius:13px;place-items:center;font-size:28px;font-style:normal;display:grid;box-shadow:inset 0 -3px #d49f3f}.brand span,.user span{display:grid}.brand strong{letter-spacing:.12em;font-size:20px}.brand small{color:#b7cfc6;letter-spacing:.08em;font-size:10px}.sidebar nav{padding-top:22px}.sidebar nav label{color:#86a99e;letter-spacing:.17em;padding:0 12px 8px;font-size:9px;font-weight:700;display:block}.sidebar nav button{color:#bfd2cb;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;gap:11px;width:100%;margin:2px 0;padding:10px;display:flex}.sidebar nav button:hover{background:#ffffff0c}.sidebar nav button.active{color:var(--dark);background:#fff;box-shadow:0 7px 18px #0b2b2270}.sidebar nav button>i{place-items:center;width:28px;font-size:18px;font-style:normal;display:grid}.sidebar nav button span{gap:2px;display:grid}.sidebar nav button strong{font-size:12px}.sidebar nav button small{opacity:.65;font-size:9px}.badge{background:linear-gradient(145deg,#286150,#1e4f42);border:1px solid #ffffff16;border-radius:14px;margin-top:auto;padding:15px}.badge>i{color:var(--gold);font-size:22px;font-style:normal}.badge>strong{margin-top:4px;font-size:11px;display:block}.badge p{color:#bed0ca;margin:6px 0 11px;font-size:9px;line-height:1.6}.badge>span{align-items:center;gap:8px;display:flex}.badge>span>i{background:#ffffff20;border-radius:5px;flex:1;height:5px}.badge>span b{background:var(--gold);border-radius:5px;width:60%;height:100%;display:block}.badge em{color:#bed0ca;font:8px sans-serif}.user{align-items:center;gap:9px;padding:16px 5px 0;display:flex}.avatar{border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font:700 11px sans-serif;display:grid}.student{color:#684d22;background:#f1d18b}.teacher,.dark-av{color:#fff;background:#315f52}.a0{color:#684d22;background:#f1d18b}.a1{color:#59478b;background:#d7d0ed}.a2{color:#275e51;background:#cbe5df}.user strong{font-size:10px}.user small{color:#9fbcb2;font-size:8px}.user button{color:#91afa5;background:0 0;border:0;margin-left:auto}.shell>main{min-width:0}.topbar{z-index:15;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#f4f6f2e8;justify-content:space-between;align-items:center;height:68px;padding:0 3.2%;font-size:11px;display:flex;position:sticky;top:0}.topbar>div span{color:#7e8b86}.topbar>aside{align-items:center;gap:8px;display:flex}.topbar aside button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;height:34px;position:relative}.topbar aside button>i{color:#fff;background:#cf6c48;border-radius:8px;padding:1px 4px;font-size:7px;position:absolute;top:-6px;right:-4px}.topbar .search{color:#7f8b87;padding:0 10px}.topbar a{color:var(--green);font-size:9px}.mobile-menu{font-size:20px;display:none;background:0 0!important;border:0!important}.content{max-width:1460px;margin:auto;padding:32px 3.2% 50px}.eyebrow{color:#6b887e;letter-spacing:.14em;font-size:8px;font-weight:800}.welcome{background:#e4eee8;border:1px solid #d8e5dc;border-radius:19px;align-items:center;min-height:224px;padding:35px 42px;display:flex;position:relative;overflow:hidden}.welcome:after{content:"♞";color:#d0e0d6;font-size:170px;position:absolute;bottom:-48px;right:25%;transform:rotate(-10deg)}.welcome>div{z-index:1;max-width:620px}.welcome h1,.title h1{margin:6px 0 11px;font:30px Georgia,Songti SC,serif}.welcome p{color:#53665f;font-size:12px;line-height:1.8}.welcome button{margin-top:5px}.primary{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:10px 16px;font-size:10px;font-weight:700;box-shadow:0 5px 12px #245e4d2c}.primary:hover{background:#19483b;transform:translateY(-1px)}.primary:disabled{opacity:.65}.welcome em{color:#7b6141;margin-left:18px;font:10px sans-serif}.welcome>aside{z-index:2;background:conic-gradient(#2f735f 68%, #cbdcd2 0);text-align:center;border-radius:50%;place-content:center;width:124px;height:124px;display:grid;position:absolute;right:8%}.welcome>aside:before{content:"";background:#f5f8f5;border-radius:50%;position:absolute;inset:9px}.welcome>aside strong,.welcome>aside span{z-index:1}.welcome>aside strong{font:34px Georgia}.welcome>aside strong small{font-size:12px}.welcome>aside span{color:#788a83;font-size:8px}.metrics{grid-template-columns:repeat(3,1fr);gap:14px;margin:17px 0;display:grid}.metrics article{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:13px;padding:17px 19px;display:flex}.metric-icon{border-radius:11px;place-items:center;width:41px;height:41px;font:19px sans-serif;display:grid}.c0{color:#6752a8;background:#ece8f8}.c1{color:#2a725c;background:#dff1e8}.c2{color:#d27534;background:#f8e8dc}.metrics article div{display:grid}.metrics span{color:#75827d;font-size:8px}.metrics strong{margin:3px 0;font:23px Georgia}.metrics small{color:#438068;font-size:8px}.two{grid-template-columns:1.15fr .85fr;gap:17px;display:grid}.panel,.board-panel,.insights,.review-list,.review-detail{border:1px solid var(--line);background:#fff;border-radius:14px}.panel{padding:20px}.panel-heading{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.panel-heading h2,.insights h2{margin:4px 0 0;font:18px Georgia,Songti SC,serif}.panel-heading>small{color:#6f827a;background:#eef3f0;border-radius:15px;padding:5px 8px;font-size:8px}.path{gap:7px;display:grid}.path>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e7ebe8;border-radius:10px;grid-template-columns:31px 1fr auto;align-items:center;gap:10px;padding:11px;display:grid}.path>button.active{background:#f5faf7;border-color:#98bcae}.path>button.locked{opacity:.55}.path>button>b{color:#2c7159;background:#e6f0ea;border-radius:50%;place-items:center;width:28px;height:28px;font-size:9px;display:grid}.path>button.active>b{background:var(--green);color:#fff}.path button span{gap:2px;display:grid}.path button small{color:#81908a;font-size:7px}.path button strong{font-size:10px}.path button em{color:#84908b;font:8px sans-serif}.path button>i{color:#7e8c86;font:8px sans-serif}.note{background:#fbfaf5;border:1px solid #eee8d9;border-radius:11px;gap:10px;padding:13px;display:flex}.note strong{font-size:10px}.note p{color:#61706a;margin:4px 0;font-size:8px;line-height:1.7}.note small{color:#969f9b;font-size:7px}.skills{gap:10px;margin-top:17px;display:grid}.skills>div{color:#65736e;grid-template-columns:55px 1fr 20px;align-items:center;gap:7px;font-size:8px;display:grid}.skills i{background:#edf0ee;border-radius:5px;height:5px}.skills b{background:#5e8879;border-radius:5px;height:100%;display:block}.skills em{font:700 8px sans-serif}.title{justify-content:space-between;align-items:flex-end;margin-bottom:22px;display:flex}.title h1{margin-bottom:6px}.title p{color:#788580;margin:0;font-size:9px}.title>aside{align-items:center;gap:8px;display:flex}.ghost,.danger{cursor:pointer;background:#fff;border:1px solid #dfe5e1;border-radius:8px;padding:9px 13px;font-size:9px;font-weight:700}.danger{color:#a75648;border-color:#ead4cf}.analysis{grid-template-columns:minmax(370px,.83fr) minmax(420px,1.17fr);align-items:start;gap:17px;display:grid}.board-panel{padding:17px}.player{align-items:center;gap:8px;padding:2px 0 11px;display:flex}.player span{display:grid}.player strong{font-size:9px}.player small{color:#89948f;font-size:7px}.player>b{color:#54665f;margin-left:auto;font:700 13px monospace}.board-wrap{padding-right:23px;position:relative}.board{aspect-ratio:1;border-radius:3px;grid-template-columns:repeat(8,1fr);width:100%;display:grid;overflow:hidden;box-shadow:0 7px 17px #17231f23}.sq{place-items:center;font:clamp(24px,3.1vw,46px)/1 Times New Roman;display:grid;position:relative}.sq.light{background:#e8dfc8}.sq.dark{background:#6b8e79}.sq.hi:after{content:"";background:#f2c959b0;border-radius:50%;width:25%;height:25%;position:absolute;box-shadow:0 0 0 5px #f2c95930}.sq>span{z-index:1;color:#fbf7e9;text-shadow:0 2px 1px #0004;-webkit-text-stroke:.4px #665d4c}.sq>span.black{color:#23362f;-webkit-text-stroke:.3px #11211b;text-shadow:0 2px #fff3}.sq small{color:#345747;z-index:2;font:700 6px sans-serif;position:absolute}.rank{top:3px;left:3px}.file{bottom:3px;right:3px}.eval{background:linear-gradient(0deg,#f4f1e9 0 63%,#263b34 63%);border-radius:3px;width:14px;height:100%;position:absolute;top:0;right:0}.eval b{writing-mode:vertical-rl;background:#fff;border-radius:3px;padding:3px 1px;font:700 6px sans-serif;position:absolute;top:58%;left:-4px}.moves{border-top:1px solid #edf0ee;gap:3px;padding-top:9px;display:flex;overflow:auto}.moves button{white-space:nowrap;background:#f2f5f3;border:0;border-radius:4px;padding:5px 6px;font-size:7px}.moves .current{color:#27604e;background:#dcece4;font-weight:700}.insights{overflow:hidden}.insights>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:69px;padding:14px 17px;display:flex}.insights header>div{align-items:center;gap:9px;display:flex}.insights header>div>i{color:#fff;background:linear-gradient(135deg,#315f51,#74599d);border-radius:10px;place-items:center;width:34px;height:34px;font-style:normal;display:grid}.insights h2{margin:0}.insights header span small{color:#87928e;font-size:7px}.insights header>b{color:#9c643c;background:#fbefe2;border-radius:15px;padding:5px 8px;font-size:8px}.notice{color:#5e776e;background:#f1f5f2;border-bottom:1px solid #e0e8e3;padding:7px 17px;font-size:8px}.insight-body{gap:16px;padding:17px;display:grid}.summary{background:#fbf8f1;border-left:3px solid #d9a24f;border-radius:0 8px 8px 0;padding:13px}.summary b,.section-label b{color:#4c5d56;font-size:8px}.summary p{color:#4c5a55;margin:6px 0 0;font-size:9px;line-height:1.7}.section-label{justify-content:space-between;margin-bottom:-9px;display:flex}.section-label small{color:#929c98;font-size:7px}.chips{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.chips button{background:#f8f9f8;border:1px solid #e1e7e3;border-radius:7px;padding:8px 4px;font:700 10px monospace}.chips button small{color:#78847f;font:6px sans-serif;display:block}.chips .best{color:#24654f;background:#e9f5ef;border-color:#b7d8ca}.chips .warn{color:#a15c2b;background:#fff3e9;border-color:#efcfb5}.coach{gap:6px;display:grid}.coach>div{background:#f7f9f7;border-radius:7px;gap:9px;padding:9px;display:flex}.coach b{color:#2c6d57;background:#dfebe5;border-radius:5px;place-items:center;width:19px;height:19px;font-size:7px;display:grid}.coach p{color:#53615c;margin:1px 0;font-size:8px;line-height:1.5}.human{border-top:1px solid var(--line);align-items:center;gap:8px;padding-top:13px;display:flex}.human span{display:grid}.human strong{font-size:8px}.human small{color:#89948f;font-size:7px}.human button{color:var(--green);background:0 0;border:0;margin-left:auto;font-size:8px;font-weight:700}.thinking{flex-direction:column;justify-content:center;align-items:center;min-height:420px;display:flex}.thinking>i{color:#725ca3;font-size:27px;font-style:normal;animation:1.3s infinite pulse}.thinking h3{margin:11px 0 4px;font:17px Georgia}.thinking p{color:#8b9692;font-size:8px}.thinking>span{background:#edf0ee;border-radius:4px;width:170px;height:4px;overflow:hidden}.thinking span b{background:var(--green);width:45%;height:100%;animation:1.2s infinite think;display:block}@keyframes pulse{50%{opacity:.5}}@keyframes think{0%{transform:translate(-100%)}to{transform:translate(240%)}}.queue{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 13px}.queue strong{color:#b7663d;font:22px Georgia}.queue span{color:#7e8985;margin-left:6px;font-size:8px}.review{grid-template-columns:320px 1fr;align-items:start;gap:15px;display:grid}.review-list{overflow:hidden}.filters{border-bottom:1px solid var(--line);gap:4px;padding:12px;display:flex}.filters button{background:#eff4f1;border:0;border-radius:6px;flex:1;padding:6px;font-size:7px}.review-list>button{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0ee;grid-template-columns:34px 1fr auto;gap:9px;width:100%;padding:14px;display:grid}.review-list>button.active{box-shadow:inset 3px 0 var(--green);background:#f2f7f4}.review-list>button>span{grid-template-columns:1fr auto;display:grid}.review-list button span b{font-size:9px}.review-list button span small{color:#949d99;font-size:7px}.review-list button span strong{grid-column:1/-1;margin-top:3px;font-size:8px}.review-list button span em{color:#667b73;background:#edf2ef;border-radius:8px;grid-column:1/-1;justify-self:start;margin-top:4px;padding:3px 5px;font:6px sans-serif}.review-list>button>i{color:#2b7058;font:700 9px monospace}.review-detail{padding:22px}.detail-title{justify-content:space-between;display:flex}.detail-title>span>b{color:#9c643c;background:#fbefe2;border-radius:14px;padding:5px 8px;font-size:7px}.detail-title h2{margin:12px 0 4px;font:22px Georgia}.detail-title p{color:#85908c;font-size:8px}.detail-title>strong{color:#2b7058;text-align:right;font:700 18px monospace}.detail-title>strong small{color:#909a96;font:6px sans-serif;display:block}.evidence{background:#f4f8f5;border:1px solid #dfebe4;border-radius:9px;gap:5px;margin:14px 0;padding:13px;display:grid}.evidence span,.review-detail label{color:#6d7f78;font-size:8px}.evidence strong{font:700 11px monospace}.evidence em{color:#2e785f;font-style:normal}.evidence p{color:#61706a;margin:0;font-size:8px}.review-detail label{justify-content:space-between;margin-bottom:6px;font-weight:700;display:flex}.review-detail label span{font-weight:400}.review-detail textarea{resize:vertical;border:1px solid #dfe5e1;border-radius:9px;outline:none;width:100%;min-height:140px;padding:12px;font-size:9px;line-height:1.8}.review-detail textarea:focus{border-color:#79a591;box-shadow:0 0 0 3px #dcece5}.checks{flex-wrap:wrap;gap:6px;margin:11px 0 18px;display:flex}.checks span{color:#34735d;background:#edf6f1;border-radius:12px;padding:4px 7px;font-size:7px}.review-detail footer{border-top:1px solid var(--line);justify-content:flex-end;gap:7px;padding-top:14px;display:flex}.segments{background:#e6ebe7;border-radius:8px;padding:3px;display:flex!important}.segments button{color:#73807b;background:0 0;border:0;border-radius:6px;padding:6px 10px;font-size:7px}.segments button.active{color:var(--green);background:#fff;font-weight:700}.org-metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px;display:grid}.org-metrics article{border:1px solid var(--line);background:#fff;border-radius:12px;gap:6px;padding:17px;display:grid}.org-metrics span{color:#77847f;font-size:8px}.org-metrics strong{font:23px Georgia}.org-metrics small{color:#318163;font-size:7px}.org-grid{grid-template-columns:1.5fr .85fr;gap:15px;margin-bottom:15px;display:grid}.chart{border-bottom:1px solid var(--line);background:repeating-linear-gradient(#edf0ee 0 1px,#0000 1px 25%);justify-content:space-around;align-items:flex-end;height:200px;display:flex}.chart>div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.chart i{background:linear-gradient(#4b806d,#75a391);border-radius:4px 4px 0 0;width:35%;min-width:18px;position:relative}.chart i b{text-align:center;width:100%;font:6px sans-serif;position:absolute;top:-13px}.chart small{margin-bottom:4px;font-size:7px}.alert{border-bottom:1px solid #edf0ee;gap:9px;padding:10px 0;display:flex}.alert>i{color:#34735c;background:#e8f2ed;border-radius:7px;place-items:center;width:26px;height:26px;font:700 10px sans-serif;display:grid}.alert:first-of-type>i{color:#b6633d;background:#fae9df}.alert span{display:grid}.alert strong{font-size:8px}.alert p{color:#68756f;margin:3px 0;font-size:7px}.alert small{color:#788780;font-size:6px}.table{overflow-x:auto}.tr{border-bottom:1px solid #edf0ee;grid-template-columns:1.2fr repeat(5,1fr);min-width:620px;padding:10px 11px;font-size:8px;display:grid}.tr.th{color:#84908b;background:#f4f6f4;border-radius:6px}.tr .status{color:#2d735b;background:#e5f2ec;border-radius:9px;justify-self:start;padding:3px 6px}@media (width<=900px){.shell{display:block}.sidebar{width:240px;transition:all .25s;position:fixed;left:-260px;box-shadow:10px 0 30px #17231f40}.sidebar.open{left:0}.mobile-menu{display:block}.topbar>div{margin-right:auto}.metrics,.org-metrics{grid-template-columns:repeat(2,1fr)}.two,.analysis,.review,.org-grid{grid-template-columns:1fr}.board-panel{width:100%;max-width:600px;margin:auto}.review-list{grid-template-columns:repeat(3,1fr);display:grid}.filters{grid-column:1/-1}.review-list>button{grid-template-columns:32px 1fr}.review-list>button>i{display:none}}@media (width<=560px){.content{padding:21px 13px 40px}.topbar{height:59px;padding:0 14px}.topbar>div span,.search span,.topbar a{display:none}.welcome{align-items:flex-start;min-height:278px;padding:26px 21px}.welcome:after{display:none}.welcome h1{font-size:26px}.welcome>aside{width:74px;height:74px;bottom:15px;right:15px}.welcome>aside:before{inset:6px}.welcome>aside strong{font-size:20px}.welcome>aside span{display:none}.metrics,.org-metrics{grid-template-columns:1fr}.title{align-items:flex-start;gap:12px}.title h1{font-size:24px}.title>aside{flex-direction:column;align-items:stretch}.analysis{display:block}.insights{margin-top:13px}.chips{grid-template-columns:repeat(2,1fr)}.review-list{display:block}.review-detail{padding:17px}.checks{display:grid}.org-grid{display:block}.org-grid>.panel+.panel{margin-top:13px}.sq{font-size:8vw}.welcome em{margin:14px 0 0;display:block}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.welcome p,.summary p,.coach p,.note p,.evidence p,.review-detail textarea{font-size:12px}.path button strong,.human strong,.player strong,.review-list button span strong{font-size:11px}.path button small,.path button em,.human small,.player small,.section-label small,.insights header span small,.review-list button span small,.review-list button span em,.checks span{font-size:10px}.insights header>b,.summary b,.section-label b,.panel-heading>small,.topbar .help{font-size:11px}.topbar .help{color:var(--green);cursor:pointer;background:0 0;border:0}.content p{font-size:12px}.content small,.content em,.content label{font-size:10px}.content button{font-size:11px}.sidebar nav button strong,.user strong{font-size:12px}.sidebar nav button small,.user small,.topbar,.topbar a{font-size:10px}.login-page{background:#f7f8f5;grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.login-story{color:#fff;background:#173f35;flex-direction:column;padding:42px 7%;display:flex;position:relative;overflow:hidden}.login-story:before{content:"";border:80px solid #ffffff09;border-radius:50%;width:520px;height:520px;position:absolute;top:-220px;right:-260px}.login-story:after{content:"♞";color:#ffffff07;font:260px Georgia;position:absolute;bottom:5%;right:5%;transform:rotate(-12deg)}.login-brand{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.login-brand>i{color:#173f35;background:#f0c468;border-radius:14px;place-items:center;width:46px;height:46px;font:30px Georgia;display:grid}.login-brand>span{display:grid}.login-brand strong{letter-spacing:.15em;font-size:23px}.login-brand small{color:#b6cec6;font-size:11px}.story-copy{z-index:1;max-width:570px;margin:auto 0;position:relative}.story-copy>span{color:#efd393;letter-spacing:.15em;font-size:12px}.story-copy h1{margin:18px 0 24px;font:clamp(43px,5.2vw,72px)/1.18 Georgia,Songti SC,serif}.story-copy>p{color:#bed0ca;max-width:510px;font-size:15px;line-height:1.9}.story-proof{gap:9%;margin-top:42px;display:flex}.story-proof div{gap:5px;display:grid}.story-proof strong{color:#f2d797;font:27px Georgia}.story-proof span{color:#9ebbb1;font-size:11px}.quote{z-index:1;background:#ffffff09;border:1px solid #ffffff18;border-radius:14px;max-width:530px;padding:18px 20px 18px 45px;position:relative}.quote>i{color:#efcf86;font:33px Georgia;position:absolute;top:8px;left:18px}.quote p{margin:0 0 6px;font-size:12px;line-height:1.7}.quote span{color:#a9c1b9;font-size:10px}.login-form-wrap{place-items:center;padding:45px 8%;display:grid}.login-form{width:min(430px,100%)}.login-form header h2{margin:8px 0;font:32px Georgia,Songti SC,serif}.login-form header p{color:#7b8883;margin-bottom:28px;font-size:13px}.login-form>label{gap:8px;margin-bottom:16px;font-size:12px;font-weight:700;display:grid}.login-form input{background:#fff;border:1px solid #d8e0db;border-radius:10px;outline:none;width:100%;height:46px;padding:0 13px;font-size:13px}.login-form label>span{position:relative}.login-form label>span button{color:#668277;cursor:pointer;background:0 0;border:0;font-size:11px;position:absolute;top:10px;right:10px}.login-form input:focus{border-color:#6f9e8c;box-shadow:0 0 0 3px #dcebe5}.login-submit{color:#fff;cursor:pointer;background:#245e4d;border:0;border-radius:10px;width:100%;height:47px;font-size:13px;font-weight:800;box-shadow:0 7px 20px #245e4d32}.login-submit:disabled{opacity:.65;cursor:wait}.login-error{color:#a24c42;background:#fff0ed;border-radius:8px;margin:-4px 0 14px;padding:10px 12px;font-size:11px}.demo-divider{color:#89948f;align-items:center;gap:12px;margin:23px 0 13px;font-size:10px;display:flex}.demo-divider:before,.demo-divider:after{content:"";background:#dfe5e1;flex:1;height:1px}.demo-roles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.demo-roles button{text-align:left;cursor:pointer;background:#fff;border:1px solid #dfe5e1;border-radius:9px;align-items:center;gap:9px;padding:10px;display:flex}.demo-roles button.active{background:#f1f7f4;border-color:#739e8e;box-shadow:inset 0 0 0 1px #739e8e}.demo-roles i{color:#326755;font:19px Georgia}.demo-roles span{display:grid}.demo-roles small{color:#89948f;font-size:9px}.login-form>footer{text-align:center;color:#929b97;margin-top:16px;font-size:9px;line-height:1.6}.portal-loading{text-align:center;background:#f4f6f2;place-content:center;gap:12px;min-height:100vh;display:grid}.portal-loading i{color:#245e4d;font:48px Georgia;animation:1.2s infinite pulse}.portal-loading p{color:#6e7b76;font-size:12px}.portal-shell{background:#f4f6f2;grid-template-columns:242px 1fr;min-height:100vh;display:grid}.portal-side{color:#fff;z-index:30;background:#173f35;flex-direction:column;height:100vh;padding:24px 16px 16px;display:flex;position:sticky;top:0}.role-pill{background:#ffffff09;border:1px solid #ffffff16;border-radius:10px;align-items:center;gap:9px;margin:18px 5px 9px;padding:10px 12px;display:flex}.role-pill>i{color:#f0cc7c;font:20px Georgia}.role-pill span{display:grid}.role-pill small{color:#93afa5;font-size:8px}.role-pill strong{font-size:11px}.portal-side nav{gap:3px;margin-top:7px;display:grid}.portal-side nav button{color:#bdd0c9;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;padding:11px 12px;font-size:11px;display:flex;position:relative}.portal-side nav button:hover{background:#ffffff0d}.portal-side nav button.active{color:#173f35;background:#fff;font-weight:800;box-shadow:0 6px 18px #0d2a236b}.portal-side nav button>i{text-align:center;width:24px;font:16px Georgia}.portal-side nav button>b{color:#fff;background:#cc6c48;border-radius:10px;margin-left:auto;padding:2px 6px;font-size:8px}.portal-help{border-bottom:1px solid #ffffff16;align-items:center;gap:9px;margin-top:auto;padding:11px 9px;display:flex}.portal-help>i{color:#bed2ca;border:1px solid #75998e;border-radius:50%;place-items:center;width:26px;height:26px;font:11px sans-serif;display:grid}.portal-help span{display:grid}.portal-help strong{font-size:9px}.portal-help small{color:#92afa5;font-size:8px}.portal-user{align-items:center;gap:8px;padding:13px 5px 0;display:flex}.portal-avatar{color:#6b4e22;background:#f0cf86;border-radius:50%;flex:none;place-items:center;width:33px;height:33px;font:700 11px sans-serif;display:grid}.portal-user span{min-width:0;display:grid}.portal-user strong{font-size:10px}.portal-user small{color:#9fb9b0;white-space:nowrap;text-overflow:ellipsis;font-size:8px;overflow:hidden}.portal-user button{color:#a7beb6;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:9px}.portal-main{min-width:0}.portal-top{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f4f6f2e8;border-bottom:1px solid #e1e8e3;justify-content:space-between;align-items:center;height:68px;padding:0 3.3%;display:flex;position:sticky;top:0}.portal-top>div{gap:8px;font-size:11px;display:flex}.portal-top>div span{color:#798781}.portal-top>div b{color:#adb8b3}.portal-top>aside{align-items:center;gap:11px;display:flex}.portal-top>aside>button{cursor:pointer;background:#fff;border:1px solid #dfe5e1;border-radius:9px;width:34px;height:34px;position:relative}.portal-top>aside button i{color:#fff;background:#d26e47;border:2px solid #f4f6f2;border-radius:8px;padding:1px 4px;font:7px sans-serif;position:absolute;top:-5px;right:-4px}.portal-menu{background:0 0;border:0;font-size:21px;display:none}.portal-content{max-width:1440px;margin:auto;padding:31px 3.3% 50px}.portal-title{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px;display:flex}.portal-title>div>span{color:#6a887d;letter-spacing:.13em;font-size:9px;font-weight:800}.portal-title h1{margin:6px 0;font:30px Georgia,Songti SC,serif}.portal-title p{color:#73807b;margin:0;font-size:11px}.portal-title>aside{align-items:center;gap:8px;display:flex}.portal-primary{color:#fff;cursor:pointer;background:#245e4d;border:0;border-radius:9px;padding:10px 16px;font-size:11px;font-weight:800;box-shadow:0 5px 13px #245e4d2e}.portal-primary:disabled{opacity:.65;cursor:wait}.streak,.parent-updated{color:#765c3c;background:#fff5df;border:1px solid #f0dfb8;border-radius:18px;padding:7px 11px;font-size:11px}.student-hero{background:linear-gradient(120deg,#e1eee7,#edf3e8);border:1px solid #d5e3da;border-radius:18px;align-items:center;min-height:245px;padding:34px 38px;display:flex;position:relative;overflow:hidden}.student-hero>div{z-index:2;max-width:440px;position:relative}.student-hero>div>span{color:#58766b;font-size:10px;font-weight:800}.student-hero h2{margin:9px 0;font:29px Georgia,Songti SC,serif}.student-hero p{color:#53655e;margin-bottom:20px;font-size:12px;line-height:1.7}.student-hero .mini-board{width:215px;position:absolute;top:15px;right:20%;transform:rotate(4deg);box-shadow:0 16px 28px #34594c29}.student-hero>aside{border-left:1px solid #cbdcd3;flex-direction:column;justify-content:center;align-items:center;width:120px;height:140px;display:flex;position:absolute;right:3.5%}.student-hero aside small{color:#6e827a;font-size:9px}.student-hero aside strong{margin:6px 0;font:28px Georgia}.student-hero aside>i{background:#d2dfd7;border-radius:5px;width:78px;height:5px}.student-hero aside>i b{background:#36725f;border-radius:5px;width:67%;height:100%;display:block}.student-hero aside span{color:#84938d;margin-top:6px;font-size:8px}.mini-board{aspect-ratio:1;border-radius:5px;grid-template-columns:repeat(8,1fr);display:grid;overflow:hidden}.mini-board span{color:#fff;text-shadow:0 1px 1px #0005;place-items:center;font:clamp(14px,2vw,28px)/1 Times New Roman;display:grid}.mini-board span.dark{background:#6c8f7a}.mini-board span.light{color:#273a33;text-shadow:0 1px #fff6;background:#e7dfc8}.portal-metrics{grid-template-columns:repeat(3,1fr);gap:13px;margin:16px 0;display:grid}.portal-metrics.four{grid-template-columns:repeat(4,1fr)}.portal-metrics article{background:#fff;border:1px solid #e1e8e3;border-radius:13px;align-items:center;gap:12px;padding:16px 18px;display:flex}.portal-metrics article>i{color:#2f6e59;background:#e5f1eb;border-radius:11px;place-items:center;width:39px;height:39px;font:18px Georgia;display:grid}.portal-metrics article span{display:grid}.portal-metrics article small{color:#78857f;font-size:9px}.portal-metrics article strong{margin:2px 0;font:22px Georgia}.portal-metrics article em{color:#398063;font:8px sans-serif}.portal-grid,.teacher-grid,.admin-grid,.parent-grid{grid-template-columns:1.15fr .85fr;gap:15px;display:grid}.portal-card{background:#fff;border:1px solid #e1e8e3;border-radius:14px;padding:20px}.card-head{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.card-head h2{margin:0;font:18px Georgia,Songti SC,serif}.card-head button{color:#306c58;cursor:pointer;background:0 0;border:0;font-size:9px}.task-list{gap:7px;display:grid}.task-list>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e7ece8;border-radius:10px;grid-template-columns:31px 1fr auto;align-items:center;gap:9px;padding:10px;display:grid}.task-list button>i{color:#2b6e57;background:#dcebe4;border-radius:50%;place-items:center;width:27px;height:27px;font:700 9px sans-serif;display:grid}.task-list button>span{display:grid}.task-list button small,.task-list button b{color:#7e8c86;font-size:8px}.task-list button strong{font-size:11px}.task-list button.done{opacity:.68}.teacher-message,.parent-note{background:#fbfaf5;border:1px solid #eee8da;border-radius:11px;gap:9px;padding:13px;display:flex}.teacher-message p,.parent-note p{color:#5f6e68;margin:0;font-size:10px;line-height:1.7}.teacher-message p strong{color:#2f403a;margin-bottom:4px;display:block}.text-btn{color:#2b6b56;cursor:pointer;background:0 0;border:0;margin-top:13px;font-size:9px;font-weight:800}.training-layout{grid-template-columns:minmax(340px,.8fr) minmax(370px,1.2fr);align-items:start;gap:16px;display:grid}.training-board{background:#233f36;border-radius:15px;max-width:600px;padding:18px}.training-board .mini-board{width:100%}.training-board .mini-board span{font-size:clamp(25px,4vw,50px)}.training-guide{padding:27px}.training-tag{color:#28664f;background:#e4f0ea;border-radius:15px;padding:5px 9px;font-size:9px;display:inline-block}.training-guide h2{margin:17px 0 8px;font:24px Georgia,Songti SC,serif}.training-guide>p{color:#65736d;font-size:11px;line-height:1.7}.move-options{grid-template-columns:1fr 1fr;gap:8px;margin:20px 0;display:grid}.move-options button{cursor:pointer;background:#f8faf8;border:1px solid #d8e2dc;border-radius:8px;height:43px;font:700 13px monospace}.move-options button:hover{background:#edf5f1;border-color:#76a08f}.training-feedback{color:#28694f;background:#e9f5ef;border-radius:8px;padding:11px;font-size:11px;font-weight:700}.training-rule{background:#f7f8f6;border-radius:10px;gap:7px;margin-top:24px;padding:14px;display:grid}.training-rule strong{font-size:10px}.training-rule span{color:#6c7974;font-size:9px}.assignment-list{gap:8px;display:grid}.assignment-list article{border:1px solid #e7ece8;border-radius:11px;grid-template-columns:36px 1fr auto;align-items:center;gap:11px;padding:13px;display:grid}.assignment-list article>i{color:#2f7059;background:#e5f1eb;border-radius:10px;place-items:center;width:34px;height:34px;font:700 11px sans-serif;display:grid}.assignment-list article>span{display:grid}.assignment-list small,.assignment-list em{color:#7d8984;font:8px sans-serif}.assignment-list strong{margin:3px 0;font-size:11px}.assignment-list button,.class-list button,.class-cards footer button,.teacher-assignments>article>button{cursor:pointer;background:#fff;border:1px solid #dce4df;border-radius:7px;padding:7px 10px;font-size:9px}.growth-grid{grid-template-columns:.65fr 1.35fr;gap:15px;display:grid}.growth-score>span{color:#73817b;font-size:10px}.growth-score>strong{margin:8px 0 2px;font:42px Georgia;display:block}.growth-score>small{color:#348064;font-size:9px}.growth-score>div{align-items:flex-end;gap:9px;height:100px;margin-top:16px;display:flex}.growth-score>div i{background:linear-gradient(#4d846f,#8ab3a1);border-radius:5px 5px 0 0;flex:1}.ability{gap:16px;display:grid}.ability>div{grid-template-columns:70px 1fr 27px;align-items:center;gap:8px;display:grid}.ability span,.ability em{font:9px sans-serif}.ability i,.adoption i{background:#ecf0ed;border-radius:6px;height:7px}.ability i b,.adoption i b{background:#4b806c;border-radius:6px;height:100%;display:block}.class-list{gap:8px;display:grid}.class-list article{border:1px solid #e6ebe8;border-radius:9px;align-items:center;gap:10px;padding:11px;display:flex}.class-list article>i{color:#2b6954;width:46px;font:700 11px sans-serif}.class-list article>span{display:grid}.class-list strong{font-size:10px}.class-list small{color:#7f8b86;font-size:8px}.class-list button{margin-left:auto}.watch-list{display:grid}.watch-list article{border-bottom:1px solid #edf0ee;gap:9px;padding:10px 0;display:flex}.watch-list article>i{color:#35715c;background:#ebf3ef;border-radius:7px;place-items:center;width:27px;height:27px;font:700 10px sans-serif;display:grid}.watch-list article:first-child>i{color:#aa5b3c;background:#fae9df}.watch-list span{display:grid}.watch-list strong{font-size:9px}.watch-list small{color:#84908b;font-size:8px}.class-cards{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.class-cards>article{background:#fff;border:1px solid #e1e8e3;border-radius:14px;padding:18px}.class-cards header{gap:10px;display:flex}.class-cards header>i{color:#2d6c56;background:#e6f0eb;border-radius:10px;place-items:center;width:39px;height:39px;font:19px Georgia;display:grid}.class-cards header span{display:grid}.class-cards header strong{font-size:12px}.class-cards header small{color:#81908a;font-size:9px}.class-cards article>div{grid-template-columns:1fr auto;margin:18px 0 6px;font-size:9px;display:grid}.class-cards article>div>i{background:#e8edea;border-radius:5px;grid-column:1/-1;height:6px;margin-top:7px}.class-cards article>div>i b{background:#518573;border-radius:5px;height:100%;display:block}.class-cards footer{justify-content:space-between;margin-top:13px;display:flex}.assignment-tabs,.record-filters{border-bottom:1px solid #e5eae7;gap:6px;margin-bottom:8px;padding-bottom:12px;display:flex}.assignment-tabs button,.record-filters button{cursor:pointer;background:#f1f4f2;border:0;border-radius:7px;padding:7px 10px;font-size:9px}.assignment-tabs button.active,.record-filters button.active{color:#2a684f;background:#dfece6;font-weight:700}.record-filters input{border:1px solid #dbe3de;border-radius:8px;margin-left:auto;padding:0 10px;font-size:9px}.teacher-assignments{display:grid}.teacher-assignments>article{border-bottom:1px solid #edf0ee;grid-template-columns:1fr 180px auto;align-items:center;gap:20px;padding:14px 6px;display:grid}.teacher-assignments span{display:grid}.teacher-assignments small,.teacher-assignments em{color:#81908a;font:8px sans-serif}.teacher-assignments span strong{margin:3px 0;font-size:11px}.teacher-assignments article>div{display:grid}.teacher-assignments article>div b{font-size:9px}.teacher-assignments article>div i{background:#edf0ee;border-radius:4px;height:5px;margin-top:5px}.teacher-assignments article>div i strong{background:#4c806d;height:100%;display:block}.records{overflow-x:auto}.record-row{border-bottom:1px solid #edf0ee;grid-template-columns:1.2fr 1.5fr repeat(4,1fr);align-items:center;min-width:670px;padding:11px 8px;font-size:9px;display:grid}.record-row.head{color:#7c8984;background:#f4f6f4;border-radius:7px}.record-row.admin{grid-template-columns:1.3fr repeat(5,1fr)}.record-row>span:first-child{align-items:center;gap:7px;display:flex}.record-row .portal-avatar{width:26px;height:26px;font-size:8px}.record-status{color:#2f755b;background:#e7f3ed;border-radius:10px;justify-self:start;padding:4px 7px}.record-status.s1,.record-status.s2{color:#a45e3c;background:#faebe2}.record-status.s2{color:#526881;background:#e7edf4}.review-v2{grid-template-columns:310px 1fr;align-items:start;gap:15px;display:grid}.review-queue{padding:0;overflow:hidden}.review-queue>button{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0ee;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;width:100%;padding:14px;display:grid}.review-queue>button.active{background:#f1f7f4;box-shadow:inset 3px 0 #245e4d}.review-queue button>span{display:grid}.review-queue strong{font-size:10px}.review-queue small{color:#83908a;font-size:8px}.review-queue button>b{color:#2e745a;font-size:9px}.review-editor>header{justify-content:space-between;display:flex}.review-editor header>span>small{color:#9c643c;background:#fbefe2;border-radius:14px;padding:5px 8px;font-size:8px}.review-editor h2{margin:13px 0 4px;font:22px Georgia}.review-editor header p{color:#83908a;font-size:9px}.review-editor header>strong{color:#2c7359;font:700 18px monospace}.review-editor header>strong small{color:#89948f;font:7px sans-serif;display:block}.evidence-v2{background:#f3f8f5;border:1px solid #deebe4;border-radius:9px;gap:5px;margin:14px 0;padding:13px;display:grid}.evidence-v2 small,.review-editor label{color:#6c7c76;font-size:9px}.evidence-v2 strong{font:700 11px monospace}.evidence-v2 strong span{color:#2e775c}.evidence-v2 p{color:#63716b;margin:0;font-size:9px}.review-editor label{justify-content:space-between;margin-bottom:6px;font-weight:700;display:flex}.review-editor textarea{resize:vertical;border:1px solid #dce4df;border-radius:9px;width:100%;min-height:130px;padding:11px;font-size:10px;line-height:1.8}.review-checks{flex-wrap:wrap;gap:6px;margin:10px 0 17px;display:flex}.review-checks span{color:#317258;background:#e9f5ef;border-radius:12px;padding:4px 7px;font-size:8px}.review-editor footer{border-top:1px solid #e8ece9;justify-content:flex-end;gap:8px;padding-top:14px;display:flex}.review-editor footer>button:first-child{color:#a95b4b;background:snow;border:1px solid #ead4cf;border-radius:8px;padding:9px 13px;font-size:9px}.admin-metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px;display:grid}.admin-metrics article{background:#fff;border:1px solid #e1e8e3;border-radius:13px;padding:17px;display:grid}.admin-metrics span{color:#77847f;font-size:9px}.admin-metrics strong{margin:6px 0;font:25px Georgia}.admin-metrics small{color:#348064;font-size:8px}.bar-chart{background:repeating-linear-gradient(#edf0ee 0 1px,#0000 1px 25%);border-bottom:1px solid #dfe5e1;justify-content:space-around;align-items:flex-end;height:210px;display:flex}.bar-chart>div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:5px;height:100%;display:flex}.bar-chart i{background:linear-gradient(#477d69,#82ad9b);border-radius:4px 4px 0 0;width:35%;min-width:18px;position:relative}.bar-chart i b{text-align:center;width:100%;font:7px sans-serif;position:absolute;top:-13px}.bar-chart span{margin-bottom:4px;font-size:7px}.adoption{gap:16px;display:grid}.adoption>div{grid-template-columns:120px 1fr 40px;align-items:center;gap:10px;font-size:10px;display:grid}.parent-hero{background:#e8efe8;border:1px solid #dae4dc;border-radius:17px;align-items:center;min-height:225px;padding:32px 37px;display:flex;position:relative;overflow:hidden}.parent-hero:after{content:"♕";color:#d6e2d9;font:190px Georgia;position:absolute;bottom:-60px;right:25%}.parent-hero>div{z-index:1;max-width:540px;position:relative}.parent-hero>div>span{color:#658177;font-size:9px;font-weight:800}.parent-hero h2{margin:8px 0;font:27px/1.35 Georgia,Songti SC,serif}.parent-hero p{color:#5e6e67;font-size:11px;line-height:1.7}.parent-hero>aside{z-index:1;text-align:center;border-left:1px solid #cddbd2;width:150px;margin-left:auto;display:grid}.parent-hero aside strong{color:#28644f;font:33px Georgia}.parent-hero aside span{font-size:9px}.parent-hero aside small{color:#7c8b85;margin-top:5px;font-size:8px}.parent-grid{margin-top:15px}.parent-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.parent-stats>div{text-align:center;background:#f5f7f5;border-radius:8px;padding:11px;display:grid}.parent-stats strong{font:18px Georgia}.parent-stats span{color:#77847f;font-size:8px}.week-dots{justify-content:space-around;margin-top:18px;display:flex}.week-dots span{text-align:center;color:#78857f;gap:5px;font-size:7px;display:grid}.week-dots i{background:#dce3df;border-radius:50%;width:9px;height:9px}.week-dots i.done{background:#3f7e68;box-shadow:0 0 0 3px #dcebe5}.parent-messages{max-width:800px;margin:auto}.message-bubble{gap:9px;margin-bottom:14px;display:flex}.message-bubble p{background:#f1f5f2;border-radius:3px 12px 12px;max-width:70%;padding:12px;font-size:10px;line-height:1.7}.message-bubble p small{color:#85918c;margin-top:4px;font-size:7px;display:block}.parent-bubble{justify-content:flex-end}.parent-bubble p{background:#dfeee7;border-radius:12px 3px 12px 12px}.parent-messages label{border-top:1px solid #e2e8e4;gap:7px;padding-top:14px;font-size:9px;display:grid}.parent-messages textarea{border:1px solid #dce4df;border-radius:9px;min-height:90px;padding:10px;font-size:10px}.parent-messages label button{justify-self:end}@media (width<=1000px){.portal-shell{grid-template-columns:210px 1fr}.student-hero .mini-board{width:190px;right:17%}.portal-metrics.four,.admin-metrics{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){.login-page{grid-template-columns:1fr}.login-story{min-height:440px;padding:30px 7%}.story-copy{margin:60px 0}.quote{display:none}.portal-shell{display:block}.portal-side{width:240px;transition:all .25s;position:fixed;left:-260px;box-shadow:10px 0 30px #17231f48}.portal-side.open{left:0}.portal-menu{display:block}.portal-top>div{margin-left:7px;margin-right:auto}.student-hero .mini-board{display:none}.student-hero>aside{right:5%}.portal-grid,.teacher-grid,.admin-grid,.parent-grid,.training-layout,.review-v2{grid-template-columns:1fr}.training-board{width:100%;margin:auto}.review-queue{grid-template-columns:repeat(3,1fr);display:grid}.review-queue>button{grid-template-columns:32px 1fr}.review-queue button>b{display:none}}@media (width<=560px){.login-story{min-height:390px}.story-copy{margin:45px 0}.story-copy h1{font-size:39px}.story-copy>p{font-size:13px}.story-proof{gap:18px;margin-top:26px}.story-proof strong{font-size:20px}.story-proof span{font-size:9px}.login-form-wrap{padding:34px 18px}.login-form header h2{font-size:27px}.demo-roles{grid-template-columns:1fr 1fr}.portal-top{height:59px;padding:0 13px}.portal-top>div span,.portal-top>div b{display:none}.portal-content{padding:22px 13px 40px}.portal-title{align-items:flex-start}.portal-title h1{font-size:25px}.portal-title>aside{flex-direction:column}.streak,.parent-updated{padding:5px 7px;font-size:9px}.student-hero{align-items:flex-start;min-height:290px;padding:25px 21px}.student-hero h2{font-size:25px}.student-hero>aside{border:0;width:90px;height:88px;top:auto;bottom:18px;right:18px}.portal-metrics,.portal-metrics.four,.admin-metrics{grid-template-columns:1fr}.portal-grid,.teacher-grid{display:block}.portal-grid>.portal-card+.portal-card,.teacher-grid>.portal-card+.portal-card{margin-top:13px}.training-board{padding:10px}.training-board .mini-board span{font-size:8vw}.training-guide{padding:19px}.class-cards{grid-template-columns:1fr}.teacher-assignments>article{grid-template-columns:1fr auto}.teacher-assignments article>div{grid-area:2/1/auto/-1}.record-filters{overflow-x:auto}.record-filters input{display:none}.review-queue{display:block}.review-editor{padding:17px}.review-checks{display:grid}.growth-grid{grid-template-columns:1fr}.parent-hero{align-items:flex-start;min-height:310px;padding:26px 21px}.parent-hero h2{font-size:24px}.parent-hero:after{display:none}.parent-hero>aside{border:0;width:125px;position:absolute;bottom:20px;right:20px}.parent-stats strong{font-size:15px}.adoption>div{grid-template-columns:90px 1fr 34px}.message-bubble p{max-width:82%}}.puzzle-count{color:#2b6953;background:#e3efe9;border:1px solid #cfdfd6;border-radius:16px;padding:7px 11px;font-size:10px;font-weight:800}.training-board-v2{background:#203d34;border-radius:16px;padding:17px;box-shadow:0 14px 30px #1c3b3125}.board-player{color:#fff;align-items:center;gap:9px;height:45px;display:flex}.board-player>i{color:#60491d;background:#f0cc7c;border-radius:50%;place-items:center;width:30px;height:30px;font:18px Georgia;display:grid}.board-player span{display:grid}.board-player strong{font-size:10px}.board-player small{color:#aec4bc;font-size:8px}.fen-board{aspect-ratio:1;border-radius:5px;grid-template-columns:repeat(8,1fr);width:100%;display:grid;overflow:hidden;box-shadow:0 9px 24px #0d251e80}.fen-board>button{aspect-ratio:1;cursor:pointer;touch-action:manipulation;border:0;place-items:center;min-width:0;padding:0;display:grid;position:relative}.fen-board>button.light{background:#e8dfc7}.fen-board>button.dark{background:#6d917b}.fen-board>button:hover{filter:brightness(1.08)}.fen-board>button:focus-visible{z-index:3;outline-offset:-3px;outline:3px solid #f4c453}.fen-board>button.selected{z-index:2;box-shadow:inset 0 0 0 5px #f3c84f}.fen-board>button.selected:after{content:"";background:#f3c84f80;border-radius:50%;width:22%;height:22%;position:absolute}.fen-board>button>span{z-index:1;pointer-events:none;font:clamp(27px,4.2vw,54px)/1 Times New Roman}.fen-board .white-piece{color:#fff9e9;-webkit-text-stroke:.55px #5d5343;text-shadow:0 2px 1px #0005}.fen-board .black-piece{color:#263b33;-webkit-text-stroke:.4px #10231c;text-shadow:0 1px 1px #fff4}.fen-board button>small{z-index:2;color:#365c4d;pointer-events:none;font-size:7px;font-weight:800;position:absolute}.board-rank{top:3px;left:3px}.board-file{bottom:3px;right:3px}.board-loading,.board-empty{aspect-ratio:1;text-align:center;color:#53675f;background:#e7dfc8;border-radius:5px;place-content:center;width:100%;font-size:11px;display:grid}.board-empty i{color:#5c806f;font:45px Georgia}.board-empty strong,.board-empty span{display:block}.board-empty span{color:#82908a;margin-top:4px;font-size:9px}.training-guide-v2{padding:27px}.puzzle-meta{justify-content:space-between;align-items:center;display:flex}.puzzle-meta span{color:#28654f;background:#e4f0ea;border-radius:15px;padding:5px 9px;font-size:9px;font-weight:800}.puzzle-meta small{color:#7c8984;font-size:9px}.training-guide-v2 h2{margin:17px 0 8px;font:25px Georgia,Songti SC,serif}.training-guide-v2>p{color:#65736d;font-size:11px;line-height:1.7}.selection-status{background:#f5f8f6;border:1px solid #e3e9e5;border-radius:10px;align-items:center;gap:10px;margin:18px 0;padding:13px;display:flex}.selection-status>i{color:#fff;background:#2f715b;border-radius:50%;place-items:center;width:29px;height:29px;font:700 10px sans-serif;display:grid}.selection-status span{display:grid}.selection-status strong{font-size:10px}.selection-status small{color:#7c8984;font-size:8px}.selection-status button{color:#9b5e42;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:8px}.attempt-feedback{border-radius:10px;align-items:center;gap:10px;margin-bottom:12px;padding:13px;display:flex}.attempt-feedback>i{border-radius:50%;place-items:center;width:30px;height:30px;font:700 12px sans-serif;display:grid}.attempt-feedback span{display:grid}.attempt-feedback strong{font-size:10px}.attempt-feedback small{margin-top:3px;font-size:8px}.attempt-feedback.correct{color:#286c51;background:#e7f5ed;border:1px solid #cae5d7}.attempt-feedback.correct>i{color:#fff;background:#3b7b62}.attempt-feedback.try-again{color:#9a5f33;background:#fff4e8;border:1px solid #efd9be}.attempt-feedback.try-again>i{color:#fff;background:#d98643}.training-error{color:#a04e43;background:#fff0ed;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:9px}.training-error.complete{color:#2b6d54;background:#e9f5ef}.next-puzzle{width:100%;margin-bottom:13px}.training-guide-v2 .training-rule{margin-top:18px}@media (width<=820px){.training-layout{grid-template-columns:minmax(300px,.9fr) minmax(320px,1.1fr)}.training-board-v2{padding:12px}.fen-board>button>span{font-size:clamp(27px,5vw,45px)}}@media (width<=680px){.training-layout{grid-template-columns:1fr}.training-board-v2{width:100%;max-width:560px;margin:auto}.fen-board>button>span{font-size:clamp(28px,10vw,52px)}.training-guide-v2{padding:19px}.training-guide-v2 h2{font-size:22px}}.card-head>small{color:#72827b;background:#eff4f1;border-radius:14px;padding:5px 8px;font-size:9px}.data-state{text-align:center;color:#687771;flex-direction:column;justify-content:center;align-items:center;min-height:180px;padding:24px;display:flex}.data-state>i{color:#2f7059;background:#e7f1ec;border-radius:13px;place-items:center;width:42px;height:42px;margin-bottom:10px;font:20px Georgia;display:grid}.data-state strong{color:#33463f;font-size:12px}.data-state span{color:#83908b;margin-top:5px;font-size:9px;line-height:1.6}.assignment-state{border-radius:14px;justify-self:end;padding:6px 9px;font-size:9px}.assignment-state.done{color:#2e7459;background:#e7f3ed}.progress-metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px;display:grid}.progress-metrics article{background:#fff;border:1px solid #e1e8e3;border-radius:13px;padding:17px;display:grid}.progress-metrics span{color:#75847e;font-size:9px}.progress-metrics strong{margin:7px 0 3px;font:26px Georgia}.progress-metrics small{color:#7f8c87;font-size:8px}.progress-timeline{display:grid}.progress-timeline article{border-bottom:1px solid #edf0ee;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:11px 5px;display:grid}.progress-timeline article:last-child{border-bottom:0}.progress-timeline>article>i{border-radius:50%;place-items:center;width:28px;height:28px;font:700 10px sans-serif;display:grid}.progress-timeline i.correct{color:#2f7359;background:#e3f1e9}.progress-timeline i.attempt{color:#9b663e;background:#f7eee4}.progress-timeline span{display:grid}.progress-timeline strong{font-size:10px}.progress-timeline small{color:#83908b;margin-top:2px;font-size:8px}.progress-timeline article>b{color:#2e7359;font-size:9px}.records-toolbar{border-bottom:1px solid #e7ece9;justify-content:space-between;align-items:center;padding-bottom:13px;display:flex}.records-toolbar>span{color:#718079;font-size:9px}.records-toolbar label{color:#74827c;align-items:center;gap:8px;font-size:8px;display:flex}.records-toolbar input{border:1px solid #dce4df;border-radius:7px;outline:none;height:31px;padding:0 9px;font-size:9px}.records-toolbar input:focus{border-color:#719c8b;box-shadow:0 0 0 3px #e0ede7}.record-row.live{grid-template-columns:1.4fr repeat(5,1fr)}.record-row.live .record-status.s0{color:#2f765b;background:#e4f2eb}.record-row.live .record-status.s1{color:#9f5c3e;background:#f6e9e2}.record-row.live .record-status.s2{color:#506981;background:#e8eef3}@media (width<=760px){.progress-metrics{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.progress-metrics{grid-template-columns:1fr 1fr}.progress-metrics article{padding:14px}.records-toolbar label{font-size:0}.records-toolbar input{width:145px}.progress-timeline article{grid-template-columns:29px 1fr}.progress-timeline article>b{grid-column:2}}.preview-badge{color:#213f35;background:#f0cc7c;border-radius:12px;margin-left:auto;padding:5px 8px;font-size:8px}.fen-board.previewing{box-shadow:0 0 0 3px #f0c968,0 9px 24px #0d251e80}.fen-board>button:disabled{cursor:default}.fen-board>button:disabled:not(.move-preview){filter:saturate(.92)}.fen-board>button.move-preview{box-shadow:inset 0 0 0 5px #f0c64f}.fen-board>button.move-preview:after{content:"";background:#f2c34a;border-radius:50%;width:9px;height:9px;position:absolute;top:5px;right:5px;box-shadow:0 0 0 3px #fff8}.pending-move{background:#f9f5e9;border:1px solid #ead9a8;border-radius:11px;margin:18px 0;padding:14px}.pending-move>header{align-items:center;gap:10px;display:flex}.pending-move header>i{color:#fff;background:#d5aa4f;border-radius:50%;place-items:center;width:31px;height:31px;font:700 11px sans-serif;display:grid}.pending-move header>span{grid-template-columns:auto auto;align-items:baseline;column-gap:10px;display:grid}.pending-move header small{color:#846c3b;grid-column:1/-1;font-size:8px}.pending-move header strong{color:#584620;font:700 17px monospace}.pending-move header em{color:#846f47;font:9px monospace}.pending-move>div{gap:8px;margin-top:13px;display:flex}.pending-move>div>button:first-child{color:#715e37;cursor:pointer;background:#fffdf8;border:1px solid #ddcfaa;border-radius:8px;flex:1;font-size:9px;font-weight:700}.pending-move>div>.portal-primary{flex:1}.pending-move button:disabled{opacity:.6;cursor:wait}.retry-move{color:#995b31;cursor:pointer;background:#fff9f3;border:1px solid #d99b67;border-radius:8px;width:100%;height:39px;margin-bottom:13px;font-size:10px;font-weight:800}.retry-move:hover{background:#fff0e2}.training-error{line-height:1.6}@media (width<=480px){.pending-move>div{flex-direction:column}.pending-move>div>button{min-height:40px}.preview-badge{font-size:7px}.fen-board>button.move-preview{box-shadow:inset 0 0 0 3px #f0c64f}}body{font-size:16px;line-height:1.55}button{min-height:44px;font-size:14px}small{font-size:12px}.portal-side{width:260px}.portal-shell{grid-template-columns:260px 1fr}.portal-side nav button{padding:12px;font-size:15px}.portal-side nav button small,.portal-user small,.portal-help small,.role-pill small,.brand small{font-size:12px}.portal-side nav button strong,.portal-user strong,.portal-help strong,.role-pill strong,.portal-top>div{font-size:14px}.portal-title>div>span{font-size:12px}.portal-title p,.student-hero p,.training-guide-v2>p,.parent-hero p,.teacher-message p,.parent-note p,.summary p,.coach p,.note p,.evidence p{line-height:1.75;font-size:16px!important}.portal-primary,.login-submit{min-height:44px;font-size:15px}.card-head>small,.puzzle-count,.streak,.parent-updated,.training-tag,.puzzle-meta span,.puzzle-meta small,.selection-status small,.attempt-feedback small,.training-rule span,.data-state span,.records-toolbar span,.records-toolbar label,.record-row,.progress-timeline small,.assignment-list small,.assignment-list em,.task-list button small,.task-list button b,.task-list button em,.watch-list small,.class-list small,.class-cards small,.review-checks span,.evidence-v2 small{font-size:13px!important}.card-head h2{font-size:20px}.card-head button,.text-btn,.assignment-list button,.class-list button,.class-cards footer button,.teacher-assignments>article>button,.task-list button strong,.teacher-message p strong,.watch-list strong,.class-list strong,.class-cards strong,.assignment-list strong,.progress-timeline strong,.records-toolbar input,.record-row b{font-size:14px}.portal-metrics article small,.portal-metrics article em,.admin-metrics span,.admin-metrics small,.progress-metrics span,.progress-metrics small{font-size:13px}.record-row{min-height:50px;font-size:14px}.login-form header p,.login-form>label,.login-form input,.story-copy>p{font-size:15px}.demo-roles strong{font-size:14px}.demo-roles small,.login-form>footer,.quote span{font-size:12px}.fen-board>button{min-height:0;font-size:0}.fen-board button>small,.game-board>div>small{font-size:12px!important}.game-modes{grid-template-columns:1.35fr .825fr .825fr;gap:16px;display:grid}.game-mode{background:#fff;border:1px solid #dfe7e2;border-radius:16px;min-height:390px;padding:24px;position:relative}.ai-mode{background:linear-gradient(145deg,#f7faf8,#e8f1ec);border-color:#cddfd6}.ai-mode>header{align-items:center;gap:12px;display:flex}.ai-mode>header>i{color:#fff;background:linear-gradient(135deg,#2e6754,#6b579b);border-radius:13px;place-items:center;width:46px;height:46px;font:22px Georgia;display:grid}.ai-mode header span{display:grid}.ai-mode header small{color:#628076;font-size:12px}.game-mode h2{margin:3px 0;font:24px Georgia,Songti SC,serif}.game-mode>p{color:#64736d;margin:18px 0;font-size:15px;line-height:1.7}.game-mode fieldset{border:0;margin:18px 0;padding:0}.game-mode legend{margin-bottom:9px;font-size:14px;font-weight:800}.choice-row{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.choice-row button{text-align:left;cursor:pointer;background:#fff;border:1px solid #d8e2dc;border-radius:9px;padding:9px 10px;display:grid}.choice-row button.active,.side-choice button.active{background:#e4f1ea;border-color:#4d826e;box-shadow:inset 0 0 0 1px #4d826e}.choice-row strong,.side-choice strong{font-size:14px}.choice-row small,.side-choice small{color:#77867f;font-size:12px}.side-choice{grid-template-columns:1fr 1fr;gap:8px;display:grid}.side-choice button{text-align:left;cursor:pointer;background:#fff;border:1px solid #d8e2dc;border-radius:9px;align-items:center;gap:9px;padding:9px 11px;display:flex}.side-choice button>i{font:24px Georgia}.side-choice button span{display:grid}.enter-game{width:100%;margin-top:4px}.coming-mode{background:#fafbfa;flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.coming-mode>i{color:#759486;font:46px Georgia}.coming-mode>button,.spectator-placeholder>button{color:#84908b;cursor:not-allowed;background:#f0f3f1;border:1px dashed #cad5cf;border-radius:9px;width:100%}.coming-mode>small{color:#85928d;margin-top:13px;font-size:12px;line-height:1.6}.next-badge{color:#9c6036;background:#f8eadb;border-radius:14px;padding:5px 9px;font-size:12px;font-weight:800;position:absolute;top:15px;right:15px}.game-safety{background:#fff;border:1px solid #dfe7e2;border-radius:12px;align-items:center;gap:11px;margin-top:15px;padding:15px 18px;display:flex}.game-safety>i{color:#2f7359;background:#dff0e7;border-radius:50%;place-items:center;width:32px;height:32px;font:700 14px sans-serif;display:grid}.game-safety span{display:grid}.game-safety strong{font-size:14px}.game-safety small{color:#75837d;font-size:12px}.back-lobby{cursor:pointer;background:#fff;border:1px solid #d7e0db;border-radius:9px;padding:0 15px}.game-room{grid-template-columns:minmax(430px,.9fr) minmax(360px,1.1fr);align-items:start;gap:17px;display:grid}.game-board-card{background:#203d34;border-radius:16px;padding:16px;box-shadow:0 14px 28px #1a362d28}.game-player{color:#fff;align-items:center;gap:9px;height:49px;display:flex}.game-player>i:not(.portal-avatar){color:#fff;background:#374f47;border-radius:50%;place-items:center;width:33px;height:33px;font:700 12px sans-serif;display:grid}.game-player span{display:grid}.game-player strong{font-size:14px}.game-player small{color:#b5c9c2;font-size:12px}.game-player>b{margin-left:auto;font:700 17px monospace}.game-board{aspect-ratio:1;border-radius:5px;grid-template-columns:repeat(8,1fr);width:100%;display:grid;overflow:hidden;box-shadow:0 8px 22px #0d251e80}.game-board>div{place-items:center;display:grid;position:relative}.game-board .light{background:#e8dfc7}.game-board .dark{background:#6d917b}.game-board>div>span{font:clamp(28px,4.3vw,55px)/1 Times New Roman}.game-board .white-piece{color:#fff9e9;-webkit-text-stroke:.55px #5d5343;text-shadow:0 2px 1px #0005}.game-board .black-piece{color:#263b33;-webkit-text-stroke:.4px #10231c;text-shadow:0 1px 1px #fff4}.game-board>div>small{z-index:2;color:#365c4d;font-weight:800;position:absolute}.game-console{padding:24px}.connection-state{background:#fff5e8;border:1px solid #ecd6b6;border-radius:10px;align-items:center;gap:10px;padding:13px;display:flex}.connection-state>i{color:#fff;background:#d58e4a;border-radius:50%;place-items:center;width:31px;height:31px;font-style:normal;display:grid}.connection-state span{display:grid}.connection-state strong{font-size:14px}.connection-state small{color:#876943;font-size:12px}.turn-card{border-bottom:1px solid #e4e9e6;padding:18px 0;display:grid}.turn-card span{color:#78857f;font-size:13px}.turn-card strong{margin:4px 0;font:20px Georgia,Songti SC,serif}.turn-card small{color:#87928d;font-size:12px}.move-history{min-height:205px;padding:17px 0}.move-history>header{justify-content:space-between;display:flex}.move-history h2{margin:0;font:19px Georgia}.move-history header span{color:#82908a;font-size:12px}.move-history>div{color:#84918c;flex-direction:column;justify-content:center;align-items:center;height:140px;display:flex}.move-history>div>i{font:30px Georgia}.move-history>div strong{font-size:14px}.move-history>div small{font-size:12px}.game-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.game-actions button{cursor:pointer;background:#fff;border:1px solid #d8e0db;border-radius:8px;font-size:14px}.game-actions button:disabled{opacity:.55;cursor:not-allowed}.score-preview{text-align:center;background:#f3f6f4;border-radius:9px;margin-top:14px;padding:12px;display:grid}.score-preview span,.score-preview small{color:#7b8983;font-size:12px}.score-preview strong{font:23px Georgia}.spectator-placeholder{text-align:center;background:#fff;border:1px solid #dfe7e2;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;max-width:850px;min-height:430px;margin:auto;padding:60px 8%;display:flex;position:relative}.spectator-placeholder>i{color:#719183;font:64px Georgia}.spectator-placeholder h2{margin:15px 0 8px;font:26px Georgia,Songti SC,serif}.spectator-placeholder p{color:#67766f;max-width:640px;font-size:15px;line-height:1.8}.spectator-placeholder>div{flex-wrap:wrap;justify-content:center;gap:8px;margin:14px 0 25px;display:flex}.spectator-placeholder>div span{color:#526d63;background:#edf3ef;border-radius:15px;padding:6px 10px;font-size:13px}.spectator-placeholder>button{max-width:280px}@media (width<=1100px){.game-modes{grid-template-columns:1fr 1fr}.ai-mode{grid-column:1/-1}.game-mode{min-height:auto}.game-room{grid-template-columns:minmax(380px,.95fr) minmax(330px,1.05fr)}}@media (width<=820px){.portal-side{width:260px}.portal-shell{display:block}.game-room{grid-template-columns:1fr}.game-board-card{width:100%;max-width:650px;margin:auto}.portal-content p{font-size:15px!important}}@media (width<=620px){button{min-height:44px;font-size:14px}.game-modes{grid-template-columns:1fr}.ai-mode{grid-column:auto}.game-mode{padding:19px}.choice-row{grid-template-columns:1fr}.side-choice{grid-template-columns:1fr 1fr}.game-board-card{padding:10px}.game-board>div>span{font-size:10vw}.game-console{padding:18px}.game-safety{align-items:flex-start}.portal-title p{font-size:15px!important}.record-row{font-size:14px}.portal-side nav button{font-size:15px}}.editor-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.editor-tabs button{min-height:42px;padding:9px 16px;font-size:14px}.teaching-editor-layout{grid-template-columns:minmax(340px,.85fr) minmax(420px,1.15fr);align-items:start;gap:20px;display:grid}.teaching-editor-form,.editor-list{background:#fbfcfb;border:1px solid #dfe7e2;border-radius:14px;padding:20px}.teaching-editor-form{gap:14px;display:grid}.teaching-editor-form>header,.editor-list>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.teaching-editor-form h2,.editor-list h2{margin:0;font-size:20px}.teaching-editor-form header small,.editor-list header small{color:#6f7e78;font-size:12px}.teaching-editor-form label{color:#3f514a;gap:7px;font-size:13px;font-weight:800;display:grid}.teaching-editor-form input,.teaching-editor-form select,.teaching-editor-form textarea,.editor-submit-row select{color:#243c33;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #cedbd4;border-radius:9px;outline:none;padding:10px 12px;font-size:14px}.teaching-editor-form textarea{resize:vertical;min-height:92px;line-height:1.6}.teaching-editor-form input:focus,.teaching-editor-form select:focus,.teaching-editor-form textarea:focus{border-color:#3d7b63;box-shadow:0 0 0 3px #3d7b631a}.editor-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.editor-check-list{background:#fff;border:1px solid #dce6e0;border-radius:10px;max-height:220px;padding:10px;overflow:auto}.editor-check-list legend{color:#3e554c;padding:0 6px;font-size:13px;font-weight:800}.editor-check-list label{border-bottom:1px solid #edf1ef;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:8px 6px}.editor-check-list label:last-child{border-bottom:0}.editor-check-list input,.editor-inline-check input{width:18px;height:18px;min-height:18px}.editor-check-list span{gap:2px;display:grid}.editor-check-list strong{font-size:13px}.editor-check-list small{color:#788680;font-size:12px;font-weight:500}.editor-inline-check{align-items:center;grid-template-columns:auto 1fr!important}.editor-submit-row{grid-template-columns:150px 1fr;gap:10px;display:grid}.editor-message{color:#2f684f;background:#eaf4ef;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.5}.editor-list{gap:10px;display:grid}.editor-list>article{border-bottom:1px solid #e5ebe7;grid-template-columns:minmax(0,1fr) 150px auto;align-items:center;gap:12px;padding:13px 0;display:grid}.editor-list>article:last-child{border-bottom:0}.editor-list article>span:first-child,.editor-list article>div{gap:3px;display:grid}.editor-list article strong{font-size:14px}.editor-list article small,.editor-list article em{color:#74827c;font-size:12px;font-style:normal}.editor-list article b{color:#2e7057;font-size:13px}.editor-list article button{color:#2c6651;cursor:pointer;background:#fff;border:1px solid #cfdbd4;border-radius:8px;min-height:40px;padding:8px 12px;font-size:13px}.schedule-status{color:#2f6f56;background:#e8f3ed;border-radius:15px;justify-content:center;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex!important}.schedule-status.cancelled{color:#955347;background:#f7ebe8}.class-cards article>div small{color:#73817b;margin-top:6px;font-size:12px;display:block}.class-cards footer span{color:#61736b;font-size:12px}@media (width<=980px){.teaching-editor-layout{grid-template-columns:1fr}}@media (width<=620px){.editor-form-grid,.editor-submit-row{grid-template-columns:1fr}.teaching-editor-form,.editor-list{padding:15px}.editor-list>article{grid-template-columns:1fr}}.game-error{color:#a14f42;background:#fff0ed;border:1px solid #efd6d1;border-radius:9px;margin:12px 0;padding:11px 13px;font-size:14px;line-height:1.55}.game-board.interactive>button{aspect-ratio:1;cursor:pointer;touch-action:manipulation;border:0;place-items:center;min-width:0;min-height:0;padding:0;display:grid;position:relative}.game-board.interactive>button.light{background:#e8dfc7}.game-board.interactive>button.dark{background:#6d917b}.game-board.interactive>button:disabled{cursor:default}.game-board.interactive>button:not(:disabled):hover{filter:brightness(1.08)}.game-board.interactive>button:focus-visible{outline-offset:-4px;z-index:3;outline:4px solid #f1c44d}.game-board.interactive>button.selected{box-shadow:inset 0 0 0 5px #f0c64f}.game-board.interactive>button.selected:after{content:"";background:#f0c64fa8;border-radius:50%;width:22%;height:22%;position:absolute}.game-board.interactive>button>span{z-index:1;font:clamp(28px,4.3vw,55px)/1 Times New Roman}.game-board.interactive>button>small{z-index:2;color:#365c4d;pointer-events:none;font-weight:800;position:absolute;font-size:12px!important}.game-board.locked{opacity:.9}.connection-state.your-turn{background:#e9f5ef;border-color:#c9e1d5}.connection-state.your-turn>i{background:#36785e}.connection-state.ai-turn{background:#eeeaf7;border-color:#d9d0ec}.connection-state.ai-turn>i{background:#6b579b}.move-history>ol{grid-template-columns:1fr 1fr;gap:4px 9px;max-height:215px;margin:12px 0 0;padding:0;list-style:none;display:grid;overflow:auto}.move-history li{background:#f4f7f5;border-radius:7px;grid-template-columns:28px 1fr auto;align-items:center;gap:5px;padding:7px 8px;display:grid}.move-history li>b{color:#7b8983;font:700 12px monospace}.move-history li>span{font:700 14px monospace}.move-history li>small{color:#74827c;font-size:12px}.game-result{border-radius:11px;align-items:center;gap:11px;padding:15px;display:flex}.game-result>i{border-radius:50%;place-items:center;width:37px;height:37px;font:18px Georgia;display:grid}.game-result>span{display:grid}.game-result strong{font-size:16px}.game-result small{font-size:13px}.game-result.win{color:#286a50;background:#e8f5ed;border:1px solid #c8e2d3}.game-result.win>i{color:#fff;background:#397a60}.game-result.draw{color:#52646d;background:#eef1f3;border:1px solid #d9e0e4}.game-result.draw>i{color:#fff;background:#60747d}.game-result.loss{color:#8c5936;background:#fff1e8;border:1px solid #ecd7c8}.game-result.loss>i{color:#fff;background:#bd7544}@media (width<=620px){.game-board.interactive>button>span{font-size:10vw}.move-history>ol{grid-template-columns:1fr}.game-player>b{font-size:14px}}.student-hero>div>span,.student-hero>aside small,.student-hero>aside span{font-size:13px}.student-hero>aside span{line-height:1.45}.feature-entry>label{gap:6px;width:100%;margin:8px 0 14px;font-size:13px;font-weight:800;display:grid}.feature-entry select,.feature-entry input{background:#fff;border:1px solid #d8e1dc;border-radius:9px;outline:none;width:100%;min-height:44px;padding:0 11px;font-size:14px}.feature-entry select:focus,.feature-entry input:focus{border-color:#6f9d8a;box-shadow:0 0 0 3px #e1eee8}.friend-actions{grid-template-columns:1fr 1fr;gap:7px;width:100%;display:grid}.friend-actions button{color:#7f8b86;background:#f1f4f2;border:1px dashed #cad5cf;border-radius:8px}.sync-banner{border-radius:9px;align-items:center;gap:10px;margin-bottom:10px;padding:11px 13px;display:flex}.sync-banner>i{border-radius:50%;place-items:center;width:29px;height:29px;font-style:normal;font-weight:800;display:grid}.sync-banner span{display:grid}.sync-banner strong{font-size:14px}.sync-banner small{font-size:12px}.sync-banner.syncing{color:#4f6673;background:#eef3f7;border:1px solid #d7e1e7}.sync-banner.syncing>i{color:#fff;background:#637d8b;animation:1.2s infinite pulse}.sync-banner.offline{color:#965045;background:#fff0ed;border:1px solid #ecd2cc}.sync-banner.offline>i{color:#fff;background:#b86352}.game-safety-tools,.postgame-report{border-top:1px solid #e2e8e4;margin-top:17px;padding-top:17px}.game-safety-tools>header,.postgame-report>header{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.game-safety-tools h2,.postgame-report h2{margin:0;font:18px Georgia,Songti SC,serif}.game-safety-tools header span,.postgame-report header span{color:#7d8a85;background:#f0f4f1;border-radius:13px;padding:4px 7px;font-size:12px}.game-safety-tools>div{grid-template-columns:1fr 1fr;gap:6px;display:grid}.game-safety-tools button{text-align:left;cursor:not-allowed;background:#f8faf8;border:1px dashed #d7dfda;border-radius:8px;align-items:center;gap:7px;padding:8px;display:flex}.game-safety-tools button>i{color:#567267;font-size:17px;font-style:normal}.game-safety-tools button span{display:grid}.game-safety-tools button strong{font-size:13px}.game-safety-tools button small{color:#89948f;font-size:12px}.postgame-report>div{gap:6px;display:grid}.postgame-report article{background:#f5f7f5;border-radius:8px;grid-template-columns:29px 1fr auto;align-items:center;gap:8px;padding:10px;display:grid}.postgame-report article>i{color:#376b59;background:#e7efe9;border-radius:8px;place-items:center;width:28px;height:28px;font-style:normal;display:grid}.postgame-report article span{display:grid}.postgame-report article strong{font-size:13px}.postgame-report article small{color:#7f8c87;font-size:12px}.postgame-report article>b{color:#93623d;font-size:12px}.spectator-tabs{gap:6px;margin-bottom:14px;display:flex}.spectator-tabs button{background:#fff;border:1px solid #dae2dd;border-radius:9px;padding:0 18px}.spectator-tabs button.active{color:#fff;background:#245e4d;border-color:#245e4d}.spectator-workspace{grid-template-columns:.75fr 1.25fr;gap:15px;display:grid}.live-games>header,.report-review>header{justify-content:space-between;align-items:flex-start;display:flex}.live-games h2,.report-review h2{margin:0;font:21px Georgia,Songti SC,serif}.live-games header>span,.report-review header>span{color:#9b613b;background:#faecdf;border-radius:13px;padding:5px 8px;font-size:12px}.spectator-board{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:430px;display:flex;position:relative}.spectator-board>i{color:#6c8c7e;font:58px Georgia}.spectator-board h2{margin:10px 0;font:22px Georgia,Songti SC,serif}.spectator-board p{color:#697871;font-size:15px}.spectator-board>div{gap:7px;display:flex}.spectator-board>div span{color:#567066;background:#edf3ef;border-radius:14px;padding:5px 8px;font-size:12px}.report-review>header>div small{color:#697c74;font-size:12px}.report-review>header>div h2{margin-top:3px}.review-pipeline{grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0;display:grid}.review-pipeline article{background:#f6f8f6;border-radius:10px;grid-template-columns:31px 1fr;gap:8px;padding:13px;display:grid}.review-pipeline article>i{color:#2e6c55;background:#dfece6;border-radius:50%;place-items:center;width:30px;height:30px;font:700 13px sans-serif;display:grid}.review-pipeline article>span{display:grid}.review-pipeline strong{font-size:13px}.review-pipeline small{color:#83908b;font-size:12px}.review-pipeline article>b{color:#9b633d;grid-column:2;font-size:12px}.report-empty{text-align:center;border-top:1px solid #e6ebe8;flex-direction:column;justify-content:center;align-items:center;min-height:240px;display:flex}.report-empty>i{color:#2f7059;background:#e5f1eb;border-radius:50%;place-items:center;width:40px;height:40px;font-style:normal;display:grid}.report-empty>strong{margin-top:9px;font-size:15px}.report-empty p{color:#73807b;font-size:14px}.report-empty button{color:#85908b;background:#f5f7f5;border:1px dashed #d3dcd7;border-radius:8px;padding:0 20px}@media (width<=900px){.spectator-workspace{grid-template-columns:1fr}.spectator-board{min-height:320px}.review-pipeline{grid-template-columns:1fr}}@media (width<=560px){.friend-actions,.game-safety-tools>div{grid-template-columns:1fr}.spectator-tabs button{flex:1}.spectator-board>div{flex-wrap:wrap;justify-content:center}.report-review{padding:16px}.sync-banner{align-items:flex-start}}.game-chat{grid-template-columns:1fr;gap:10px!important;display:grid!important}.chat-log{background:#f8faf8;border:1px solid #e0e7e3;border-radius:9px;gap:6px;max-height:170px;padding:11px;display:grid;overflow:auto}.chat-log p{grid-template-columns:74px 1fr;gap:8px;margin:0;font-size:13px;display:grid}.chat-log p strong{color:#2f6e58}.chat-log p span,.chat-log>small{color:#5e6f68;line-height:1.55}.game-chat label{gap:6px;font-size:13px;font-weight:800;display:grid}.game-chat label>span{grid-template-columns:1fr auto;gap:7px;display:grid}.game-chat input{border:1px solid #d7e1dc;border-radius:8px;outline:none;min-width:0;height:44px;padding:0 11px;font-size:14px}.game-chat input:focus{border-color:#5c907b;box-shadow:0 0 0 3px #e0eee8}.game-chat label button,.safety-actions button{cursor:pointer;background:#fff;border:1px solid #d4dfd9;border-radius:8px;min-height:44px}.game-chat label button{color:#fff;background:#245e4d;min-width:74px;padding:0 14px}.safety-actions,.safety-policy-grid{grid-template-columns:repeat(3,1fr);margin-top:9px;gap:7px!important;display:grid!important}.safety-actions button,.safety-actions article,.safety-policy-grid article{text-align:left;background:#f8faf8;border:1px solid #dce4df;border-radius:8px;align-items:center;gap:8px;min-width:0;padding:9px;display:flex}.safety-actions article,.safety-policy-grid article{grid-template-columns:auto 1fr}.safety-actions i,.safety-policy-grid i{color:#2d6c55;background:#dfece6;border-radius:50%;flex:none;place-items:center;width:27px;height:27px;font-style:normal;display:grid}.safety-actions span,.safety-policy-grid span{display:grid}.safety-actions strong,.safety-policy-grid strong{font-size:13px}.safety-actions small,.safety-policy-grid small{color:#798781;font-size:12px}.safety-policy-grid{grid-template-columns:1fr 1fr}.safety-status,.report-message{color:#45695c;margin:8px 0 0;font-size:13px}.report-generate{width:100%;margin-top:10px}.published-report{background:#eff6f2;border-left:3px solid #4c806b;border-radius:0 9px 9px 0;gap:6px;margin-top:10px;padding:13px;display:grid}.published-report strong{font-size:14px}.published-report p{color:#50635b;margin:0;font-size:14px;line-height:1.7}.published-report small{color:#687c73;font-size:12px}.live-game-list{gap:7px;margin-top:13px;display:grid}.live-game-list>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #dfe6e2;border-radius:9px;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;width:100%;min-height:58px;padding:9px;display:grid}.live-game-list>button.active{background:#edf6f1;border-color:#5f907c;box-shadow:inset 3px 0 #2f735a}.live-game-list button>i{color:#2f7059;background:#dfece6;border-radius:9px;place-items:center;width:35px;height:35px;font:700 12px sans-serif;display:grid}.live-game-list button>span{display:grid}.live-game-list button strong{font-size:13px}.live-game-list button small{color:#7a8982;font-size:12px}.live-game-list button>b{color:#2f735a;font-size:12px}.spectator-board.live-board{text-align:left;justify-content:flex-start;min-height:0;padding:20px}.live-board>header{width:100%;padding-right:120px}.live-board>header h2{margin:0;font:21px Georgia,Songti SC,serif}.live-board>header p{color:#75847d;margin:4px 0 12px;font-size:13px}.spectator-readonly-board{aspect-ratio:1;border-radius:5px;grid-template-columns:repeat(8,1fr);width:min(100%,560px);margin:0 auto;display:grid;overflow:hidden;box-shadow:0 8px 24px #17372d26}.spectator-readonly-board>div{place-items:center;display:grid;position:relative}.spectator-readonly-board .light{background:#e8dfc7}.spectator-readonly-board .dark{background:#6d917b}.spectator-readonly-board div>span{font:clamp(25px,4vw,50px)/1 Times New Roman}.spectator-readonly-board .white-piece{color:#fff9e9;-webkit-text-stroke:.5px #5d5343;text-shadow:0 2px 1px #0005}.spectator-readonly-board .black-piece{color:#263b33;-webkit-text-stroke:.4px #10231c;text-shadow:0 1px 1px #fff4}.spectator-readonly-board small{color:#365c4d;font-size:12px;font-weight:800;position:absolute;top:2px;left:3px}.spectator-facts{flex-wrap:wrap;justify-content:center;gap:7px;width:100%;margin-top:12px;display:flex!important}.spectator-facts span{color:#567066;background:#edf3ef;border-radius:14px;padding:5px 8px;font-size:12px}@media (width<=620px){.safety-actions,.safety-policy-grid{grid-template-columns:1fr}.chat-log p{grid-template-columns:58px 1fr}.live-board>header{padding-top:34px;padding-right:0}.spectator-readonly-board div>span{font-size:9vw}}.friend-request{background:#f3f7f4;border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;margin-top:8px;padding:8px;display:grid}.friend-request span{min-width:0}.friend-request button{width:auto;margin:0}.editor-warning,.editor-lock-note{color:#765b12;background:#fff8df;border:1px solid #e5cf8e;border-radius:10px;margin:10px 0;padding:10px 12px}.editor-item-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.editor-item-actions button{width:auto;margin:0}.schedule-editor-list article{grid-template-columns:minmax(160px,1.4fr) minmax(100px,.8fr) auto auto}@media (width<=620px){.friend-request,.schedule-editor-list article{grid-template-columns:1fr}.friend-request button,.editor-item-actions button{width:100%}.editor-item-actions{grid-template-columns:1fr 1fr;display:grid}}
