:root{--ink:#172033;--muted:#64748b;--line:#d7deea;--paper:#fffdf7;--panel:#fff;--teal:#0f9f8f;--teal-dark:#087b70;--coral:#f05d4f;--coral-dark:#c43f34;--gold:#f4b63d;--green:#46a758;--blue:#3c75d8;--shadow:0 18px 42px #1720331f;--radius:8px;--body-bg:radial-gradient(circle at top left, #f4b63d38, transparent 32rem), linear-gradient(135deg, #fffaf0 0%, #f7fbff 52%, #fff7f5 100%)}body[data-theme=ocean]{--ink:#0e2a3b;--muted:#496776;--line:#b9d8e6;--teal:#007f95;--teal-dark:#005d70;--coral:#e76f51;--coral-dark:#b84c32;--gold:#f2c94c;--body-bg:radial-gradient(circle at top left, #007f9533, transparent 30rem), linear-gradient(135deg, #eefcff 0%, #f8fbff 50%, #fff7ed 100%)}body[data-theme=forest]{--ink:#173122;--muted:#52695c;--line:#c7dccd;--teal:#2f855a;--teal-dark:#276749;--coral:#c05621;--coral-dark:#9c4221;--gold:#ecc94b;--body-bg:radial-gradient(circle at top left, #48bb7833, transparent 30rem), linear-gradient(135deg, #f0fff4 0%, #f7fafc 52%, #fffaf0 100%)}body[data-theme=sunset]{--ink:#332018;--muted:#755c51;--line:#ead1c5;--teal:#1f8a8a;--teal-dark:#146a6a;--coral:#d94f4f;--coral-dark:#a93a3a;--gold:#f6ad55;--body-bg:radial-gradient(circle at top left, #f6ad553d, transparent 30rem), linear-gradient(135deg, #fff7ed 0%, #fff5f5 50%, #eefcff 100%)}body[data-theme=bright]{--ink:#182136;--muted:#56627a;--line:#cfd8ff;--teal:#0f9f8f;--teal-dark:#087b70;--coral:#ef476f;--coral-dark:#b83257;--gold:#ffd166;--body-bg:radial-gradient(circle at top left, #ffd16647, transparent 30rem), linear-gradient(135deg, #fffdf7 0%, #f0fbff 45%, #fff0f6 100%)}body[data-theme=contrast]{--ink:#05070d;--muted:#182033;--line:#05070d;--teal:#005fcc;--teal-dark:#003f88;--coral:#b00020;--coral-dark:#7a0015;--gold:#f5b700;--green:#006b3d;--blue:#003fbd;--shadow:none;--body-bg:#fff}*{box-sizing:border-box}body{background:var(--body-bg);min-height:100vh;color:var(--ink);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}.page{flex-direction:column;min-height:100vh;display:flex}.topbar{justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1rem,3vw,2rem);display:flex}.brand{align-items:center;gap:.65rem;font-size:1.1rem;font-weight:900;display:inline-flex}.brand-mark{background:var(--teal);color:#fff;border-radius:8px;place-items:center;width:2.2rem;height:2.2rem;display:grid;box-shadow:0 8px 18px #0f9f8f40}.toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.shell{width:min(1180px,100% - 2rem);margin:0 auto;padding:1rem 0 3rem}.hero{text-align:center;padding:clamp(1.5rem,5vw,4rem) 0 2rem}.eyebrow{border:2px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:#ffffffc7;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .65rem;font-size:.75rem;font-weight:900;display:inline-flex}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;margin-bottom:.75rem;font-size:clamp(3rem,8vw,6.8rem);line-height:.94}h2{margin-bottom:.6rem;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05}h3{margin-bottom:.4rem;font-size:1.1rem}.lead{color:var(--muted);max-width:42rem;margin:0 auto;font-size:1.05rem}.grid{gap:1rem;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.panel{border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#ffffffeb}.tile{border:2px solid var(--line);border-radius:var(--radius);width:100%;min-height:11rem;color:var(--ink);text-align:left;touch-action:manipulation;background:#fff;padding:1.25rem;transition:transform .16s,border-color .16s,box-shadow .16s}.tile:hover,.tile:focus-visible{border-color:var(--teal);outline-offset:3px;outline:3px solid #0b756b;transform:translateY(-2px);box-shadow:0 14px 28px #1720331f}:where(button,a[href],input,select,textarea,summary,[tabindex]):focus-visible{outline-offset:3px;outline:3px solid #0b756b;box-shadow:0 0 0 5px #ffffffeb}.iconbox{width:3.25rem;height:3.25rem;color:var(--teal-dark);background:#e8fbf8;border-radius:8px;place-items:center;margin-bottom:.9rem;font-size:1.35rem;font-weight:900;display:grid}.tile:nth-child(2) .iconbox{color:var(--coral-dark);background:#fff0ec}.muted{color:var(--muted)}.small{font-size:.86rem}.tiny{font-size:.76rem}.stack{flex-direction:column;gap:1rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.section{padding:1.1rem}.btn{background:var(--ink);color:#fff;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;min-height:2.75rem;padding:.65rem .95rem;font-weight:900;text-decoration:none;display:inline-flex}.btn.primary{background:var(--teal);color:#fff}.btn.warn{background:var(--coral);color:#fff}.btn.gold{background:var(--gold);color:#3b2d04}.btn.ghost{color:var(--ink);border-color:var(--line);background:#fff}.btn.icon{flex:none;width:2.65rem;padding:0}.pill{border:1px solid var(--line);min-height:2rem;color:var(--muted);background:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.82rem;font-weight:800;display:inline-flex}.proficiency{border:1px solid var(--line);min-height:1.9rem;color:var(--muted);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;padding:.3rem .55rem;font-size:.78rem;font-weight:900;display:inline-flex}.proficiency.secure{color:#215b2b;background:#ecfff0;border-color:#b6e4bd}.proficiency.building{color:#5f4608;background:#fff8df;border-color:#f3d28b}.proficiency.nearly{color:#214e83;background:#eef6ff;border-color:#b9d6ff}.proficiency.focus{color:#84251d;background:#fff1ef;border-color:#ffc7bd}.proficiency.none{color:#64748b;background:#f8fafc;border-color:#d7deea}.tabs{flex-wrap:wrap;gap:.45rem;display:flex}.tab{border:2px solid var(--line);color:var(--ink);touch-action:manipulation;background:#fff;border-radius:999px;min-height:2.75rem;padding:.55rem .85rem;font-weight:900}.tab.active{border-color:var(--teal);color:var(--teal-dark);background:#e8fbf8}.appearance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.appearance-choice{border:2px solid var(--line);border-radius:var(--radius);min-height:5.25rem;color:var(--ink);text-align:left;background:#fff;grid-template-columns:2.4rem minmax(0,1fr);align-items:center;gap:.7rem;padding:.75rem;font-weight:900;display:grid}.appearance-choice.active{border-color:var(--teal);box-shadow:0 0 0 4px #0f9f8f1f}body[data-theme=contrast] .tab.active,body[data-theme=contrast] .appearance-choice.active{background:var(--ink);color:#fff;box-shadow:none}.swatch{border:2px solid var(--line);background:linear-gradient(135deg,#0f9f8f 0 50%,#f4b63d 50% 100%);border-radius:999px;width:2.35rem;height:2.35rem}.swatch.ocean{background:linear-gradient(135deg,#007f95 0 50%,#f2c94c 50% 100%)}.swatch.forest{background:linear-gradient(135deg,#2f855a 0 50%,#c05621 50% 100%)}.swatch.sunset{background:linear-gradient(135deg,#d94f4f 0 50%,#f6ad55 50% 100%)}.swatch.bright{background:linear-gradient(135deg,#ef476f 0 50%,#ffd166 50% 100%)}.swatch.contrast{background:linear-gradient(135deg,#05070d 0 50%,#fff 50% 100%)}.table-grid{grid-template-columns:repeat(auto-fit,minmax(4.6rem,1fr));gap:.55rem;display:grid}.check-choice{border:2px solid var(--line);border-radius:var(--radius);min-height:3.25rem;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#fff;align-items:center;gap:.55rem;padding:.6rem .7rem;font-weight:900;display:flex}.check-choice input{width:1.25rem;min-height:1.25rem;accent-color:var(--teal);flex:none}.check-choice.active{border-color:var(--teal);color:var(--teal-dark);background:#e8fbf8}body[data-theme=contrast] .check-choice.active{background:var(--ink);color:#fff}label{color:var(--ink);gap:.35rem;font-weight:850;display:grid}input,select,textarea{border:2px solid var(--line);width:100%;min-height:3rem;color:var(--ink);background:#fff;border-radius:8px;outline:none;padding:.65rem .75rem}textarea{resize:vertical;min-height:9rem;line-height:1.45}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px #0f9f8f1f}.notice{color:#5f4608;border-radius:var(--radius);background:#fff8df;border:2px solid #f3d28b;padding:.8rem}.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.guide-card{border:2px solid var(--line);border-radius:var(--radius);background:#fff;min-height:9rem;padding:1rem}.guide-card h3{margin-bottom:.45rem}.guide-list{gap:.45rem;margin:0;padding-left:1.15rem;display:grid}.example-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.example-box{border:2px solid var(--line);text-align:center;background:#f8fafc;border-radius:8px;padding:.85rem;font-size:1.2rem;font-weight:950}.example-box.stepped-example{text-align:left;gap:.35rem;font-size:.98rem;line-height:1.35;display:grid}.example-title{color:var(--teal-dark);font-weight:950}.example-step{color:var(--ink);font-weight:800}.example-result{border-top:1px solid var(--line);color:var(--blue);margin-top:.2rem;padding-top:.35rem;font-weight:950}.success{color:#215b2b;background:#ecfff0;border-color:#b6e4bd}.danger{color:#84251d;background:#fff1ef;border-color:#ffc7bd}.level-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.level{border:2px solid var(--line);border-radius:var(--radius);text-align:left;touch-action:manipulation;background:#fff;min-height:5.6rem;padding:.85rem}.level.active{border-color:var(--coral);box-shadow:0 0 0 4px #f05d4f1f}.level.locked{opacity:.62;background:#f8fafc}.level-code{color:var(--muted);font-size:.78rem;font-weight:900}.ladder{gap:.65rem;display:grid}.ladder-step{border:2px solid var(--line);border-radius:var(--radius);text-align:left;background:#fff;grid-template-columns:2.6rem minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:5.2rem;padding:.75rem;display:grid;position:relative}.ladder-step.active{border-color:var(--coral);box-shadow:0 0 0 4px #f05d4f1f}.ladder-step.locked{opacity:.62;background:#f8fafc}.step-rung{width:2.2rem;height:2.2rem;color:var(--teal-dark);background:#e8fbf8;border-radius:999px;place-items:center;font-weight:950;display:inline-grid}.reward-card{grid-template-columns:minmax(15rem,20rem) minmax(0,1fr);align-items:start;gap:1.2rem;display:grid}.avatar-preview-frame{border:2px solid var(--line);border-radius:var(--radius);min-height:22rem;box-shadow:var(--shadow);background:radial-gradient(circle at 22% 18%,#fffffff2 0 11%,#0000 12%),radial-gradient(circle at 82% 42%,#ffffffb8 0 14%,#0000 15%),linear-gradient(#eef7ff 0%,#f8fbff 58%,#e7f2ee 100%);place-items:end center;padding:1rem .9rem .45rem;display:grid;position:sticky;top:.8rem;overflow:hidden}.student-avatar-svg{filter:drop-shadow(0 1.15rem .95rem #17203329);width:min(100%,13.8rem);height:auto;max-height:20rem;display:block}img.student-avatar-img{object-fit:contain;object-position:bottom center;filter:drop-shadow(0 1.15rem .95rem #1720332e);width:min(100%,13.8rem);height:auto;max-height:20rem;display:block}.coach-panel{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.9rem;display:grid}.coach-avatar{color:#7a3412;width:3.5rem;height:3.5rem;box-shadow:var(--shadow);background:#ffe8d5;border:2px solid #fed7aa;border-radius:999px;place-items:center;font-weight:950;display:grid}.coach-copy{gap:.45rem}.reward-shop{flex-wrap:wrap;gap:.45rem;display:flex}.beast-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.6rem;display:grid}.beast-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:.4rem;padding:.7rem .75rem .8rem;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex;position:relative}.beast-card.is-wild{filter:grayscale(.5);opacity:.78}.beast-card.is-training{background:#fffbeb;border-color:#fcd34d}.beast-card.review-due{filter:saturate(.86)}.beast-card.review-focus{background:#fff8df;border-color:#f3d28b}.beast-card.is-tamed{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#34d399;box-shadow:0 6px 18px -8px #10b9818c}.beast-card.is-tamed:after{content:"tamed";letter-spacing:.06em;text-transform:uppercase;color:#065f46;background:#a7f3d0;border-radius:999px;padding:.1rem .35rem;font-size:.6rem;font-weight:800;position:absolute;top:.4rem;right:.5rem}.beast-head{align-items:center;gap:.5rem;display:flex}.beast-emoji{background:#ffffffb3;border:1px solid #0000000d;border-radius:12px;place-items:center;width:2.4rem;height:2.4rem;font-size:1.8rem;line-height:1;display:grid}.beast-card.is-wild .beast-emoji{animation:2.4s ease-in-out infinite beast-shake}.beast-card.is-tamed .beast-emoji{animation:2.6s ease-in-out infinite beast-bob}.beast-card.review-due .beast-emoji{opacity:.72}.beast-card.review-focus .beast-emoji{filter:saturate(1.35)contrast(1.1);animation:.58s ease-in-out infinite beast-shake}@keyframes beast-shake{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-2px)rotate(-4deg)}75%{transform:translate(2px)rotate(4deg)}}@keyframes beast-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.beast-name{font-size:.95rem;font-weight:800;line-height:1.1}.beast-sub{color:#64748b;font-size:.7rem}.beast-bar{background:#e2e8f0;border-radius:999px;height:6px;overflow:hidden}.beast-bar>span{background:linear-gradient(90deg,#f59e0b,#10b981);height:100%;transition:width .4s;display:block}.beast-foot{color:#475569;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem;font-size:.7rem;display:flex}.beast-health{color:#64748b;white-space:nowrap;background:#f8fafc;border:1px solid #d7deea;border-radius:999px;align-items:center;min-height:1.45rem;padding:.1rem .42rem;font-size:.66rem;font-weight:900;display:inline-flex}.beast-health.review-steady{color:#166534;background:#ecfff0;border-color:#b6e4bd}.beast-health.review-due{color:#64748b;background:#f8fafc;border-color:#d7deea}.beast-health.review-focus{color:#92400e;background:#fff8df;border-color:#f3d28b}.beast-foot button{padding:.15rem .5rem;font-size:.65rem}.beast-just-tamed{animation:.6s beast-pop}@keyframes beast-pop{0%{transform:scale(.85)}60%{transform:scale(1.08)}to{transform:scale(1)}}.practice-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,24rem);align-items:start;gap:1rem;display:grid}.question{text-align:center;padding:clamp(1.2rem,4vw,2.5rem);position:relative;overflow:visible}.question-text{letter-spacing:0;margin:1rem 0;font-size:clamp(3.2rem,11vw,7.4rem);font-weight:950;line-height:1}.answer-input{text-align:center;touch-action:manipulation;caret-color:#0000;pointer-events:none;max-width:18rem;min-height:5rem;margin:0 auto;font-size:clamp(2rem,8vw,4rem);font-weight:950}.answer-input.coach-active{color:#78350f;background:#fffbeb;border:3px solid #fbbf24;animation:1.2s ease-in-out infinite coachPulse}.answer-input.coach-active::selection{color:#78350f;background:#fde68a}@keyframes coachPulse{0%,to{box-shadow:0 0 #fbbf248c}50%{box-shadow:0 0 0 10px #fbbf2400}}.feedback-toast{z-index:4;pointer-events:none;width:min(92%,24rem);margin:0;position:absolute;bottom:.75rem;left:50%;transform:translate(-50%);box-shadow:0 12px 26px #17203324}.keypad{-webkit-user-select:none;user-select:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.key{border:2px solid var(--line);touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#fff;border-radius:8px;min-height:4.8rem;font-size:1.55rem;font-weight:950}.student-shell{padding-top:.75rem}.student-join-card{width:100%;max-width:44rem;margin:0 auto}.student-menu-panel{gap:1.15rem}.action-row .btn{flex:13rem}.session-shell{padding-bottom:1.25rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0px))}.session-practice{align-items:stretch}.session-practice .question,.keypad-panel{height:100%}.keypad-panel{justify-content:start}.result-actions .tile{min-height:8.5rem}.key.enter{background:var(--teal);color:#fff;border-color:var(--teal);grid-column:span 3}body[data-keypad-size=large] .answer-input{max-width:22rem;min-height:5.8rem}body[data-keypad-size=large] .keypad{gap:.85rem}body[data-keypad-size=large] .key{min-height:5.8rem;font-size:1.85rem}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;display:grid}.stat{border:2px solid var(--line);border-radius:var(--radius);background:#fff;padding:.8rem}.stat strong{margin-bottom:.25rem;font-size:1.45rem;line-height:1;display:block}table{border-collapse:collapse;border-radius:var(--radius);background:#fff;width:100%;overflow:hidden}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.7rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#f7fafc;font-size:.78rem}tr:last-child td{border-bottom:0}.dashboard-grid{grid-template-columns:minmax(15rem,22rem) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.dashboard-grid>*,.dashboard-main,.dashboard-main>.panel{min-width:0}.dashboard-main>.panel{max-width:100%;overflow-x:auto}.class-list{gap:.55rem;display:grid}.class-button{border:2px solid var(--line);border-radius:var(--radius);text-align:left;background:#fff;padding:.75rem}.class-button.active{border-color:var(--teal);background:#e8fbf8}.chart{border:2px solid var(--line);border-radius:var(--radius);background:#fbfdff;width:100%;min-height:14rem;overflow:hidden}.empty{text-align:center;min-height:10rem;color:var(--muted);border:2px dashed var(--line);border-radius:var(--radius);background:#ffffffa6;place-items:center;padding:1rem;display:grid}.footer-note{text-align:center;color:var(--muted);padding:1rem}.print-sheet{display:none}.login-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.login-card{border:2px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:minmax(0,1fr) 7rem;align-items:center;gap:.8rem;min-height:9rem;padding:.9rem;display:grid}.qr-slot{border:1px solid var(--line);background:#fff;place-items:center;width:6.5rem;height:6.5rem;display:grid;overflow:hidden}.qr-slot img,.qr-slot svg{width:100%;height:100%;display:block}.pin-line{border-bottom:2px solid var(--ink);vertical-align:middle;min-width:5.5rem;height:1.15rem;display:inline-block}.preview-strip{border-radius:var(--radius);background:#eef4ff;border:2px solid #c6d7ff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;margin:0 clamp(1rem,3vw,2rem) 1rem;padding:.7rem;display:flex}.preview-strip strong{color:#244a93}.preview-nav{flex-wrap:wrap;gap:.4rem;display:flex}.preview-nav button{color:#244a93;background:#fff;border:1px solid #adc2f4;border-radius:999px;min-height:2rem;padding:.35rem .6rem;font-size:.78rem;font-weight:850}@media (width<=860px){.grid.two,.grid.three,.grid.four,.appearance-grid,.guide-grid,.example-strip,.level-list,.practice-layout,.dashboard-grid{grid-template-columns:1fr}.dashboard-main table{min-width:38rem}.reward-card{grid-template-columns:1fr}.avatar-preview-frame{min-height:20rem;position:relative;top:auto}.student-avatar-svg{width:min(100%,12.8rem)}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{align-items:flex-start}.toolbar{justify-content:flex-start}}@media (width>=768px) and (width<=1200px){.shell{width:min(100% - 1.5rem,1040px);padding:.75rem 0 2rem}.topbar{padding:.75rem 1rem}.tile{min-height:8.5rem;padding:1rem}.btn,.tab{min-height:3rem;padding:.7rem .95rem}.tabs{gap:.6rem}.level-list{grid-template-columns:repeat(2,minmax(0,1fr))}.level{min-height:5.1rem;padding:.85rem}.table-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.check-choice{min-height:3.5rem;padding:.7rem .85rem;font-size:1.02rem}.session-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.session-stats .stat{padding:.65rem}.session-stats .stat strong{font-size:1.25rem}.session-practice{grid-template-columns:minmax(0,1fr) minmax(17rem,19rem);gap:.75rem}.session-practice .question{padding:1rem}.question-text{margin:.65rem 0;font-size:clamp(3.2rem,9vw,5.6rem)}.answer-input{max-width:16rem;min-height:4.5rem}.keypad-panel{gap:.65rem;padding:.8rem}.keypad{gap:.55rem}.key{min-height:4.35rem;font-size:1.45rem}body[data-keypad-size=large] .key{min-height:4.8rem}}.mr-slay-overlay{z-index:80;background:#1720336b;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.mr-slay-modal{border:3px solid var(--line);border-radius:calc(var(--radius) + 4px);background:#fffdf7;width:min(940px,100%);max-height:min(92vh,780px);overflow:auto;box-shadow:0 24px 70px #1720333d}.mr-slay-grid{grid-template-columns:minmax(13rem,.85fr) minmax(0,1.35fr);align-items:stretch;gap:1rem;display:grid}.mr-slay-card{border-radius:var(--radius);background:linear-gradient(160deg,#fff7ed,#fff);border:2px solid #fed7aa;flex-direction:column;gap:.75rem;min-height:100%;padding:1rem;display:flex}.mr-slay-portrait{width:6.25rem;height:6.25rem;color:var(--ink);box-shadow:var(--shadow);background:#fff7ed;border:4px solid #fed7aa;border-radius:24px;place-items:center;font-size:2rem;font-weight:950;display:grid}.mr-slay-bubble{border:2px solid var(--blue);background:#fff;border-radius:22px;padding:.85rem 1rem;font-weight:900;line-height:1.25;position:relative}.mr-slay-bubble:after{content:"";border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);background:#fff;width:1rem;height:1rem;position:absolute;bottom:-.75rem;left:1.2rem;transform:rotate(-25deg)}.mr-slay-whiteboard{border-radius:var(--radius);background:linear-gradient(#fff 0%,#f8fafc 100%);border:3px solid #cbd5e1;min-height:18rem;padding:1rem;box-shadow:inset 0 0 0 2px #cbd5e180}.mr-slay-whiteboard h3{color:var(--blue);margin-bottom:.75rem}.mr-slay-board-lines{gap:.45rem;font-size:clamp(1.35rem,3vw,2rem);font-weight:950;line-height:1.2;display:grid}.mr-slay-board-line{color:#172033;padding:.15rem 0}.mr-slay-board-line.final{color:var(--teal-dark);text-underline-offset:.18em;font-size:1.12em;text-decoration:underline;text-decoration-thickness:3px}.mr-slay-prompt{border-left:4px solid var(--gold);color:var(--muted);margin-top:.85rem;padding-left:.75rem}.mr-slay-results-panel{background:linear-gradient(135deg,#fff7ed 0%,#fff 55%,#eefcff 100%);border-color:#fed7aa}@media (width<=860px){.mr-slay-grid{grid-template-columns:1fr}.mr-slay-portrait{width:5rem;height:5rem}}.mr-slay-portrait img,.coach-avatar-image img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.coach-avatar-image{width:4.75rem;height:4.75rem;box-shadow:var(--shadow);background:#fff7ed;border:3px solid #fed7aa;border-radius:20px;padding:0;overflow:hidden}.mr-slay-sprite{background:linear-gradient(#fff7ed 0%,#fff 70%);display:block;position:relative;overflow:hidden}.mr-slay-sprite .slay-layer{object-fit:contain;object-position:center bottom;opacity:0;will-change:opacity, transform;width:100%;height:100%;transition:opacity .22s,transform .32s;animation:4.6s ease-in-out infinite slay-breathe;position:absolute;inset:0;transform:scale(.94)}.mr-slay-sprite .slay-layer.is-active{opacity:1;transform:scale(1)}.mr-slay-sprite.pose-celebrating .slay-layer.is-active{animation:4.6s ease-in-out infinite slay-breathe,.9s ease-out slay-bounce}.mr-slay-sprite.pose-thinking .slay-layer.is-active{animation:4.6s ease-in-out infinite slay-breathe,5s ease-in-out infinite slay-tilt}@keyframes slay-breathe{0%,to{transform:scale(1)translateY(0)}50%{transform:scale(1.015)translateY(-1.5px)}}@keyframes slay-bounce{0%{transform:scale(1)translateY(0)}30%{transform:scale(1.04)translateY(-8px)}60%{transform:scale(.99)translateY(2px)}to{transform:scale(1)translateY(0)}}@keyframes slay-tilt{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.01)rotate(-1.5deg)}}.mr-slay-portrait.mr-slay-sprite,.coach-avatar-image.mr-slay-sprite{padding:0}.slay-stages{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.35rem;font-size:.85rem;display:flex}.slay-stage{color:#9a3412;white-space:nowrap;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:.15rem .55rem;font-size:.78rem}.slay-stage.done{color:#166534;background:#dcfce7;border-color:#86efac}.slay-stage.active{color:#fff;background:#f97316;border-color:#f97316;font-weight:600}.slay-stage.locked{color:#9ca3af;opacity:.75;background:#f3f4f6;border-color:#e5e7eb}.slay-stage-sep{color:#9ca3af}.slay-stages{flex-wrap:wrap;align-items:center;gap:.25rem;margin-top:.35rem;display:flex}.slay-progress{background:#fed7aa;border-radius:999px;height:8px;overflow:hidden}.slay-progress-bar{background:linear-gradient(90deg,#f97316,#fbbf24);height:100%;transition:width .35s}.slay-lesson-grid{grid-template-columns:minmax(220px,280px) 1fr;align-items:start;gap:1.25rem;display:grid}@media (width<=720px){.slay-lesson-grid{grid-template-columns:1fr}}.slay-teacher{flex-direction:column;gap:.75rem;display:flex}.slay-bubble{background:#fff7ed;border:2px solid #fed7aa;border-radius:18px;padding:.75rem .9rem;position:relative}.slay-bubble strong{color:#9a3412;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2rem;font-size:.78rem;display:block}.slay-bubble p{margin:0;line-height:1.45}.slay-board{flex-direction:column;gap:1rem;min-height:220px;display:flex}.slay-visual{background:#fffbf5;border:2px dashed #fed7aa;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:.9rem;min-height:160px;padding:1.25rem;display:flex}.slay-callout{color:#7c2d12;text-align:center;padding:.5rem 1rem;font-size:1.25rem;font-weight:600}.slay-equation{color:#7c2d12;font-family:ui-monospace,monospace;font-size:1.15rem;font-weight:600}.slay-groups{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.slay-group{background:#fff;border:2px solid #fb923c;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px;display:grid}.slay-dot{background:#f97316;border-radius:50%;width:14px;height:14px;animation:.4s both slay-dot-pop;display:block}@keyframes slay-dot-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.slay-numberline{width:100%;max-width:520px;height:60px;position:relative}.slay-numberline:before{content:"";background:#fb923c;border-radius:2px;height:3px;position:absolute;top:24px;left:0;right:0}.slay-nl-stop{flex-direction:column;align-items:center;display:flex;position:absolute;top:18px;transform:translate(-50%)}.slay-nl-stop:before{content:"";background:#fff;border:3px solid #fb923c;border-radius:50%;width:12px;height:12px;transition:all .3s}.slay-nl-stop.on:before{background:#f97316;transform:scale(1.2)}.slay-nl-stop span{color:#7c2d12;margin-top:4px;font-size:.7rem;font-weight:600}.slay-jump-strip{flex-wrap:wrap;justify-content:center;gap:.35rem;max-width:620px;display:flex}.slay-jump-step{color:#7c2d12;background:#fff;border:1px solid #fed7aa;border-radius:999px;padding:.25rem .5rem;font-size:.85rem;font-weight:700}.slay-jump-step strong{color:#c2410c}.slay-choices{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem;display:grid}.slay-choice{cursor:pointer;background:#fff;border:2px solid #fed7aa;border-radius:14px;padding:.7rem 1rem;font-weight:600;transition:all .15s}.slay-choice:hover:not([disabled]){border-color:#f97316;transform:translateY(-1px)}.slay-choice.is-correct{color:#14532d;background:#bbf7d0;border-color:#16a34a}.slay-choice.is-wrong{color:#7f1d1d;background:#fecaca;border-color:#dc2626}.slay-choice[disabled]{opacity:.55;cursor:not-allowed}.slay-table-pick.is-learned{color:#14532d;background:#f0fdf4;border-color:#16a34a}.slay-warmup-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.slay-warmup-row{background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:.6rem;padding:.5rem .8rem;font-weight:600;display:flex}.slay-warmup-row.is-correct{color:#166534;background:#f0fdf4;border-color:#86efac}.slay-warmup-row.is-wrong{color:#991b1b;background:#fef2f2;border-color:#fecaca}.slay-diag-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.slay-diag-row{background:#fff;border:1px solid #e5e7eb;border-radius:10px;grid-template-columns:5rem 1fr auto;align-items:center;gap:.6rem;padding:.5rem .8rem;font-weight:600;display:grid}.slay-diag-row .slay-diag-table{font-size:1.05rem}.slay-diag-row .slay-diag-band{color:#475569;font-weight:500}.slay-diag-row.band-automatic{background:#f0fdf4;border-color:#86efac}.slay-diag-row.band-automatic .slay-diag-band{color:#166534}.slay-diag-row.band-strategy-secure{background:#ecfeff;border-color:#a5f3fc}.slay-diag-row.band-strategy-secure .slay-diag-band{color:#155e75}.slay-diag-row.band-emerging{background:#fffbeb;border-color:#fde68a}.slay-diag-row.band-emerging .slay-diag-band{color:#92400e}.slay-diag-row.band-needs-lesson{background:#fef2f2;border-color:#fecaca}.slay-diag-row.band-needs-lesson .slay-diag-band{color:#991b1b}.slay-dash-list{gap:.35rem;display:grid}.slay-dash-row{background:#fff;border:1px solid #e5e7eb;border-radius:10px;grid-template-columns:4.5rem 5rem 1fr 6rem auto;align-items:center;gap:.6rem;padding:.5rem .75rem;font-size:.95rem;font-weight:600;display:grid}.slay-dash-row .slay-dash-stage{color:#475569;font-size:.85rem;font-weight:500}.slay-dash-row .slay-dash-when{color:#64748b;font-size:.85rem;font-weight:500}.slay-dash-row .slay-dash-status{color:#334155;font-weight:500}.slay-dash-row.slay-dash-head{color:#64748b;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:none;padding:.2rem .75rem;font-size:.75rem;font-weight:600}.slay-dash-row.tone-automatic{background:#f0fdf4;border-color:#86efac}.slay-dash-row.tone-secure{background:#ecfeff;border-color:#a5f3fc}.slay-dash-row.tone-learned{background:#f8fafc;border-color:#cbd5e1}.slay-dash-row.tone-emerging{background:#fffbeb;border-color:#fde68a}.slay-dash-row.tone-needs-lesson{background:#fef2f2;border-color:#fecaca}.slay-dash-row.tone-none{color:#64748b;background:#fff;border-style:dashed}.slay-dash-row.is-due{box-shadow:inset 4px 0 #f59e0b}@media (width<=640px){.slay-dash-row{grid-template-columns:3.5rem 1fr auto}.slay-dash-row .slay-dash-stage,.slay-dash-row .slay-dash-when,.slay-dash-row.slay-dash-head{display:none}}.slay-warmup-sign{text-align:center;width:1.2rem;font-size:1.1rem;font-weight:700}.slay-feedback{border-radius:14px;padding:.8rem 1rem;font-weight:500;line-height:1.45}.slay-feedback.is-correct{color:#14532d;background:#dcfce7;border:1px solid #86efac}.slay-feedback.is-wrong{color:#7f1d1d;background:#fee2e2;border:1px solid #fca5a5}.slay-lesson{background:#fffefb}.slay-doc-toc{flex-wrap:wrap;gap:.45rem;display:flex}.slay-doc-toc a{text-decoration:none}.slay-doc-group{scroll-margin-top:1rem}.slay-doc-lesson{border:2px solid var(--line);border-radius:var(--radius);background:#fffefb;gap:.85rem;padding:1rem;display:grid}.slay-doc-lesson h4{margin:0;font-size:1.15rem}.slay-doc-meta{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.slay-doc-scenes{gap:.75rem;display:grid}.slay-doc-scene{background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;gap:.55rem;padding:.8rem;display:grid}.slay-doc-scene-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.45rem;display:flex}.slay-doc-scene-title{color:#7c2d12;font-weight:800}.slay-doc-speech{margin:0;line-height:1.45}.slay-doc-visual{background:#fff;border:1px dashed #fed7aa;border-radius:12px;justify-content:center;align-items:center;min-height:4rem;padding:.75rem;display:flex;overflow:auto}.slay-doc-choices{gap:.45rem;display:grid}.slay-doc-choice{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.5rem .65rem}.slay-doc-choice.correct{background:#f0fdf4;border-color:#86efac}.slay-doc-choice.wrong{background:#fef2f2;border-color:#fecaca}.slay-doc-choice strong{margin-bottom:.15rem;display:block}@media print{.preview-bar,.slay-doc-actions,header,.slay-doc-toc{display:none!important}.page,main.shell{background:#fff!important}.slay-doc-lesson,.slay-doc-scene{break-inside:avoid}}.diagnostic-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.diagnostic-card{border:2px solid var(--line);border-radius:var(--radius);background:#fff;gap:.45rem;min-height:8.5rem;padding:.9rem;display:grid}.diagnostic-card.secure{background:#ecfff0;border-color:#b6e4bd}.diagnostic-card.nearly{background:#eef6ff;border-color:#b9d6ff}.diagnostic-card.building{background:#fff8df;border-color:#f3d28b}.diagnostic-card.focus{background:#fff1ef;border-color:#ffc7bd}.diagnostic-card.none{background:#f8fafc}.diagnostic-recommendation-panel{background:linear-gradient(135deg,#fff 0%,#f2fffc 70%,#fff8df 100%);border-color:#0f9f8f38}.diagnostic-recommendation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.diagnostic-recommendation-card{border:1px solid var(--line);background:#ffffffd1;border-radius:14px;gap:.2rem;padding:.75rem;display:grid}.diagnostic-recommendation-card strong{font-size:.82rem}.diagnostic-op-symbol{background:var(--ink);color:#fff;border-radius:10px;place-items:center;width:2.35rem;height:2.35rem;font-size:1.15rem;font-weight:950;display:grid}.diagnostic-summary-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.diagnostic-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.diagnostic-evidence-operation{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:0;padding:1rem}.diagnostic-evidence-placement{color:#0c4a6e;background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;padding:.7rem .8rem}.diagnostic-evidence-operation details{margin-top:.4rem}.diagnostic-evidence-operation summary{cursor:pointer;color:var(--blue);font-weight:700}.diagnostic-evidence-question-table{margin-top:.55rem;font-size:.86rem}.diagnostic-evidence-question-table td,.diagnostic-evidence-question-table th{padding:.45rem}.diagnostic-encounter-panel{background:linear-gradient(135deg,#f2fffc 0%,#fff 58%,#fff8df 100%);border-color:#bfe8df}.diagnostic-signal-strip{flex-wrap:wrap;gap:.55rem;display:flex}.diagnostic-signal-chip{border:1px solid var(--line);min-height:2.7rem;color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .65rem .35rem .35rem;font-weight:900;display:inline-flex}.diagnostic-signal-mini{color:#fff;background:var(--teal);border-radius:999px;place-items:center;width:2rem;height:2rem;display:grid;box-shadow:inset 0 -.2rem .35rem #087b7038}.diagnostic-signal-mini.state-unstable{background:#f59e0b;animation:1.05s ease-in-out infinite signal-flicker}.diagnostic-signal-mini.state-stabilising{background:var(--teal);animation:2s ease-in-out infinite signal-pulse}.diagnostic-signal-mini.state-stable{background:#22c55e}.diagnostic-map{background:radial-gradient(circle at 50% 44%,#0f9f8f21 0 15%,#0000 16%),linear-gradient(135deg,#ecfdf5e0,#eff6ffdb);border:1px solid #0f9f8f2e;border-radius:.8rem;grid-template-columns:minmax(9.5rem,.72fr) minmax(0,1fr);align-items:center;gap:.8rem;padding:.8rem;display:grid}.diagnostic-map-core{text-align:center;background:radial-gradient(circle at 50% 38%,#fffffff5 0 18%,#d1fae5b8 19% 42%,#0f9f8f2e 43% 100%);border:2px solid #0f9f8f3d;border-radius:999px;place-items:center;min-height:8.8rem;padding:1rem;display:grid;box-shadow:inset 0 0 0 8px #ffffff6b}.diagnostic-map-core strong{color:var(--teal-dark);font-size:1.9rem;line-height:1;display:block}.diagnostic-map-core span{color:var(--muted);margin-top:.25rem;font-size:.78rem;font-weight:800;display:block}.diagnostic-map-nodes{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.diagnostic-map-node{border:1px solid var(--line);background:#ffffffd6;border-radius:.7rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;min-height:4.2rem;padding:.55rem;display:grid}.diagnostic-map-node.is-active{border-color:var(--teal);box-shadow:0 0 0 3px #0f9f8f24}.diagnostic-map-node .diagnostic-signal-mini{width:2rem;height:2rem;font-size:.9rem}.diagnostic-map-node strong,.diagnostic-map-node span{min-width:0;display:block}.diagnostic-map-node span{color:var(--muted);font-size:.74rem;line-height:1.2}.diagnostic-beast-panel{background:radial-gradient(circle at 16% 18%,#ffffffdb 0 11%,#0000 12%),linear-gradient(135deg,#eef6ff,#ecfdf5 54%,#fff);border-color:#0f9f8f3d}.diagnostic-beast-stage{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.9rem;display:grid}.diagnostic-beast-figure{aspect-ratio:1;background:radial-gradient(circle at 35% 28%,#ffffffeb 0 9%,#0000 10%),radial-gradient(circle at 58% 55%,#0f9f8f6b,#087b70eb);border:3px solid #087b703d;border-radius:46% 54% 48% 52%;flex:none;width:6.5rem;animation:2.6s ease-in-out infinite beast-bob;position:relative;box-shadow:inset -.6rem -.9rem 1.2rem #17203321,0 1rem 1.4rem #17203324}.diagnostic-beast-figure.is-shifting{background:radial-gradient(circle at 35% 28%,#ffffffeb 0 9%,#0000 10%),radial-gradient(circle at 58% 55%,#f59e0b70,#0f9f8fe6);animation:1.1s ease-in-out infinite beast-shake}.diagnostic-beast-horn,.diagnostic-beast-eye,.diagnostic-beast-mouth{display:block;position:absolute}.diagnostic-beast-horn{background:#f8fafc;border:2px solid #087b7038;border-radius:80% 20%;width:1.35rem;height:1.7rem;top:-.34rem}.diagnostic-beast-horn.left{left:1.25rem;transform:rotate(-18deg)}.diagnostic-beast-horn.right{right:1.25rem;transform:rotate(18deg)scaleX(-1)}.diagnostic-beast-eye{background:#172033;border-radius:999px;width:.72rem;height:.9rem;top:2.35rem;box-shadow:inset .14rem .16rem #fff}.diagnostic-beast-eye.left{left:2rem}.diagnostic-beast-eye.right{right:2rem}.diagnostic-beast-mouth{border-bottom:3px solid #172033d1;border-radius:0 0 999px 999px;height:.55rem;top:3.75rem;left:2.28rem;right:2.28rem}.diagnostic-beast-meter{background:#d7deead1;border:1px solid #17203314;border-radius:999px;height:.7rem;overflow:hidden}.diagnostic-beast-meter>span{border-radius:inherit;background:linear-gradient(90deg, var(--teal), #22c55e);width:0;height:100%;display:block}@media (width<=860px){.diagnostic-grid,.diagnostic-summary-row,.diagnostic-recommendation-grid,.diagnostic-evidence-grid,.diagnostic-map,.diagnostic-map-nodes,.diagnostic-beast-stage{grid-template-columns:1fr}}.narrative-page{background:var(--body-bg);flex-direction:column;min-height:100vh;display:flex;overflow:hidden}.narrative-scene{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.75rem;width:100%;max-width:680px;margin:0 auto;padding:2rem 1.25rem 3rem;animation:.35s both narrative-in;display:flex}@keyframes narrative-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.npc-stage{align-items:flex-end;gap:1.25rem;width:100%;display:flex}.npc-stage-portrait{object-fit:contain;filter:drop-shadow(0 8px 18px #17203324);width:130px;min-width:130px;height:auto;animation:4s ease-in-out infinite npc-breathe}@keyframes npc-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.npc-dialogue{flex-direction:column;flex:1;gap:.55rem;display:flex}.npc-bubble{background:var(--panel);border:2px solid var(--line);border-radius:1.1rem 1.1rem 1.1rem .3rem;padding:.9rem 1.1rem;position:relative;box-shadow:0 4px 16px #17203312}.npc-bubble p{color:var(--ink);margin:0 0 .3rem;font-size:1rem;line-height:1.55}.npc-bubble p:last-child{margin-bottom:0}.npc-bubble p.npc-pause{color:var(--muted);font-size:.9rem;font-style:italic}.npc-name-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--teal);margin-bottom:.4rem;font-size:.7rem;font-weight:800;display:inline-block}.beast-intro-zone{flex-direction:column;align-items:center;gap:1rem;display:flex}.beast-orb-large{background:radial-gradient(circle at 35% 28%,#ffffffe0 0 9%,#0000 10%),radial-gradient(circle at 58% 55%,#0f9f8f73,#087b70eb);border:3px solid #087b7038;border-radius:46% 54% 48% 52%;width:110px;height:110px;box-shadow:inset -.5rem -.8rem 1rem #17203324,0 1rem 2rem #087b7033}.beast-orb-large.state-wild{filter:saturate(.7)brightness(.88);animation:1.4s ease-in-out infinite beast-shake}.beast-orb-large.state-forming{filter:saturate();animation:2s ease-in-out infinite signal-pulse}.beast-orb-large.state-tamed{filter:saturate(1.2)brightness(1.05);background:radial-gradient(circle at 35% 28%,#ffffffeb 0 9%,#0000 10%),radial-gradient(circle at 58% 55%,#22c55e73,#16a34ae0);border-color:#16a34a4d;animation:2.6s ease-in-out infinite beast-bob}.beast-intro-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:700}.intro-diag-header{text-align:center}.intro-question-display{color:var(--ink);letter-spacing:-.03em;text-align:center;font-size:clamp(2.2rem,8vw,3.2rem);font-weight:900;line-height:1.1}.intro-choices{grid-template-columns:1fr 1fr;gap:.7rem;width:100%;max-width:320px;display:grid}.intro-choice-btn{border:2.5px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;touch-action:manipulation;border-radius:14px;padding:.9rem .5rem;font-size:1.5rem;font-weight:800;line-height:1;transition:border-color .12s,background .12s,transform .1s}.intro-choice-btn:hover:not(:disabled){border-color:var(--teal);background:#f0fdfb;transform:translateY(-2px)}.intro-choice-btn.is-correct{color:#166534;background:#ecfff0;border-color:#22c55e}.intro-choice-btn.is-wrong{border-color:var(--coral);color:#991b1b;background:#fff1f0}.intro-choice-btn:disabled{cursor:default}.intro-pip-row{justify-content:center;gap:.4rem;display:flex}.intro-pip{background:var(--line);border-radius:50%;width:9px;height:9px;transition:background .25s}.intro-pip.done-correct{background:#22c55e}.intro-pip.done-wrong{background:var(--coral)}.intro-pip.current{background:var(--teal)}.intro-diag-header{justify-content:space-between;align-items:center;max-width:640px;margin:.75rem auto .35rem;padding:0 .5rem;display:flex}.intro-diag-ribbon{flex-wrap:wrap;gap:.4rem;max-width:640px;margin:0 auto .5rem;padding:0 .5rem;display:flex}.intro-diag-op{opacity:.7;background:#ffffffa6;border-radius:8px;flex-direction:column;flex:100px;gap:.25rem;min-width:90px;padding:.35rem .5rem;display:flex}.intro-diag-op.active{opacity:1;box-shadow:0 0 0 2px var(--teal)}.intro-diag-op.done{opacity:.85;background:#dcf0dcb3}.intro-diag-op-label{color:var(--ink);letter-spacing:.02em;font-size:.72rem;font-weight:700}.intro-diag-op-bar{background:#00000014;border-radius:999px;height:4px;display:block;overflow:hidden}.intro-diag-op-bar>span{background:var(--teal);height:100%;transition:width .3s;display:block}.intro-diag-input{font-variant-numeric:tabular-nums;background:#ffffffbf;border-radius:8px;min-width:3ch;padding:.1rem .6rem;display:inline-block}.intro-question-display.is-correct{color:#15803d}.intro-question-display.is-wrong{color:#b91c1c}.intro-diag-keypad{grid-template-columns:repeat(3,1fr);gap:.55rem;width:min(100%,520px);margin:.9rem auto 0;display:grid}.intro-diag-key{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:#0f9f8f2e;background:#fff;border:2px solid #00000014;border-radius:12px;min-width:64px;min-height:64px;padding:.75rem;font-size:clamp(1.35rem,4vw,1.8rem);font-weight:800;box-shadow:0 2px #00000014}.intro-diag-key:hover:not(:disabled){background:#fef3c7}.intro-diag-key:active:not(:disabled){border-color:var(--teal);box-shadow:none;background:#ccfbf1;transform:translateY(2px)}.intro-diag-extra-keys{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.55rem;width:min(100%,520px);margin:.55rem auto 0;display:grid}.intro-diag-feedback{text-align:center;width:min(100%,520px);margin:.75rem auto 0}@keyframes signal-pulse{0%,to{transform:translateY(0);box-shadow:0 .65rem 1.4rem #0f9f8f33}50%{transform:translateY(-3px);box-shadow:0 .9rem 1.7rem #0f9f8f42}}@keyframes signal-flicker{0%,to{opacity:1;transform:translate(0)scale(1)}35%{opacity:.76;transform:translate(-2px)scale(.98)}70%{opacity:.94;transform:translate(2px)scale(1.02)}}.intro-diag-save-error{width:min(100%,620px);margin:.75rem auto 0}@media (width<=560px){.intro-diag-keypad{gap:.45rem}.intro-diag-key{min-width:0;min-height:64px}}.narrative-reveal{text-align:center;flex-direction:column;align-items:center;gap:1.2rem;display:flex}.reveal-beast-name{letter-spacing:.06em;text-transform:uppercase;color:var(--teal);font-size:.78rem;font-weight:800}.reveal-title{color:var(--ink);font-size:1.5rem;font-weight:900;line-height:1.2}.reveal-sub{color:var(--muted);max-width:380px;font-size:.95rem}.narrative-page[data-scene=forest]{background:radial-gradient(at 20% 10%,#bee1b48c,#0000 55%),radial-gradient(at 80% 90%,#82b49673,#0000 60%),linear-gradient(#eaf4e4 0%,#d7ead0 100%)}.narrative-page[data-scene=guild]{background:radial-gradient(at 30% 15%,#fae6be99,#0000 55%),linear-gradient(#f5ecd8 0%,#e8d9b7 100%)}.narrative-page[data-scene=map]{background:radial-gradient(at 50% 40%,#fff5dcbf,#0000 65%),linear-gradient(#f3e4c1 0%,#e2cca0 100%)}.narrative-page[data-scene=path]{background:radial-gradient(at 10% 20%,#c8dcb480,#0000 55%),radial-gradient(at 90% 80%,#f0dcb48c,#0000 60%),linear-gradient(#eaefdd 0%,#e6dcc2 100%)}.narrative-skip{color:var(--muted);cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:8px;padding:.35rem .6rem;font-size:.8rem;position:absolute;top:.9rem;right:1rem}.narrative-skip:hover{opacity:1;background:#fff6}.npc-stage.duo{flex-direction:column;gap:.9rem}.npc-stage.duo .duo-portraits{justify-content:center;align-items:flex-end;gap:1.25rem;width:100%;display:flex}.npc-stage.duo .duo-portraits .npc-stage-portrait{width:110px;min-width:110px}.npc-stage.duo .duo-portraits .npc-stage-portrait.speaking{filter:drop-shadow(0 12px 22px #1720332e);transition:transform .3s,filter .3s;transform:translateY(-4px)scale(1.04)}.npc-stage.duo .duo-portraits .npc-stage-portrait.listening{opacity:.75;transition:opacity .3s}.npc-name-tag.frank{color:#b45309}.world-map-wrap{background:#fdf6e3;border:2px solid #b4823c59;border-radius:18px;width:100%;max-width:520px;margin:0 auto;padding:.75rem;position:relative;box-shadow:0 8px 22px #78501e26,inset 0 0 30px #b4823c14}.world-map-svg{width:100%;height:auto;display:block}.world-map-label{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:#92651c;margin-top:.4rem;font-size:.72rem;font-weight:700}.numeria-map-wrap{background:#0b1a2b;border-color:#1e3c6e8c;max-width:760px;box-shadow:0 12px 32px #0a193759,inset 0 0 40px #00000040}.numeria-map-wrap .world-map-label{color:#ffd98a}.numeria-map-frame{border-radius:12px;width:100%;line-height:0;position:relative;overflow:hidden}.numeria-map-img{width:100%;height:auto;display:block}.lumerra-webgl-canvas{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lumerra-webgl--error .lumerra-webgl-canvas,.lumerra-webgl--context-lost .lumerra-webgl-canvas,.lumerra-webgl--static .lumerra-webgl-canvas{display:none}.numeria-map-hotspot{z-index:2;cursor:pointer;color:#fff;font:inherit;background:0 0;border:0;flex-direction:column;align-items:center;gap:.25rem;margin:0;padding:0;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.numeria-map-hotspot-dot{background:radial-gradient(circle at 30% 30%,#fff,#ffd98a 55%,#f59e0b 100%);border:2px solid #ffffffe6;border-radius:999px;width:18px;height:18px;animation:2.4s ease-in-out infinite numeria-pulse;box-shadow:0 0 0 3px #00000059,0 0 14px #ffc850a6}.numeria-map-hotspot-realm .numeria-map-hotspot-dot{background:radial-gradient(circle at 30% 30%,#fff,#fca5a5 45%,#dc2626 100%);width:26px;height:26px;box-shadow:0 0 0 3px #00000073,0 0 18px #dc503cbf}.numeria-map-hotspot[data-operation=measurement] .numeria-map-hotspot-dot,.numeria-map-hotspot-realm.is-ice .numeria-map-hotspot-dot{background:radial-gradient(circle at 30% 30%,#fff,#bae6fd 45%,#0284c7 100%);box-shadow:0 0 0 3px #00000073,0 0 18px #50a0dcbf}.numeria-map-hotspot-label{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#0f172ad9;border:1px solid #ffffff26;border-radius:8px;flex-direction:column;align-items:center;padding:.25rem .55rem;font-size:.72rem;font-weight:700;line-height:1.15;transition:opacity .15s,transform .15s;display:inline-flex;transform:translateY(-4px)}.numeria-map-hotspot-label em{opacity:.8;font-size:.66rem;font-style:normal;font-weight:500}.numeria-map-hotspot-realm .numeria-map-hotspot-label,.numeria-map-hotspot:hover .numeria-map-hotspot-label,.numeria-map-hotspot:focus-visible .numeria-map-hotspot-label{opacity:1;transform:none}.numeria-map-hotspot:focus-visible{outline-offset:3px;border-radius:999px;outline:2px solid #fbbf24}@keyframes numeria-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}@keyframes numeria-unrest{0%,to{transform:scale(1);box-shadow:0 0 0 3px #00000080,0 0 22px #dc2828e6}50%{transform:scale(1.35);box-shadow:0 0 0 4px #0000008c,0 0 32px #ff5050}}.numeria-map-hotspot[data-unrest="0"] .numeria-map-hotspot-dot{opacity:.55}.numeria-map-hotspot[data-unrest="1"] .numeria-map-hotspot-dot{opacity:.85}.numeria-map-hotspot[data-unrest="2"] .numeria-map-hotspot-dot{background:radial-gradient(circle at 30% 30%,#fff,#fdba74 45%,#ea580c 100%);animation:1.6s ease-in-out infinite numeria-unrest;box-shadow:0 0 0 3px #00000073,0 0 20px #ea580ce6}.numeria-map-hotspot[data-unrest="3"] .numeria-map-hotspot-dot{background:radial-gradient(circle at 30% 30%,#fff,#fca5a5 40%,#dc2626 100%);animation:1.1s ease-in-out infinite numeria-unrest;box-shadow:0 0 0 4px #00000080,0 0 28px #dc2626}.numeria-map-hotspot[data-unrest="2"] .numeria-map-hotspot-label,.numeria-map-hotspot[data-unrest="3"] .numeria-map-hotspot-label{opacity:1;border-color:#ff7850b3;transform:none}.companion-badge svg{width:100%;height:100%;display:block}@media (width<=640px){.numeria-map-hotspot-label{padding:.15rem .4rem;font-size:.62rem}.numeria-map-hotspot-dot{width:14px;height:14px}.numeria-map-hotspot-realm .numeria-map-hotspot-dot{width:20px;height:20px}}.map-region{transition:fill .4s}.map-marker{transform-origin:50%;transform-box:fill-box}.map-marker.stable{animation:3.6s ease-in-out infinite map-mark-pulse}.map-marker.unrest{transform-origin:50%;animation:1.6s ease-in-out infinite map-mark-flare}.map-marker.unknown{opacity:.35;stroke-dasharray:3 3}@keyframes map-mark-pulse{0%,to{opacity:.85}50%{opacity:1}}@keyframes map-mark-flare{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}.map-path{stroke:#9664288c;stroke-width:1.5px;stroke-dasharray:4 4;fill:none}.narrative-cta{flex-direction:column;align-items:center;gap:.6rem;display:flex}.narrative-step-dots{gap:.35rem;display:flex}.narrative-step-dot{background:var(--line);border-radius:50%;width:7px;height:7px;transition:background .3s,width .3s}.narrative-step-dot.active{background:var(--teal);border-radius:4px;width:18px}.narrative-step-dot.done{background:var(--teal-dark);opacity:.6}@media (width<=520px){.npc-stage{flex-direction:column;align-items:center}.npc-stage-portrait{width:100px;min-width:100px}.npc-bubble{border-radius:1.1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.beast-3d-stage canvas{display:none!important}.beast-3d-stage--static .beast-3d-fallback{display:block}.lumerra-webgl-canvas{display:none!important}.beast-3d-stage .beast-3d-fallback,.beast-3d-stage .beast-3d-status{display:block!important}}[data-region=earlyNumber]{--region-hue:145deg;--region-accent:#2f855a;--region-bg:#f0fff4;--region-border:#b6e4bd}[data-region=addition]{--region-hue:187deg;--region-accent:#0f9f8f;--region-bg:#f0fdfa;--region-border:#99e6df}[data-region=subtraction]{--region-hue:255deg;--region-accent:#7c3aed;--region-bg:#faf5ff;--region-border:#c4b5fd}[data-region=multiplication]{--region-hue:138deg;--region-accent:#16a34a;--region-bg:#f0fdf4;--region-border:#86efac}[data-region=division]{--region-hue:218deg;--region-accent:#1d4ed8;--region-bg:#eff6ff;--region-border:#93c5fd}[data-region=measurement]{--region-hue:38deg;--region-accent:#d97706;--region-bg:#fffbeb;--region-border:#fcd34d}[data-region=mixed]{--region-hue:0deg;--region-accent:#dc2626;--region-bg:#fff5f5;--region-border:#fca5a5}.region-banner{border-radius:var(--radius);background:var(--region-bg,#f8fafc);border:1.5px solid var(--region-border,var(--line));align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.region-symbol{color:var(--region-accent,var(--teal));text-align:center;min-width:2.2rem;font-size:1.8rem;font-weight:900;line-height:1}.region-name{letter-spacing:.07em;text-transform:uppercase;color:var(--region-accent,var(--teal));font-size:.72rem;font-weight:800;display:block}.region-tagline{color:var(--ink);font-size:.9rem;font-weight:600}.guild-header{background:var(--panel);border:1.5px solid var(--line);border-radius:var(--radius);grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 1.25rem;display:grid}.guild-avatar-badge{flex-direction:column;align-items:center;gap:.25rem;display:flex}.guild-alias{color:var(--muted);text-align:center;font-size:.72rem;font-weight:700}.guild-title-block h2{margin:0;font-size:1.2rem}.guild-title-block p{color:var(--muted);margin:0;font-size:.85rem}.guild-coin-badge{text-align:right;flex-shrink:0}.guild-coin-badge .pill{margin-bottom:.25rem;display:block}.guild-coin-sub{color:var(--muted);font-size:.7rem}.guild-actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.guild-action-card{border-radius:var(--radius);border:2px solid var(--line);background:var(--panel);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:.4rem;padding:1rem 1.1rem;transition:border-color .14s,background .14s,transform .12s;display:flex}.guild-action-card:hover{border-color:var(--teal);background:#f0fdfa;transform:translateY(-2px)}.guild-action-card:active{transform:translateY(0)}.guild-action-card.primary{border-color:var(--teal);background:linear-gradient(135deg,#f0fdfa,#e6faf7)}.guild-action-icon{font-size:1.6rem;line-height:1}.guild-action-label{color:var(--ink);font-size:1rem;font-weight:800}.guild-action-sub{color:var(--muted);font-size:.75rem}@media (width<=460px){.guild-header{grid-template-columns:auto 1fr}.guild-coin-badge{display:none}}.strategydex-library-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;display:grid}.strategydex-library-card{border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.strategydex-library-card img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);background:#fff;border-radius:.75rem;width:100%}.strategydex-lesson-image{border:2px solid var(--line);border-radius:var(--radius);width:min(100%,52rem);height:auto;box-shadow:var(--shadow);background:#fff;margin:0 auto;display:block}.strategydex-explanation{background:#f5f3ff;border-left:5px solid #7c3aed;border-radius:.75rem;width:min(100%,52rem);margin:0 auto;padding:1rem 1.1rem}.strategydex-explanation h4{margin:0 0 .35rem}.strategydex-explanation p{margin:0;line-height:1.65}.dojo-header{border-radius:var(--radius);background:var(--region-bg,#f0fdf4);border:1.5px solid var(--region-border,var(--line));padding:1.25rem}.dojo-npc-row{align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.dojo-npc-row img{flex-shrink:0;width:80px}.dojo-stage-rail{flex-direction:column;gap:.45rem;display:flex}.dojo-station{border:1.5px solid var(--line);background:var(--panel);cursor:pointer;border-radius:.7rem;align-items:center;gap:.75rem;padding:.7rem 1rem;transition:border-color .14s,background .14s;display:flex}.dojo-station:hover{border-color:var(--region-accent,var(--teal));background:var(--region-bg,#f0fdfa)}.dojo-station.is-current{border-color:var(--region-accent,var(--teal));background:var(--region-bg,#f0fdfa);font-weight:700}.dojo-station.is-locked{opacity:.5;cursor:default}.dojo-station-icon{background:var(--region-accent,var(--teal));color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:2rem;height:2rem;font-size:.7rem;font-weight:800;display:grid}.dojo-station.is-locked .dojo-station-icon{background:var(--line);color:var(--muted)}.dojo-station-label{color:var(--ink);font-size:.9rem}.dojo-station-sub{color:var(--muted);font-size:.72rem}.beast-svg-wrap{flex-shrink:0;justify-content:center;align-items:center;width:3.2rem;height:3.2rem;display:flex}.beast-svg-wrap svg{width:100%;height:100%}.beast-card.is-wild .beast-svg-wrap{filter:saturate(.4)brightness(.85);animation:2.4s ease-in-out infinite beast-shake}.beast-card.is-tamed .beast-svg-wrap{filter:saturate(1.15);animation:2.6s ease-in-out infinite beast-bob}.beast-card.review-due .beast-svg-wrap{filter:saturate(.6)}.beast-card.review-focus .beast-svg-wrap{animation:.9s ease-in-out beast-shake}.canonical-den-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem;display:grid}.canonical-den-card{border:2px solid var(--line);background:#fff;border-radius:14px;gap:.45rem;padding:.8rem;display:grid}.canonical-den-card.is-tamed{background:#f0fff4;border-color:#2f855a}.canonical-den-card details summary{cursor:pointer;color:#0b756b;font-weight:800}.canonical-beast-sigil{color:#0f172a;letter-spacing:.04em;background:#e0f2fe;border:2px solid #0b756b;border-radius:50%;flex:none;place-items:center;width:2.6rem;height:2.6rem;font-weight:900;display:grid}.spell-name-pill{letter-spacing:.06em;text-transform:uppercase;color:#7c4a00;background:linear-gradient(135deg,#f4b63d22,#f4b63d44);border:1px solid #f4b63d88;border-radius:999px;margin-bottom:.25rem;padding:.15rem .5rem;font-size:.68rem;font-weight:800;display:inline-block}.skill-beasts-hero{text-align:center;padding:1.5rem 1rem .5rem}.skill-beasts-hero h2{margin:0 0 .3rem}.skill-beasts-hero p{color:var(--muted);margin:0;font-size:.95rem}.skill-beasts-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;display:grid}.diagnostic-recognition-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.65rem;display:grid}.diagnostic-recognition-card{border-radius:var(--radius);background:#effcf6;border:1px solid #a7d8c8;padding:.8rem}.diagnostic-recognition-card summary{cursor:pointer;color:#17624f;font-weight:800}.beast-challenge-card{border-radius:var(--radius);border:2px solid var(--line);background:var(--panel);text-align:center;flex-direction:column;align-items:center;gap:.4rem;padding:1rem .6rem .8rem;transition:border-color .14s,box-shadow .14s,transform .12s;display:flex}.beast-challenge-card:hover{border-color:var(--teal);transform:translateY(-3px);box-shadow:0 4px 16px #0f9f8f1f}.beast-challenge-svg{width:72px;height:72px}.beast-3d-stage{aspect-ratio:16/9;isolation:isolate;touch-action:pan-y;background:#d9edf1;width:100%;min-height:280px;position:relative;overflow:hidden}.beast-3d-stage canvas,.beast-3d-fallback{width:100%;height:100%;display:block;position:absolute;inset:0}.beast-3d-fallback{object-fit:contain;padding:4%}.beast-3d-stage canvas{z-index:2;cursor:grab}.beast-3d-stage canvas:active{cursor:grabbing}.beast-3d-status{z-index:3;color:#26333a;white-space:nowrap;background:#ffffffe6;border-radius:999px;padding:.3rem .65rem;font-size:.72rem;font-weight:800;position:absolute;bottom:.65rem;left:50%;transform:translate(-50%)}.beast-3d-stage--ready:not(.beast-3d-stage--fallback) .beast-3d-fallback,.beast-3d-stage--ready:not(.beast-3d-stage--fallback) .beast-3d-status,.beast-3d-stage--fallback canvas,.beast-3d-stage--context-lost canvas,.beast-3d-stage--error canvas{display:none}.beast-3d-stage--fallback .beast-3d-fallback,.beast-3d-stage--fallback .beast-3d-status,.beast-3d-stage--context-lost .beast-3d-fallback{display:block}.beast-3d-stage--compact{aspect-ratio:1;background:#dcebd8;width:100%;min-height:0}.beast-3d-stage--compact .beast-3d-status{display:none}.beast-encounter-stage{color:#172033;background:#d9edf1;position:relative;overflow:hidden}.beast-encounter-stage .beast-3d-stage{min-height:clamp(300px,48vw,560px)}.beast-encounter-heading{z-index:4;background:#ffffffeb;border-left:4px solid #d18b27;max-width:min(24rem,100% - 1.6rem);padding:.65rem .8rem;position:absolute;inset:.8rem auto auto .8rem}.beast-encounter-heading strong{font-size:1rem;display:block}.beast-encounter-heading span{color:#52616b;margin-top:.15rem;font-size:.78rem;display:block}.beast-challenge-name{color:var(--ink);font-size:.88rem;font-weight:800;line-height:1.2}.beast-challenge-table{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:700}.beast-challenge-btns{flex-wrap:wrap;justify-content:center;gap:.3rem;width:100%;margin-top:.3rem;display:flex}.beast-challenge-btns .btn{flex:1;min-width:0;padding:.35rem .6rem;font-size:.78rem}.skill-sprint-section{flex-direction:column;gap:.5rem;display:flex}.skill-sprint-section h3{margin:0 0 .1rem;font-size:1rem}.skill-sprint-section .section-sub{color:var(--muted);margin:0 0 .5rem;font-size:.8rem}.guest-skill-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;display:grid}.guest-skill-card{border:1.5px solid var(--line);background:var(--panel);cursor:pointer;text-align:left;border-radius:.65rem;align-items:center;gap:.75rem;width:100%;padding:.65rem .85rem;transition:border-color .14s,background .14s;display:flex}.guest-skill-card:hover{border-color:var(--teal);background:#f0fdfa}.guest-skill-icon{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:2.1rem;height:2.1rem;font-size:.8rem;font-weight:900;display:grid}.guest-skill-icon.op-addition{background:#0f9f8f}.guest-skill-icon.op-subtraction{background:#7c3aed}.guest-skill-icon.op-earlyNumber{background:#2f855a}.guest-skill-icon.op-mixed{background:#dc2626}.guest-skill-label{color:var(--ink);font-size:.85rem;font-weight:700}.guest-skill-sub{color:var(--muted);font-size:.7rem}.guest-no-login-badge{color:#065f46;background:#ecfdf5;border:1.5px solid #6ee7b7;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}@media (width<=520px){.skill-beasts-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.beast-challenge-svg{width:60px;height:60px}.beast-encounter-stage .beast-3d-stage{aspect-ratio:4/3;min-height:250px}.beast-encounter-heading{max-width:none;inset:.5rem .5rem auto}}.operation-progress-graph{gap:1rem;display:grid}.operation-progress-chart{border:2px solid var(--line);border-radius:var(--radius);background:linear-gradient(#fff 0%,#f8fafc 100%);width:100%;padding:.5rem;overflow-x:auto}.operation-progress-chart svg{width:100%;min-width:720px;height:auto;display:block}.operation-progress-grid-line{stroke:#d7deea;stroke-width:1.5px;stroke-dasharray:5 6}.operation-progress-axis{stroke:#172033;stroke-width:2px}.operation-progress-label{fill:var(--muted);font-size:13px;font-weight:800}.operation-progress-stage-label{fill:var(--ink);font-size:14px;font-weight:900}.operation-progress-line{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.operation-progress-dot{stroke:#fff;stroke-width:3px}.operation-progress-legend{flex-wrap:wrap;gap:.6rem;display:flex}.operation-progress-legend-item{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .55rem;font-size:.82rem;font-weight:900;display:inline-flex}.operation-progress-swatch{border-radius:999px;width:.9rem;height:.9rem;display:inline-block}.mistake-bank-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;display:grid}.mistake-bank-card{border:2px solid var(--line);border-radius:var(--radius);background:#fff;gap:.45rem;padding:.95rem;display:grid}.mistake-bank-card.priority{background:#fff1ef;border-color:#ffc7bd}.mistake-bank-card.watch{background:#fff8df;border-color:#f3d28b}.mistake-bank-card.ready{background:#ecfff0;border-color:#b6e4bd}.mistake-bank-evidence{border-left:4px solid var(--gold);color:var(--muted);padding-left:.7rem;font-size:.86rem}.mistake-bank-tag{border:1px solid var(--line);min-height:1.8rem;color:var(--muted);background:#fff;border-radius:999px;align-items:center;padding:.25rem .55rem;font-size:.78rem;font-weight:900;display:inline-flex}@media (width<=860px){.mistake-bank-grid{grid-template-columns:1fr}}@media (width>=861px) and (width<=1180px) and (orientation:landscape){.practice-layout{grid-template-columns:minmax(0,1fr) minmax(15rem,19rem)}.session-shell h2{font-size:clamp(1.6rem,3vw,2.3rem)}.keypad-panel h3,.keypad-panel .notice{display:none}}@media (width<=520px){.shell{width:min(100% - 1rem,1180px)}.section{padding:.85rem}.stats{grid-template-columns:1fr}th,td{padding:.55rem}.question-text{font-size:3.3rem}}@media (width<=860px){.shell{width:min(100% - 1rem,1180px);padding:.5rem 0 1.5rem}.topbar{gap:.65rem;padding:.75rem}.brand{font-size:1rem}.brand-mark{width:2rem;height:2rem}.toolbar{gap:.4rem}.toolbar .btn,.toolbar .pill{min-height:2.55rem;padding:.55rem .7rem}.btn,.tab{min-height:3rem}.tabs .tab{flex:10rem}.tile{min-height:7.5rem;padding:1rem}.level-list{gap:.6rem}.level{min-height:4.9rem}.table-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.check-choice{min-height:3.55rem;font-size:1.02rem}.session-shell{padding-top:.25rem;padding-bottom:4.75rem;padding-bottom:calc(4.75rem + env(safe-area-inset-bottom,0px));scroll-padding-bottom:4.75rem;scroll-padding-bottom:calc(4.75rem + env(safe-area-inset-bottom,0px))}.session-shell h2{font-size:clamp(1.45rem,5vw,2.1rem)}.session-shell .between{gap:.55rem}.session-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}.session-stats .stat{text-align:center;padding:.55rem .35rem}.session-stats .stat strong{font-size:1.15rem}.session-practice{gap:.65rem}.session-practice .question{padding:.85rem}.question-text{margin:.45rem 0;font-size:clamp(3.1rem,14vw,6rem)}.answer-input{max-width:min(100%,18rem);min-height:4.4rem}.feedback-toast{width:min(94%,22rem);top:.75rem;bottom:auto}.keypad-panel{padding:.7rem .7rem 2rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px))}.keypad-panel h3,.keypad-panel .notice{display:none}.keypad{gap:.5rem}.key{min-height:clamp(3.65rem,10vw,4.8rem)}.result-actions .tile{min-height:7rem}table{display:block;overflow-x:auto}}@media (width<=520px){.topbar{align-items:stretch}.toolbar{width:100%}.toolbar .btn{flex:auto}.table-grid,.session-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.key{min-height:3.55rem}.session-shell{padding-bottom:5.5rem;padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.keypad-panel{padding-bottom:2.4rem;padding-bottom:calc(2.4rem + env(safe-area-inset-bottom,0px))}}@media (hover:none){.tile:hover{box-shadow:none;transform:none}}@media print{body.printing-cards{background:#fff}body.printing-cards .topbar,body.printing-cards .preview-strip,body.printing-cards .shell>.between,body.printing-cards .shell>.notice,body.printing-cards .dashboard-grid>aside,body.printing-cards .dashboard-grid>.stack>:not(.print-sheet){display:none!important}body.printing-cards .shell{width:100%;padding:0}body.printing-cards .dashboard-grid{display:block}body.printing-cards .print-sheet{box-shadow:none;border:0;padding:0;display:block!important}body.printing-cards .login-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.printing-cards .login-card{break-inside:avoid;page-break-inside:avoid}}
