.grammar-selected{outline:2px solid var(--tone,var(--accent))}.student .s-dialog.beginner-player,html[data-theme] .student .s-dialog.beginner-player{width:min(1020px,100%);max-width:100%;height:min(900px,calc(100dvh - 56px));max-height:calc(100dvh - 56px);display:flex;flex-direction:column;gap:0;overflow:hidden;padding:24px 28px 18px;color:var(--text);background:radial-gradient(55% 48% at 0 0,#6ea8ff55,transparent 62%),radial-gradient(42% 40% at 100% 0,#c084fc40,transparent 58%),radial-gradient(36% 32% at 80% 120%,#f5c16c28,transparent 54%),var(--surface);border:1px solid #6ea8ff66;animation:none;transform:none;margin:0}.beginner-player .beginner-prose p{font-size:inherit;line-height:inherit;color:var(--text)}.beginner-player .beginner-prompt{font-size:clamp(18px,2vw,22px);line-height:1.65;color:var(--text)}.beginner-player .beginner-feedback p,.beginner-player .beginner-summary p{font-size:17px;line-height:1.7;color:var(--text)}.beginner-player .beginner-assessment-note{font-size:14px;color:var(--text-2)}.grammar-overlay .s-dialog-backdrop:has(.beginner-player){display:flex;align-items:stretch;justify-content:center;overflow:hidden;padding:12px}.grammar-overlay .s-dialog.beginner-player,html[data-theme] .grammar-overlay .s-dialog.beginner-player{height:100%;max-height:100%;min-height:0;flex:0 1 auto}.beginner-phases,.beginner-player-footer,.beginner-player-header,.beginner-progress{flex-shrink:0}.beginner-player-header{display:flex;align-items:flex-start;gap:18px;justify-content:space-between}.beginner-player-header h2{margin:4px 0 18px;font-size:clamp(21px,3vw,29px);line-height:1.25;letter-spacing:-.03em}.beginner-player-header .eyebrow{margin:0;color:var(--text-2)}.beginner-phases{display:flex;gap:6px;flex-wrap:wrap;padding-bottom:12px}.beginner-phases button{border:1px solid var(--line);background:var(--surface-2);color:var(--text-2);padding:7px 15px;border-radius:99px;cursor:pointer;font:inherit;font-size:14px;transition:border-color .15s ease,color .15s ease,background .15s ease}.beginner-phases button:hover:not(:disabled),.beginner-phases button[aria-current]{border-color:var(--accent);color:var(--text)}.beginner-phases button[aria-current]{background:color-mix(in srgb,var(--accent) 18%,var(--surface));font-weight:700}.beginner-phases button:disabled{opacity:.5;cursor:default}.beginner-progress{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.beginner-progress progress{flex:1 1;height:8px;accent-color:var(--accent);min-width:0;border:0;border-radius:10px;overflow:hidden;background:var(--surface-3)}.beginner-progress progress::-webkit-progress-bar{background:var(--surface-3)}.beginner-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#6ea8ff,#c084fc 58%,#f5c16c);border-radius:10px}.beginner-progress span{font-size:12px;color:var(--text-2);white-space:nowrap}.beginner-player-body{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px max(0px,calc((100% - 760px) / 2)) 20px}.beginner-step-title{margin:0 0 18px;font-size:21px;line-height:1.4;outline:none}.beginner-step-title:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.beginner-prose{font-size:clamp(17px,2vw,20px);line-height:1.8;padding:22px 24px;border-radius:18px;border:1px solid #6ea8ff66;background:linear-gradient(128deg,#6ea8ff22,#c084fc18 48%,transparent 78%)}.beginner-instruction{border-color:#f5c16c88;background:linear-gradient(128deg,#f5c16c24,#6ea8ff18 55%,transparent 80%);box-shadow:inset 4px 0 #f5c16c}.beginner-instruction-title{margin:0 0 16px;font-size:clamp(26px,3vw,34px);letter-spacing:-.03em;color:var(--text)}.beginner-prose p{margin:0 0 22px}.beginner-prose p:last-child{margin-bottom:0}.beginner-question{padding:8px 4px 4px}.beginner-worked-examples{list-style:none;padding:0;margin:0;display:grid;gap:10px}.beginner-worked-examples li{margin:0;padding:14px 16px 14px 18px;border-radius:14px;background:color-mix(in srgb,var(--path,var(--accent)) 12%,var(--surface-2));border-left:5px solid var(--path,var(--accent))}.beginner-part-slide{margin:0;padding:28px 22px 22px;border-radius:18px;background:radial-gradient(70% 80% at 100% 0,color-mix(in srgb,var(--board,var(--accent)) 32%,transparent),transparent 52%),radial-gradient(60% 70% at 0 100%,#c084fc24,transparent 58%),linear-gradient(145deg,color-mix(in srgb,var(--board,var(--accent)) 12%,var(--surface-2)),var(--surface-2) 46%);border:1px solid color-mix(in srgb,var(--board,var(--accent)) 48%,var(--line));border-top:8px solid var(--board,var(--accent));box-shadow:0 18px 36px -28px color-mix(in srgb,var(--board,var(--accent)) 90%,transparent);display:grid;gap:12px}.beginner-part-slide>span{justify-self:start;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:800;color:#10211f;background:var(--board,var(--accent))}.beginner-part-slide h3{margin:0;font-size:clamp(32px,5vw,48px)}.beginner-part-slide p{margin:0;font-size:18px;line-height:1.6}.beginner-quote{color:var(--board,var(--accent));font-weight:750}.beginner-route{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin:8px 0 16px;padding:0;list-style:none}.beginner-route li{position:relative;padding:8px 16px;border-radius:999px;color:#1b2436;font-weight:800;background:linear-gradient(135deg,#b7cbff,#6ea8ff);box-shadow:0 8px 16px -10px #6ea8ff}.beginner-route li:nth-child(2){background:linear-gradient(135deg,#ffe7a8,#f5c16c);box-shadow:0 8px 16px -10px #f5c16c}.beginner-route li:nth-child(3){background:linear-gradient(135deg,#e7c6ff,#c084fc);box-shadow:0 8px 16px -10px #c084fc}.beginner-route li:nth-child(4){background:linear-gradient(135deg,#ffc7ae,#ff8b6a);box-shadow:0 8px 16px -10px #ff8b6a}.beginner-route li+li:before{content:"→";position:absolute;left:-16px;top:50%;transform:translateY(-50%);color:var(--text-2);font-weight:700}.beginner-part-slide.tone-intro{--board:var(--accent)}.beginner-name-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 0;padding:0;counter-reset:part}.beginner-name-list li{counter-increment:part;display:flex;align-items:center;gap:10px;margin:0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--board,var(--accent)) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--board,var(--accent)) 28%,var(--line));font-weight:750;line-height:1.4}.beginner-name-list li:before{content:counter(part);width:26px;height:26px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--board,var(--accent));color:#10211f;font-size:12px;font-weight:800}.beginner-name-list button{border:0;padding:0;background:none;color:inherit;font:inherit;font-weight:750;cursor:pointer;text-align:left}.beginner-name-list button:hover{text-decoration:underline;text-underline-offset:3px}.beginner-part-slide.tone-0{--board:#6ea8ff}.beginner-part-slide.tone-1{--board:#ff8b6a}.beginner-part-slide.tone-2{--board:#c084fc}.beginner-part-slide.tone-3{--board:#f5c16c}.beginner-part-slide.tone-4{--board:#ff6b9d}.beginner-part-slide.tone-5{--board:#3ddec8}.beginner-part-slide.tone-6{--board:#9aa6ff}.beginner-part-slide.tone-7{--board:#ffb086}.beginner-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.beginner-board.count-3,.beginner-board.count-5,.beginner-board.count-6{grid-template-columns:repeat(3,minmax(0,1fr))}.beginner-board-card{margin:0;padding:16px 14px 14px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line);border-top:5px solid var(--board,var(--accent));display:grid;gap:6px}.beginner-board-card span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;color:#10211f;background:var(--board,var(--accent))}.beginner-board-card h4{margin:4px 0 0;font-size:18px}.beginner-board-card p{margin:0;font-size:14px;line-height:1.5}.beginner-board-card.tone-0{--board:#6ea8ff}.beginner-board-card.tone-1{--board:#ff8b6a}.beginner-board-card.tone-2{--board:#c084fc}.beginner-board-card.tone-3{--board:#f5c16c}.beginner-board-card.tone-4{--board:#ff6b9d}.beginner-board-card.tone-5{--board:#3ddec8}.beginner-board-card.tone-6{--board:#9aa6ff}.beginner-board-card.tone-7{--board:#ffb086}.beginner-video{display:grid;gap:14px}.beginner-video-frame{position:relative;width:min(100%,420px);aspect-ratio:16/9;margin-inline:auto;border-radius:16px;overflow:hidden;background:#10211f}.beginner-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.beginner-video-link{font-weight:750;color:var(--text)}.beginner-player-footer{border-top:1px solid var(--line);padding-top:12px}.beginner-player-footer>p{margin:0;color:var(--text-2);font-size:12px}.beginner-player-footer>p[role=alert]{color:var(--coral)}.beginner-player-footer .grammar-slide-nav{margin-top:10px}.beginner-player-footer .grammar-slide-nav .s-btn{min-width:120px}.beginner-player .s-btn{white-space:normal}.beginner-player :is(button,input,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.beginner-question{display:grid;gap:14px;font-size:17px;line-height:1.65}.beginner-prompt{margin:0;font-size:clamp(18px,2vw,22px);font-weight:600}.beginner-question>.s-btn{justify-self:start}.beginner-question textarea{display:block;width:100%;min-height:90px;border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--surface-2);color:var(--text);resize:vertical;font:inherit;line-height:1.6}.beginner-question textarea[readonly]{opacity:.85}.beginner-question label{color:var(--text)}.beginner-choices{border:0;padding:0;margin:0;display:grid;gap:10px;min-width:0}.beginner-choices label{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;background:var(--surface-2);transition:border-color .15s ease,background .15s ease}.beginner-choices label:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.beginner-choices:disabled label:hover{border-color:var(--line)}.beginner-choices label.selected{border-color:var(--accent);box-shadow:inset 3px 0 var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface-2))}.beginner-choices label.correct{background:color-mix(in srgb,var(--accent) 15%,var(--surface));border-color:var(--accent)}.beginner-choices label span{flex:1 1;min-width:0}.beginner-choices label small{font-weight:600}.beginner-check input,.beginner-choices input{accent-color:var(--accent);width:18px;height:18px;flex:none}.beginner-choices:disabled label{cursor:default}.beginner-feedback{padding:18px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;background:var(--surface-2)}.beginner-feedback.correct{border-left-color:var(--accent)}.beginner-feedback h4{margin:0 0 8px;font-size:18px}.beginner-feedback p{margin:0 0 12px}.beginner-feedback textarea{margin:8px 0 16px;background:var(--surface)}.beginner-check{display:flex;align-items:flex-start;gap:10px;margin:12px 0;cursor:pointer}.beginner-check input{margin-top:4px}.beginner-assessment-note{font-size:14px;color:var(--text-2)}.beginner-writing-checks{line-height:1.6;margin-bottom:20px}.beginner-summary{line-height:1.7;font-size:17px}.beginner-summary>p:first-child{margin-top:0}.beginner-summary h4{margin:22px 0 8px;font-size:18px}.beginner-result-grid{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0}.beginner-result-grid>div{display:grid;gap:4px;flex:1 1 160px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:14px;padding:16px;background:radial-gradient(120% 80% at 0 0,color-mix(in srgb,var(--accent) 16%,transparent),transparent 60%),var(--surface-2)}.beginner-result-grid strong{font-size:28px;color:var(--text)}.beginner-result-grid span{font-size:14px;color:var(--text-2)}.beginner-revisit{list-style:none;padding:0;display:grid;gap:8px}.beginner-revisit button{width:100%;text-align:left;font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:12px;cursor:pointer}.beginner-summary .grammar-actions{margin:20px 0}.beginner-restart-confirm{margin-top:20px}.beginner-restart-confirm button{margin:0 10px 8px 0}.beginner-topic-tag{margin-left:auto;flex-shrink:0;font-size:11px;color:var(--text-2);border:1px solid var(--line);border-radius:20px;padding:2px 8px}.beginner-visual,.grammar-topics button.done{color:var(--text)}.beginner-visual{margin:0}.beginner-visual figcaption{font-weight:750;font-size:22px;margin-bottom:20px}.beginner-visual p{font-size:16px;line-height:1.7}.beginner-example-picker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}.beginner-example-picker button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--surface))}.beginner-sentence{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}.beginner-part{flex:1 1 125px;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:14px;background:var(--surface-2);padding:18px;display:grid;gap:10px}.beginner-part.predicate{border-top-color:var(--gold)}.beginner-part small{font-size:12px;color:var(--text-2)}.beginner-part strong{font-size:clamp(20px,3vw,28px)}.beginner-join{align-self:center;font-size:26px;color:var(--text-2)}.beginner-diagram-rows{display:grid;gap:25px}.beginner-diagram-label{margin-top:0;font-weight:700}.beginner-diagram-rows h3{font-size:17px}.beginner-picture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.beginner-picture-grid>div{padding:18px 14px;border:1px solid var(--line);background:var(--surface-2);border-radius:16px}.beginner-picture-grid strong{display:block;font-size:19px;line-height:1.5}.beginner-picture-grid p{margin-bottom:0;font-size:14px}.beginner-owner-count{display:block;font-size:12px;margin-bottom:16px;color:var(--text-2)}.beginner-visual mark{background:color-mix(in srgb,var(--gold) 30%,transparent);color:var(--text);border-radius:4px;padding:0 2px}.beginner-apples{display:flex;gap:8px;height:80px;align-items:center}.beginner-apples i{display:block;width:32px;height:34px;background:#e97054;border-radius:40% 40% 45% 45%;position:relative}.beginner-apples i:before{content:"";position:absolute;width:12px;height:7px;border-radius:12px 0;background:#74ad79;top:-6px;left:15px;transform:rotate(-25deg)}.beginner-water{height:45px;margin:21px 0 14px;border-radius:50%;background:#65b7d4;border:4px solid #9fd5e6}.beginner-glasses{display:flex;gap:12px;height:80px;align-items:center}.beginner-glasses i{width:38px;height:51px;border:3px solid #a8dce9;background:linear-gradient(transparent 28%,#65b7d4 0);border-radius:3px 3px 9px 9px}.beginner-pencils{display:grid;gap:24px;padding:25px 0}.beginner-pencils>div{display:flex;align-items:center;gap:15px}.beginner-pencils b{width:15px;flex:none}.beginner-pencil{display:block;height:26px;background:linear-gradient(#e8ba56 0 30%,#f3d580 30% 70%,#d69b37 70%);border-left:15px solid #e39b9e;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%)}.beginner-comparison-notes{display:flex;flex-wrap:wrap;gap:20px}.beginner-comparison-notes p{flex:1 1 200px}.beginner-place-scene{width:100%;height:auto;background:var(--surface-2);border-radius:16px;color:var(--text)}.beginner-place-scene text{fill:currentColor;font-family:inherit;font-size:16px}.beginner-location-key{padding-left:22px;font-size:17px;line-height:1.7}.beginner-location-key li{margin:7px 0}.beginner-repaired{border-left:3px solid var(--accent);background:var(--surface-2);padding:12px 16px}.beginner-repaired strong{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}@media (max-width:640px){.student .s-dialog.beginner-player,html[data-theme] .student .s-dialog.beginner-player{width:100%;height:100%;max-height:100%;padding:16px 14px 12px;border-radius:18px}.grammar-overlay .s-dialog-backdrop:has(.beginner-player){padding:12px 6px}.beginner-player-header h2{margin-bottom:12px}.beginner-player-header .eyebrow{font-size:10px}.beginner-phases{gap:5px}.beginner-phases button{padding:6px 10px;font-size:12px}.beginner-player-body{padding:18px 0}.beginner-board,.beginner-board.count-3,.beginner-board.count-5,.beginner-board.count-6,.beginner-name-list,.beginner-picture-grid{grid-template-columns:1fr}.beginner-picture-grid>div{padding:15px}.beginner-sentence{gap:8px}.beginner-part{padding:12px}.beginner-join{display:none}.beginner-choices label{padding:12px}.beginner-feedback{padding:14px}.beginner-topic-tag{font-size:10px}.beginner-place-scene text{display:none}}.grammar-overlay.student{position:fixed;inset:0;z-index:80;min-height:0;margin:0;background:transparent;animation:none;isolation:auto}.grammar-overlay .s-dialog-backdrop{place-items:start center;overflow-y:auto;padding:24px 16px 32px}.student .s-dialog.grammar-modal,html[data-theme] .student .s-dialog.grammar-modal{width:min(1320px,calc(100vw - 24px));max-height:min(94vh,940px);overflow:hidden;display:flex;flex-direction:column}.grammar-modal-grid{flex:1 1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.grammar-modal-col{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;padding:14px;border-radius:16px;background:color-mix(in srgb,var(--tone,var(--violet)) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--tone,var(--violet)) 35%,var(--line));overflow:hidden}.grammar-modal-col h3{margin:0;flex:none}.grammar-modal-col ol{flex:1 1 auto;min-height:240px;max-height:min(58vh,620px);margin:0;padding:0 12px 4px 2.8em;overflow-y:auto;overscroll-behavior:contain;color:var(--text-2);font-size:14px}.grammar-modal-col li{margin:6px 0;padding-right:4px}.grammar-modal-col .s-btn{flex:none}.grammar-modal-col.track-beginner .s-btn.primary,html[data-theme] .student .grammar-modal-col.track-beginner .s-btn.primary{background:linear-gradient(128deg,#8eb6ff,#4d74e8 58%);border-color:#4d74e8;box-shadow:inset 0 1px 0 #ffffff55,0 2px 0 #2d4eb8}.grammar-modal-col.track-intermediate .s-btn.primary,html[data-theme] .student .grammar-modal-col.track-intermediate .s-btn.primary{background:linear-gradient(128deg,#d7a6ff,#9a4ef0 58%);border-color:#9a4ef0;box-shadow:inset 0 1px 0 #ffffff55,0 2px 0 #6d2cb8}.grammar-modal-col.track-advanced .s-btn.primary,html[data-theme] .student .grammar-modal-col.track-advanced .s-btn.primary{background:linear-gradient(128deg,#ffb089,#e86a45 58%);border-color:#e86a45;box-shadow:inset 0 1px 0 #ffffff55,0 2px 0 #b04428}.grammar-modal-col .s-btn.primary,html[data-theme] .student .grammar-modal-col .s-btn.primary{color:#fff}html[data-theme] .student .grammar-modal-col.track-beginner .s-btn.primary:hover:not(:disabled){background:linear-gradient(128deg,#a4c4ff,#3d64d8 58%)}html[data-theme] .student .grammar-modal-col.track-intermediate .s-btn.primary:hover:not(:disabled){background:linear-gradient(128deg,#e2b8ff,#8a3ee0 58%)}html[data-theme] .student .grammar-modal-col.track-advanced .s-btn.primary:hover:not(:disabled){background:linear-gradient(128deg,#ffc09a,#d85a36 58%)}.grammar-overlay .s-dialog-backdrop.grammar-welcome-backdrop{place-items:center;align-content:center;padding:24px 16px}.grammar-welcome,.student .card.s-dialog.grammar-welcome,html[data-theme] .student .card.s-dialog.grammar-welcome{position:relative;overflow:hidden;width:min(560px,calc(100vw - 32px));margin:0;padding:28px 28px 24px;text-align:center;color:#f7fbfa;border:1px solid #8eb6ff77;background:radial-gradient(70% 60% at 0 0,#6ea8ff66,transparent 58%),radial-gradient(60% 55% at 100% 0,#c084fc55,transparent 52%),radial-gradient(50% 45% at 70% 120%,#f5c16c44,transparent 55%),linear-gradient(145deg,#172448,#1a1430 55%,#2a1c14);box-shadow:0 28px 60px -24px #000c,inset 0 1px 0 #ffffff33}.grammar-welcome>*{position:relative;z-index:1}.grammar-welcome:after,.grammar-welcome:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.grammar-welcome:before{width:160px;height:160px;top:-70px;right:-40px;background:radial-gradient(circle,#f5c16c66,transparent 68%)}.grammar-welcome:after{width:120px;height:120px;left:-46px;bottom:-50px;background:radial-gradient(circle,#6ea8ff55,transparent 70%)}.grammar-welcome-mark{position:relative;width:64px;height:64px;margin:0 auto 10px;display:grid;place-items:center;border-radius:22px;color:#fff;background:linear-gradient(160deg,#ffffff40,#ffffff14);border:1px solid #ffffff55;box-shadow:0 12px 24px -14px #6ea8ff,inset 0 1px 0 #fff6}.grammar-welcome-mark svg{width:28px;height:28px}.grammar-welcome .eyebrow{position:relative;color:#d6e4ff}.grammar-welcome h2{position:relative;margin:8px 0;color:#fff;font-size:clamp(32px,4vw,42px);line-height:1.12;letter-spacing:-.03em}.grammar-welcome-lead{position:relative;margin:0 0 16px;color:#d7c6ff;font-size:18px;font-weight:700;line-height:1.4}.grammar-welcome-points{position:relative;display:grid;gap:8px;margin:0 0 14px;padding:0;list-style:none;text-align:left}.grammar-welcome-points li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;color:#f7fbfa;background:#ffffff14;border:1px solid #ffffff22}.grammar-welcome-points li:first-child{box-shadow:inset 3px 0 #6ea8ff}.grammar-welcome-points li:nth-child(2){box-shadow:inset 3px 0 #c084fc}.grammar-welcome-points li:nth-child(3){box-shadow:inset 3px 0 #f5c16c}.grammar-welcome-points svg{width:18px;height:18px;flex:none;color:#fff}.grammar-welcome p{position:relative;margin:0 0 12px;line-height:1.55;color:#e7f6f3}.grammar-welcome .s-btn.primary,html[data-theme] .student .grammar-welcome .s-btn.primary{margin-top:10px;color:#fff;background:linear-gradient(128deg,#8eb6ff,#4d74e8 58%);border-color:#4d74e8}.grammar-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.grammar-modal-head .eyebrow{margin:0}.grammar-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.grammar-page-head .section-head{flex:1 1;min-width:0}.grammar-page-head .s-btn{flex:none}.grammar-modal-col .s-btn.primary:disabled{opacity:.72;cursor:default;filter:none}.grammar-topic-link{padding:0;border:0;background:none;color:#d7efe9;font:inherit;font-size:14px;line-height:1.4;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.grammar-modal-col.track-intermediate .grammar-topic-link{color:#ddd6ff}.grammar-modal-col.track-advanced .grammar-topic-link{color:#ffd5c8}.grammar-topic-link:hover{color:#fff}.grammar-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%}.grammar-level{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;align-content:center;min-height:168px;padding:22px 20px 18px 22px;text-align:left;color:#fff;border:1px solid color-mix(in srgb,var(--level) 55%,transparent);border-radius:8px 28px 8px 28px;background:radial-gradient(80% 90% at 100% 0,color-mix(in srgb,#fff 28%,var(--wash)) 0,transparent 46%),radial-gradient(70% 80% at 0 110%,var(--wash) 0,transparent 52%),linear-gradient(128deg,var(--from) 0,var(--to) 78%);box-shadow:inset 0 1px 0 #ffffff33,0 16px 28px -18px var(--wash);cursor:pointer}.grammar-level.track-beginner{--level:#d6e4ff;--wash:#6ea8ff;--from:#1c3f8f;--to:#12182c}.grammar-level.track-intermediate{--level:#f3e4ff;--wash:#c084fc;--from:#5a2a8f;--to:#1a1028}.grammar-level.track-advanced{--level:#ffe4d8;--wash:#ff8b6a;--from:#8a3a22;--to:#24140f}.grammar-level-mark{grid-row:span 2;width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(160deg,#ffffff38,#ffffff14);border:1px solid #ffffff40;color:#fff}.grammar-level-mark svg{width:22px;height:22px}.grammar-level-copy{display:grid;gap:4px;min-width:0}.grammar-level-copy strong{font-size:22px;color:#fff}.grammar-level-copy span{color:#f4f7f6;font-size:14px;line-height:1.45}.grammar-level-meta{color:var(--level);font-weight:800}.grammar-level .grammar-chip{position:static;justify-self:start;background:#ffffff22;color:#fff}.grammar-level.selected{outline:2px solid var(--level);outline-offset:3px}.grammar-level:hover{filter:brightness(1.08)}@media (max-width:860px){.grammar-levels{grid-template-columns:1fr}}.grammar-percent{display:grid;gap:12px;margin-bottom:14px}.grammar-percent h2{margin:2px 0;font-size:40px;letter-spacing:-.03em}.grammar-percent p{margin:0;color:var(--text-3)}.grammar-row.locked{opacity:.62}.grammar-chip{position:absolute;top:14px;right:14px;z-index:1;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--tone) 18%,var(--surface));color:var(--tone);font-size:11px;font-weight:700}.grammar-switch{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.grammar-switch button{min-height:36px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text-2);font:inherit;font-weight:700}.grammar-switch button.on{background:var(--tone,var(--violet));color:#fff;border-color:transparent}.grammar-note{margin:0 0 14px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--gold) 14%,var(--surface));color:var(--text);font-size:14px}.grammar-note.ready{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.grammar-resume{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.grammar-resume h2{margin:4px 0;font-size:22px}.grammar-resume p{margin:0;color:var(--text-3)}.grammar-starts{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}.grammar-starts .s-btn.primary{min-height:48px;padding-inline:22px;font-size:16px}.grammar-swatches{display:grid;gap:12px;margin-bottom:16px}.grammar-swatch{display:grid;gap:12px;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--surface)}.grammar-swatch-head{display:flex;align-items:center;gap:12px}.grammar-swatch-head div{display:grid;gap:2px}.grammar-swatch strong{font-size:16px}.grammar-swatch-head small,.grammar-swatch-head span{color:var(--text-3)}.grammar-swatch-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:var(--surface-2);color:var(--text);font-weight:800;flex:none}.grammar-swatch.done{border-color:#1c8c4e}.grammar-swatch.done .grammar-swatch-mark{background:#1c8c4e;color:#fff}.grammar-swatch.locked{opacity:.72}.grammar-topics{list-style:none;margin:0;padding:0;display:grid;gap:6px}.grammar-topics button,.grammar-topics li span{width:100%;text-align:left;border-radius:12px;padding:10px 12px;color:var(--text);background:var(--surface-2)}.grammar-topics li span{display:block;color:var(--text-3)}.grammar-topics button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);cursor:pointer}.grammar-topics button.done{border-color:#1c8c4e;color:#9ee0b8}.student .s-dialog.grammar-slide-modal,html[data-theme] .student .s-dialog.grammar-slide-modal{position:relative;width:min(760px,calc(100vw - 32px));max-height:min(86vh,720px);display:flex;flex-direction:column;overflow:hidden;color:var(--text);border:1px solid var(--line);background:var(--surface);box-shadow:0 24px 60px -18px #000c}.grammar-slide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.grammar-slide-close{position:static;flex:none;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface-2);color:var(--text);cursor:pointer}.grammar-slide-close:hover{background:var(--surface-3)}.grammar-slide-modal .grammar-step{color:var(--accent-fg);font-weight:800;letter-spacing:.04em}.grammar-slide-modal h2{margin:0;color:var(--text)}.grammar-slide-dots{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}.grammar-slide-dots i{width:22px;height:8px;border-radius:99px;background:var(--surface-3)}.grammar-slide-dots i.done{background:var(--accent)}.grammar-slide-dots i.on{background:var(--gold)}.grammar-slide-modal .grammar-ask>p,.grammar-slide-modal .grammar-diagram,.grammar-slide-modal .grammar-diagram .grammar-compare li,.grammar-slide-modal .grammar-diagram .grammar-compare strong,.grammar-slide-modal .grammar-diagram figcaption,.grammar-slide-modal .grammar-diagram small,.grammar-slide-modal .grammar-examples,.grammar-slide-modal .grammar-result p,.grammar-slide-modal .grammar-summary,.grammar-slide-modal .grammar-why{color:var(--text)}.grammar-slide-modal .grammar-diagram{border:1px solid var(--line);background:var(--surface-2)}.grammar-slide-modal .grammar-compare>div{background:var(--surface);color:var(--text);border:1px solid var(--line)}.grammar-slide-modal .grammar-compare>div:first-child{border-top:3px solid var(--accent)}.grammar-slide-modal .grammar-compare>div:last-child{border-top:3px solid var(--gold)}.grammar-slide-body{overflow:auto;min-height:0;display:grid;gap:12px;align-content:start}.grammar-slide-nav{display:flex;justify-content:space-between;gap:10px;margin-top:14px}.grammar-path.track-beginner{--path:#6ea8ff;--path-ink:#e7efff}.grammar-path.track-intermediate{--path:#c084fc;--path-ink:#f6eaff}.grammar-path.track-advanced{--path:#ff8b6a;--path-ink:#ffe8e0}.grammar-path .card.grammar-percent,html[data-theme] .student .grammar-path .card.grammar-percent{background:radial-gradient(70% 120% at 100% 0,color-mix(in srgb,var(--path) 48%,transparent),transparent 52%),radial-gradient(55% 90% at 0 100%,#c084fc33,transparent 50%),linear-gradient(135deg,color-mix(in srgb,var(--path) 18%,var(--surface)),var(--surface) 62%);border:1px solid color-mix(in srgb,var(--path) 48%,var(--line))}.grammar-path .grammar-percent .eyebrow,.grammar-path .grammar-percent h2{color:var(--path-ink)}.grammar-path .bar>span{background:linear-gradient(90deg,var(--path),#c084fc 55%,#f5c16c)}.grammar-path .grammar-note{background:linear-gradient(100deg,color-mix(in srgb,var(--path) 24%,var(--surface)),color-mix(in srgb,#e8ba56 20%,var(--surface)));border:1px solid color-mix(in srgb,var(--path) 36%,var(--line))}.grammar-path .grammar-swatch:nth-child(6n+1){--swatch:#6ea8ff}.grammar-path .grammar-swatch:nth-child(6n+2){--swatch:#c084fc}.grammar-path .grammar-swatch:nth-child(6n+3){--swatch:#ff8b6a}.grammar-path .grammar-swatch:nth-child(6n+4){--swatch:#f5c16c}.grammar-path .grammar-swatch:nth-child(6n+5){--swatch:#ff6b9d}.grammar-path .grammar-swatch:nth-child(6n+6){--swatch:#3ddec8}.grammar-path .grammar-swatch{padding:16px;border-radius:18px;background:radial-gradient(90% 80% at 0 0,color-mix(in srgb,var(--swatch) 36%,transparent),transparent 55%),linear-gradient(145deg,color-mix(in srgb,var(--swatch) 14%,var(--surface)),var(--surface) 64%);border-color:color-mix(in srgb,var(--swatch) 46%,var(--line));box-shadow:0 16px 30px -24px color-mix(in srgb,var(--swatch) 80%,transparent)}.grammar-path .grammar-swatch-mark{background:color-mix(in srgb,var(--swatch) 28%,var(--surface));color:#fff;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--swatch) 70%,transparent)}.grammar-path .grammar-swatch-head strong{color:var(--swatch)}.grammar-path .grammar-topics button{background:color-mix(in srgb,var(--swatch) 10%,var(--surface-2));border-color:color-mix(in srgb,var(--swatch) 28%,var(--line));transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.grammar-path .grammar-topics button:focus-visible,.grammar-path .grammar-topics button:hover{transform:translateX(4px);background:color-mix(in srgb,var(--swatch) 28%,var(--surface));border-color:var(--swatch);box-shadow:0 10px 18px -14px var(--swatch)}.grammar-path .grammar-topics button.done{color:#d9ffe8;background:color-mix(in srgb,#1c8c4e 28%,var(--surface))}.beginner-phases button[aria-current]{color:#fff;border-color:transparent;background:linear-gradient(128deg,#8eb6ff,#4d74e8);box-shadow:0 8px 16px -10px #6ea8ff}.beginner-phases button:nth-child(2)[aria-current]{background:linear-gradient(128deg,#ffd78a,#d79a32);box-shadow:0 8px 16px -10px #f5c16c}.beginner-phases button:nth-child(3)[aria-current]{background:linear-gradient(128deg,#d7a6ff,#9a4ef0);box-shadow:0 8px 16px -10px #c084fc}.beginner-phases button:nth-child(4)[aria-current]{background:linear-gradient(128deg,#ffb089,#e86a45);box-shadow:0 8px 16px -10px #ff8b6a}.beginner-phases button:nth-child(5)[aria-current]{background:linear-gradient(128deg,#7dffe8,#14a890);box-shadow:0 8px 16px -10px #3ddec8}.beginner-step,.grammar-slide-body{animation:grammar-step-in .28s ease}.grammar-slide-modal.track-beginner{--slide:#6ea8ff}.grammar-slide-modal.track-intermediate{--slide:#c084fc}.grammar-slide-modal.track-advanced{--slide:#ff8b6a}.student .s-dialog.grammar-slide-modal,html[data-theme] .student .s-dialog.grammar-slide-modal{background:radial-gradient(55% 48% at 0 0,color-mix(in srgb,var(--slide,var(--accent)) 42%,transparent),transparent 60%),radial-gradient(40% 36% at 100% 0,#c084fc33,transparent 55%),var(--surface);border-color:color-mix(in srgb,var(--slide,var(--accent)) 45%,var(--line))}@keyframes grammar-step-in{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.beginner-step,.grammar-path .grammar-topics button,.grammar-slide-body{animation:none;transition:none}}.grammar-unit{margin:0 0 18px}.grammar-unit-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin:0 0 8px}.grammar-unit-head h2{margin:0;font-size:18px}.grammar-unit-head p{margin:0;color:var(--text-2)}.grammar-unit-head span{margin-left:auto;color:var(--text-3);font-size:13px;font-weight:700}.grammar-unit.locked .grammar-unit-head span{color:var(--gold)}.grammar-list{list-style:none;display:grid;gap:8px;margin:0 0 14px;padding:0}.grammar-row{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;color:var(--text)}.grammar-row strong{display:block}.grammar-kind{display:block;margin-top:2px;color:var(--text-3);font-size:13px}.grammar-row.review{border-color:color-mix(in srgb,var(--gold) 45%,var(--line))}.grammar-row.capstone{border-color:color-mix(in srgb,var(--violet) 50%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--violet) 16%,var(--surface)),var(--surface))}.grammar-row.here{outline:2px solid var(--tone,var(--accent))}.grammar-row.done .grammar-index{background:var(--accent);color:#fff}.grammar-index{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:var(--tone-soft,var(--surface-2));color:var(--tone,var(--text));font-weight:800}.grammar-player{display:grid;gap:14px;align-content:start}.grammar-player h1{margin:0;font-size:clamp(26px,4vw,36px)}.grammar-player-top{display:flex;align-items:center;gap:10px}.grammar-player-top p{margin:0;color:var(--text-3);font-weight:700}.grammar-dots{display:flex;gap:6px;margin-left:auto}.grammar-dots i{width:8px;height:8px;border-radius:99px;background:var(--surface-3)}.grammar-dots i.on{background:var(--tone,var(--accent))}.grammar-lead,.grammar-step,.grammar-summary{margin:0;color:var(--text-2)}.grammar-diagram{margin:0;padding:16px;border-radius:18px;border:1px solid var(--line);background:radial-gradient(180px 90px at 100% 0,color-mix(in srgb,var(--tone,var(--violet)) 22%,transparent),transparent 70%),var(--surface)}.grammar-diagram figcaption{margin-bottom:12px;font-weight:800}.grammar-time{position:relative;height:92px;margin:28px 8px 8px}.grammar-time-line{position:absolute;left:0;right:0;top:18px;height:4px;border-radius:99px;background:color-mix(in srgb,var(--tone,var(--accent)) 55%,var(--line))}.grammar-time-point{position:absolute;top:10px;transform:translateX(-50%);width:120px;text-align:center}.grammar-time-point b,.grammar-time-point small{display:block}.grammar-time-point b:before{content:"";display:block;width:12px;height:12px;margin:0 auto 6px;border-radius:50%;background:var(--surface);border:3px solid var(--tone,var(--accent))}.grammar-time-point.now b:before{background:var(--tone,var(--accent))}.grammar-time-point small{color:var(--text-3);font-size:12px}.grammar-blocks,.grammar-compare,.grammar-flow>div,.grammar-icons{display:flex;flex-wrap:wrap;gap:8px}.grammar-block,.grammar-compare>div,.grammar-flow p,.grammar-icons li{margin:0;padding:10px 12px;border-radius:14px;background:var(--surface-2)}.grammar-block{display:grid;gap:2px}.grammar-block small,.grammar-icons small{color:var(--text-3)}.grammar-block.tone-subject{background:color-mix(in srgb,var(--accent) 24%,var(--surface))}.grammar-block.tone-verb{background:color-mix(in srgb,var(--violet) 28%,var(--surface))}.grammar-block.tone-object{background:color-mix(in srgb,var(--gold) 24%,var(--surface))}.grammar-block.tone-extra{background:color-mix(in srgb,var(--coral) 22%,var(--surface))}.grammar-flow{display:grid;gap:8px}.grammar-flow-q{font-weight:800}.grammar-compare{display:grid;grid-template-columns:1fr 1fr}.grammar-checks,.grammar-compare ul,.grammar-examples{margin:8px 0 0;padding-left:18px}.grammar-icons{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.grammar-icons li{display:grid;gap:2px}.grammar-icons li span{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:var(--tone,var(--violet));color:#fff;font-weight:800}.grammar-examples li{margin:6px 0}.grammar-ask{display:grid;gap:12px}.grammar-ask>p{margin:0;font-size:18px;font-weight:700}.grammar-built,.grammar-options,.grammar-words{display:flex;flex-wrap:wrap;gap:8px}.grammar-blank{margin:0;padding:14px;border-radius:14px;background:var(--surface-2);font-size:18px}.grammar-blank.over{outline:2px solid var(--accent)}.grammar-blank strong{padding:0 6px;border-bottom:2px solid var(--tone,var(--accent))}.grammar-why{margin:0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--coral) 16%,var(--surface))}.grammar-why.ok{background:color-mix(in srgb,var(--accent) 16%,var(--surface))}.grammar-fix{margin:0;color:var(--text-2)}.grammar-wrong{border-color:var(--coral);color:var(--coral)}.grammar-show{border-color:var(--accent)}.grammar-actions{display:flex;flex-wrap:wrap;gap:8px}.grammar-built{min-height:52px;padding:8px;border-radius:14px;background:var(--surface-2)}.grammar-placeholder{color:var(--text-3);align-self:center}.grammar-write textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);font:inherit;resize:vertical}.grammar-checks{list-style:none;padding:0}.grammar-checks label{display:flex;gap:8px;align-items:flex-start}.grammar-result{display:grid;justify-items:start;gap:8px}.grammar-medal{width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:var(--gold);color:#2a2112}.grammar-result h2{margin:0}@media (max-width:720px){.grammar-compare,.grammar-resume{display:grid;grid-template-columns:1fr}.grammar-modal-grid{grid-template-columns:1fr}.grammar-modal-col ol{max-height:280px;padding-left:2.4em}.grammar-time-point{width:88px}}.beginner-guide{margin:0}.beginner-guide figcaption{font-size:1.45rem;font-weight:750;margin-bottom:20px}.beginner-guide-rows{display:grid;gap:18px}.beginner-guide-row{padding:16px;background:#f3f7f7;border:1px solid #cbd9d8;border-radius:12px}.beginner-guide-row h4{margin:0 0 12px;font-size:1rem;color:#254746}.beginner-word-route{display:flex;flex-wrap:wrap;gap:12px}.beginner-word-tile{flex:1 1 145px;min-width:0;padding:14px;border-bottom:4px solid #33807a;background:white;border-radius:7px}.beginner-word-tile:nth-child(2n){border-color:#9b651d}.beginner-word-tile strong{display:block;color:#173b38;font-size:1.2rem;line-height:1.4;overflow-wrap:anywhere}.beginner-word-tile span{display:block;margin-top:7px;color:#415955;font-size:.95rem;line-height:1.45}.beginner-player .beginner-learning-goal{font-size:1rem;color:var(--text-2);margin:0 0 18px}.beginner-video-recap{margin-top:24px}.beginner-video-recap li{margin:12px 0;line-height:1.6}.beginner-video-route{border:1px solid #b7ceca;border-radius:10px;padding:16px;margin:24px 0 0}.beginner-video-route legend{font-weight:700;padding:0 6px}.beginner-video-route label{display:flex;align-items:flex-start;gap:10px;padding:12px 0;line-height:1.5}.beginner-video-route input{flex:0 0 auto;width:20px;height:20px;margin-top:2px;accent-color:#17645b}@media (max-width:600px){.beginner-guide-row{padding:12px}.beginner-word-tile{flex-basis:100%;padding:12px}.beginner-guide figcaption{font-size:1.25rem}}.appendix-browser{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}html[data-theme] .student .card.appendix-main,html[data-theme] .student .card.appendix-side{padding:0;overflow:hidden;min-height:0}.student .appendix-main,.student .appendix-side{position:relative}.student .appendix-main:before,.student .appendix-side:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;z-index:2}.student .appendix-side:before{background:linear-gradient(90deg,var(--accent),var(--gold))}.student .appendix-main:before{background:linear-gradient(90deg,var(--accent),var(--violet),var(--coral))}.student .appendix-side{position:sticky;top:12px;display:flex;flex-direction:column;max-height:calc(100dvh - 132px);background:radial-gradient(240px 160px at 0 0,color-mix(in srgb,var(--accent) 42%,transparent),transparent 68%),radial-gradient(180px 140px at 100% 80%,color-mix(in srgb,var(--gold) 22%,transparent),transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--accent) 12%,var(--surface)),var(--surface) 180px)}html[data-theme] .student .card.appendix-main{background:radial-gradient(480px 220px at 100% 0,color-mix(in srgb,var(--violet) 36%,transparent),transparent 62%),radial-gradient(340px 200px at 0 100%,color-mix(in srgb,var(--coral) 26%,transparent),transparent 68%),radial-gradient(260px 160px at 30% 20%,color-mix(in srgb,var(--gold) 16%,transparent),transparent 70%),var(--surface)}.appendix-main-head,.appendix-side-head{padding:18px 16px 12px}.appendix-main-head h1,.appendix-side-head h2{margin:2px 0 0;font-size:22px;letter-spacing:-.03em}.appendix-main-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;border-bottom:1px solid var(--line)}.appendix-main-head h1:after,.appendix-side-head h2:after{content:"";display:block;width:64px;height:3px;margin-top:8px;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--violet),transparent)}.appendix-main-head h1{font-size:clamp(26px,3vw,34px)}.appendix-main-head p:last-child{margin:6px 0 0;color:var(--text-3);font-size:13px}.appendix-main-tools{display:flex;gap:8px;align-items:center}.appendix-topics-btn{display:none}.appendix-find{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text-3)}.appendix-find input{width:100%;min-height:38px;border:0;background:transparent;color:var(--text);font:inherit;font-size:14px}.appendix-find input:focus{outline:none}.appendix-find:focus-within{border-color:var(--accent)}.appendix-find svg{width:16px;height:16px;flex-shrink:0}.appendix-side-head .appendix-find{margin-top:12px}.appendix-scroll,.appendix-tree,.appendix-work-scroll,.appendix-work-tree{overflow:auto;min-height:0}.appendix-tree{padding:4px 8px 12px}.student .appendix-main{display:flex;flex-direction:column;max-height:calc(100dvh - 132px);min-height:520px}.appendix-scroll{flex:1 1;animation:appendix-sheet .38s cubic-bezier(.22,1,.36,1)}.appendix-admin-topic,.appendix-topic-row{display:flex;align-items:center;gap:2px;border-radius:10px}.student .appendix-topic-row{margin:6px 10px;padding:1px 8px 1px 4px;border:1px solid #ffffff38;border-radius:999px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.student .appendix-topic.depth-1>.appendix-topic-row{margin-left:22px}.student .appendix-topic.depth-2>.appendix-topic-row{margin-left:34px}.student .appendix-topic.depth-0>.appendix-topic-row{background:linear-gradient(180deg,#ffffff59,#ffffff14 38%,transparent 52%),linear-gradient(180deg,#2f6d9a,#173a56);box-shadow:inset 0 1px 0 #ffffff88,0 8px 14px -10px #0d2740}.student .appendix-topic.depth-1>.appendix-topic-row,.student .appendix-topic.depth-2>.appendix-topic-row{background:linear-gradient(180deg,#ffffff55,#ffffff12 36%,transparent 52%),linear-gradient(180deg,#3e8f6a,#1e5640);box-shadow:inset 0 1px 0 #ffffff80,0 8px 14px -10px #143828}.student .appendix-topic-row:hover{transform:translateY(-1px);border-color:#ffffff70}.student .appendix-topic.depth-0>.appendix-topic-row.on{border-color:#fff;box-shadow:inset 0 1px 0 #ffffffaa,0 0 0 1px #ffffff55,0 8px 16px -8px #2f6d9a}.student .appendix-topic.depth-1>.appendix-topic-row.on,.student .appendix-topic.depth-2>.appendix-topic-row.on{border-color:#fff;box-shadow:inset 0 1px 0 #ffffffaa,0 0 0 1px #ffffff55,0 8px 16px -8px #3e8f6a}.student .appendix-topic-row .appendix-topic-name,.student .appendix-topic-row .appendix-twist{color:#fff}.appendix-branch{animation:appendix-branch .24s cubic-bezier(.22,1,.36,1)}.student .appendix-topic-name:before{content:"";width:8px;height:8px;border-radius:99px;flex:0 0 auto;background:#d7ecff;box-shadow:0 0 0 3px #d7ecff44,0 0 8px #d7ecff}.student .appendix-topic.depth-1 .appendix-topic-name:before,.student .appendix-topic.depth-2 .appendix-topic-name:before{background:#b7f0d4;box-shadow:0 0 0 3px #b7f0d444,0 0 8px #b7f0d4}.appendix-admin-topic>button:last-child,.appendix-topic-name{display:flex;align-items:center;gap:8px;flex:1 1;min-width:0;padding:8px 8px 8px 2px;border:0;background:none;color:var(--text);font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}.appendix-admin-topic>button:last-child span,.appendix-topic-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appendix-admin-topic em,.appendix-group span,.appendix-topic-name em{margin-left:auto;color:var(--text-3);font-style:normal;font-size:12px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.student .appendix-topic-name em{min-width:1.6em;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--accent) 22%,var(--surface));color:var(--accent-fg);text-align:center;box-shadow:inset 0 1px 0 #ffffff33}.student .appendix-topic.depth-1 .appendix-topic-name em{background:color-mix(in srgb,var(--violet) 24%,var(--surface));color:color-mix(in srgb,var(--violet) 78%,var(--text))}.student .appendix-topic.depth-2 .appendix-topic-name em{background:color-mix(in srgb,var(--coral) 22%,var(--surface));color:color-mix(in srgb,var(--coral) 75%,var(--text))}.student .appendix-topic-row .appendix-topic-name em,.student .appendix-topic-row.on .appendix-topic-name em{background:#ffffff2e;color:#fff}.appendix-twist,.student .appendix-twist{width:28px;min-height:28px;padding:0;border:0;border-radius:8px;background:none;color:var(--text-3);box-shadow:none}.student .appendix-twist.empty{display:none}.appendix-twist.empty{display:inline-block}.appendix-twist svg{width:14px;height:14px;transition:transform .15s ease}.appendix-twist.open svg{transform:rotate(-180deg)}.appendix-group{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:8px;margin:12px 14px 4px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--violet) 45%,#fff);border-radius:12px;background:linear-gradient(90deg,color-mix(in srgb,var(--violet) 28%,var(--surface)),color-mix(in srgb,var(--coral) 12%,var(--surface)));color:color-mix(in srgb,var(--violet) 55%,var(--text));font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;box-shadow:inset 0 1px 0 #ffffff33,0 3px 0 color-mix(in srgb,var(--violet) 18%,transparent)}.appendix-group span{padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--violet) 24%,var(--surface));color:color-mix(in srgb,var(--violet) 70%,var(--text))}.appendix-words{list-style:none;margin:0;padding:0 8px 8px}.appendix-words li{display:flex;align-items:center;border-radius:12px}.appendix-words li:before{content:"";width:8px;height:8px;margin-left:12px;border-radius:99px;flex:0 0 auto;background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 80%,transparent)}.appendix-words li.tone-1:before{background:var(--violet);box-shadow:0 0 8px color-mix(in srgb,var(--violet) 80%,transparent)}.appendix-words li.tone-2:before{background:var(--gold);box-shadow:0 0 8px color-mix(in srgb,var(--gold) 80%,transparent)}.appendix-words li.tone-3:before{background:var(--coral);box-shadow:0 0 8px color-mix(in srgb,var(--coral) 80%,transparent)}.student .appendix-word{flex:0 1 auto;max-width:calc(100% - 48px);min-height:42px;margin:3px 0 3px 8px;padding:6px 12px;border:1.5px solid transparent;border-radius:12px;background:none;color:var(--text);font-family:Merriweather,Georgia,serif;font-size:17px;font-weight:600;letter-spacing:-.02em;text-align:left;cursor:pointer;transition:color .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.appendix-words li:focus-within .appendix-word,.appendix-words li:hover .appendix-word{color:#fff;border-color:#ffffff66;background:linear-gradient(180deg,#15756c,#0a3d3a);box-shadow:inset 0 1px 0 #ffffff40,0 4px 0 #062e2c,0 0 14px color-mix(in srgb,var(--accent) 45%,transparent);transform:translateY(-1px)}.appendix-words li.tone-1:focus-within .appendix-word,.appendix-words li.tone-1:hover .appendix-word{background:linear-gradient(180deg,#5a3ec0,#311e78);box-shadow:inset 0 1px 0 #ffffff40,0 4px 0 #24145c,0 0 14px color-mix(in srgb,var(--violet) 50%,transparent)}.appendix-words li.tone-2:focus-within .appendix-word,.appendix-words li.tone-2:hover .appendix-word{color:#fff8e8;border-color:#ffffff55;background:linear-gradient(180deg,#8a5a12,#5c3a0c);box-shadow:inset 0 1px 0 #ffffff40,0 4px 0 #3d2508,0 0 14px color-mix(in srgb,var(--gold) 50%,transparent)}.appendix-words li.tone-3:focus-within .appendix-word,.appendix-words li.tone-3:hover .appendix-word{background:linear-gradient(180deg,#a33b4c,#6c2230);box-shadow:inset 0 1px 0 #ffffff40,0 4px 0 #4a1520,0 0 14px color-mix(in srgb,var(--coral) 50%,transparent)}.student .appendix-brief{width:36px;min-height:36px;margin-right:6px;margin-left:auto;padding:0;border:0;border-radius:10px;background:transparent;color:var(--text-3);box-shadow:none;transition:opacity .18s ease,color .18s ease,background .18s ease}.appendix-brief:focus-visible,.appendix-words li:hover .appendix-brief{color:var(--accent-fg);background:var(--surface)}.appendix-brief svg{width:16px;height:16px}.appendix-empty{margin:0;padding:28px 18px;color:var(--text-3);font-size:14px;line-height:1.5}.appendix-empty button{margin-left:8px;border:0;background:none;color:var(--accent-fg);font:inherit;font-weight:700;cursor:pointer}@property --appendix-turn{syntax:"<angle>";inherits:false;initial-value:0deg}.appendix-peek{position:fixed;z-index:45;width:min(260px,calc(100vw - 32px));padding:13px 14px 14px;overflow:hidden;border:2px solid transparent;border-radius:16px;color:#fff;background:radial-gradient(120px 60px at 0 0,#ffffff45,transparent 70%) padding-box,linear-gradient(145deg,#14998a,#6a45e0 72%) padding-box,conic-gradient(from var(--appendix-turn),#5eead4,#ffe08a,#fb7185,#c4b5fd,#5eead4) border-box;box-shadow:0 0 0 5px color-mix(in srgb,var(--gold) 32%,transparent),0 0 22px color-mix(in srgb,var(--violet) 45%,transparent),0 16px 28px -10px #2a1866cc;pointer-events:none;animation:appendix-pop .32s cubic-bezier(.2,1.35,.36,1),appendix-turn 3.2s linear infinite}.appendix-peek.side-right{transform-origin:left center}.appendix-peek.side-left{transform-origin:right center;animation-name:appendix-pop-left,appendix-turn}.appendix-peek-sheen{position:absolute;inset:0;background:linear-gradient(115deg,transparent 32%,#ffffff55 48%,transparent 64%);transform:translateX(-130%);animation:appendix-sheen .7s ease .12s both;pointer-events:none}.appendix-peek.pinned{pointer-events:auto}.appendix-peek h3{position:relative;margin:0;color:#fff;font-family:Merriweather,Georgia,serif;font-size:16px;letter-spacing:-.02em;text-shadow:0 1px 0 #0003}.appendix-peek-gist{position:relative;margin:6px 0 0;color:#f7f4ff;font-size:13.5px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.appendix-peek-gist.is-wait{height:8px;margin-top:8px;border-radius:99px;background:linear-gradient(90deg,#ffffff22,#ffffff88,#ffffff22);background-size:200% 100%;animation:appendix-shimmer 1s ease infinite}@keyframes appendix-pop{0%{opacity:0;transform:translateX(-10px) scale(.9)}to{opacity:1;transform:none}}@keyframes appendix-pop-left{0%{opacity:0;transform:translateX(10px) scale(.9)}to{opacity:1;transform:none}}@keyframes appendix-turn{to{--appendix-turn:360deg}}@keyframes appendix-sheen{0%{transform:translateX(-130%)}to{transform:translateX(130%)}}@keyframes appendix-branch{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes appendix-sheet{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes appendix-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (hover:hover){.student .appendix-brief{opacity:0}.appendix-words li:focus-within .appendix-brief,.appendix-words li:hover .appendix-brief{opacity:1}}.appendix-work{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:560px;border-top:1px solid var(--line)}.appendix-work-main,.appendix-work-side{min-width:0;min-height:0}.appendix-work-side{gap:8px;padding:12px;border-right:1px solid var(--line)}.appendix-work-main,.appendix-work-side{display:flex;flex-direction:column;max-height:72dvh}.appendix-work-scroll,.appendix-work-tree{flex:1 1}.appendix-find.admin{background:var(--bg)}.appendix-find.grow{flex:1 1;min-width:160px}.appendix-add,.appendix-move,.appendix-pick-all,.appendix-work-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--line)}.appendix-work-bar strong{font-size:16px}.appendix-move span,.appendix-work-bar span{color:var(--text-3);font-size:13px}.appendix-add{align-items:flex-end}.appendix-add label{display:grid;gap:6px;flex:1 1;min-width:220px;font-size:13px;color:var(--text-2)}.appendix-add textarea{width:100%}.appendix-move select{max-width:360px}.appendix-pick-all{font-size:13px;color:var(--text-2)}.appendix-admin-words{list-style:none;margin:0;padding:0}.appendix-admin-words li{border-bottom:1px solid var(--line);content-visibility:auto;contain-intrinsic-size:auto 44px}.appendix-admin-words label{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 14px;cursor:pointer}.appendix-admin-words strong{display:block;font-size:14px}.appendix-admin-words em{display:block;color:var(--text-3);font-size:12px;font-style:normal}.admin-shell .appendix-admin-topic{min-height:34px}.admin-shell .appendix-admin-topic button{min-height:32px;padding:0;border:0;background:none;box-shadow:none;color:var(--text)}.admin-shell .appendix-admin-topic.on{background:var(--accent-soft)}.admin-shell .appendix-admin-topic.off{opacity:.55}.meta.pad{padding:16px}@media (max-width:860px){.appendix-browser{grid-template-columns:1fr}.student .appendix-side{display:none;position:static;max-height:50dvh}.appendix-browser.nav-open .appendix-side{display:flex}.appendix-topics-btn{display:inline-flex}.student .appendix-main{max-height:none;min-height:60dvh}.appendix-main-head{flex-direction:column;align-items:stretch}.appendix-work{grid-template-columns:1fr}.appendix-work-side{max-height:280px;border-right:0;border-bottom:1px solid var(--line)}}@media (prefers-reduced-motion:reduce){.appendix-twist svg,.appendix-word,.student .appendix-topic-row{transition:none}.appendix-branch,.appendix-peek,.appendix-peek-gist.is-wait,.appendix-peek-sheen,.appendix-scroll{animation:none}.appendix-peek{animation:none;border-color:#ffe7a8}}