@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-ext-400-normal-B79P8FIW.woff2) format("woff2"),url(/assets/outfit-latin-ext-400-normal-qH6ep8Zu.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-CxQwsqBJ.woff2) format("woff2"),url(/assets/outfit-latin-400-normal-BHAmTMI7.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-ext-500-normal-DlYK-dLm.woff2) format("woff2"),url(/assets/outfit-latin-ext-500-normal-DkkKFZS3.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-500-normal-CndnhsLh.woff2) format("woff2"),url(/assets/outfit-latin-500-normal-BobHL9li.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-ext-600-normal-BO_POi3V.woff2) format("woff2"),url(/assets/outfit-latin-ext-600-normal-CilJk_q7.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-600-normal-DDkojskL.woff2) format("woff2"),url(/assets/outfit-latin-600-normal-J4YI7vGj.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-ext-700-normal-moYAx5p2.woff2) format("woff2"),url(/assets/outfit-latin-ext-700-normal-CxBg6OJB.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-700-normal-B1by5KkZ.woff2) format("woff2"),url(/assets/outfit-latin-700-normal-DlLUGLrE.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/outfit-latin-ext-800-normal-hvOV8EMs.woff2) format("woff2"),url(/assets/outfit-latin-ext-800-normal-BgOoQnlg.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/outfit-latin-800-normal-CxKiX6XU.woff2) format("woff2"),url(/assets/outfit-latin-800-normal-DAbI56uE.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}body.game-modal-open{overflow:hidden}.game-modal{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;background:var(--canvas);animation:game-modal-in .26s ease both}.game-modal:focus{outline:none}.game-modal-bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px clamp(14px,2.4vw,28px);padding-top:max(10px,env(safe-area-inset-top));background:transparent}.game-modal-close{min-height:42px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:21px;padding:0 15px;background:var(--canvas);color:var(--muted);font-weight:700;font-size:13px;cursor:pointer;transition:color .16s ease,border-color .16s ease,transform .16s ease}.game-modal-close:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.game-modal-actions{display:flex;align-items:center;gap:8px}.game-modal-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(290px,25vw,370px);gap:clamp(12px,1.6vw,20px);padding:clamp(12px,1.8vw,22px);padding-bottom:max(clamp(12px,1.8vw,22px),env(safe-area-inset-bottom))}.game-modal-body-single{grid-template-columns:minmax(0,1fr);overflow-y:auto}.game-modal-stage{min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:clamp(16px,2.4vw,30px);overflow:hidden auto;overscroll-behavior:contain;position:relative;border-radius:28px 28px 28px 9px;padding:clamp(20px,3vw,38px);background:var(--sidebar);color:var(--paper);box-shadow:var(--shadow)}.game-modal-stage .game-instruction{max-width:50ch;margin:0;color:var(--sidebar-muted);text-align:center;line-height:1.45}.game-modal-stage .text-button{margin:0;color:var(--sidebar-muted)}.game-details{min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:safe center;gap:clamp(18px,2.2vw,26px);overflow:hidden auto;border:1px solid var(--line);border-radius:28px 28px 28px 9px;padding:clamp(18px,2vw,26px);background:var(--paper)}.game-details-word{display:grid;gap:3px;border-bottom:1px solid var(--line);padding-bottom:clamp(13px,1.6vw,18px)}.game-details-word>span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.game-details-word strong{font-size:clamp(27px,3vw,35px);letter-spacing:-.04em;line-height:1.1}.game-details-hidden{color:var(--line-strong);font-size:clamp(27px,3vw,35px);font-style:normal;letter-spacing:.12em;line-height:1.2}.game-details-word small{margin-top:2px;color:var(--muted);font-size:11px}.game-details-block{display:grid;gap:5px}.game-details-block>span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.game-details-block>span svg{color:var(--accent)}.game-details-block strong{color:var(--accent);font-size:clamp(22px,2.4vw,28px);letter-spacing:-.035em;line-height:1.15}.game-details-block blockquote{margin:2px 0 0;border-left:2px solid var(--accent);padding-left:13px;font-size:16px;font-weight:650;line-height:1.5}.game-details-block>p{margin:0 0 0 15px;color:var(--muted);font-size:13px;line-height:1.45}.game-modal .play-feedback{width:min(560px,100%);margin:0}.game-modal .game-complete,.game-modal .blast-result{min-height:0;flex:1;justify-content:center;border:0}@keyframes game-modal-in{0%{opacity:0}to{opacity:1}}@media(max-width:980px){.game-modal-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);overflow-y:auto;-webkit-overflow-scrolling:touch}.game-details{order:-1;gap:13px;overflow:visible;border-radius:22px 22px 22px 8px;padding:16px 18px}.game-details-word{padding-bottom:12px}.game-details-block blockquote{font-size:15px}.game-modal-stage{overflow:visible}}@media(max-width:640px){.game-modal-bar{gap:10px;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top))}.game-modal-close{min-height:38px;padding:0 11px}.game-modal-body{gap:10px;padding:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.game-modal-stage{border-radius:22px 22px 22px 8px;padding:18px 14px}.game-details-word strong,.game-details-hidden{font-size:26px}.game-details-block strong{font-size:21px}}@media(prefers-reduced-motion:reduce){.game-modal{animation:none}}.blast-sound-toggle{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--canvas);color:var(--accent);cursor:pointer;transition:background .16s ease,transform .16s ease}.blast-sound-toggle:hover{background:var(--tint);transform:translateY(-1px)}.blast-sound-toggle:focus-visible{outline:3px solid rgba(240,178,56,.42);outline-offset:3px}.blast-board-panel{justify-content:center;gap:clamp(10px,1.6vw,18px);padding:clamp(16px,2.2vw,27px)}.blast-board-top{width:100%;max-width:560px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.blast-board-top p,.blast-board-top small{margin:0}.blast-board-top strong,.blast-board-top span{display:block}.blast-board-top strong{font-size:17px}.blast-board-top span,.blast-board-top small{margin-top:3px;color:var(--sidebar-muted);font-size:12px;line-height:1.4}.blast-board-top small{max-width:205px;color:#f1a28d;text-align:right}.blast-board-wrap{width:min(100%,540px,calc(100dvh - 380px));min-width:240px;position:relative;margin-inline:auto}.blast-board-wrap.complete:after{content:"";position:absolute;inset:0;z-index:2;border-radius:21px;background:#1e201f8f;animation:blast-board-dim .32s ease both}.blast-board{width:100%;display:grid;grid-template-columns:repeat(8,1fr);gap:5px;border:1px solid rgba(255,255,255,.1);border-radius:21px;padding:9px;background:#ffffff09}.blast-board button{min-width:0;aspect-ratio:1;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:0;background:#ffffff09;cursor:pointer;transition:transform .16s cubic-bezier(.16,1,.3,1),background-color .16s ease,border-color .16s ease}.blast-board button i{position:absolute;inset:4px;border-radius:5px;background:transparent;transition:transform .18s cubic-bezier(.16,1,.3,1),opacity .18s ease}.blast-board button.occupied{border-color:#ffffff24}.blast-board button.occupied i,.blast-board button.preview i{background:var(--blast-color);box-shadow:inset 0 -4px #1a1c1b29,inset 0 1px #ffffff2e}.blast-board button.occupied i:after{content:"";width:5px;height:5px;position:absolute;right:5px;top:5px;border-radius:50%;background:#ffffff52}.blast-board button.preview{border-color:#ffffff8c;background:#ffffff24}.blast-board button.preview i{opacity:.82;transform:scale(.94);animation:blast-placement-breathe .85s ease-in-out infinite alternate}.blast-board button.invalid{border-color:#df62476b}.blast-board button.invalid i{background:var(--danger);opacity:.32;animation:none}.blast-board button.blasting{border-color:#f4b19f;animation:blast-cell-pop 1.05s cubic-bezier(.16,1,.3,1) both}.blast-board button.blasting i{background:#f5b09d}.blast-board.locked button{cursor:default}.tone-1{--blast-color: #df6247}.tone-2{--blast-color: #e78a66}.tone-3{--blast-color: #d6aa68}.tone-4{--blast-color: #91aa91}.blast-piece-tray{width:min(100%,540px);min-height:104px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.blast-piece-tray>button{min-width:0;min-height:104px;display:grid;place-items:center;align-content:center;gap:7px;position:relative;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:#ffffff0e;color:var(--paper);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform .19s cubic-bezier(.16,1,.3,1),border-color .19s ease,background-color .19s ease}.blast-piece-tray>button:hover{transform:translateY(-3px);border-color:#ffffff4d}.blast-piece-tray>button:active{cursor:grabbing;transform:translateY(1px) scale(.97)}.blast-piece-tray>button.selected{border-color:#f3a18c;background:#df624729;transform:translateY(-4px)}.blast-shape{display:grid;grid-template-columns:repeat(var(--piece-columns),19px);grid-template-rows:repeat(var(--piece-rows),19px);gap:3px}.blast-shape i{border-radius:4px}.blast-shape i.filled{background:var(--blast-color);box-shadow:inset 0 -3px #1a1c1b29}.blast-drag-ghost{display:grid;place-items:center;gap:8px;position:fixed;left:0;top:0;z-index:11;border:1px solid rgba(255,255,255,.16);border-radius:16px 16px 16px 5px;padding:13px 15px 10px;background:#25272647;opacity:.55;pointer-events:none;will-change:transform}.blast-drag-ghost .blast-shape{grid-template-columns:repeat(var(--piece-columns),25px);grid-template-rows:repeat(var(--piece-rows),25px);gap:4px}.blast-drag-ghost .blast-shape i{border-radius:6px}.blast-drag-ghost .blast-shape i.filled{opacity:.72;box-shadow:inset 0 -4px #1a1c1b24,inset 0 1px #ffffff29}.blast-drag-ghost>span{color:var(--sidebar-muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.blast-drag-ghost.valid{border-color:#91aa918c;opacity:.5}.blast-drag-ghost.valid>span{color:#b9d2bb}.blast-drag-ghost.invalid{border-color:#df624766;opacity:.42}.blast-drag-ghost.touch{padding:15px 17px 11px}.blast-drag-ghost.touch .blast-shape{grid-template-columns:repeat(var(--piece-columns),28px);grid-template-rows:repeat(var(--piece-rows),28px)}.wika-blast-dragging{-webkit-user-select:none;user-select:none}.blast-word-slot{display:grid;gap:12px;border-bottom:1px solid var(--line);padding-bottom:clamp(12px,1.6vw,17px)}.blast-target{display:flex;flex-wrap:wrap;align-items:flex-end;gap:5px}.blast-target>span:not(.word-space){width:clamp(27px,3.2vw,39px);height:49px;display:grid;place-items:center;border-bottom:2px solid var(--line-strong);color:var(--accent);font-size:clamp(20px,2.5vw,28px);font-weight:800;transition:transform .28s cubic-bezier(.16,1,.3,1),background-color .28s ease}.blast-target>span.revealed{border:1px solid var(--line);border-radius:10px 10px 10px 3px;background:var(--paper);box-shadow:0 8px 18px #3f342d0f;animation:blast-slot-land .42s cubic-bezier(.16,1,.3,1) both}.blast-target .word-space{width:13px}.blast-letter-progress{height:30px;overflow:hidden;position:relative;border-top:1px solid var(--line)}.blast-letter-progress i{width:100%;height:3px;display:block;position:absolute;left:0;top:-1px;transform-origin:left;background:var(--accent);transition:transform .42s cubic-bezier(.16,1,.3,1)}.blast-letter-progress span{display:block;padding-top:10px;color:var(--muted);font-size:11px}.blast-word-complete-card{width:min(310px,calc(100% - 34px));display:flex;flex-direction:column;align-items:center;position:absolute;left:50%;top:50%;z-index:3;border:1px solid rgba(255,255,255,.22);border-radius:24px 24px 24px 8px;padding:24px;background:#fffdf6f5;color:var(--ink);box-shadow:inset 0 1px #fff,0 24px 54px #1818174d;text-align:center;transform:translate(-50%,-50%);animation:blast-word-card-in .52s cubic-bezier(.16,1,.3,1) both}.blast-word-complete-card>svg{margin-bottom:7px;color:#4f7967}.blast-word-complete-card>span{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.14em}.blast-word-complete-card>strong{margin:5px 0 2px;font-size:clamp(29px,5vw,39px);letter-spacing:-.045em}.blast-word-complete-card>p{margin:0 0 17px;color:var(--muted);font-size:14px}.blast-save-error{display:block;margin:-7px 0 12px;color:var(--danger);font-size:12px;line-height:1.35}.blast-word-complete-card>.button{width:100%}.blast-flying-letter{width:66px;height:66px;display:grid;place-items:center;position:fixed;z-index:12;border:2px solid rgba(255,255,255,.75);border-radius:18px 18px 18px 6px;background:var(--accent);color:#fff;font-weight:800;box-shadow:0 18px 42px #432b2347,inset 0 1px #ffffff47;pointer-events:none;transform:translate(-50%,-50%);animation:blast-letter-travel 1.65s cubic-bezier(.16,1,.3,1) forwards}.blast-flying-letter b{font-size:34px;line-height:1}.blast-flying-letter small{width:max-content;position:absolute;left:50%;top:calc(100% + 8px);border-radius:10px;padding:4px 7px;background:var(--paper);color:var(--accent);font-size:9px;letter-spacing:.08em;text-transform:uppercase;transform:translate(-50%)}.blast-result{min-height:74vh;display:flex;flex-direction:column;align-items:center;justify-content:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:48px 20px;text-align:center}.blast-result-mark{width:110px;height:110px;display:grid;place-items:center;margin-bottom:20px;border:1px dashed var(--accent);border-radius:50%;color:var(--accent);animation:blast-result-pop .56s cubic-bezier(.16,1,.3,1) both}.blast-result>span{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.16em}.blast-result>h1{margin:8px 0 12px;font-size:clamp(43px,7vw,68px);letter-spacing:-.06em}.blast-result>p{max-width:55ch;color:var(--muted);line-height:1.55}.blast-result-score{display:grid;grid-template-columns:1fr 1fr;margin:19px 0 23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.blast-result-score strong{min-width:130px;padding:14px 24px;font-size:28px}.blast-result-score strong+strong{border-left:1px solid var(--line)}.blast-result-score small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.blast-next-lesson{width:min(760px,100%);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;margin-bottom:22px;border:1px solid var(--line-strong);border-radius:22px 22px 22px 7px;padding:19px 21px;background:var(--accent-soft);text-align:left}.blast-next-lesson>svg{color:var(--accent)}.blast-next-lesson span{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.13em}.blast-next-lesson h2{margin:3px 0 4px;font-size:21px}.blast-next-lesson p{margin:0;color:var(--muted);font-size:13px}.blast-result-actions{display:flex;align-items:center;gap:14px}.blast-unavailable{min-height:55vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.blast-unavailable svg{margin-bottom:16px;color:var(--accent)}.blast-unavailable h2{font-size:32px}.blast-unavailable p{margin:8px 0 20px;color:var(--muted)}@keyframes blast-cell-pop{0%{transform:scale(1);opacity:1}55%{transform:scale(1.12);opacity:1}to{transform:scale(.2);opacity:0}}@keyframes blast-placement-breathe{0%{transform:scale(.9);opacity:.68}to{transform:scale(.97);opacity:.9}}@keyframes blast-slot-land{0%{transform:translateY(-11px) scale(.8);opacity:.2}to{transform:translateY(0) scale(1);opacity:1}}@keyframes blast-letter-travel{0%{transform:translate(-50%,-50%) scale(.35) rotate(-8deg);opacity:0}10%{transform:translate(-50%,-72%) scale(1.16) rotate(2deg);opacity:1}66%{transform:translate(-50%,-72%) scale(1.16) rotate(0);opacity:1}78%{transform:translate(-50%,-66%) scale(1.02) rotate(0);opacity:1}to{transform:translate(calc(-50% + var(--travel-x)),calc(-50% + var(--travel-y))) scale(.58) rotate(0);opacity:.18}}@keyframes blast-complete-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes blast-word-card-in{0%{transform:translate(-50%,calc(-50% + 22px)) scale(.88);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes blast-board-dim{0%{opacity:0}to{opacity:1}}@keyframes blast-result-pop{0%{transform:scale(.68) rotate(-9deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@media(max-width:980px){.blast-board-wrap{width:min(100%,540px)}}@media(max-width:640px){.blast-sound-toggle{width:32px;height:32px}.blast-word-slot{gap:8px;padding-bottom:10px}.blast-target{gap:4px}.blast-target>span:not(.word-space){width:27px;height:39px;font-size:19px}.blast-target .word-space{width:6px}.blast-letter-progress{height:26px}.blast-board-panel{padding:16px 12px;gap:10px}.blast-board-top{display:block;padding-inline:3px}.blast-board-top small{display:block;max-width:none;margin-top:9px;text-align:left}.blast-board{gap:3px;border-radius:15px;padding:6px}.blast-board button{border-radius:6px}.blast-board button i{inset:3px;border-radius:4px}.blast-piece-tray{min-height:92px;gap:6px}.blast-piece-tray>button{min-height:88px;border-radius:13px}.blast-shape{grid-template-columns:repeat(var(--piece-columns),16px);grid-template-rows:repeat(var(--piece-rows),16px)}.blast-next-lesson{grid-template-columns:auto 1fr}.blast-next-lesson .button{grid-column:1 / -1;width:100%}.blast-result-actions{width:100%;display:grid}}@media(prefers-reduced-motion:reduce){.blast-board button.preview i,.blast-flying-letter{animation:none}}.play-view{width:min(1120px,calc(100% - 70px))}.play-heading{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:end;gap:60px;margin-bottom:34px}.play-heading>div>h1{max-width:760px;margin-bottom:17px;font-size:clamp(46px,6vw,74px);line-height:.92;letter-spacing:-.064em}.play-heading>div>p:last-child{max-width:61ch;margin:0;color:var(--muted);font-size:16px;line-height:1.6}.play-heading>aside{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:20px 4px}.play-heading>aside svg{grid-row:1 / 4;color:var(--accent)}.play-heading>aside span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.play-heading>aside strong{font-size:25px}.play-heading>aside small{grid-column:1 / -1;margin-top:10px;color:var(--muted);font-size:13px;line-height:1.4}.play-library-note{display:flex;align-items:center;gap:13px;margin-bottom:22px;border:1px solid var(--line);border-radius:19px;padding:16px 19px;background:var(--paper)}.play-library-note-bottom{margin:22px 0 0}.play-library-note>svg{color:var(--accent)}.play-library-note strong,.play-library-note span{display:block}.play-library-note strong{font-size:15px}.play-library-note span{margin-top:3px;color:var(--muted);font-size:13px}.tier-dots{display:flex;gap:7px;margin-left:auto}.tier-dots span{width:11px;height:11px;border:1px solid var(--line-strong);border-radius:50%;background:var(--canvas)}.tier-dots span.unlocked{border-color:var(--accent);background:var(--accent);animation:play-breathe 2.8s ease-in-out infinite}.play-game-list{display:grid;grid-template-columns:1.08fr .92fr;gap:18px}.play-game-card{min-height:390px;display:grid;grid-template-columns:1fr;overflow:hidden;position:relative;border:1px solid var(--line);border-radius:28px 28px 28px 9px;background:var(--paper);animation:play-card-in .52s calc(var(--card-index) * 90ms) cubic-bezier(.16,1,.3,1) both}.play-game-card:first-child{background:var(--sidebar);color:var(--paper)}.game-blast{grid-column:1 / -1;min-height:360px;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr)}.game-card-copy{min-width:0;display:grid;align-content:center;justify-items:start;position:relative;z-index:2;padding:35px}.game-card-copy>span{margin-bottom:18px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.16em}.play-game-card:first-child .game-card-copy>span{color:#f29a82}.game-card-copy>svg{margin-bottom:15px;color:var(--accent)}.game-card-copy h2{margin-bottom:10px;font-size:32px;letter-spacing:-.045em}.game-card-copy p{max-width:48ch;margin-bottom:20px;color:var(--muted);line-height:1.5}.play-game-card:first-child .game-card-copy p{color:var(--sidebar-muted)}.game-card-copy small{margin-bottom:18px;color:var(--muted)}.play-game-card:first-child .game-card-copy small{color:var(--sidebar-muted)}.game-card-copy small strong{color:inherit;font-size:15px}.game-card-copy .button{min-height:43px}.game-card-preview{min-height:210px;display:grid;grid-template-columns:repeat(4,54px);align-content:center;justify-content:center;gap:7px;position:relative;padding:28px;background:var(--canvas)}.play-game-card:first-child .game-card-preview{background:#ffffff0a}.play-game-card.game-cleared .game-card-preview{filter:saturate(.45);opacity:.58}.play-game-card.game-cleared .game-card-copy>svg{color:var(--success)}.play-game-card.game-cleared .button:disabled{cursor:default;opacity:.74}.game-card-preview i{width:54px;height:54px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:12px;background:var(--paper);color:var(--ink);font-style:normal;font-size:20px;font-weight:800;transform:translateY(calc((var(--letter-index) % 3) * 3px)) rotate(calc((var(--letter-index) - 3) * .5deg));animation:tile-float 3.4s calc(var(--letter-index) * -.18s) ease-in-out infinite}.game-blast .game-card-preview{grid-template-columns:repeat(4,49px);background:#ffffff09}.game-blast .game-card-preview i{width:49px;height:49px;border-color:#ffffff1f;background:#ffffff0f;color:#f3a28d}.game-blast .game-card-preview i:nth-child(3n+1),.game-blast .game-card-preview i:nth-child(4n+3){background:var(--accent);color:#fff}.game-grid .game-card-preview{grid-template-columns:repeat(4,44px);position:absolute;right:17px;bottom:15px;padding:0;background:transparent;opacity:.45;transform:rotate(3deg)}.game-grid .game-card-preview i,.game-fill .game-card-preview i{width:44px;height:44px}.game-fill .game-card-preview{grid-template-columns:repeat(5,44px);position:absolute;right:10px;bottom:12px;padding:0;background:transparent;opacity:.35;transform:rotate(-2deg)}.play-empty{min-height:330px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:44px 6px}.play-empty>svg{margin-bottom:18px;color:var(--accent)}.play-empty h2{margin-bottom:9px;font-size:32px}.play-empty p{max-width:52ch;color:var(--muted);line-height:1.55}.play-loader{min-height:55vh;display:flex;align-items:center;justify-content:center;gap:9px}.play-loader span{width:13px;height:13px;border-radius:4px;background:var(--accent);animation:play-loader .9s ease-in-out infinite alternate}.play-loader span:nth-child(2){animation-delay:.15s}.play-loader span:nth-child(3){animation-delay:.3s}.play-learning-route{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 22px;border:1px solid var(--line-strong);border-radius:22px 22px 22px 7px;padding:20px 22px;background:var(--accent-soft)}.play-learning-route>svg{color:var(--accent)}.play-learning-route span{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.14em}.play-learning-route h3{margin:3px 0 5px;font-size:21px;letter-spacing:-.025em}.play-learning-route p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.play-learning-route ol{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none}.play-learning-route li{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:14px;padding:5px 9px;background:var(--paper);font-size:12px;font-weight:700}.play-learning-route li small{color:var(--accent);font-size:10px}.play-feedback{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:15px;border-radius:17px;padding:14px 16px;background:#e8f0eb;color:#36574b;animation:feedback-in .28s cubic-bezier(.16,1,.3,1) both}.play-feedback.incorrect{background:#fff0ec;color:var(--danger)}.play-feedback p{margin:0}.play-feedback strong,.play-feedback span{display:block}.play-feedback span{margin-top:2px;font-size:13px}.play-feedback .button{min-height:40px}.play-save-error{grid-column:2 / -1;color:var(--danger);font-size:12px;line-height:1.35}.missing-word{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:33px}.missing-word span{width:clamp(38px,6vw,57px);height:clamp(48px,7vw,66px);display:grid;place-items:center;border-radius:13px;background:#ffffff14;font-size:clamp(22px,4vw,34px);font-weight:800}.missing-word span.missing{border:2px dashed #f29a82;background:#df62471f;color:#f7b09e;animation:blank-pulse 1.8s ease-in-out infinite}.letter-keyboard{width:min(520px,100%);display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.letter-keyboard button{aspect-ratio:1.12;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:#ffffff14;color:var(--paper);font-size:20px;font-weight:800;cursor:pointer;transition:transform .18s cubic-bezier(.16,1,.3,1),background-color .18s ease}.letter-keyboard button:hover{transform:translateY(-3px);background:#ffffff24}.letter-keyboard button:active{transform:translateY(1px) scale(.96)}.grid-attempt{min-height:32px;margin-bottom:14px;color:#f29a82;font-size:21px;font-weight:800;letter-spacing:.14em}.boggle-grid{width:min(390px,88vw);display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.boggle-grid button{aspect-ratio:1;border:1px solid rgba(255,255,255,.15);border-radius:17px;background:#ffffff14;color:var(--paper);cursor:pointer;transition:transform .18s cubic-bezier(.16,1,.3,1),background-color .18s ease,border-color .18s ease}.boggle-grid button span{display:block;font-size:clamp(23px,5vw,34px);font-weight:800}.boggle-grid button:hover{transform:translateY(-3px) rotate(-1deg)}.boggle-grid button.selected{border-color:#f29a82;background:var(--accent);transform:scale(.93)}.grid-tools{min-height:40px;display:flex;align-items:center;gap:16px;margin-top:9px;color:#f29a82;font-size:12px}.grid-tools .text-button{margin:0}.game-complete{min-height:66vh;display:flex;flex-direction:column;align-items:center;justify-content:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:50px 20px;text-align:center}.complete-burst{width:120px;height:120px;display:grid;place-items:center;margin-bottom:20px;border:1px dashed var(--accent);border-radius:50%;color:var(--accent);animation:complete-pop .6s cubic-bezier(.16,1,.3,1) both}.game-complete>span{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.16em}.game-complete h2{margin:7px 0 10px;font-size:clamp(43px,7vw,70px);letter-spacing:-.06em}.game-complete>p{max-width:52ch;color:var(--muted);line-height:1.55}.game-complete>div:nth-of-type(2){display:grid;grid-template-columns:1fr 1fr;margin:16px 0 25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.game-complete>div:nth-of-type(2) strong{min-width:130px;padding:14px 24px;font-size:28px}.game-complete>div:nth-of-type(2) strong+strong{border-left:1px solid var(--line)}.game-complete>div:nth-of-type(2) small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.complete-actions{display:flex;gap:9px}.game-complete>.play-learning-route{width:min(720px,100%);margin-top:0;text-align:left}@keyframes play-card-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes tile-float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}@keyframes play-breathe{0%,to{transform:scale(.85);opacity:.65}50%{transform:scale(1);opacity:1}}@keyframes play-loader{0%{transform:translateY(0);opacity:.5}to{transform:translateY(-10px);opacity:1}}@keyframes feedback-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes blank-pulse{0%,to{transform:scale(.97)}50%{transform:scale(1.03)}}@keyframes complete-pop{0%{opacity:0;transform:scale(.7) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(0)}}@media(max-width:900px){.play-view{width:min(100% - 40px,760px)}.play-heading{grid-template-columns:1fr;gap:25px}.play-heading>aside{max-width:420px}.play-game-list{grid-template-columns:1fr}.play-game-card{min-height:340px}.game-blast{grid-column:1}}@media(max-width:640px){.play-view{width:calc(100% - 32px)}.play-heading>div>h1{font-size:47px}.play-library-note{align-items:flex-start}.tier-dots{display:none}.play-game-card{min-height:0;grid-template-columns:1fr}.game-card-copy{padding:28px 24px}.game-card-preview{min-height:190px;grid-template-columns:repeat(4,47px)}.game-card-preview i{width:47px;height:47px}.game-grid .game-card-preview,.game-fill .game-card-preview{display:none}.play-feedback{grid-template-columns:auto 1fr}.play-feedback .button{grid-column:1 / -1;width:100%}.play-learning-route{grid-template-columns:auto 1fr;padding:18px}.play-learning-route>.button{grid-column:1 / -1;width:100%}.letter-keyboard{gap:6px}.letter-keyboard button{border-radius:10px;font-size:18px}.boggle-grid{width:min(330px,86vw);gap:7px}.boggle-grid button{border-radius:14px}.complete-actions{width:100%;display:grid}.game-complete>div:nth-of-type(2) strong{min-width:110px}}@media(prefers-reduced-motion:reduce){.tier-dots span.unlocked,.game-card-preview i,.missing-word span.missing{animation:none}}:root{font-family:Outfit,ui-sans-serif,system-ui,sans-serif;color:#24312e;background:#f5f1e6;font-synthesis:none;text-rendering:optimizeLegibility;--canvas: #f5f1e6;--paper: #fffdf6;--ink: #24312e;--muted: #6f7974;--quiet: #a1a69f;--line: #ded9cd;--line-strong: #c9c2b3;--accent: #df6247;--accent-deep: #bd4731;--accent-soft: #f7ded5;--tint: #e9e5d9;--success: #557267;--danger: #a84432;--sidebar: #23332f;--sidebar-muted: #aab6b1;--shadow: 0 22px 55px -38px rgba(37, 50, 46, .42)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100dvh;background:var(--canvas)}body:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.19;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.74' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.09'/%3E%3C/svg%3E");z-index:20}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(223,98,71,.34);outline-offset:3px}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}.brand-mark{display:inline-flex;align-items:center;gap:10px;color:var(--ink)}.brand-glyph{width:35px;height:35px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50% 46% 52% 44%;font-size:16px;font-weight:800;transform:rotate(-7deg)}.brand-word{font-size:25px;font-weight:800;letter-spacing:-1px}.brand-mark.compact .brand-glyph{width:34px;height:34px;color:var(--paper)}.button{min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:15px;padding:0 21px;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .26s cubic-bezier(.16,1,.3,1),background-color .26s ease,color .26s ease}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(1px) scale(.98)}.button:disabled{cursor:wait;opacity:.55;transform:none}.button-accent{background:var(--accent);color:#fffaf2;box-shadow:inset 0 1px #fff3}.button-accent:hover{background:var(--accent-deep)}.button-ink{background:var(--ink);color:var(--paper)}.button-ink:hover{background:#344641}.button-small{min-height:41px;padding:0 17px;border-radius:13px}.button-wide{width:100%}.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.eyebrow>span{width:24px;height:2px;background:var(--accent)}.overline{margin-bottom:13px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.inline-alert,.form-error{border:1px solid #dfb6aa;border-radius:12px;padding:11px 13px;background:#fff3ee;color:var(--danger);font-size:14px;line-height:1.45}.form-success{display:flex;align-items:center;gap:8px;border-radius:12px;padding:11px 13px;background:#edf2ec;color:var(--success);font-size:14px}.public-shell{min-height:100dvh;max-width:1440px;margin:0 auto;padding:0 56px 40px;overflow:hidden}.public-nav{min-height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.public-hero{min-height:calc(100dvh - 184px);display:grid;grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);align-items:center;gap:clamp(50px,8vw,120px);padding:58px 0}.hero-copy{max-width:630px}.hero-copy h1{margin-bottom:28px;color:var(--ink);font-size:clamp(58px,6.4vw,92px);font-weight:700;letter-spacing:-.067em;line-height:.9}.hero-copy h1 em{color:var(--accent);font-style:normal;font-weight:500}.hero-lead{max-width:55ch;margin-bottom:31px;color:var(--muted);font-size:18px;line-height:1.65}.student-login-form{width:min(580px,100%);display:grid;grid-template-columns:1fr 1fr auto;gap:11px;align-items:end;margin-top:25px;border:1px solid var(--line-strong);border-left:4px solid var(--accent);border-radius:20px 20px 20px 7px;padding:20px;background:var(--paper);box-shadow:0 24px 56px -42px #25322ea6,inset 0 1px #fffc}.student-login-form>div{grid-column:1 / -1}.student-login-heading{display:grid;grid-template-columns:40px 1fr;gap:11px;align-items:center}.student-login-heading>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);color:var(--accent)}.student-login-heading p{margin:0}.student-login-heading strong,.student-login-heading small{display:block}.student-login-heading strong{font-size:18px}.student-login-heading small{margin-top:2px;color:var(--muted);font-size:13px;font-weight:400}.student-login-form label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:700}.student-login-form input{width:100%;min-height:46px;border:1px solid var(--line-strong);border-radius:11px;padding:0 12px;background:var(--paper);font:inherit}.student-login-form .button{min-height:46px}.student-login-form .form-error{grid-column:1 / -1;margin:2px 0 0}.hero-playground{position:relative;min-height:540px}.hero-playground:before{content:"";position:absolute;width:390px;height:390px;right:11%;top:8%;border:1px solid var(--line);border-radius:48% 52% 44% 56%;transform:rotate(9deg)}.hero-playground:after{content:"";position:absolute;width:300px;height:300px;right:20%;top:18%;border:1px dashed var(--line-strong);border-radius:51% 49% 56% 44%}.sun-disc{position:absolute;right:26%;top:22%;width:225px;height:225px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff8ef;box-shadow:inset 0 0 0 12px #ffffff1a;animation:float 5s ease-in-out infinite}.sun-disc:before,.sun-disc:after{content:"";position:absolute;width:276px;height:1px;background:var(--line-strong);transform:rotate(20deg);z-index:-1}.sun-disc:after{transform:rotate(-41deg)}.sun-disc span{font-size:66px;font-weight:700;letter-spacing:-.05em}.sample-card{position:absolute;z-index:2;border:1px solid rgba(222,217,205,.94);background:#fffdf6ed;box-shadow:var(--shadow),inset 0 1px #ffffffb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.word-card-one{left:0;top:12%;width:190px;min-height:206px;display:flex;flex-direction:column;justify-content:flex-end;border-radius:26px 26px 26px 7px;padding:26px;transform:rotate(-4deg);animation:settle .9s cubic-bezier(.16,1,.3,1) both}.sample-label{margin-bottom:auto;color:var(--quiet);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.word-card-one strong{margin-bottom:4px;font-size:27px;letter-spacing:-.04em}.word-card-one>span:last-child{color:var(--accent);font-size:15px}.word-card-two{right:0;bottom:15%;width:330px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:17px;border-radius:8px 24px 24px;padding:18px;transform:rotate(2deg);animation:settle .9s .12s cubic-bezier(.16,1,.3,1) both}.word-card-two strong,.word-card-two span{display:block}.word-card-two strong{margin-bottom:4px;font-size:18px}.word-card-two span{color:var(--muted);font-size:13px}.sound-rings{width:47px;height:47px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.path-dots{position:absolute;left:7%;bottom:5%;display:flex;align-items:center}.path-dots span{width:39px;height:39px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--paper);color:var(--quiet)}.path-dots span.done{border-color:var(--success);background:var(--success);color:#fff}.path-dots span.active{border-color:var(--accent);color:var(--accent);animation:pulse-ring 2.4s ease-in-out infinite}.path-dots i{width:38px;border-top:1px dashed var(--line-strong)}.hero-caption{position:absolute;right:9%;top:5%;max-width:120px;color:var(--muted);font-size:12px;line-height:1.5;transform:rotate(5deg)}.public-proof{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.public-proof>div{display:flex;flex-direction:column;gap:4px;padding:20px 0}.public-proof>div+div{border-left:1px solid var(--line);padding-left:30px}.public-proof strong{font-size:16px}.public-proof span{color:var(--muted);font-size:12px}.reveal-one{animation:rise .72s cubic-bezier(.16,1,.3,1) both}.reveal-two{animation:rise .78s .1s cubic-bezier(.16,1,.3,1) both}.loading-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;padding:24px}.loading-screen p{color:var(--muted);font-size:14px}.loading-stack{width:min(420px,80vw);display:grid;gap:11px}.skeleton{display:block;border-radius:10px;background:#e5e0d5;background-image:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);background-size:220% 100%;animation:shimmer 1.7s ease-in-out infinite}.skeleton.line-wide{width:100%;height:25px}.skeleton.line-mid{width:62%;height:17px}.skeleton.block{width:100%;height:210px;border-radius:22px}.onboarding-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(580px,1.28fr);background:var(--sidebar)}.onboarding-top{grid-column:1;display:flex;flex-direction:column;justify-content:space-between;padding:46px;color:var(--paper)}.onboarding-top .brand-mark{color:var(--paper)}.onboarding-top>span{color:var(--sidebar-muted);font-size:13px;text-transform:uppercase;letter-spacing:.13em}.onboarding-panel{grid-column:2;grid-row:1;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;border-radius:46px 0 0 46px;padding:clamp(50px,8vw,125px);background:var(--canvas)}.onboarding-panel h1,.onboarding-panel h2{max-width:700px;margin-bottom:18px;font-size:clamp(42px,5vw,68px);line-height:.98;letter-spacing:-.052em}.onboarding-panel h2{font-size:clamp(32px,4vw,52px)}.onboarding-panel>p:not(.eyebrow):not(.form-error){max-width:55ch;color:var(--muted);font-size:17px;line-height:1.6}.onboarding-art{position:absolute;right:7%;top:9%;width:200px;height:110px;opacity:.52}.onboarding-art span{position:absolute;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--accent);font-weight:700}.onboarding-art span:nth-child(1){width:74px;height:74px;left:0;bottom:0}.onboarding-art span:nth-child(2){width:52px;height:52px;left:64px;top:0}.onboarding-art span:nth-child(3){width:65px;height:65px;right:0;bottom:5px}.age-field{width:min(340px,100%);display:grid;gap:7px;margin:25px 0 29px;color:var(--ink);font-size:13px;font-weight:700}.age-field input{width:100%;min-height:64px;border:1px solid var(--line-strong);border-radius:17px;padding:0 17px;background:var(--paper);color:var(--ink);font-size:25px;font-weight:700}.age-field small{color:var(--muted);font-size:13px;font-weight:400}.onboarding-panel .button-wide{width:min(630px,100%)}.quiz-progress{width:min(680px,100%);height:5px;margin-bottom:45px;overflow:hidden;border-radius:5px;background:var(--tint)}.quiz-progress span{width:100%;height:100%;display:block;transform-origin:left;background:var(--accent);transition:transform .4s cubic-bezier(.16,1,.3,1)}.placement-options{width:min(680px,100%);display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.placement-options button{min-height:75px;display:flex;align-items:center;gap:15px;border:1px solid var(--line);border-radius:17px;padding:13px 17px;background:var(--paper);text-align:left;cursor:pointer;transition:transform .22s,border-color .22s}.placement-options button:hover{transform:translateY(-2px);border-color:var(--accent)}.placement-options button span{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;background:var(--tint);color:var(--muted);font-size:12px;font-weight:800}.text-button{display:inline-flex;align-items:center;gap:7px;border:0;padding:8px 0;background:transparent;color:var(--muted);font-size:13px;cursor:pointer}.panel-loader{width:min(680px,100%)}.app-shell{min-height:100dvh;display:grid;grid-template-columns:238px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;display:flex;flex-direction:column;padding:34px 25px 25px;background:var(--sidebar);color:var(--paper)}.sidebar .brand-mark{color:var(--paper);margin:0 7px 48px}.side-nav{display:grid;gap:7px}.side-nav button{min-height:49px;display:flex;align-items:center;gap:13px;border:0;border-radius:13px;padding:0 14px;background:transparent;color:var(--sidebar-muted);font-size:14px;font-weight:600;cursor:pointer;transition:background-color .22s,color .22s,transform .22s}.side-nav button:hover{color:#fff;transform:translate(2px)}.side-nav button.active{background:#ffffff1a;color:#fff;box-shadow:inset 1px 0 #ffffff1c}.sidebar-quest{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:24px 8px 20px}.quest-disc{width:48px;height:48px;display:grid;place-items:center;margin-bottom:13px;border-radius:50%;background:var(--accent);color:#fff}.sidebar-quest strong,.sidebar-quest span{display:block}.sidebar-quest strong{margin-bottom:4px;font-size:14px}.sidebar-quest span{color:var(--sidebar-muted);font-size:12px}.profile-chip{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:11px;border-top:1px solid rgba(255,255,255,.12);padding:20px 5px 0}.avatar,.initial-avatar{width:39px;height:39px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#d5cfc1;color:var(--ink);font-weight:800}.avatar img{width:100%;height:100%;object-fit:cover}.profile-chip strong,.profile-chip span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-chip strong{font-size:13px}.profile-chip span{margin-top:2px;color:var(--sidebar-muted);font-size:11px}.child-signout{min-height:42px;display:flex;align-items:center;gap:8px;margin-top:12px;border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:0 12px;background:transparent;color:var(--sidebar-muted);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.child-signout:hover{border-color:#ffffff59;color:#fff}.app-main{grid-column:2;min-width:0}.topbar{height:76px;display:flex;align-items:center;justify-content:flex-end;position:sticky;top:0;border-bottom:1px solid rgba(222,217,205,.8);padding:0 45px;background:#f5f1e6e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:5}.top-stats{display:flex;align-items:center;gap:9px}.top-stats>span{min-height:39px;display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:20px;padding:0 12px;background:#fffdf699;color:var(--accent)}.top-stats strong{color:var(--ink);font-size:13px}.top-stats small{color:var(--muted);font-size:10px}.guardian-account-label{display:flex;align-items:center;gap:9px;color:var(--success)}.guardian-account-label span{color:var(--muted);font-size:12px}.guardian-account-label strong{color:var(--ink);font-size:14px}.learner-topbar-group{display:flex;align-items:center;gap:12px}.preview-session-badge{min-height:39px;display:flex;align-items:center;gap:7px;border:1px solid #c9bca6;border-radius:20px;padding:0 12px;background:#fff8e8;color:var(--accent-deep);font-size:11px;font-weight:700}.mobile-brand,.mobile-nav,.topbar-child-signout{display:none}.view{width:min(1180px,calc(100% - 70px));margin:0 auto;padding:55px 0 90px}.page-reveal{animation:rise .52s cubic-bezier(.16,1,.3,1) both}.view-heading{max-width:760px;margin-bottom:52px}.view-heading h1{margin-bottom:17px;font-size:clamp(42px,5vw,66px);line-height:.96;letter-spacing:-.058em}.view-heading>p:last-child{max-width:57ch;color:var(--muted);font-size:16px;line-height:1.6}.view-loader{display:grid;gap:14px}.welcome-row{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:43px}.welcome-row h1{margin-bottom:9px;font-size:clamp(43px,5vw,68px);line-height:.94;letter-spacing:-.058em}.welcome-row>div:first-child>p:last-child{margin:0;color:var(--muted);font-size:16px}.level-ticket{width:144px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border:1px solid var(--line-strong);border-radius:50%;background:var(--paper);text-align:center;transform:rotate(4deg)}.level-ticket:before{content:"";position:absolute;inset:8px;border:1px dashed var(--line);border-radius:50%}.level-ticket span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.16em}.level-ticket strong{margin:-2px 0;color:var(--accent);font-size:51px;line-height:1}.level-ticket small{max-width:80px;color:var(--muted);font-size:9px;line-height:1.2}.next-lesson-panel{min-height:330px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(245px,.65fr);gap:clamp(30px,5vw,68px);overflow:hidden;position:relative;margin-bottom:26px;border-radius:30px;padding:38px 40px;background:var(--sidebar);color:var(--paper);box-shadow:var(--shadow)}.next-lesson-panel:before{content:"";width:290px;height:290px;position:absolute;right:14%;top:-190px;border:1px solid rgba(255,255,255,.09);border-radius:50%;pointer-events:none}.next-lesson-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;position:relative;z-index:1}.next-lesson-copy .overline{margin-bottom:12px;color:#f29a82}.next-lesson-copy h2{max-width:15ch;margin-bottom:12px;color:#fffdf6;font-size:clamp(34px,4.2vw,52px);line-height:.98;letter-spacing:-.052em}.next-lesson-copy>p:not(.overline){max-width:54ch;margin-bottom:21px;color:var(--sidebar-muted);font-size:15px;line-height:1.5}.lesson-preview{width:100%;display:flex;flex-wrap:wrap;gap:9px 21px;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;color:var(--sidebar-muted)}.lesson-preview span{display:inline-flex;align-items:center;gap:6px;font-size:12px}.lesson-preview svg{color:#f29a82}.lesson-preview strong{color:var(--paper)}.next-lesson-button{min-width:190px;margin-top:28px}.next-lesson-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.next-lesson-actions .next-lesson-button{margin-top:0}.next-lesson-play-button{min-width:155px;border:1px solid rgba(255,255,255,.22);background:#ffffff12;color:var(--paper)}.next-lesson-play-button:hover{border-color:#ffffff73;background:#ffffff1f}.next-lesson-marker{min-width:0;display:flex;flex-direction:column;justify-content:center;align-self:stretch;position:relative;z-index:1;border-radius:24px 24px 24px 8px;padding:26px 27px;background:var(--paper);color:var(--ink)}.marker-label{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.16em}.next-lesson-marker>strong{margin:1px 0 13px;color:var(--accent);font-size:clamp(62px,7vw,86px);line-height:.86;letter-spacing:-.065em}.marker-meta{display:flex;flex-wrap:wrap;gap:8px 14px;border-top:1px solid var(--line);padding-top:14px}.marker-meta span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;font-weight:600}.marker-meta svg{color:var(--accent)}.marker-progress{height:5px;overflow:hidden;margin-top:20px;border-radius:5px;background:var(--tint)}.marker-progress i{width:100%;height:100%;display:block;transform-origin:left;background:var(--accent)}.next-lesson-marker small{margin-top:7px;color:var(--muted);font-size:10px}.next-lesson-marker p{margin:auto 0 0;border-top:1px dashed var(--line-strong);padding-top:14px;color:var(--muted);font-size:11px;line-height:1.4}.next-lesson-complete{grid-template-columns:minmax(0,1fr) auto}.next-lesson-seal{width:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px dashed rgba(255,255,255,.25);border-radius:50%;color:#f29a82}.next-lesson-seal strong{color:var(--paper)}.section-block{margin-bottom:26px;border:1px solid var(--line);border-radius:28px;background:var(--paper);box-shadow:var(--shadow)}.daily-trail{padding:31px 33px 36px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:27px}.section-heading h2{margin:0;font-size:27px;letter-spacing:-.035em}.section-heading-copy>p:last-child{max-width:55ch;margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.goal-ring{width:61px;height:61px;display:grid;place-items:center;position:relative;flex:0 0 auto;border-radius:50%;background:conic-gradient(var(--accent) var(--goal),var(--tint) 0)}.goal-ring:after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--paper)}.goal-ring span{position:relative;z-index:1;font-size:11px;font-weight:800}.trail-line{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px}.trail-stop{min-width:0;display:grid;grid-template-columns:51px minmax(0,1fr);align-items:center;gap:13px;position:relative}.trail-stop>button{width:51px;height:51px;display:grid;place-items:center;position:relative;z-index:1;border:1px solid var(--line-strong);border-radius:16px;background:var(--canvas);color:var(--muted);cursor:pointer;transition:transform .24s,background-color .24s,color .24s}.trail-stop>button:hover{transform:translateY(-3px) rotate(-2deg)}.trail-stop.next>button{border-color:var(--accent);background:var(--accent);color:#fff;animation:soft-bounce 3s ease-in-out infinite}.trail-stop.done>button{border-color:var(--success);background:var(--success);color:#fff}.trail-stop>div span,.trail-stop>div strong,.trail-stop>div small{display:block}.trail-stop>div span{color:var(--quiet);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.trail-stop>div strong{overflow:hidden;margin:2px 0 4px;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.trail-stop>div small{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:10px}.trail-stop>i{position:absolute;width:20px;right:-20px;top:25px;border-top:1px dashed var(--line-strong)}.dashboard-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:26px;margin-bottom:26px}.week-panel{min-height:250px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 4px}.panel-title{display:flex;align-items:flex-start;justify-content:space-between}.panel-title span,.panel-title strong{display:block}.panel-title span{margin-bottom:5px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.panel-title strong{font-size:17px}.week-chart{height:150px;display:flex;align-items:flex-end;gap:13px;padding-top:26px}.week-chart>div{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;gap:7px}.bar-track{width:min(27px,100%);height:100%;display:flex;align-items:flex-end;overflow:hidden;border-radius:7px 7px 3px 3px;background:var(--tint)}.bar-track i{width:100%;height:100%;transform-origin:bottom;border-radius:inherit;background:var(--accent);transition:transform .7s cubic-bezier(.16,1,.3,1)}.week-chart small{color:var(--muted);font-size:10px;font-weight:700}.circle-button{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--ink);color:#fff;cursor:pointer;transition:transform .22s}.circle-button:hover{transform:translate(3px)}.small-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.small-stats>div{display:flex;align-items:center;gap:13px;padding:20px 5px}.small-stats>div+div{border-left:1px solid var(--line);padding-left:25px}.stat-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);color:var(--accent)}.small-stats p{margin:0}.small-stats strong,.small-stats p span{display:block}.small-stats strong{font-size:21px;line-height:1}.small-stats p span{margin-top:4px;color:var(--muted);font-size:10px}.unit-list{display:grid;gap:60px}.unit-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:31px}.unit-number{height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line-strong);border-radius:50% 44% 53% 47%;transform:rotate(-4deg)}.unit-number span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.15em}.unit-number strong{font-size:37px;line-height:1}.unit-content{min-width:0}.unit-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:19px}.unit-head h2{margin-bottom:3px;font-size:27px;letter-spacing:-.04em}.unit-head span{color:var(--muted);font-size:11px}.unit-progress{width:170px;height:5px;overflow:hidden;border-radius:5px;background:var(--tint)}.unit-progress i{width:100%;height:100%;display:block;transform-origin:left;background:var(--accent)}.lesson-ribbon{display:grid;grid-template-columns:repeat(5,minmax(148px,1fr));gap:10px}.lesson-tile{min-height:175px;display:flex;flex-direction:column;align-items:flex-start;position:relative;border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--paper);text-align:left;cursor:pointer;transition:transform .26s cubic-bezier(.16,1,.3,1),border-color .26s,background-color .26s}.lesson-tile:hover:not(:disabled){transform:translateY(-5px);border-color:var(--accent)}.lesson-tile:active:not(:disabled){transform:translateY(1px) scale(.98)}.lesson-tile:disabled{background:transparent;cursor:not-allowed;opacity:.55}.lesson-state{width:34px;height:34px;display:grid;place-items:center;margin-bottom:auto;border-radius:11px;background:var(--tint);color:var(--muted)}.lesson-tile.available .lesson-state{background:var(--accent);color:#fff}.lesson-tile.completed .lesson-state,.lesson-tile.mastered .lesson-state{background:var(--success);color:#fff}.lesson-tile small,.lesson-tile>span:last-child{color:var(--quiet);font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.lesson-tile strong{display:-webkit-box;overflow:hidden;margin:5px 0 9px;font-size:14px;line-height:1.25;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lesson-tile>span:last-child{color:var(--muted);letter-spacing:0;text-transform:none}.recall-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.recall-actions button{min-height:70px;border:1px solid var(--line);border-radius:16px;padding:11px;background:var(--paper);cursor:pointer}.recall-actions button.remembered{border-color:var(--success);background:var(--success);color:#fff}.recall-actions span,.recall-actions small{display:block}.recall-actions span{margin-bottom:3px;font-weight:700}.recall-actions small{color:var(--muted);font-size:10px}.recall-actions .remembered small{color:#ffffffb3}.empty-state{grid-column:1 / -1;min-height:160px;display:flex;align-items:center;justify-content:center;gap:17px;border:1px dashed var(--line-strong);border-radius:22px;padding:28px}.empty-state>span{width:53px;height:53px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.empty-state strong{font-size:17px}.empty-state p{max-width:45ch;margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.reward-hero{min-height:210px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative;border-radius:28px;padding:37px 45px;background:var(--sidebar);color:#fff}.reward-hero:after{content:"";width:240px;height:240px;position:absolute;right:-50px;top:-90px;border:1px solid rgba(255,255,255,.13);border-radius:50%}.reward-hero>div span,.reward-hero>div strong{display:block}.reward-hero>div span{color:var(--sidebar-muted);font-size:10px;font-weight:800;letter-spacing:.14em}.reward-hero>div strong{margin:3px 0;color:#fff;font-size:68px;line-height:1;letter-spacing:-.05em}.reward-hero p{max-width:42ch;margin:10px 0 0;color:var(--sidebar-muted);font-size:13px}.reward-hero>svg{color:var(--accent);transform:rotate(8deg)}.badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:28px}.badge-item{min-height:230px;display:flex;flex-direction:column;align-items:center;border-bottom:1px solid var(--line);padding:25px 16px;text-align:center}.badge-item>div{width:72px;height:72px;display:grid;place-items:center;margin-bottom:18px;border:1px solid var(--line-strong);border-radius:50% 45% 54% 46%;color:var(--accent);transform:rotate(-4deg)}.badge-item>span{color:var(--accent);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.badge-item strong{margin:5px 0 8px;font-size:16px}.badge-item p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:31px}.admin-stats>div{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:11px;padding:20px 12px}.admin-stats>div+div{border-left:1px solid var(--line)}.admin-stats svg{grid-row:1 / 3;color:var(--accent)}.admin-stats strong{font-size:23px;line-height:1}.admin-stats span{color:var(--muted);font-size:10px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-panel{min-height:450px;border:1px solid var(--line);border-radius:25px;padding:28px;background:var(--paper)}.admin-panel-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:27px}.admin-panel-head>div span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.14em}.admin-panel-head h2{margin:4px 0 0;font-size:24px;letter-spacing:-.04em}.admin-panel-head>svg{color:var(--accent)}.invite-panel form{display:grid;gap:15px}.invite-panel label{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:700}.invite-panel input,.invite-panel select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:0 13px;background:var(--canvas);color:var(--ink);outline:none}.invite-panel input:focus,.invite-panel select:focus{border-color:var(--accent)}.invite-panel .form-success,.invite-panel .form-error{margin-top:13px}.engine-status{margin-bottom:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px 0}.engine-status>span{display:flex;align-items:center;gap:7px;color:var(--success);font-size:11px;font-weight:700}.engine-status>span i{width:8px;height:8px;border-radius:50%;background:var(--success);animation:breathe 2.5s ease-in-out infinite}.engine-status strong{display:block;overflow:hidden;margin:11px 0 7px;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.engine-status p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.run-list{margin-top:20px}.run-list>div{display:grid;grid-template-columns:80px 65px 1fr;gap:8px;border-top:1px solid var(--line);padding:10px 0;font-size:10px}.run-list span,.run-list small{color:var(--muted)}.run-list small{overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.access-list{margin-top:27px;border-top:1px solid var(--line)}.list-head{display:flex;justify-content:space-between;align-items:center;padding:23px 0 13px}.list-head h2{margin:0;font-size:20px}.list-head span{color:var(--muted);font-size:11px}.access-row{min-height:65px;display:grid;grid-template-columns:auto minmax(0,1fr) 80px 90px;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.initial-avatar{width:36px;height:36px;background:var(--accent-soft);color:var(--accent);font-size:13px}.access-row>div:nth-child(2) strong,.access-row>div:nth-child(2) span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-row>div:nth-child(2) strong{font-size:13px}.access-row>div:nth-child(2) span,.access-row>small{color:var(--muted);font-size:10px}.access-row>button{border:1px solid var(--line);border-radius:12px;padding:7px 9px;background:transparent;color:var(--muted);font-size:10px;font-weight:700;cursor:pointer}.access-row>button.active{border-color:#afc1b9;background:#eef2ef;color:var(--success)}.access-row>button:disabled{opacity:.5;cursor:not-allowed}.lesson-overlay{position:fixed;inset:0;display:grid;place-items:center;padding:18px;background:#1c2724bd;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);z-index:10;animation:fade-in .24s ease both}.lesson-shell{width:min(870px,100%);min-height:min(760px,calc(100dvh - 36px));max-height:calc(100dvh - 36px);display:flex;flex-direction:column;overflow:auto;position:relative;border:1px solid rgba(255,255,255,.15);border-radius:31px;background:var(--paper);box-shadow:0 30px 80px -30px #0000008a}.lesson-header{min-height:72px;display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:0 27px}.lesson-close{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:12px;background:var(--tint);cursor:pointer}.lesson-progress{height:6px;overflow:hidden;border-radius:6px;background:var(--tint)}.lesson-progress i{width:100%;height:100%;display:block;transform-origin:left;background:var(--accent);transition:transform .45s cubic-bezier(.16,1,.3,1)}.lesson-header>span{color:var(--muted);font-size:11px;font-weight:700}.lesson-content{width:min(680px,calc(100% - 52px));flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto;padding:43px 0 35px;text-align:center;animation:rise .33s cubic-bezier(.16,1,.3,1) both}.word-step h1{margin-bottom:18px;font-size:clamp(58px,9vw,94px);letter-spacing:-.06em;line-height:.92}.pronunciation-button{display:inline-flex;align-items:center;gap:9px;min-height:42px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:999px;padding:9px 16px;background:color-mix(in srgb,var(--accent) 8%,var(--paper));color:var(--accent);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:transform .16s ease,background-color .16s ease,border-color .16s ease}.pronunciation-button:hover:not(:disabled){transform:translateY(-1px);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,var(--paper))}.pronunciation-button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 30%,transparent);outline-offset:3px}.pronunciation-button:disabled{cursor:wait;opacity:.78}.pronunciation-button.playing svg{animation:sound-pulse .9s ease-in-out infinite alternate}.meaning-line{width:min(430px,100%);display:grid;gap:7px;border-top:1px solid var(--line);margin-top:35px;padding-top:25px}.meaning-line span{color:var(--quiet);font-size:9px;font-weight:800;letter-spacing:.16em}.meaning-line strong{color:var(--accent);font-size:26px}.word-example{max-width:55ch;margin:20px 0 0;color:var(--muted);font-size:14px;line-height:1.6}.lesson-next{width:min(430px,100%);margin-top:auto}.breakdown-step h2,.quiz-step h2{max-width:670px;margin-bottom:19px;font-size:clamp(31px,5vw,48px);line-height:1.08;letter-spacing:-.045em}.chunk-row{width:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:32px 0 25px}.chunk-row>div{min-width:118px;display:grid;gap:5px;border:1px solid var(--line);border-radius:15px;padding:12px 15px;background:var(--canvas)}.chunk-row strong{font-size:15px}.chunk-row span{color:var(--accent);font-size:11px}.sentence-translation{max-width:580px;margin-bottom:28px}.sentence-translation span,.sentence-translation strong{display:block}.sentence-translation span{color:var(--quiet);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.sentence-translation strong{margin:7px 0 9px;font-size:20px}.sentence-translation p{color:var(--muted);font-size:12px;line-height:1.5}.lesson-options{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:24px 0 17px}.lesson-options button{min-height:76px;display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:16px;padding:13px 15px;background:var(--canvas);text-align:left;cursor:pointer;transition:transform .22s,border-color .22s,background-color .22s}.lesson-options button:hover{transform:translateY(-2px);border-color:var(--accent)}.lesson-options button.selected{border-color:var(--accent);background:var(--accent-soft)}.lesson-options button span{width:33px;height:33px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:var(--paper);color:var(--muted);font-size:11px;font-weight:800}.quiz-hint{width:100%;display:flex;align-items:center;gap:9px;border-radius:12px;padding:10px 13px;background:#efede4;color:var(--muted);font-size:11px;text-align:left}.result-medallion{width:118px;height:118px;display:grid;place-items:center;margin-bottom:25px;border:1px solid var(--line-strong);border-radius:50% 45% 54% 46%;color:var(--muted);transform:rotate(-4deg)}.result-medallion.passed{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);animation:medal-in .7s cubic-bezier(.16,1,.3,1) both}.result-step h1{margin-bottom:13px;font-size:clamp(50px,7vw,77px);line-height:.9;letter-spacing:-.06em}.result-step>p:not(.overline){max-width:55ch;color:var(--muted);line-height:1.55}.result-stats{width:min(500px,100%);display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:23px 0 28px}.result-stats>div{padding:15px}.result-stats>div+div{border-left:1px solid var(--line)}.result-stats strong,.result-stats span{display:block}.result-stats strong{font-size:24px}.result-stats span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.result-actions{width:min(500px,100%);display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}.result-actions .button{width:100%}.button-quiet{border:1px solid var(--line-strong);background:var(--paper);color:var(--muted)}.button-quiet:hover{border-color:var(--ink);color:var(--ink)}.lesson-error{margin:0 26px 25px}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes sound-pulse{0%{transform:scale(.92)}to{transform:scale(1.12)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes settle{0%{opacity:0;transform:translateY(22px) rotate(0)}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(2deg)}}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes pulse-ring{0%,to{box-shadow:0 0 #df624700}50%{box-shadow:0 0 0 7px #df62471f}}@keyframes soft-bounce{0%,80%,to{transform:translateY(0)}88%{transform:translateY(-5px)}94%{transform:translateY(0)}}@keyframes breathe{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@keyframes medal-in{0%{opacity:0;transform:scale(.72) rotate(-18deg)}to{opacity:1;transform:scale(1) rotate(-4deg)}}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1120px){.public-shell{padding-inline:34px}.public-hero{grid-template-columns:.9fr 1.1fr;gap:35px}.hero-copy h1{font-size:clamp(54px,7vw,76px)}.hero-playground{transform:scale(.88);transform-origin:right center}.lesson-ribbon,.badge-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.public-hero{grid-template-columns:1fr;padding-bottom:20px}.hero-copy{padding-top:30px}.hero-playground{min-height:440px;transform:none}.public-proof{margin-top:30px}.app-shell{display:block}.sidebar{display:none}.app-main{min-height:100dvh;padding-bottom:76px}.topbar{justify-content:space-between;padding:0 24px}.topbar-child-signout{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--muted)}.mobile-brand{display:block}.mobile-nav{height:69px;display:grid;grid-template-columns:repeat(4,1fr);position:fixed;inset:auto 0 0;border-top:1px solid rgba(222,217,205,.9);background:#fffdf6f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:6}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:var(--muted);font-size:9px}.mobile-nav button.active{color:var(--accent)}.view{width:min(100% - 40px,760px);padding-top:42px}.next-lesson-panel{grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:25px;padding:32px}.dashboard-grid,.admin-grid{grid-template-columns:1fr}.lesson-ribbon{grid-template-columns:repeat(3,1fr)}.unit-row{grid-template-columns:82px minmax(0,1fr);gap:20px}.unit-number{height:82px}.unit-number strong{font-size:27px}.badge-grid{grid-template-columns:repeat(2,1fr)}.onboarding-shell{display:block;background:var(--canvas)}.onboarding-top{min-height:84px;flex-direction:row;align-items:center;padding:20px 28px;background:var(--sidebar)}.onboarding-panel{min-height:calc(100dvh - 84px);border-radius:0;padding:50px max(24px,7vw)}.onboarding-art{display:none}}@media(max-width:640px){.public-shell{padding:0 20px 28px}.public-nav{min-height:76px}.public-nav .button{padding-inline:13px}.public-hero{min-height:0;gap:10px;padding-top:42px}.hero-copy h1{font-size:clamp(50px,15vw,68px)}.hero-lead{font-size:16px}.student-login-form{grid-template-columns:1fr}.student-login-form>div,.student-login-form .form-error{grid-column:1}.hero-playground{min-height:395px;margin-inline:-8px}.hero-playground:before{width:280px;height:280px;right:1%}.hero-playground:after{width:230px;height:230px;right:11%}.sun-disc{width:145px;height:145px;right:21%}.sun-disc span{font-size:43px}.word-card-one{width:150px;min-height:165px;padding:18px}.word-card-one strong{font-size:21px}.word-card-two{width:260px;bottom:10%}.path-dots,.hero-caption{display:none}.public-proof{grid-template-columns:1fr}.public-proof>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.placement-options,.lesson-options{grid-template-columns:1fr}.topbar{height:67px;padding:0 16px}.top-stats{gap:4px}.top-stats>span{min-height:34px;gap:4px;padding:0 8px}.top-stats>span svg{width:17px}.top-stats small{display:none}.learner-topbar-group{gap:5px}.preview-session-badge{width:36px;min-height:36px;justify-content:center;padding:0}.preview-session-badge span{display:none}.view{width:calc(100% - 32px);padding-top:33px}.welcome-row{align-items:flex-start}.welcome-row h1{font-size:45px}.level-ticket{width:95px}.level-ticket strong{font-size:35px}.level-ticket small{display:none}.next-lesson-panel,.next-lesson-complete{min-height:0;grid-template-columns:1fr;gap:27px;border-radius:24px;padding:27px 22px 22px}.next-lesson-copy h2{font-size:36px}.lesson-preview{gap:9px 14px}.next-lesson-button{width:100%;margin-top:26px}.next-lesson-actions{width:100%;display:grid;grid-template-columns:1fr;margin-top:26px}.next-lesson-actions .next-lesson-button{margin-top:0}.next-lesson-marker{min-height:205px;display:grid;grid-template-columns:auto 1fr;column-gap:19px;padding:22px}.marker-label{grid-column:1}.next-lesson-marker>strong{grid-column:1;grid-row:2 / 5;margin:0;font-size:68px}.marker-meta,.marker-progress,.next-lesson-marker small,.next-lesson-marker p{grid-column:2}.marker-meta{align-self:end;padding-top:0;border-top:0}.marker-progress{margin-top:12px}.next-lesson-marker p{margin-top:15px}.next-lesson-seal{width:170px;aspect-ratio:1;justify-self:center}.daily-trail{padding:23px 20px 26px}.section-heading h2{font-size:21px}.trail-line{grid-template-columns:1fr}.trail-stop>i{width:1px;height:20px;inset:auto auto -20px 25px;border-top:0;border-left:1px dashed var(--line-strong)}.small-stats{grid-template-columns:1fr}.small-stats>div+div{border-left:0;border-top:1px solid var(--line);padding-left:5px}.unit-row{grid-template-columns:1fr;gap:16px}.unit-number{width:68px;height:68px}.unit-head{align-items:flex-start;flex-direction:column}.unit-progress{width:100%}.lesson-ribbon{grid-template-columns:1fr 1fr}.lesson-tile{min-height:158px}.badge-grid{grid-template-columns:1fr 1fr}.reward-hero{padding:30px 25px}.reward-hero>svg{width:64px}.admin-stats{grid-template-columns:1fr 1fr}.admin-stats>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.admin-stats>div:nth-child(4){border-top:1px solid var(--line)}.access-row{grid-template-columns:auto minmax(0,1fr) 77px}.access-row>small{display:none}.credential-reveal{grid-template-columns:1fr}.lesson-overlay{padding:0}.lesson-shell{min-height:100dvh;max-height:100dvh;border:0;border-radius:0}.lesson-header{padding:0 16px}.lesson-content{width:calc(100% - 32px);padding-top:30px}.word-step h1{font-size:clamp(50px,17vw,70px)}.breakdown-step h2,.quiz-step h2{font-size:30px}.chunk-row{gap:6px}.chunk-row>div{min-width:calc(50% - 4px);padding-inline:9px}.result-stats>div{padding-inline:6px}.result-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--quiet: #747b74}.skip-link{position:fixed;left:16px;top:12px;z-index:30;padding:10px 14px;border-radius:10px;background:var(--ink);color:#fff;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{width:1px;height:1px;overflow:hidden;position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.consent-check{width:min(630px,100%);display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.5}.consent-check input,.setting-toggle input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent)}.guardian-consent-note{display:flex;align-items:center;gap:9px;margin:0 0 18px;color:var(--success)!important;font-size:14px!important}.settings-form label small,.invite-panel label small{color:var(--muted);font-size:12px;font-weight:400}.credential-reveal{display:grid;grid-template-columns:auto 1fr;gap:14px;margin:-8px 0 25px;border:1px solid #afc1b9;border-radius:22px 22px 22px 7px;padding:22px;background:#eef2ef;color:var(--ink)}.credential-reveal>svg{color:var(--success)}.credential-reveal h2{margin:0;font-size:22px}.credential-reveal p{margin:4px 0 14px;color:var(--muted);font-size:14px}.credential-reveal dl{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}.credential-reveal dl>div{min-width:190px;border-radius:11px;padding:10px 12px;background:var(--paper)}.credential-reveal dt{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.credential-reveal dd{margin:4px 0 0;font-family:ui-monospace,monospace;font-size:15px;font-weight:700}.onboarding-panel .button-wide+.button-wide{margin-top:10px}.placement-options button.selected{border-color:var(--accent);background:var(--accent-soft)}.text-button{min-height:44px;padding-inline:8px}.retry-banner{display:flex;justify-content:center;align-items:center;gap:18px;padding:12px 20px;background:#fff3ee;color:var(--danger);font-size:14px}.offline-banner{padding:10px 20px;background:var(--ink);color:var(--paper);font-size:14px;text-align:center}.retry-banner button{min-height:44px;border:1px solid currentColor;border-radius:10px;padding:0 16px;background:transparent;cursor:pointer}.mobile-nav{grid-template-columns:repeat(7,1fr)}.mobile-nav.child-nav,.mobile-nav.guardian-nav{grid-template-columns:repeat(4,1fr)}.mobile-nav.admin-nav{grid-template-columns:repeat(5,1fr)}.app-main .overline,.app-main small{font-size:14px}.trail-stop>div span,.trail-stop>div small,.small-stats p span,.lesson-tile small,.lesson-tile>span:last-child,.badge-item p,.badge-item>span,.level-ticket small,.level-ticket span,.meaning-line span,.sentence-translation span,.result-stats span{font-size:14px}.top-stats small{font-size:12px}.shop-panel,.account-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;border:1px solid var(--line);border-radius:24px;padding:24px 28px;background:var(--paper)}.shop-panel>div{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:center}.shop-panel svg{grid-row:1 / 5;color:var(--accent)}.shop-panel span{color:var(--muted);font-size:14px}.shop-panel h2,.account-actions h2{margin:0;font-size:24px}.shop-panel p,.account-actions p{grid-column:2;margin:2px 0;color:var(--muted);font-size:14px}.shop-panel strong{grid-column:2;font-size:14px}.settings-form{max-width:720px;display:grid;grid-template-columns:1fr 1fr;gap:18px;border:1px solid var(--line);border-radius:26px;padding:28px;background:var(--paper)}.settings-form label{display:grid;gap:8px;color:var(--muted);font-size:14px;font-weight:600}.settings-form input,.settings-form select{min-height:48px;border:1px solid var(--line-strong);border-radius:12px;padding:0 13px;background:var(--canvas);color:var(--ink)}.settings-form .setting-toggle{display:flex;flex-direction:row;align-items:center}.settings-form .button{align-self:end}.settings-view .form-success{max-width:720px;margin-top:14px}.account-actions{max-width:720px;margin-top:28px}.account-actions>div:last-child{display:flex;gap:8px}.delete-panel{max-width:720px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-top:28px;border-top:1px solid #dfb6aa;padding:24px 4px}.delete-panel h2{margin-bottom:5px;font-size:20px}.delete-panel p{margin:0;color:var(--muted);font-size:14px}.delete-confirm{display:grid;grid-template-columns:140px auto;gap:8px;align-items:end}.delete-confirm label{display:grid;gap:5px;color:var(--danger);font-size:13px}.delete-confirm input{min-height:44px;border:1px solid #dfb6aa;border-radius:10px;padding:0 10px;background:var(--paper)}.delete-confirm .text-button{grid-column:2;justify-self:end}.lesson-options button.correct{border-color:var(--success);background:#e8f0eb;color:#36574b}.lesson-options button.incorrect{border-color:var(--danger);background:#fff0ec;color:var(--danger)}.sr-feedback{min-height:24px;color:var(--muted);font-size:15px}.sentence-tiles{width:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:26px 0 8px}.sentence-tiles button{min-height:58px;display:grid;gap:2px;border:1px solid var(--line-strong);border-radius:14px;padding:9px 15px;background:var(--paper);font-weight:700;cursor:pointer}.sentence-tiles button small{color:var(--muted);font-size:14px;font-weight:400}.sentence-tiles button:disabled{opacity:.35;cursor:default}.quiz-feedback{width:100%;display:flex;align-items:flex-start;gap:10px;border-radius:14px;padding:14px 16px;text-align:left}.quiz-feedback.correct{background:#e8f0eb;color:#36574b}.quiz-feedback.incorrect{background:#fff0ec;color:var(--danger)}.quiz-feedback strong,.quiz-feedback span,.quiz-feedback small{display:block}.quiz-feedback span,.quiz-feedback small{margin-top:3px;font-size:14px}.answer-review{width:min(560px,100%);display:grid;gap:8px;margin-top:20px;text-align:left}.answer-review>div{display:flex;gap:9px;border-radius:12px;padding:11px 13px;background:var(--canvas)}.answer-review>div.correct{color:var(--success)}.answer-review>div.incorrect{color:var(--danger)}.answer-review span,.answer-review small{display:block}.answer-review small{margin-top:3px;font-size:14px}.result-step.perfect:before{content:"✦  ✦  ✦";color:var(--accent);font-size:28px;letter-spacing:.5em;animation:medal-in .7s ease both}.lesson-tools{display:flex;justify-content:center;padding:0 20px 14px}.exit-confirm{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:#23332fad;z-index:3}.exit-confirm>div{width:min(420px,100%);border-radius:22px;padding:28px;background:var(--paper);box-shadow:var(--shadow)}.exit-confirm h2{margin-bottom:8px;font-size:30px}.exit-confirm p{color:var(--muted)}.exit-confirm>div>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.review-queue{margin-top:28px;border-top:1px solid var(--line)}.auto-approval-control{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--line);border-radius:18px;padding:18px 20px;background:var(--paper)}.auto-approval-control.enabled{border-color:#afc1b9;background:#eef2ef}.auto-approval-control strong{display:block;font-size:17px}.auto-approval-control p{margin:4px 0 0;color:var(--muted);font-size:14px}.auto-approval-control>button{width:58px;height:34px;flex:0 0 auto;position:relative;border:0;border-radius:18px;padding:3px;background:var(--line-strong);cursor:pointer;transition:background-color .2s ease}.auto-approval-control>button span{width:28px;height:28px;display:block;border-radius:50%;background:var(--paper);box-shadow:0 3px 9px #23332f2e;transition:transform .2s cubic-bezier(.16,1,.3,1)}.auto-approval-control.enabled>button{background:var(--success)}.auto-approval-control.enabled>button span{transform:translate(24px)}.auto-approval-warning{display:flex;align-items:center;gap:8px;margin:10px 2px 0;color:var(--danger);font-size:14px}.guardian-note span{max-width:18ch;line-height:1.45}.guardian-overview-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:42px}.guardian-overview-heading>div{max-width:780px}.guardian-overview-heading h1{margin-bottom:17px;font-size:clamp(42px,5vw,66px);line-height:.96;letter-spacing:-.058em;text-wrap:balance}.guardian-overview-heading p:last-child{max-width:61ch;margin:0;color:var(--muted);font-size:16px;line-height:1.6}.guardian-overview-heading>.button{flex:0 0 auto;margin-bottom:4px}.guardian-summary{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);margin-bottom:36px}.guardian-summary>div{display:grid;grid-template-columns:auto 1fr;gap:1px 12px;align-items:center;padding:24px 22px}.guardian-summary>div+div{border-left:1px solid var(--line)}.guardian-summary svg{grid-row:1 / 3;color:var(--accent)}.guardian-summary strong{font-size:29px;line-height:1;font-variant-numeric:tabular-nums}.guardian-summary span{color:var(--muted);font-size:12px}.guardian-progress-panel{border-radius:28px 28px 28px 9px;padding:30px;background:var(--paper);box-shadow:var(--shadow)}.guardian-progress-panel .list-head{margin-bottom:8px}.guardian-progress-panel .list-head>div>span{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.14em}.guardian-progress-panel .list-head h2{margin:4px 0 0;font-size:28px;letter-spacing:-.035em}.guardian-progress-panel .list-head>small{max-width:27ch;color:var(--muted);text-align:right}.guardian-progress-list{display:grid}.guardian-progress-list article{display:grid;grid-template-columns:auto minmax(160px,1.25fr) repeat(2,minmax(78px,.48fr)) minmax(140px,.78fr) auto;gap:16px;align-items:center;border-top:1px solid var(--line);padding:20px 0}.guardian-progress-name h3{margin:0 0 4px;font-size:20px}.guardian-progress-name span,.guardian-progress-list article>div:not(.initial-avatar):not(.guardian-progress-name)>span{display:block;color:var(--muted);font-size:12px}.guardian-progress-list article>div:not(.initial-avatar):not(.guardian-progress-name)>strong{display:block;margin-bottom:3px;font-size:17px;font-variant-numeric:tabular-nums}.guardian-empty{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;border:1px dashed var(--line-strong);border-radius:22px 22px 22px 7px;padding:24px;background:#fffdf68c}.guardian-empty>svg{color:var(--accent)}.guardian-empty h3{margin:0 0 5px;font-size:21px}.guardian-empty p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.guardian-add-form{display:grid;grid-template-columns:minmax(230px,1.2fr) minmax(170px,1fr) 120px auto;gap:16px;align-items:end;margin-bottom:24px;border-left:4px solid var(--accent);border-radius:8px 22px 22px 8px;padding:22px;background:var(--paper);box-shadow:var(--shadow)}.guardian-add-form>div h2{margin:0 0 4px;font-size:22px}.guardian-add-form>div p{margin:0;color:var(--muted);font-size:13px}.guardian-add-form label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:700}.guardian-add-form label small{font-size:11px;font-weight:400}.guardian-add-form input{min-width:0;min-height:47px;border:1px solid var(--line-strong);border-radius:12px;padding:0 12px;background:var(--canvas)}.guardian-add-form .form-error{grid-column:2 / -1;margin:0}.guardian-credential-reveal{margin:0 0 24px}.guardian-load-error{display:flex;align-items:flex-start;gap:12px}.admin-load-error{min-height:65vh;display:grid;grid-template-columns:auto minmax(0,640px);align-content:center;justify-content:center;gap:20px}.admin-load-error>svg{color:var(--accent)}.admin-load-error h1{margin-bottom:12px;font-size:clamp(36px,5vw,58px);letter-spacing:-.05em}.admin-load-error>div>p:not(.eyebrow){color:var(--muted)}.guardian-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.guardian-grid article{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;border:1px solid var(--line);border-radius:24px 24px 24px 8px;padding:24px;background:var(--paper)}.guardian-grid .initial-avatar{grid-row:1}.guardian-grid h2{margin:0;font-size:24px}.guardian-grid article>div:nth-child(2)>span{color:var(--muted);font-size:14px}.guardian-grid dl{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:18px 0 0;background:var(--line)}.guardian-grid dl>div{display:flex;justify-content:space-between;gap:12px;padding:12px;background:var(--paper)}.guardian-grid dt{color:var(--muted)}.guardian-grid dd{margin:0;font-weight:700}.learner-preview-row{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:15px;border-radius:15px;padding:15px;background:var(--tint)}.learner-preview-row>div:first-child strong,.learner-preview-row>div:first-child span{display:block}.learner-preview-row>div:first-child strong{margin-bottom:4px;font-size:14px}.learner-preview-row>div:first-child span{max-width:39ch;color:var(--muted);font-size:12px;line-height:1.45}.button-preview{min-height:44px;border:1px solid var(--sidebar);background:var(--sidebar);color:var(--paper);white-space:nowrap}.button-preview:hover{background:#344943}.open-learner-control{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.open-learner-control .button{gap:7px}.open-learner-control>small{max-width:230px;color:var(--danger);font-size:11px;text-align:right}.guardian-progress-list .open-learner-control .button{min-height:39px;padding-inline:11px;font-size:11px}.guardian-progress-list .open-learner-control>small{max-width:145px}.learner-credentials{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px;border-top:1px solid var(--line);padding-top:17px}.learner-login-summary span,.learner-login-summary strong{display:block}.learner-login-summary span{margin-bottom:4px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.learner-login-summary strong{font-family:ui-monospace,monospace;font-size:15px;overflow-wrap:anywhere}.learner-credentials>.button{flex:0 0 auto;min-height:42px}.credential-modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;overflow-y:auto;padding:24px;background:#23332fb8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:modal-fade .18s ease both}.credential-modal{width:min(570px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;border:1px solid rgba(255,255,255,.5);border-radius:26px 26px 26px 9px;padding:28px;background:var(--paper);box-shadow:0 28px 80px -38px #23332fad,inset 0 1px #fffc;animation:modal-rise .26s cubic-bezier(.16,1,.3,1) both}.credential-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.credential-modal-header span{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.credential-modal-header h2{margin:5px 0 0;font-size:31px;letter-spacing:-.035em}.credential-modal-close{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer;transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .22s ease}.credential-modal-close:hover{transform:rotate(4deg);border-color:var(--accent)}.credential-modal-close:active{transform:scale(.96)}.credential-modal-close:disabled{cursor:wait;opacity:.55}.credential-modal-description{max-width:48ch;margin:14px 0 23px;color:var(--muted);font-size:14px;line-height:1.55}.credential-modal form{display:grid;gap:16px}.credential-modal label{display:grid;gap:7px;color:var(--ink);font-size:13px;font-weight:700}.credential-modal label small{color:var(--muted);font-size:12px;font-weight:400;line-height:1.4}.credential-modal input{width:100%;min-width:0;min-height:48px;border:1px solid var(--line-strong);border-radius:12px;padding:0 13px;background:var(--canvas);color:var(--ink);font:inherit}.credential-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:5px;border-top:1px solid var(--line);padding-top:18px}.credential-modal-actions>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.credential-modal-actions .button{min-height:44px;padding-inline:15px;white-space:nowrap}.credential-result{display:flex;gap:10px;margin:1px 0;border-radius:12px;padding:12px;background:#eef2ef;color:var(--success)}.credential-result p{margin:0}.credential-result strong,.credential-result span{display:block}.credential-result span{margin-top:4px;color:var(--ink);font-size:13px}.credential-result code{font-size:13px}.credential-message{margin:0;border-radius:10px;padding:10px 12px;background:var(--canvas);color:var(--muted);font-size:13px}.credential-message.error{border:1px solid #dfb6aa;background:#fff3ee;color:var(--danger)}.guardian-guide{width:min(1240px,calc(100% - 70px))}.guardian-guide-hero{min-height:390px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:50px;position:relative;overflow:hidden;margin:-55px 0 0;border-radius:0 0 34px 10px;padding:74px 48px 48px;background:var(--sidebar);color:var(--paper)}.guardian-guide-hero:after{content:"?";position:absolute;right:7%;top:-100px;color:#ffffff09;font-size:440px;font-weight:800;line-height:1;pointer-events:none}.guardian-guide-hero>div:first-child{position:relative;z-index:1}.guardian-guide-hero .eyebrow{color:#f29a82}.guardian-guide-hero h1{max-width:12ch;margin:0 0 20px;color:#fffdf6;font-size:clamp(48px,6vw,76px);line-height:.93;letter-spacing:-.06em;text-wrap:balance}.guardian-guide-hero>div:first-child>p:last-child{max-width:62ch;margin:0;color:var(--sidebar-muted);font-size:16px;line-height:1.6}.guide-hero-actions{min-width:190px;display:grid;gap:10px;position:relative;z-index:1}.guide-hero-actions .button-quiet{border-color:#ffffff30;background:#ffffff0f;color:var(--paper)}.guide-index{display:grid;grid-template-columns:repeat(4,1fr);margin:34px 0 22px;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.guide-index a{min-width:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:20px 16px;color:var(--ink);text-decoration:none}.guide-index a+a{border-left:1px solid var(--line)}.guide-index a>span{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.1em}.guide-index a>strong{font-size:13px;line-height:1.25}.guide-index a svg{color:var(--muted);transition:transform .18s ease}.guide-index a:hover svg{transform:translate(3px)}.guardian-guide-steps{display:grid}.guardian-guide-step{display:grid;grid-template-columns:minmax(250px,.62fr) minmax(0,1.38fr);gap:clamp(38px,6vw,82px);align-items:center;scroll-margin-top:95px;border-bottom:1px solid var(--line-strong);padding:68px 8px}.guardian-guide-step:nth-child(2n){grid-template-columns:minmax(0,1.38fr) minmax(250px,.62fr)}.guardian-guide-step:nth-child(2n) .guide-step-copy{grid-column:2}.guardian-guide-step:nth-child(2n) .guardian-guide-figure{grid-column:1;grid-row:1}.guide-step-copy{position:relative}.guide-step-number{position:absolute;left:-3px;top:-72px;color:#df62471a;font-size:102px;font-weight:800;line-height:1;letter-spacing:-.08em}.guide-step-copy .overline{position:relative;margin-bottom:12px;color:var(--accent)}.guide-step-copy h2{position:relative;margin:0 0 16px;font-size:clamp(32px,3.6vw,49px);line-height:.98;letter-spacing:-.048em}.guide-step-copy>p:not(.overline){margin:0;color:var(--muted);font-size:15px;line-height:1.65}.guide-step-copy ul{display:grid;gap:10px;margin:24px 0 0;padding:0;list-style:none}.guide-step-copy li{display:grid;grid-template-columns:auto 1fr;gap:9px;color:var(--ink);font-size:13px;line-height:1.5}.guide-step-copy li svg{margin-top:1px;color:var(--success)}.guardian-guide-figure{min-width:0;margin:0}.guardian-guide-shot{position:relative;overflow:hidden;border:1px solid var(--line-strong);border-radius:24px 24px 24px 8px;background:var(--paper);box-shadow:0 24px 55px -38px #23332f94}.guardian-guide-shot img{width:100%;height:auto;display:block}.guide-marker{position:absolute;display:flex;align-items:center;gap:7px;transform:translate(-50%,-50%);z-index:2}.guide-marker b{width:32px;height:32px;display:grid;place-items:center;position:relative;border:3px solid #fffdf6;border-radius:50%;background:var(--accent);color:#fff;box-shadow:0 0 0 5px #df624733,0 6px 18px #23332f47;font-size:13px}.guide-marker b:after{content:"";position:absolute;inset:-9px;border:1px solid rgba(223,98,71,.6);border-radius:50%;animation:guide-pulse 2.4s ease-in-out infinite}.guide-marker em{border-radius:8px;padding:5px 8px;background:#23332feb;color:var(--paper);box-shadow:0 4px 15px #23332f33;font-size:10px;font-style:normal;font-weight:700;white-space:nowrap}.guardian-guide-figure figcaption{margin-top:10px;color:var(--muted);font-size:11px}.guide-help-strip{display:grid;grid-template-columns:auto 1fr auto;gap:17px;align-items:center;margin-top:52px;border-radius:24px 24px 24px 8px;padding:25px 27px;background:#e8eee9;color:var(--success)}.guide-help-strip>div strong,.guide-help-strip>div span{display:block}.guide-help-strip>div strong{margin-bottom:4px;color:var(--ink);font-size:18px}.guide-help-strip>div span{color:var(--muted);font-size:13px}@keyframes guide-pulse{0%,to{opacity:.2;transform:scale(.85)}50%{opacity:.85;transform:scale(1.08)}}.path-more{display:flex;margin:40px auto 0}.review-row,.report-row{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;border-bottom:1px solid var(--line);padding:20px 0}.review-row>div:first-child>span{color:var(--muted);font-size:13px}.review-row h3{margin:4px 0;font-size:21px}.review-row p,.report-row p{margin:0 0 6px;color:var(--muted);font-size:14px}.review-row small{display:block;font-size:14px}.review-row>div:last-child{display:flex;gap:8px}.access-row>button{min-width:88px;min-height:44px;font-size:14px}.lesson-close{min-width:44px;min-height:44px}@media(max-width:900px){.guardian-guide{width:min(100% - 40px,800px)}.guardian-guide-hero{min-height:0;grid-template-columns:1fr;align-items:start;gap:30px;margin-top:-42px;padding:62px 34px 36px}.guide-hero-actions{grid-template-columns:auto auto;justify-content:start}.guide-index{grid-template-columns:1fr 1fr}.guide-index a:nth-child(3){border-left:0;border-top:1px solid var(--line)}.guide-index a:nth-child(4){border-top:1px solid var(--line)}.guardian-guide-step,.guardian-guide-step:nth-child(2n){grid-template-columns:1fr;gap:32px}.guardian-guide-step:nth-child(2n) .guide-step-copy,.guardian-guide-step:nth-child(2n) .guardian-guide-figure{grid-column:1}.guardian-guide-step:nth-child(2n) .guide-step-copy{grid-row:1}.guardian-guide-step:nth-child(2n) .guardian-guide-figure{grid-row:2}}@media(max-width:640px){.settings-form{grid-template-columns:1fr;padding:20px}.delete-panel,.delete-confirm{grid-template-columns:1fr}.shop-panel,.account-actions,.review-row,.report-row{align-items:stretch;flex-direction:column;grid-template-columns:1fr}.review-row>div:last-child{display:grid;grid-template-columns:1fr 1fr}.credential-modal-backdrop{place-items:end center;padding:12px}.credential-modal{width:100%;max-height:calc(100dvh - 24px);border-radius:24px 24px 12px 12px;padding:23px 20px 20px}.credential-modal-header h2{font-size:27px}.credential-modal-actions,.credential-modal-actions>div{display:grid;grid-template-columns:1fr;width:100%}.credential-modal-actions>.button{grid-row:2}.credential-modal-actions .button{width:100%}.guardian-account-label span{display:none}.guardian-account-label strong{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guardian-overview-heading{display:grid;gap:20px;margin-bottom:28px}.guardian-overview-heading h1{font-size:43px}.guardian-overview-heading>.button{width:100%}.guardian-summary,.guardian-grid dl{grid-template-columns:1fr 1fr}.guardian-summary>div{padding:18px 12px}.guardian-summary>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.guardian-summary>div:nth-child(4){border-top:1px solid var(--line)}.guardian-progress-panel{padding:22px 18px}.guardian-progress-panel .list-head{align-items:flex-start}.guardian-progress-panel .list-head>small{display:none}.guardian-progress-list article{grid-template-columns:auto 1fr 1fr;gap:13px}.guardian-progress-name{grid-column:2 / -1}.guardian-progress-list article>div:nth-child(4),.guardian-progress-list article>div:nth-child(5){grid-column:span 1}.guardian-progress-list article>div:last-child{grid-column:1 / -1}.guardian-progress-list .open-learner-control{grid-column:1 / -1;align-items:stretch}.guardian-progress-list .open-learner-control .button{width:100%}.guardian-add-form{grid-template-columns:1fr}.guardian-add-form .form-error{grid-column:1}.guardian-empty{grid-template-columns:auto 1fr}.guardian-empty .button{grid-column:1 / -1;width:100%}.learner-preview-row{display:grid}.learner-preview-row .open-learner-control{align-items:stretch}.learner-preview-row .button-preview{width:100%}.guardian-guide{width:calc(100% - 32px)}.guardian-guide-hero{margin-top:-33px;margin-inline:-1px;border-radius:0 0 26px 8px;padding:47px 22px 28px}.guardian-guide-hero h1{font-size:45px}.guide-hero-actions{grid-template-columns:1fr}.guide-hero-actions .button{width:100%}.guide-index{grid-template-columns:1fr}.guide-index a+a,.guide-index a:nth-child(3),.guide-index a:nth-child(4){border-left:0;border-top:1px solid var(--line)}.guardian-guide-step{gap:25px;padding:55px 0}.guide-step-number{top:-55px;font-size:78px}.guide-step-copy h2{font-size:36px}.guide-marker em{display:none}.guide-marker b{width:28px;height:28px}.guide-help-strip{grid-template-columns:auto 1fr;padding:21px}.guide-help-strip .button{grid-column:1 / -1;width:100%}.mobile-nav button span{font-size:11px}}
