:root{--bg:#070809;--surface:#101214;--surface-soft:#15181b;--text:#f4f4f3;--muted:#8a8f98;--line:#ffffff1a;--line-strong:#ffffff2e;--cyan:#6fb8c9;--amber:#c5a64e;--orange:#d17338;--red:#d64d37;--green:#7cad88;--font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--bg);overscroll-behavior:none;min-height:100%}body{min-height:100dvh;color:var(--text);font-family:var(--font);overscroll-behavior-y:none;background:radial-gradient(circle at 50% 12%,#6fb8c91f,#0000 30rem),linear-gradient(#070809 0%,#0b0d0f 46%,#070809 100%);margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.app-shell{min-height:100dvh;overflow-x:hidden}.app-header{z-index:20;width:100%;padding:max(18px, env(safe-area-inset-top)) max(clamp(18px, 4vw, 42px), env(safe-area-inset-right)) 18px max(clamp(18px, 4vw, 42px), env(safe-area-inset-left));border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#070809cc;grid-template-columns:minmax(130px,1fr) auto minmax(130px,1fr);align-items:center;gap:18px;display:grid;position:sticky;top:0}.mobile-nav{display:none}@media (display-mode:standalone){body{background-color:var(--bg)}.app-header{-webkit-app-region:drag}.app-header a,.app-header button{-webkit-app-region:no-drag}}.brand-mark,.streak-pill,.icon-link,.session-stat,.crazy-meter,.level-strip button,.mode-strip button,.character-picker button,.ghost-action,.voice-button,.stop-listening-button,.text-fallback,.example-row button,.primary-link,.floating-action{border:1px solid var(--line);border-radius:8px;min-height:42px}.brand-mark{justify-self:start;align-items:center;gap:10px;padding:0 13px;font-weight:750;display:inline-flex}.brand-pulse{background:var(--cyan);border-radius:3px;width:10px;height:10px;box-shadow:0 0 24px #6fb8c9a6}.top-nav{color:var(--muted);justify-content:center;align-items:center;gap:6px;display:flex}.top-nav a{border-radius:8px;min-height:36px;padding:9px 12px}.top-nav a:hover{color:var(--text);background:#ffffff0f}.header-actions{justify-self:end;align-items:center;gap:9px;display:flex}.streak-pill,.icon-link,.session-stat,.crazy-meter{color:var(--text);background:#ffffff0a;justify-content:center;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.icon-link{width:42px;padding:0}.practice-main{flex-direction:column;gap:clamp(16px,2.2vw,24px);width:min(1440px,100%);min-height:calc(100vh - 79px);margin:0 auto;padding:clamp(16px,2.6vw,36px);display:flex}.session-header{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.crazy-meter div{gap:5px;display:flex}.crazy-meter i{border:1px solid var(--line-strong);background:0 0;border-radius:2px;width:8px;height:8px;display:block}.crazy-meter i.active{background:var(--orange);border-color:#d17338cc}.level-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.level-strip button{min-height:64px;color:var(--muted);text-align:left;cursor:pointer;background:#ffffff0a;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;transition:all .18s;display:grid}.level-strip button>span{gap:2px;min-width:0;display:grid}.level-strip button>span>span,.level-strip strong{color:var(--text);font-size:.94rem;line-height:1.12}.level-strip small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.2;overflow:hidden}.level-strip strong{color:#071012;text-align:center;background:#f4f4f3d1;border-radius:7px;min-width:52px;padding:5px 7px;font-size:.72rem}.mode-strip{gap:8px;width:100%;padding-bottom:3px;display:flex;overflow-x:auto}.level-strip,.mode-strip,.character-picker,.example-row{scrollbar-width:none}.level-strip::-webkit-scrollbar{display:none}.mode-strip::-webkit-scrollbar{display:none}.character-picker::-webkit-scrollbar{display:none}.example-row::-webkit-scrollbar{display:none}.mode-strip button,.example-row button,.ghost-action{color:var(--muted);cursor:pointer;background:#ffffff0a;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 13px;transition:all .18s;display:inline-flex}.level-strip button:hover,.level-strip button.active,.mode-strip button:hover,.mode-strip button.active,.character-picker button:hover,.character-picker button.active,.example-row button:hover,.ghost-action:hover:not(:disabled){color:var(--text);background:#6fb8c91a;border-color:#6fb8c957}.level-strip button.active strong{background:#d9fbff}.character-picker{border:1px solid var(--line);background:#ffffff08;border-radius:8px;align-self:center;gap:4px;max-width:100%;padding:4px;display:flex;overflow-x:auto}.character-picker button{min-width:154px;min-height:48px;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border-color:#0000;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:5px 10px;transition:all .18s;display:grid}.character-picker button>span:last-child{gap:1px;display:grid}.character-picker strong{color:var(--text);font-size:.84rem;line-height:1.15}.character-picker small{color:var(--muted);font-size:.7rem;line-height:1.15}.character-picker-icon{color:#ffd3c4;background:#6e1f1a;border:1px solid #ffffff1f;border-radius:6px;place-items:center;width:32px;height:32px;display:grid}.character-picker-icon.rpg{color:#d8fbff;background:#174f59}.character-picker button.active{border-color:#6fb8c961}.practice-stage{flex:1;grid-template-columns:minmax(0,1.18fr) minmax(380px,.72fr);align-items:center;gap:clamp(24px,4vw,64px);display:grid}.character-column{place-items:center;min-height:min(59vh,660px);display:grid;position:relative}.character-speech-bubble{z-index:4;background:linear-gradient(#121b1feb,#0a0d10e0),#0c1012e0;border:1px solid #6fb8c947;border-radius:8px;width:min(360px,42vw);min-height:72px;padding:12px 14px 13px;position:absolute;top:22%;right:2%;box-shadow:0 18px 48px #00000042}.character-speech-bubble:before{content:"";background:#121b1ff0;border-top:1px solid #6fb8c947;border-left:1px solid #6fb8c947;width:16px;height:16px;position:absolute;top:28px;left:-9px;transform:rotate(-45deg)}.character-speech-bubble span{color:var(--cyan);letter-spacing:0;text-transform:uppercase;margin-bottom:5px;font-size:.7rem;font-weight:800;display:block}.character-speech-bubble p{-webkit-line-clamp:2;min-height:38px;color:var(--text);-webkit-box-orient:vertical;margin:0;font-size:clamp(.92rem,1.6vw,1.04rem);line-height:1.35;display:-webkit-box;overflow:hidden}.character-speech-bubble.speaking{border-color:#7cad886b;box-shadow:0 18px 48px #00000042,0 0 28px #7cad8824}.character-stage{aspect-ratio:1;isolation:isolate;width:min(67vw,640px);min-width:280px;position:relative}.character-stage:before{z-index:0;content:"";opacity:.86;pointer-events:none;background:radial-gradient(#000000d1,#0000 70%);border-radius:50%;position:absolute;inset:63% 12% 11%}.character-stage canvas{z-index:2;position:relative;width:100%!important;height:100%!important}.rpg-character-stage{--rpg-armor:#317b89;--rpg-armor-dark:#163d45;--rpg-accent:#f0b34a;--rpg-hair:#d85337;--rpg-hair-hot:#ffb05f;--rpg-eye:#bff8ff;place-items:center;display:grid}.rpg-character-stage.annoyed{--rpg-armor:#907530;--rpg-armor-dark:#493915;--rpg-accent:#ffcc5e;--rpg-hair:#dd5737}.rpg-character-stage.irritated{--rpg-armor:#a54635;--rpg-armor-dark:#52201a;--rpg-accent:#ffbe57;--rpg-hair:#ec4934;--rpg-eye:#ffe1a1}.rpg-character-stage.crazy{--rpg-armor:#b52f3d;--rpg-armor-dark:#59131e;--rpg-accent:#ffda65;--rpg-hair:#ff3f32;--rpg-hair-hot:#ffd16a;--rpg-eye:#fff0a8}.rpg-character{z-index:2;width:88%;height:88%;image-rendering:pixelated;filter:drop-shadow(0 18px 18px #00000073);position:relative;overflow:visible}.rpg-hero{transform-origin:80px 142px;animation:3s cubic-bezier(.45,0,.55,1) infinite realistic-breathe}.rpg-cape rect{fill:#5d1724}.rpg-cape rect:nth-child(2){fill:#7d2030}.rpg-trouser{fill:#202633}.rpg-boot,.rpg-brows,.rpg-mouth-dark{fill:#171016}.rpg-armor{fill:var(--rpg-armor)}.rpg-armor-dark{fill:var(--rpg-armor-dark)}.rpg-belt,.rpg-staff,.rpg-staff-head{fill:#6b4024}.rpg-buckle,.rpg-emblem,.rpg-staff-core{fill:var(--rpg-accent)}.rpg-emblem-core,.rpg-mouth-glow{fill:#fff3bd}.rpg-collar,.rpg-glove{fill:#384353}.rpg-book{fill:#4c213f}.rpg-book-page{fill:#f4dfb0}.rpg-book-rune{fill:#b84545}.rpg-staff-dark{fill:#3b2418}.rpg-hair-dark{fill:#69231f}.rpg-hair{fill:var(--rpg-hair)}.rpg-hair-hot{fill:var(--rpg-hair-hot)}.rpg-skin,.rpg-ear{fill:#d68a66}.rpg-skin-shadow,.rpg-nose{fill:#ad5d4e}.rpg-eye{fill:var(--rpg-eye)}.rpg-pupil{fill:#13232a}.rpg-shadow-pixels{fill:#00000094}.rpg-sparks rect{fill:var(--rpg-accent);opacity:calc(.28 + var(--rpg-energy) * .6);animation:1.5s steps(3,end) infinite rpg-spark}.rpg-head{transform-origin:80px 65px;animation:3.6s cubic-bezier(.45,0,.55,1) infinite realistic-head-sway}.rpg-eyes{transform-origin:80px 60px;animation:4s infinite realistic-blink}.rpg-body{transform-origin:80px 95px;animation:3s cubic-bezier(.45,0,.55,1) infinite realistic-chest}.rpg-character-stage.listening .rpg-eyes{animation:.7s ease-in-out infinite rpg-listen}.rpg-character-stage.speaking .rpg-hero{animation-duration:1.2s}.rpg-character-stage.speaking .rpg-mouth{transform-origin:80px 74px;animation:.24s cubic-bezier(.4,0,.2,1) infinite realistic-talk}.rpg-character-stage.speaking .rpg-arm-right{transform-origin:116px 88px;animation:.52s ease-in-out infinite rpg-cast}.rpg-gesture-finger{transform-origin:104px 90px;animation:.7s cubic-bezier(.36,.07,.19,.97) infinite alternate gesture-finger-shake}.brows-smirk{transform-origin:80px 52px;transform:rotate(4deg)}@keyframes gesture-finger-shake{0%{transform:rotate(-1deg)translateY(0)}to{transform:rotate(3.5deg)translateY(-2px)}}.rpg-gesture-smoke{transform-origin:106px 90px}.rpg-cig-ember{animation:.7s ease-in-out infinite alternate ember-pulse}.eyes-chill{transform-origin:80px 60px;transform:scaleY(.65)}.rpg-smoke-p1{animation:1.8s ease-out infinite smoke-rise-1}.rpg-smoke-p2{animation:1.8s ease-out .5s infinite smoke-rise-2}.rpg-smoke-p3{animation:1.8s ease-out 1s infinite smoke-rise-3}@keyframes ember-pulse{0%{fill:#ef4444;filter:drop-shadow(0 0 1px #ef4444)}to{fill:#fbbf24;filter:drop-shadow(0 0 5px #f59e0b)}}@keyframes smoke-rise-1{0%{opacity:.85;transform:translate(0)scale(.6)}to{opacity:0;transform:translate(-7px,-18px)scale(1.5)}}@keyframes smoke-rise-2{0%{opacity:.7;transform:translate(0)scale(.6)}to{opacity:0;transform:translate(-12px,-26px)scale(2)}}@keyframes smoke-rise-3{0%{opacity:.55;transform:translate(0)scale(.6)}to{opacity:0;transform:translate(-16px,-34px)scale(2.4)}}.rpg-heart-pulse{transform-origin:80px 92px;animation:.75s cubic-bezier(.2,.8,.2,1) infinite heart-beat}.brows-happy{transform-origin:80px 52px;transform:translateY(-1px)}@keyframes heart-beat{0%,to{filter:drop-shadow(0 0 3px #ff2d60);transform:scale(1)}25%{filter:drop-shadow(0 0 7px #ff2d60);transform:scale(1.22)}40%{filter:drop-shadow(0 0 4px #ff2d60);transform:scale(1.08)}60%{filter:drop-shadow(0 0 9px #ff2d60);transform:scale(1.28)}}.rpg-gesture-thumbsup{transform-origin:106px 90px;animation:.9s ease-in-out infinite alternate thumb-bounce}.eyes-wink .rpg-eye:first-child{transform-origin:69px 60px;transform:scaleY(.2)}@keyframes thumb-bounce{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-3px)rotate(2deg)}}@keyframes thumb-sparkle{0%,to{opacity:.4;transform:scale(.7)rotate(0)}50%{opacity:1;filter:drop-shadow(0 0 4px #ffe600);transform:scale(1.25)rotate(45deg)}}@keyframes realistic-breathe{0%,to{transform:translateY(0)scaleY(1)}50%{transform:translateY(-2px)scaleY(1.016)}}@keyframes realistic-head-sway{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-1px)rotate(-.5deg)}}@keyframes realistic-chest{0%,to{transform:scale(1)}50%{transform:scale(1.015,1.02)}}@keyframes realistic-blink{0%,92%,96%,to{transform:scaleY(1)}94%{transform:scaleY(.08)}}@keyframes realistic-talk{0%,to{transform:scaleY(.75)}50%{transform:scaleY(1.65)translateY(.5px)}}@keyframes rpg-cast{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes rpg-listen{0%,to{opacity:1}50%{opacity:.68}}@keyframes rpg-spark{0%,to{opacity:.25;transform:translateY(4px)}50%{opacity:.9;transform:translateY(-5px)}}.character-glow{z-index:1;opacity:.42;pointer-events:none;border-radius:50%;position:absolute;inset:10%}.character-stage.calm .character-glow{background:radial-gradient(circle,#6fd8ea 0%,#6fd8ea33 45%,#0000 70%)}.character-stage.annoyed .character-glow{background:radial-gradient(circle,#e0a54f 0%,#e0a54f33 45%,#0000 70%)}.character-stage.irritated .character-glow{background:radial-gradient(circle,#f29a3f 0%,#f29a3f33 45%,#0000 70%)}.character-stage.crazy .character-glow{background:radial-gradient(circle, var(--red) 0%, #d64d3733 45%, transparent 70%)}.listening-wave{opacity:.45;grid-template-columns:repeat(22,4px);justify-content:center;align-items:center;gap:5px;width:min(420px,84vw);height:34px;margin-top:-24px;display:grid}.listening-wave span{transform-origin:50%;will-change:transform, opacity;background:#f4f4f3b8;border-radius:2px;width:4px;height:24px;display:block;transform:scaleY(.25)}.listening-wave.active span{animation:.85s ease-in-out infinite wave}@keyframes wave{0%,to{opacity:.38;transform:scaleY(.25)}50%{opacity:1;transform:scaleY(1)}}.conversation-panel{flex-direction:column;gap:12px;width:100%;display:flex}.conversation-bubble,.correction-display,.pronunciation-feedback,.history-row,.step-tile,.simple-panel,.progress-indicator,.session-trail article{border:1px solid var(--line);background:#101214c7;border-radius:8px;box-shadow:0 20px 80px #0003}.conversation-bubble,.correction-display{padding:16px}.conversation-bubble span,.correction-display>span,.eyebrow,.session-trail span{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin-bottom:8px;font-size:.76rem;font-weight:750;display:block}.conversation-bubble p,.correction-display p,.correction-display strong,.correction-display small{margin:0}.conversation-bubble{border-radius:12px;flex-direction:column;flex-shrink:0;gap:2px;max-width:88%;padding:10px 14px;transition:opacity .2s,transform .2s;display:flex}.conversation-bubble.user{background:#0c212ed9;border-color:#38bdf847;border-bottom-right-radius:3px;align-self:flex-end}.conversation-bubble.crazy{background:#1e1412d9;border-color:#f9731647;border-bottom-left-radius:3px;align-self:flex-start}.conversation-bubble.user span{color:#38bdf8}.conversation-bubble.crazy span{color:#fb923c}.conversation-bubble p{min-height:unset;color:var(--text);word-break:break-word;margin:0;font-size:clamp(.94rem,1.2vw,1.05rem);line-height:1.45}.correction-display{gap:10px;display:grid}.correction-display>strong{color:var(--text);font-size:clamp(1.12rem,1.7vw,1.55rem);line-height:1.3;display:block}.correction-display>small{color:var(--muted);line-height:1.45}.correction-contrast{background:#0003;border:1px solid #ffffff14;border-radius:7px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.correction-display .correction-contrast span{min-width:0;font-size:inherit;letter-spacing:0;text-transform:none;gap:3px;margin:0;display:grid}.correction-contrast small{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.68rem;font-weight:700}.correction-contrast del,.correction-contrast strong{overflow-wrap:anywhere;font-size:1rem;line-height:1.2}.correction-contrast del{color:#ff9d8e;text-decoration-color:#db4b3a;text-decoration-thickness:2px}.correction-contrast strong{color:#c9f7ff}.correction-contrast>svg{color:var(--cyan)}mark{color:#d7f7ff;background:#6fb8c92e;border-radius:6px;padding:0 .2em}.correction-display.correct{border-color:#7cad8847}.correction-display.coached{background:#1a1811d1;border-color:#c5a64e61}.correction-display.wrong{border-color:#d64d3742}.action-row{gap:10px;display:flex}.ghost-action:disabled,.voice-button:disabled{cursor:not-allowed;opacity:.48}.pronunciation-feedback{min-height:48px;color:var(--muted);align-items:center;gap:10px;padding:0 14px;display:flex}.pronunciation-feedback strong{color:var(--text);margin-left:auto}.practice-controls{grid-template-columns:auto minmax(280px,1fr);align-items:center;gap:12px;display:grid}.practice-controls.listening{grid-template-columns:auto auto minmax(280px,1fr)}.practice-controls.realtime{grid-template-columns:minmax(360px,.9fr) minmax(280px,1.1fr)}.realtime-control{border:1px solid var(--line);background:#ffffff0a;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;min-height:62px;padding:8px 9px 8px 14px;display:flex}.realtime-control.connected{background:#7cad8814;border-color:#7cad8859}.realtime-copy,.realtime-actions,.realtime-copy>span{align-items:center;display:flex}.realtime-copy{min-width:0;color:var(--green);gap:10px}.realtime-copy>span{flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.realtime-copy strong,.realtime-copy small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.realtime-copy strong{color:var(--text);font-size:.9rem}.realtime-copy small{color:var(--muted);font-size:.76rem}.realtime-actions{flex:none;gap:7px}.realtime-actions button{border:1px solid var(--line);min-width:42px;min-height:42px;color:var(--text);cursor:pointer;background:#0003;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 11px;display:inline-flex}.realtime-actions button:disabled{cursor:not-allowed;opacity:.38}.realtime-pulse{animation:1.5s ease-in-out infinite realtime-pulse}@keyframes realtime-pulse{50%{opacity:.42}}.voice-button{min-width:210px;min-height:58px;color:var(--text);cursor:pointer;background:linear-gradient(#ffffff1a,#ffffff0d);justify-content:center;align-items:center;gap:10px;padding:0 20px;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.stop-listening-button{color:#ffcdc4;cursor:pointer;background:#d64d371f;border-color:#d64d376b;justify-content:center;align-items:center;gap:9px;min-width:164px;min-height:58px;padding:0 16px;display:inline-flex}.stop-listening-button:hover{color:var(--text);background:#d64d372e}.voice-button:hover:not(:disabled){border-color:#6fb8c973;transform:translateY(-1px)}.voice-button.listening{background:#6fb8c924;border-color:#6fb8c994}.voice-button.speaking,.voice-button.waiting_for_repeat{border-color:#d173387a}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.text-fallback{min-height:58px;color:var(--muted);background:#ffffff0a;grid-template-columns:auto auto minmax(90px,1fr) auto;align-items:center;gap:10px;padding:7px 8px 7px 14px;display:grid}.text-fallback label{white-space:nowrap;font-size:.88rem}.text-fallback input,.simple-panel input,.settings-form select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--text);background:#0000003d;border-radius:8px;outline:none;padding:0 12px}.text-fallback input:focus,.simple-panel input:focus,.settings-form select:focus{border-color:#6fb8c98c}.text-fallback button,.primary-link,.floating-action{color:#061012;background:var(--text);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;display:inline-flex}.example-row{grid-column:1/-1;gap:8px;display:flex;overflow-x:auto}.example-row button{min-height:36px;font-size:.88rem}.error-message{color:#ffb4a6;grid-column:1/-1;margin:0}.session-trail{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.session-trail article{padding:13px}.session-trail p{color:var(--text);margin:0;line-height:1.4}.simple-page{place-items:center;min-height:100vh;padding:clamp(18px,5vw,48px);display:grid}.simple-panel{gap:16px;width:min(460px,100%);padding:clamp(22px,4vw,34px);display:grid}.simple-panel h1,.secondary-hero h1,.step-tile h1{letter-spacing:0;margin:0;font-size:clamp(2rem,5vw,4.6rem);line-height:.98}.auth-panel h1{font-size:clamp(2rem,4vw,3.3rem)}.login-form{gap:14px;display:grid}.simple-panel label,.settings-form label{color:var(--muted);gap:8px;display:grid}.primary-link:disabled{cursor:wait;opacity:.68}.auth-error{grid-column:auto}.primary-link{min-height:48px}.onboarding-steps{grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;width:min(1180px,100%);display:grid}.step-tile{flex-direction:column;justify-content:space-between;min-height:420px;padding:18px;display:flex}.step-tile span{color:var(--muted);font-weight:750}.floating-action{min-height:50px;padding:0 18px;position:fixed;bottom:clamp(18px,4vw,42px);right:clamp(18px,4vw,42px)}.secondary-main{width:min(1120px,100%);margin:0 auto;padding:clamp(22px,5vw,56px)}.secondary-hero{margin-bottom:28px}.secondary-hero p{max-width:650px;color:var(--muted);line-height:1.55}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.progress-indicator{gap:14px;padding:16px;display:grid}.progress-indicator div{justify-content:space-between;gap:12px;display:flex}.progress-indicator span{color:var(--muted)}meter{width:100%;height:8px}.history-list,.settings-form{gap:10px;display:grid}.history-row{grid-template-columns:120px 1fr 80px 180px;align-items:center;gap:12px;min-height:62px;padding:0 16px;display:grid}.history-row span,.history-row small,.history-row em{color:var(--muted);font-style:normal}.settings-form{width:min(640px,100%)}.toggle-row{border:1px solid var(--line);background:#ffffff0a;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;min-height:48px;padding:0 12px;display:flex}.toggle-row input{width:18px;height:18px}@media (max-width:980px){.app-header{grid-template-columns:1fr auto}.top-nav{display:none}.practice-stage{grid-template-columns:1fr}.level-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.level-strip button{grid-template-columns:auto minmax(0,1fr)}.level-strip strong{grid-column:2;justify-self:start}.character-column{min-height:42vh}.character-speech-bubble{width:min(420px,92vw);inset:auto auto 8px 50%;transform:translate(-50%)}.character-speech-bubble:before{top:-9px;left:50%;transform:translate(-50%)rotate(45deg)}.character-stage{width:min(86vw,500px)}.conversation-panel{max-width:720px;margin:0 auto}.practice-controls,.practice-controls.realtime{grid-template-columns:1fr}.voice-button,.stop-listening-button,.realtime-control,.text-fallback{width:100%}.session-trail,.metrics-grid,.onboarding-steps{grid-template-columns:1fr}.step-tile{min-height:210px}.history-row{grid-template-columns:1fr;align-items:start;padding:14px}}@media (max-width:620px){.app-header{padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) 14px max(14px, env(safe-area-inset-left))}.brand-mark{min-height:38px}.streak-pill{display:none}.practice-main{min-height:calc(100dvh - 67px);padding:14px max(14px, env(safe-area-inset-right)) calc(90px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left))}.secondary-main{padding-right:max(14px, env(safe-area-inset-right));padding-bottom:calc(90px + env(safe-area-inset-bottom));padding-left:max(14px, env(safe-area-inset-left))}.mobile-nav{z-index:30;min-height:calc(66px + env(safe-area-inset-bottom));padding:6px max(8px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px, env(safe-area-inset-left));border-top:1px solid var(--line-strong);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#070809f0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav a{min-width:0;min-height:54px;color:var(--muted);border-radius:7px;align-content:center;place-items:center;gap:3px;font-size:.68rem;font-weight:650;display:grid}.mobile-nav a[aria-current=page]{color:#d9fbff;background:#6fb8c91a}.session-header{justify-content:flex-start}.session-stat,.crazy-meter{min-height:36px;padding:0 10px;font-size:.9rem}.level-strip{gap:7px;padding-bottom:2px;display:flex;overflow-x:auto}.level-strip button{flex:0 0 142px;grid-template-columns:auto minmax(0,1fr);min-height:50px;padding:7px 9px}.level-strip small,.level-strip strong{display:none}.character-stage{width:min(92vw,390px);min-width:0}.character-column{min-height:39vh}.character-speech-bubble{width:min(360px,92vw);min-height:62px;padding:10px 12px;bottom:-8px}.character-speech-bubble p{-webkit-line-clamp:2;min-height:34px;font-size:.88rem}.conversation-bubble,.correction-display{padding:13px}.action-row{grid-template-columns:1fr 1fr;display:grid}.text-fallback{grid-template-columns:auto 1fr auto}.realtime-control{flex-direction:column;align-items:stretch}.realtime-actions button:last-child{flex:1}.text-fallback label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.simple-panel h1,.secondary-hero h1,.step-tile h1{font-size:clamp(2rem,13vw,3.4rem)}}.practice-header-bar{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.practice-header-bar .session-header{flex:1}.hamburger-btn{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.hamburger-btn:hover{background:var(--surface-soft);border-color:var(--cyan);color:var(--cyan);transform:translateY(-1px)}.clean-layout{flex-direction:column;align-items:center;gap:20px;max-width:960px;margin:0 auto;padding:16px 20px 48px;display:flex}.clean-stage{grid-template-columns:1fr 1.2fr;align-items:center;gap:28px;width:100%;min-height:400px;display:grid}.clean-conversation{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-behavior:smooth;flex-direction:column;gap:10px;width:100%;min-height:180px;max-height:380px;padding:8px 6px 12px;display:flex;overflow:hidden auto;-webkit-mask-image:linear-gradient(#0000 0%,#0006 14px,#000 34px 100%);mask-image:linear-gradient(#0000 0%,#0006 14px,#000 34px 100%)}.clean-conversation::-webkit-scrollbar{width:4px}.clean-conversation::-webkit-scrollbar-track{background:0 0}.clean-conversation::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.history-drag-hint{text-align:center;color:var(--muted);opacity:.65;letter-spacing:.3px;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:2px 0 6px;font-size:.72rem}.messages-bottom-anchor{flex-shrink:0;width:100%;height:1px}.avatar-mic-dock{z-index:4;justify-content:center;align-items:center;margin-top:10px;margin-bottom:6px;display:flex}.avatar-mic-btn{border:1.5px solid var(--line);background:var(--surface);min-height:52px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:9999px;justify-content:center;align-items:center;gap:12px;padding:12px 28px;font-size:.98rem;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 6px 24px #00000073}.avatar-mic-btn:hover{border-color:var(--cyan);transform:translateY(-2px)scale(1.02)}.avatar-mic-btn.active{color:#7dd3fc;background:linear-gradient(135deg,#317b8959,#163d45e6);border-color:#4dd0e199;box-shadow:0 0 20px #38bdf84d}.avatar-mic-btn.listening{color:#86efac;background:linear-gradient(135deg,#4ade804d,#163d45e6);border-color:#4ade80b3;animation:1.6s ease-in-out infinite alternate mic-pulse;box-shadow:0 0 24px #4ade8066}.avatar-mic-btn.muted{color:#f87171;background:#2d1414d9;border-color:#f8717180}.avatar-mic-label{letter-spacing:.3px}.avatar-mic-error-box{flex-direction:column;align-items:center;gap:6px;margin-top:6px;display:flex}.avatar-mic-error{color:#fca5a5;text-align:center;max-width:320px;margin:0;font-size:.78rem}.retry-connection-btn{color:#38bdf8;cursor:pointer;background:#38bdf81f;border:1px solid #38bdf84d;border-radius:9999px;padding:4px 14px;font-size:.76rem;font-weight:600;transition:all .2s}.retry-connection-btn:hover{color:#fff;background:#38bdf840}.gesture-action-bar{z-index:5;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:4px;margin-bottom:2px;display:flex}.gesture-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-soft);cursor:pointer;-webkit-user-select:none;user-select:none;background:#121826bf;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:4px;padding:5px 11px;font-size:.74rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.gesture-btn:hover{border-color:var(--cyan);color:#fff;background:#222e48e6;transform:translateY(-1px)}.gesture-btn.active{border-color:var(--accent);color:#fff;background:linear-gradient(135deg,#317b898c,#f0b34a73);transform:scale(1.05);box-shadow:0 0 14px #f0b34a66}@media (max-width:768px){.app-shell:has(.clean-layout) .app-header{display:none!important}.app-shell:has(.clean-layout) .mobile-nav{display:none!important}.clean-layout{width:100%;min-height:100dvh;padding:max(12px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));box-sizing:border-box;flex-direction:column;justify-content:flex-start;gap:8px;display:flex}.practice-header-bar{flex-shrink:0;justify-content:space-between;align-items:center;width:100%;padding:0 2px;display:flex}.clean-stage{flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:6px;width:100%;min-height:0;display:flex}.character-column{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}.character-stage{aspect-ratio:1;cursor:pointer;width:min(190px,48vw);min-width:160px;max-width:220px;height:min(190px,48vw)}.listening-wave{width:min(240px,70vw);height:18px;margin-top:-6px;transform:scale(.75)}.avatar-mic-btn{padding:5px 13px;font-size:.74rem}.gesture-action-bar{gap:4px;margin-top:2px;margin-bottom:2px}.gesture-btn{padding:3px 8px;font-size:.68rem}.clean-conversation{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex-direction:column;flex-shrink:1;gap:6px;width:100%;min-height:90px;max-height:19vh;padding:4px 4px 6px;display:flex;overflow:hidden auto;-webkit-mask-image:linear-gradient(#0000 0%,#0006 10px,#000 24px 100%);mask-image:linear-gradient(#0000 0%,#0006 10px,#000 24px 100%)}.clean-conversation .conversation-bubble{border-radius:10px;gap:1px;max-width:92%;padding:6px 10px}.clean-conversation .conversation-bubble span{font-size:.63rem;font-weight:700}.clean-conversation .conversation-bubble p{font-size:.8rem;line-height:1.32}}.clean-mic-section{width:100%;padding-bottom:max(24px, env(safe-area-inset-bottom));flex-direction:column;justify-content:center;align-items:center;gap:14px;margin-top:12px;display:flex}.clean-mic-btn{border:2px solid var(--line);background:var(--surface);width:84px;height:84px;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;box-shadow:0 8px 32px #0006}.clean-mic-btn:hover{transform:scale(1.05)}.clean-mic-btn.active{border-color:var(--cyan);color:var(--cyan);background:#6fb8c926;box-shadow:0 0 32px #6fb8c94d}.clean-mic-btn.listening{color:#34d399;background:#34d3992e;border-color:#34d399;animation:2s infinite mic-pulse;box-shadow:0 0 36px #34d39973}.clean-mic-btn.muted{border-color:var(--red);color:var(--red);background:#d64d3726;box-shadow:0 0 20px #d64d3733}@keyframes mic-pulse{0%{box-shadow:0 0 #34d39980}70%{box-shadow:0 0 0 18px #34d39900}to{box-shadow:0 0 #34d39900}}.clean-mic-hint{color:var(--muted);text-align:center;letter-spacing:.01em;font-size:.92rem;font-weight:500}.drawer-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;justify-content:flex-end;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.drawer-panel{border-left:1px solid var(--line-strong);background:#0d0f11;flex-direction:column;width:100%;max-width:440px;height:100%;animation:.25s cubic-bezier(.16,1,.3,1) slide-left;display:flex;overflow-y:auto;box-shadow:-12px 0 40px #0009}@keyframes slide-left{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{padding:max(20px, env(safe-area-inset-top)) 24px 20px;border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;display:flex}.drawer-title{color:var(--cyan);align-items:center;gap:10px;display:flex}.drawer-title h2{color:var(--text);margin:0;font-size:1.15rem;font-weight:700}.drawer-close-btn{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.drawer-close-btn:hover{color:var(--text);background:#ffffff14}.drawer-body{flex-direction:column;flex:1;gap:28px;padding:24px;display:flex}.drawer-group{flex-direction:column;gap:12px;display:flex}.drawer-group-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.82rem;font-weight:700}.drawer-level-options{flex-direction:column;gap:8px;display:flex}.drawer-option-card{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:14px;padding:12px 16px;transition:all .2s;display:flex}.drawer-option-card:hover{background:var(--surface-soft);border-color:var(--line-strong)}.drawer-option-card.selected{border-color:var(--cyan);color:#fff;background:#6fb8c91f}.drawer-option-text{flex-direction:column;gap:2px;display:flex}.drawer-option-text strong{font-size:.95rem}.drawer-option-text small{color:var(--muted);font-size:.8rem}.drawer-mode-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.drawer-mode-pill{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:.88rem;transition:all .2s;display:flex}.drawer-mode-pill:hover{background:var(--surface-soft)}.drawer-mode-pill.selected{border-color:var(--cyan);color:var(--cyan);background:#6fb8c91f}.drawer-text-form{gap:8px;display:flex}.drawer-text-form input{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--text);border-radius:8px;flex:1;padding:0 14px;font-size:.92rem}.drawer-text-form input:focus{border-color:var(--cyan);outline:none}.drawer-text-form button{border:1px solid var(--cyan);background:var(--cyan);color:#050607;cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:0 16px;font-size:.88rem;font-weight:600;transition:opacity .2s;display:inline-flex}.drawer-text-form button:disabled{opacity:.4;cursor:not-allowed}.drawer-examples-box{flex-direction:column;gap:6px;margin-top:4px;display:flex}.drawer-examples-box small{color:var(--muted);font-size:.78rem}.drawer-chips{flex-wrap:wrap;gap:6px;display:flex}.drawer-chips button{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;text-align:left;border-radius:6px;padding:6px 10px;font-size:.78rem;transition:all .2s}.drawer-chips button:hover{color:var(--text);border-color:var(--line-strong);background:var(--surface-soft)}.drawer-footer{padding:20px 24px max(20px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}.drawer-reset-btn{border:1px solid var(--line);width:100%;min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.drawer-reset-btn:hover{color:var(--text);border-color:var(--line-strong);background:#ffffff0f}.auth-card-container{width:100%}.auth-tab-selector{border:1px solid var(--line);background:#ffffff0a;border-radius:12px;gap:4px;margin-bottom:20px;padding:4px;display:flex}.auth-tab-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.92rem;font-weight:600;transition:all .2s;display:flex}.auth-tab-btn.active{background:var(--surface-soft);color:#fff;border:1px solid var(--line-strong);box-shadow:0 2px 8px #00000059}.auth-notice{border-radius:10px;align-items:center;gap:10px;margin-bottom:18px;padding:12px 16px;font-size:.88rem;line-height:1.4;display:flex}.auth-notice.success-notice{color:#34d399;background:#10b9811f;border:1px solid #10b98159}.auth-notice.error-notice{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b59}.auth-helper-text{color:var(--muted);border-left:3px solid var(--accent);background:#ffffff08;border-radius:8px;margin:12px 0 16px;padding:10px 12px;font-size:.8rem;line-height:1.45}.admin-container{max-width:1080px;margin:0 auto;padding:24px 16px 60px}.admin-header{margin-bottom:28px}.admin-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.admin-badge{text-transform:uppercase;letter-spacing:.06em;color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b40;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.admin-practice-link{color:#fff;background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:.88rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.admin-practice-link:hover{border-color:var(--accent);color:var(--accent)}.admin-header h1{margin-bottom:8px;font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:700}.admin-header p{color:var(--muted);font-size:.95rem}.admin-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:24px;display:grid}.admin-kpi-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:16px 20px;display:flex}.admin-kpi-card .kpi-label{color:var(--muted);font-size:.82rem;font-weight:500}.admin-kpi-card .kpi-value{color:#fff;font-size:1.8rem;font-weight:700}.admin-kpi-card.kpi-alert{background:#f59e0b12;border-color:#f59e0b80}.admin-kpi-card.kpi-alert .kpi-value{color:#f59e0b}.admin-kpi-card.kpi-success{border-color:#10b98166}.admin-kpi-card.kpi-success .kpi-value{color:#10b981}.admin-toolbar{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}@media (min-width:640px){.admin-toolbar{flex-direction:row;justify-content:space-between;align-items:center}}.admin-search-box{background:var(--surface);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;min-width:280px;padding:8px 14px;display:flex}.admin-search-box input{color:#fff;background:0 0;border:none;outline:none;width:100%;font-size:.9rem}.admin-filter-pills{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.filter-pill{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:20px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:all .2s}.filter-pill:hover,.filter-pill.active{background:var(--surface-soft);color:#fff;border-color:var(--line-strong)}.filter-pill.pill-warning.active{color:#fbbf24;background:#f59e0b33;border-color:#f59e0b}.filter-pill.pill-success.active{color:#34d399;background:#10b98133;border-color:#10b981}.filter-pill.pill-danger.active{color:#f87171;background:#ef444433;border-color:#ef4444}.admin-users-list{flex-direction:column;gap:14px;display:flex}.admin-user-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:14px;padding:18px 20px;transition:border-color .2s;display:flex}.admin-user-card.status-pending{border-left:4px solid #f59e0b}.admin-user-card.status-approved{border-left:4px solid #10b981}.admin-user-card.status-rejected{border-left:4px solid #ef4444}.user-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.user-email-row{align-items:center;gap:8px;display:flex}.user-email{color:#fff;font-size:1.05rem}.badge-admin{color:#fbbf24;background:#f59e0b33;border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:700}.user-nickname{color:var(--muted);margin-top:4px;font-size:.85rem}.status-tag{border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.status-tag.tag-pending{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d}.status-tag.tag-approved{color:#10b981;background:#10b98126;border:1px solid #10b9814d}.status-tag.tag-rejected{color:#ef4444;background:#ef444426;border:1px solid #ef44444d}.user-card-body{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 16px;display:grid}.user-meta-item{color:var(--muted);align-items:center;gap:8px;font-size:.85rem;display:flex}.user-meta-item strong{color:#e2e8f0}.user-difficulties-tags{flex-wrap:wrap;align-items:center;gap:6px;padding-top:4px;display:flex}.diff-title{color:var(--muted);font-size:.78rem;font-weight:600}.diff-pill{border:1px solid var(--line);color:#cbd5e1;background:#ffffff0d;border-radius:12px;padding:2px 8px;font-size:.75rem}.user-card-actions{border-top:1px solid #ffffff0f;gap:10px;padding-top:6px;display:flex}.btn-action{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-approve{color:#fff;background:#10b981}.btn-approve:hover{background:#059669}.btn-reject{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.btn-reject:hover{background:#ef444440}.admin-protected-note{color:var(--muted);font-size:.8rem;font-style:italic}.profile-settings-form{flex-direction:column;gap:24px;max-width:680px;margin:0 auto;display:flex}.profile-stats-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:16px;display:grid}.profile-stats-card .stat-item{align-items:center;gap:10px;display:flex}.profile-stats-card .stat-label{color:var(--muted);font-size:.76rem;display:block}.profile-stats-card strong{color:#fff;font-size:.95rem}.profile-stats-card .email-display{word-break:break-all;font-size:.82rem}.settings-section{border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-direction:column;gap:16px;padding:20px;display:flex}.settings-section legend{color:#fff;align-items:center;gap:8px;padding:0 8px;font-size:1rem;font-weight:700;display:inline-flex}.field-block{flex-direction:column;gap:8px;display:flex}.field-title{color:#e2e8f0;font-size:.9rem;font-weight:600}.field-hint{color:var(--muted);font-size:.78rem}.radio-group-gender{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.gender-card{border:1px solid var(--line);cursor:pointer;background:#ffffff08;border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;transition:all .2s;display:flex}.gender-card input[type=radio]{display:none}.gender-card .gender-title{color:#fff;font-size:.95rem;font-weight:700}.gender-card small{color:var(--muted);font-size:.75rem;line-height:1.35}.gender-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:#eab30814}.difficulties-grid{grid-template-columns:1fr;gap:8px;display:grid}@media (min-width:580px){.difficulties-grid{grid-template-columns:1fr 1fr}}.diff-toggle-btn{text-align:left;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#ffffff08;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:.82rem;transition:all .2s;display:flex}.diff-toggle-btn.active{border-color:var(--accent);color:#fff;background:#eab3081a;font-weight:600}.diff-checkbox{border:1px solid var(--line);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:.75rem;font-weight:700;display:inline-flex}.diff-toggle-btn.active .diff-checkbox{background:var(--accent);color:#000;border-color:var(--accent)}.submit-settings-btn{justify-content:center;width:100%;padding:14px;font-size:1rem}.admin-nav-item{align-items:center;gap:4px;font-weight:700;display:inline-flex;color:#f59e0b!important}.admin-action-btn{color:#f59e0b!important}.rpg-hammock-scene{transform-origin:80px 48px;animation:3.4s ease-in-out infinite hammock-rocking}@keyframes hammock-rocking{0%,to{transform:rotate(-3.5deg)translateY(0)}50%{transform:rotate(3.5deg)translateY(2px)}}.hammock-ground-shadow{transform-origin:80px 144px;animation:3.4s ease-in-out infinite shadow-stretch}@keyframes shadow-stretch{0%,to{opacity:.25;transform:scaleX(.95)}50%{opacity:.4;transform:scaleX(1.05)}}.hammock-swinger{transform-origin:80px 80px}.hammock-alert{animation:.35s ease-in-out infinite alternate hammock-shiver}@keyframes hammock-shiver{0%{transform:translate(-1px,-1px)}to{transform:translate(1px,1px)}}.hammock-zzz text{animation:2s ease-out infinite zzz-float}.hammock-zzz text:nth-child(2){animation-delay:.7s}@keyframes zzz-float{0%{opacity:0;transform:translateY(4px)scale(.7)}40%{opacity:1}to{opacity:0;transform:translate(8px,-14px)scale(1.2)}}.alert-pop-bubble{animation:.3s cubic-bezier(.175,.885,.32,1.275) forwards alert-bubble-pop}@keyframes alert-bubble-pop{0%{opacity:0;transform:scale(.3)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.hammock-dropping{animation:.6s cubic-bezier(.4,0,.2,1) forwards hammock-fade-out}@keyframes hammock-fade-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(35px)scale(.85)}}.hero-landing-jump{animation:.7s cubic-bezier(.34,1.56,.64,1) forwards hero-jump-drop}@keyframes hero-jump-drop{0%{opacity:0;transform:translateY(-55px)scale(.8,1.2)}65%{opacity:1;transform:translateY(6px)scale(1.15,.85)}85%{transform:translateY(-3px)scale(.96,1.04)}to{transform:translateY(0)scale(1)}}.rpg-standing-group .rpg-hero{transform-origin:80px 140px;animation:2.8s cubic-bezier(.45,0,.55,1) infinite realistic-breathe}.rpg-character-stage.speaking .rpg-head{transform-origin:80px 85px;animation:.4s ease-in-out infinite alternate speaking-head-bob}@keyframes speaking-head-bob{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-2px)rotate(1deg)}}.mouth-speaking-live{transform-origin:80px 73px;animation:.22s ease-in-out infinite alternate mouth-phonemes}@keyframes mouth-phonemes{0%{transform:scaleY(.7)scaleX(.9)}to{transform:scaleY(1.35)scaleX(1.05)}}.rpg-character-stage.listening .rpg-head{transition:transform .3s;transform:rotate(3deg)translateY(-1px)}.rpg-eyes.eyes-listening .rpg-pupil{transition:transform .2s;transform:translateY(-1px)}.smoke-ember-glow{animation:1.2s ease-in-out infinite alternate ember-pulse}.rpg-thumb-sparkle{transform-origin:127px 56px;animation:.8s ease-in-out infinite alternate thumb-twinkle}@keyframes thumb-twinkle{0%{opacity:.7;transform:scale(.8)rotate(0)}to{opacity:1;transform:scale(1.25)rotate(45deg)}}.rpg-gesture-watergun{transform-origin:106px 80px;animation:.4s ease-in-out infinite alternate watergun-recoil}@keyframes watergun-recoil{0%{transform:rotate(0)translate(0)}to{transform:rotate(-3deg)translate(2px)}}.water-squirt-stream{transform-origin:74px 68px;animation:.5s ease-out infinite water-squirt-burst}@keyframes water-squirt-burst{0%{opacity:0;transform:scaleX(.4)translate(10px)}35%{opacity:1}to{opacity:.8;transform:scaleX(1.1)translate(-6px)}}
