body.bare{height:100dvh;overflow:hidden}.player{grid-template-rows:auto 1fr auto;max-width:620px;height:100dvh;margin:0 auto;display:grid}.player-top{padding:max(12px, env(safe-area-inset-top)) 16px 10px;align-items:center;gap:12px;display:flex}.close{width:40px;height:40px;color:var(--ink-soft);background:var(--paper-3);border-radius:50%;flex:none;place-items:center;font-size:1.1rem;text-decoration:none;display:grid}.segments{flex:1;gap:4px;display:flex}.segments span{background:var(--paper-3);border-radius:999px;flex:1;height:6px;transition:background .3s}.segments span.on{background:var(--kirsch)}.time{font:600 .75rem var(--mono);color:var(--ink-soft);flex:none}.track{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;outline:none;display:flex;overflow:auto hidden}.track::-webkit-scrollbar{display:none}.track.locked{overflow-x:hidden}.track>.lesson-card{scroll-snap-align:center;scroll-snap-stop:always;overscroll-behavior-y:contain;flex:0 0 100%;padding:6px 16px 18px;overflow-y:auto}.card-inner{background:var(--paper-2);border-radius:var(--radius);min-height:100%;box-shadow:var(--shadow);padding:34px 22px 24px;position:relative}.card-inner:before{content:"";background:var(--paper);border-radius:50%;width:11px;height:11px;position:absolute;top:14px;left:16px;box-shadow:inset 0 1px 2px #00000040}.lesson-card{font-size:1.1rem}.lesson-card h2{margin:10px 0 14px;font-size:1.6rem}.lesson-card h3{margin-top:1.2em}.lesson-card p,.lesson-card li{line-height:1.6}.lesson-card blockquote{border-radius:var(--radius-sm);background:var(--kirsch-soft);border-left:4px solid var(--kirsch);margin:16px 0;padding:14px 16px;font-size:1rem}.lesson-card blockquote p:last-child{margin:0}.lesson-card pre{font-family:var(--body);white-space:pre-wrap;word-break:break-word;background:var(--paper-3);border-radius:var(--radius-sm);border-left:4px solid var(--blau);margin:0 0 14px;padding:12px 14px;font-size:.95rem;line-height:1.55}.lesson-card pre code{font-size:inherit;background:0 0;padding:0}.lesson-card table{border-collapse:collapse;width:100%;margin:0 0 14px;font-size:.95rem}.lesson-card th,.lesson-card td{text-align:left;border-bottom:1px dashed var(--line);vertical-align:top;padding:8px 6px}.intro-card .card-inner{flex-direction:column;justify-content:center;display:flex}.intro-emoji{transform-origin:50% 90%;align-self:flex-start;margin-bottom:18px;font-size:4.5rem;line-height:1;animation:2.8s ease-in-out infinite wobble;display:inline-block}@keyframes wobble{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}.intro-card h1{font-size:clamp(2rem,9vw,2.6rem)}.stand{font:400 .75rem var(--mono);color:var(--ink-faint);margin-top:18px}.options{gap:10px;margin:16px 0;display:grid}.option{text-align:left;font:600 1rem/1.4 var(--body);color:var(--ink);background:var(--paper);border:2px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;min-height:54px;padding:14px 16px;transition:border-color .2s,background .2s,transform .12s}.option:active{transform:scale(.98)}.option:disabled{cursor:default}.option.right{border-color:var(--mint);background:var(--mint-soft)}.option.right:after{content:" ✓";color:var(--mint)}.option.wrong{border-color:var(--kirsch);background:var(--kirsch-soft);animation:.4s shake}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.explain{border-top:2px dashed var(--line);padding-top:12px;font-size:1rem}.verdict{font-family:var(--display);color:var(--kirsch);margin-bottom:4px;font-size:1.3rem;font-weight:700}.verdict.ok{color:var(--mint)}.tried-btn{margin-top:16px}.cheat{gap:10px;margin:0 0 20px;padding:0;list-style:none;display:grid}.cheat li{background:var(--paper);border-radius:var(--radius-sm);margin:0;padding:10px 12px 10px 40px;font-size:1rem;position:relative}.cheat li:before{content:"★";color:var(--gold);position:absolute;top:9px;left:14px}.mini-receipt{background:var(--paper);box-shadow:none;margin:0 0 18px}.finish-card .btn{margin-top:10px}.retry-hint{font-size:.9rem}.player-nav{padding:8px 16px max(14px, env(safe-area-inset-bottom));grid-template-columns:56px 1fr;gap:10px;display:grid}.player-nav .btn[hidden]{display:none}.nav-prev{padding:0;font-size:1.3rem}
