: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}.brand-avatar-pixel{object-fit:contain;image-rendering:auto;filter:drop-shadow(0 0 7px #f544447a);border-radius:7px;width:28px;height:28px}.brand-title-text{color:#fff;letter-spacing:-.01em;font-weight:750}.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(100dvh - 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-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;image-rendering:auto;shape-rendering:geometricprecision;filter:drop-shadow(0 18px 24px #0000008c);width:88%;height:88%;position:relative;overflow:visible}.pixel-mr-crazy-art{z-index:4;width:88%;height:92%;image-rendering:pixelated;filter:drop-shadow(0 20px 28px #00000094)drop-shadow(0 0 20px #38bdf826);transform:translate3d(calc(var(--look-x,0) * 8px), calc(var(--look-y,0) * 5px - var(--live-head-bob,0px)), 0);transform-origin:bottom;transition:transform .18s ease-out,filter .2s;position:relative;overflow:visible;shape-rendering:crispedges!important}.pixel-body,.pixel-float{transform-box:fill-box;transform-origin:200px 200px;animation:4.6s ease-in-out infinite float}.pixel-owl-avatar{justify-content:center;align-items:center;display:flex}.owl-wizard-canvas{aspect-ratio:4/5;object-fit:contain;background:0 0;width:auto;max-width:100%;height:100%;max-height:100%;transition:transform .28s cubic-bezier(.2,.8,.2,1);display:block}.pixel-arms{transform-box:fill-box;transform-origin:50% 20%}.pixel-arm-left,.pixel-arm-right{transform-origin:50% 20%}.pixel-cape{transform-origin:50% 20%;animation:3.8s ease-in-out infinite pixel-cape-sway}.pixel-eye{transform-box:fill-box;transform-origin:50%}.pixel-gesture-layer>g{opacity:0;transform-box:fill-box;transform-origin:50%}.pixel-gesture-layer .pixel-gesture-idle{opacity:0!important}.pixel-gesture-finger .pixel-gesture-finger,.pixel-gesture-thumbsup .pixel-gesture-thumbsup,.pixel-gesture-heart .pixel-gesture-heart,.pixel-gesture-watergun .pixel-gesture-watergun{opacity:1;animation:.28s ease-out both pixel-gesture-pop}.pixel-speaking .pixel-body{animation:.56s ease-in-out infinite alternate pixel-speaking-body}.pixel-speaking .pixel-arm-left{animation:.9s ease-in-out infinite alternate pixel-talk-left}.pixel-speaking .pixel-arm-right{animation:.78s ease-in-out infinite alternate pixel-talk-right}.pixel-emotion-irritated .pixel-head,.pixel-emotion-crazy .pixel-head{filter:saturate(1.25)}.pixel-emotion-happy .pixel-sparkles,.pixel-emotion-proud .pixel-sparkles{animation:1.1s ease-in-out infinite alternate pixel-sparkle-pop}.pixel-orb-aura{transform-origin:200px 200px;animation:4s ease-in-out infinite pulse}.pixel-color-shift{animation:4s ease-in-out infinite pulse,12s linear infinite bg-color-shift}@keyframes bg-color-shift{0%{filter:hue-rotate()}50%{filter:hue-rotate(180deg)}to{filter:hue-rotate(360deg)}}.pixel-sparkle-star{transform-box:fill-box;transform-origin:50%;animation:3.2s ease-in-out infinite alternate sparkle-twinkle,8s linear infinite sparkle-color-shift}.pixel-sparkle-1{animation-delay:0s,0s}.pixel-sparkle-2{animation-delay:.8s,-2.5s}.pixel-sparkle-3{animation-delay:1.6s,-5s}.pixel-sparkle-4{animation-delay:2.2s,-7.5s}.pixel-sparkle-5{animation-delay:.5s,-3.5s}.pixel-sparkle-6{animation-delay:1.2s,-6s}@keyframes sparkle-twinkle{0%{opacity:.35;transform:scale(.6)rotate(0)}50%{opacity:.95;transform:scale(1.3)rotate(45deg)}to{opacity:.4;transform:scale(.7)rotate(90deg)}}@keyframes sparkle-color-shift{0%{filter:hue-rotate()}33%{filter:hue-rotate(90deg)}66%{filter:hue-rotate(210deg)}to{filter:hue-rotate(360deg)}}.pixel-star-glint{transform-origin:146px 98px;animation:2.2s ease-in-out infinite alternate star-glint-pulse}@keyframes star-glint-pulse{0%{opacity:.7;transform:scale(.85)rotate(-5deg)}to{opacity:1;transform:scale(1.25)rotate(10deg)}}.pixel-ground-shadow{transform-origin:200px 385px;animation:4.6s ease-in-out infinite shadow}@keyframes float{0%,to{transform:translateY(8px)rotate(-1.2deg)}50%{transform:translateY(-14px)rotate(1.2deg)}0%,to{transform:translateY(12px)rotate(-2.2deg)scale(.99,1.01)}50%{transform:translateY(-18px)rotate(2.2deg)scale(1.01,.99)}}@keyframes shadow{0%,to{opacity:.9;transform:scale(1.1)}50%{opacity:.45;transform:scale(.75)}0%,to{opacity:.85;transform:scale(1.15)translateY(0)}50%{opacity:.35;transform:scale(.68)translateY(-4px)}}@keyframes pulse{0%,to{opacity:.75;transform:scale(.97)}50%{opacity:1;transform:scale(1.04)}}.pixel-mouth{transform-box:fill-box;transform-origin:50%;transition:transform 50ms cubic-bezier(.2,.8,.2,1)}.pixel-speaking .pixel-mouth{animation:.16s ease-in-out infinite alternate pixel-mouth-talk}@keyframes pixel-mouth-talk{0%{transform:scaleY(.96)scaleX(.98)}to{transform:scaleY(1.12)scaleX(1.03)}0%{transform:scaleY(.95)scaleX(.98)}to{transform:scaleY(1.16)scaleX(1.04)}}@keyframes pixel-idle-breathe{0%,to{transform:translateY(8px)rotate(-1.2deg)}50%{transform:translateY(-14px)rotate(1.2deg)}0%,to{transform:translateY(12px)rotate(-2.2deg)}50%{transform:translateY(-18px)rotate(2.2deg)}}@keyframes pixel-speaking-body{0%,to{transform:translateY(6px)rotate(-1.4deg)scale(1)}50%{transform:translateY(-16px)rotate(1.4deg)scale(1.02)}0%,to{transform:translateY(8px)rotate(-2.6deg)scale(1)}50%{transform:translateY(-20px)rotate(2.6deg)scale(1.03)}}@keyframes pixel-talk-left{0%{transform:rotate(1deg)translateY(0)}to{transform:rotate(-4deg)translateY(-2px)}}@keyframes pixel-talk-right{0%{transform:rotate(-1deg)}to{transform:rotate(4deg)translateY(-2px)}}@keyframes pixel-listening-head{0%,to{transform:rotate(0)}45%{transform:rotate(-2deg)translateY(-1px)}75%{transform:rotate(1deg)}}@keyframes pixel-cape-sway{0%,to{transform:skew(0)}50%{transform:skew(-1deg)}}@keyframes pixel-gesture-pop{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes pixel-sparkle-pop{0%{opacity:.45;transform:translateY(1px)}to{opacity:1;transform:translateY(-3px)}}@keyframes mr-crazy-3d-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.008,1.012)}}@keyframes mr-crazy-3d-speak{0%{transform:translateY(0)rotate(-.6deg)}50%{transform:translateY(-3.5px)rotate(.4deg)}to{transform:translateY(-1.5px)rotate(.8deg)}}@keyframes mr-crazy-3d-listen{0%,to{transform:rotate(0)}35%{transform:rotate(-1.8deg)translateY(-1px)}75%{transform:rotate(1.2deg)translateY(0)}}.mr-crazy-vein{transform-origin:50%;animation:.48s cubic-bezier(.3,0,.2,1) infinite alternate mr-crazy-vein-throb}.mr-crazy-steam-left{transform-origin:96px 122px;animation:1.2s ease-in-out infinite alternate mr-crazy-steam-left-drift}.mr-crazy-steam-right{transform-origin:224px 122px;animation:1.2s ease-in-out infinite alternate mr-crazy-steam-right-drift}.mr-crazy-sweat{transform-origin:100px 92px;animation:1.4s ease-in-out infinite mr-crazy-sweat-wobble}.mr-crazy-happy-glint{transform-origin:198px 94px;animation:.75s ease-in-out infinite alternate mr-crazy-glint-twinkle;display:none!important}@keyframes mr-crazy-vein-throb{0%{opacity:.75;transform:translate(204px,60px)scale(.85)}to{opacity:1;transform:translate(204px,60px)scale(1.22)}}@keyframes mr-crazy-steam-left-drift{0%{opacity:.4;transform:translate(0)scale(.8)}to{opacity:.95;transform:translate(-6px,-10px)scale(1.15)}}@keyframes mr-crazy-steam-right-drift{0%{opacity:.4;transform:translate(0)scale(.8)}to{opacity:.95;transform:translate(6px,-10px)scale(1.15)}}@keyframes mr-crazy-sweat-wobble{0%,to{transform:translateY(0)scaleY(1)}50%{transform:translateY(3px)scaleY(1.08)}}@keyframes mr-crazy-glint-twinkle{0%{opacity:.4;transform:scale(.6)rotate(-15deg)}to{opacity:1;transform:scale(1.2)rotate(20deg)}}@media (prefers-reduced-motion:reduce){.pixel-body,.pixel-cape,.pixel-speaking .pixel-arm-left,.pixel-speaking .pixel-arm-right,.pixel-listening .pixel-head,.pixel-sparkles{animation:none!important}}.mr-crazy-preview-layer{z-index:4;opacity:1;pointer-events:none;transform:translate3d(calc(var(--look-x,0) * 10px), calc(var(--look-y,0) * 6px - var(--live-head-bob,0px)), 0) scale(var(--real-avatar-scale,1.12));transform-origin:bottom;filter:drop-shadow(0 22px 34px #000000b8)drop-shadow(0 0 22px #f59e0b2e);transition:opacity .22s,transform .16s ease-out,filter .22s;animation:3.4s ease-in-out infinite real-avatar-breathe;position:absolute;inset:-6% -12% -10%}.rpg-character-stage.speaking .mr-crazy-preview-layer{transform:translate3d(calc(var(--look-x,0) * 12px), calc(-4px + var(--look-y,0) * 6px - var(--live-head-bob,0px)), 0) scale(calc(var(--real-avatar-scale,1.12) + .07));filter:drop-shadow(0 26px 40px #000000c2)drop-shadow(0 0 34px #f59e0b52);animation:1.65s ease-in-out infinite alternate real-avatar-speaking}.rpg-character-stage.listening .mr-crazy-preview-layer{transform:translate3d(calc(var(--look-x,0) * 8px), calc(1px + var(--look-y,0) * 4px), 0) scale(calc(var(--real-avatar-scale,1.12) + .02));filter:drop-shadow(0 22px 34px #000000b8)drop-shadow(0 0 24px #38bdf83d)}.rpg-character-stage.is-still .mr-crazy-preview-layer{transform:translate3d(0, 0, 0) scale(var(--real-avatar-scale,1.12));animation:none}.rpg-character-stage.analyzing .mr-crazy-preview-layer{transform:translate3d(0, -2px, 0) scale(calc(var(--real-avatar-scale,1.12) + .04));filter:drop-shadow(0 24px 38px #000000c7)drop-shadow(0 0 28px #38bdf861)}.rpg-character-stage.crazy .mr-crazy-preview-layer,.rpg-character-stage.irritated .mr-crazy-preview-layer{filter:drop-shadow(0 26px 44px #000c)drop-shadow(0 0 36px #ef444466)drop-shadow(0 0 16px #f59e0b4d)}.character-tap-reaction-bubble{z-index:10;-webkit-backdrop-filter:blur(10px);pointer-events:none;white-space:nowrap;background:#0f172ae0;border:1px solid #f59e0b99;border-radius:9999px;padding:5px 14px;animation:1.6s ease-out forwards tap-reaction-float;position:absolute;top:6%;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080,0 0 14px #f59e0b59}.character-tap-reaction-bubble span{color:#fef3c7;letter-spacing:.02em;text-shadow:0 1px 2px #0009;font-size:.84rem;font-weight:800}@keyframes tap-reaction-float{0%{opacity:0;transform:translate(-50%,10px)scale(.85)}18%{opacity:1;transform:translate(-50%,-4px)scale(1.05)}35%{transform:translate(-50%,-8px)scale(1)}75%{opacity:1;transform:translate(-50%,-18px)scale(1)}to{opacity:0;transform:translate(-50%,-28px)scale(.95)}}.mr-crazy-preview-img{object-fit:contain;object-position:center bottom;-webkit-user-select:none;user-select:none}.mr-crazy-rigged-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.mr-crazy-rigged-canvas canvas{pointer-events:none;display:block;width:100%!important;height:100%!important}.mr-crazy-rigged-fallback{z-index:0;object-fit:contain;object-position:center bottom;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.character-loading-screen{z-index:999;background:radial-gradient(circle at 50% 38%,#f59e0b24,#0000 26%),radial-gradient(circle at 50% 80%,#0ea5e91f,#0000 34%),#07090d;place-items:center;min-height:100dvh;padding:24px;display:grid;position:fixed;inset:0;overflow:hidden}.character-loading-screen:before,.character-loading-screen:after{content:"";pointer-events:none;border:1px solid #f59e0b1f;border-radius:24px;position:absolute;inset:8%}.character-loading-screen:after{border-color:#38bdf81a;border-radius:18px;inset:12% 16%}.character-loading-card{z-index:1;-webkit-backdrop-filter:blur(16px);background:#0c1119e8;border:1px solid #f59e0b47;border-radius:18px;flex-direction:column;align-items:center;width:min(100%,440px);padding:22px 24px 20px;display:flex;position:relative;box-shadow:0 24px 70px #0000008a,0 0 36px #f59e0b14}.character-loading-stage{width:min(62vw,230px);height:min(38vh,250px);min-height:170px;margin-bottom:4px;position:relative}.character-loading-aura{background:radial-gradient(#f59e0b47,#0ea5e914 48%,#0000 72%);border-radius:50%;animation:2.4s ease-in-out infinite character-loading-pulse;position:absolute;inset:18% 4% 0}.character-loading-avatar{z-index:1;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 24px #0000009e);width:100%;height:100%;animation:2.8s ease-in-out infinite character-loading-float;display:block;position:relative}.character-loading-eyebrow{color:#fbbf24;letter-spacing:.15em;margin:0 0 5px;font-size:.64rem;font-weight:800}.character-loading-card h1{color:#f8fafc;text-align:center;margin:0;font-size:clamp(1.2rem,3vw,1.55rem)}.character-loading-line{color:#cbd5e1;text-align:center;min-height:40px;margin:10px 0 16px;font-size:.88rem;line-height:1.45}.character-loading-progress{background:#0f172ae6;border:1px solid #f59e0b4d;border-radius:999px;width:100%;height:8px;overflow:hidden}.character-loading-progress span{border-radius:inherit;background:linear-gradient(90deg,#f59e0b,#facc15,#38bdf8);height:100%;transition:width .25s;display:block;box-shadow:0 0 14px #f59e0b8c}.character-loading-progress.is-indeterminate span{animation:1.2s ease-in-out infinite character-loading-indeterminate;width:38%!important}.character-loading-meta{color:#64748b;justify-content:space-between;width:100%;margin-top:7px;font-size:.68rem;display:flex}@keyframes character-loading-pulse{0%,to{opacity:.62;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}@keyframes character-loading-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes character-loading-indeterminate{0%{transform:translate(-120%)}to{transform:translate(310%)}}@media (max-width:520px){.character-loading-screen{padding:14px}.character-loading-card{padding:16px 16px 15px}.character-loading-stage{width:min(66vw,205px);height:min(34vh,220px);min-height:145px}.character-loading-line{font-size:.8rem}}@media (prefers-reduced-motion:reduce){.character-loading-aura,.character-loading-avatar,.character-loading-progress.is-indeterminate span{animation:none}}.rpg-character-stage.has-real-avatar .rpg-character{opacity:0;visibility:hidden}.rpg-character-stage.has-real-avatar .character-glow{z-index:3;opacity:.34}@keyframes real-avatar-breathe{0%,to{translate:0}48%{translate:0 -5px}}@keyframes real-avatar-speaking{0%{translate:-3px}to{translate:4px -7px}}.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:4.2s 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-head{animation:2s ease-in-out infinite alternate realistic-head-listen}.rpg-character-stage.listening .rpg-hero{transform:translateY(1px)scale(1.01)}.rpg-character-stage.listening .rpg-eyes{animation:none;transform:scaleY(1.08)}.rpg-character-stage.speaking .rpg-hero{animation:2.2s cubic-bezier(.4,0,.2,1) infinite alternate realistic-speaking-body}.rpg-character-stage.speaking .rpg-head{animation:1.6s ease-in-out infinite alternate realistic-head-speech}.rpg-character-stage.speaking .rpg-mouth{transform-origin:80px 74px}.rpg-character-stage.speaking .arm-speaking-teaching{transform-origin:116px 88px;animation:1.4s cubic-bezier(.35,0,.25,1) infinite alternate realistic-teaching-gesture}.brows-listening{transform-origin:80px 48px;transition:transform .2s ease-out;transform:translateY(-2px)scaleY(1.15)}.brows-speaking{transform-origin:80px 48px;animation:.75s ease-in-out infinite alternate brows-articulate}.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%,86%,92%,96%,to{transform:scaleY(1)}88%{transform:scaleY(.08)}94%{transform:scaleY(.15)}}@keyframes realistic-head-speech{0%{transform:translateY(0)rotate(0)}30%{transform:translateY(1.1px)rotate(.6deg)}65%{transform:translateY(-.5px)rotate(-.8deg)}to{transform:translateY(1.3px)rotate(.4deg)}}@keyframes realistic-speaking-body{0%{transform:translateY(0)rotate(0)scale(1)}35%{transform:translateY(-1.4px)rotate(.5deg)scale(1.008)}70%{transform:translateY(-.6px)rotate(-.4deg)scale(1.004)}to{transform:translateY(-1.8px)rotate(.3deg)scale(1.01)}}@keyframes realistic-head-listen{0%{transform:rotate(-1.5deg)translateY(.5px)}to{transform:rotate(-3.2deg)translateY(1.2px)}}@keyframes realistic-teaching-gesture{0%{transform:rotate(0)translateY(0)}35%{transform:rotate(-3.5deg)translateY(-2px)}70%{transform:rotate(-1.2deg)translateY(-.8px)}to{transform:rotate(-4deg)translateY(-2.2px)}}@keyframes brows-articulate{0%{transform:translateY(0)}50%{transform:translateY(-2px)}to{transform:translateY(-.5px)}}@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%)}.practice-voice-hub{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:6px;width:100%;max-width:440px;margin-top:4px;margin-bottom:2px;display:flex}.listening-wave-hub{flex-direction:column;align-items:center;gap:4px;width:100%;padding:2px 0;transition:all .3s;display:flex}.wave-status-pill{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ad1;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;display:inline-flex;box-shadow:0 2px 8px #0000004d}.wave-status-dot{background:#94a3b8;border-radius:50%;width:6px;height:6px;transition:all .25s}.listening-wave-hub.is-active .wave-status-dot{background:#10b981;box-shadow:0 0 8px #10b981}.listening-wave-hub.is-audible:not(.is-speaking) .wave-status-dot{background:#38bdf8;animation:.8s ease-in-out infinite alternate dotLivePulse;box-shadow:0 0 10px #38bdf8}.listening-wave-hub.is-speaking .wave-status-dot{background:#f59e0b;animation:.6s ease-in-out infinite alternate dotLivePulse;box-shadow:0 0 10px #f59e0b}@keyframes dotLivePulse{0%{opacity:.7;transform:scale(.9)}to{opacity:1;transform:scale(1.3)}}.wave-status-label{color:#cbd5e1;letter-spacing:.2px;font-size:.72rem;font-weight:500}.listening-wave-bars{justify-content:center;align-items:center;gap:4.5px;width:100%;max-width:290px;height:32px;display:flex}.listening-wave-bars span{transform-origin:50%;will-change:transform;background:#ffffff40;border-radius:999px;width:3.5px;height:24px;transition:transform 60ms,background .25s;display:block;transform:scaleY(.2)}.listening-wave-hub.is-speaking .listening-wave-bars span{background:linear-gradient(#fbbf24 0%,#f59e0b 50%,#ef4444 100%);animation:.42s ease-in-out infinite alternate crazyVoiceBarWave;box-shadow:0 0 8px #f59e0b73}@keyframes crazyVoiceBarWave{0%{transform:scaleY(calc(.25 * var(--height-mult,1)));opacity:.65}to{transform:scaleY(calc(1.3 * var(--height-mult,1)));opacity:1}}.listening-wave-hub.is-active:not(.is-speaking) .listening-wave-bars span{transform:scaleY(clamp(.18, calc(.18 + var(--user-level,0) * var(--center-weight,1) * 2.8), 1.35));background:linear-gradient(#38bdf8 0%,#10b981 100%);box-shadow:0 0 6px #38bdf859}.listening-wave-hub.is-audible:not(.is-speaking) .listening-wave-bars span{filter:brightness(1.2);box-shadow:0 0 10px #38bdf8b3}.listening-wave-hub.is-inactive .listening-wave-bars span{opacity:.25;transform:scaleY(.15)}.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.is-speaking{border-color:#f97316a6;box-shadow:0 0 16px #f9731640}.conversation-bubble.is-faded-1{opacity:.52;transform:scale(.985)}.conversation-bubble.is-faded-2{opacity:.22;transform:scale(.97)}.history-visibility-toggle{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:20px;align-self:center;margin-bottom:2px;padding:4px 12px;font-size:.72rem;font-weight:500;transition:all .2s}.history-visibility-toggle:hover{color:var(--text);background:#ffffff1f;border-color:#ffffff40}.teaching-concept-wrapper{flex-direction:column;flex-shrink:0;gap:4px;width:100%;max-width:960px;display:flex}.teaching-concept-pill-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121820d9;border:1px solid #ffffff14;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:4px 10px;display:flex}.teaching-study-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(90deg,#0f172aeb,#1e293bd9);border:1px solid #f973164d;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:6px 12px;display:flex;box-shadow:0 2px 10px #0003}.study-card-item{align-items:center;gap:6px;min-width:0;display:inline-flex}.study-item-label{text-transform:uppercase;letter-spacing:.4px;color:#94a3b8;white-space:nowrap;background:#ffffff0f;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:.65rem;font-weight:700}.study-item-value{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:500;overflow:hidden}.study-card-item.study-meaning .study-item-value{color:#cbd5e1;font-style:italic}.study-speak-trigger-btn{color:#38bdf8;cursor:pointer;background:#38bdf81a;border:1px solid #38bdf840;border-radius:6px;align-items:center;gap:4px;min-width:0;padding:2px 7px;transition:all .2s;display:inline-flex}.study-speak-trigger-btn:hover{color:#7dd3fc;background:#38bdf838;border-color:#38bdf880;transform:translateY(-1px)}.study-item-value.english-phrase{color:#38bdf8;white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.study-item-value.phonetic-guide{color:#fbbf24;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.teaching-concept-badge{align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.concept-step-number{color:#fb923c;white-space:nowrap;background:linear-gradient(135deg,#f9731640,#ea580c66);border:1px solid #f9731680;border-radius:6px;flex-shrink:0;padding:2px 8px;font-size:.7rem;font-weight:700}.concept-remaining-pill{color:#7dd3fc;white-space:nowrap;letter-spacing:.2px;background:#38bdf824;border:1px solid #38bdf859;border-radius:9999px;flex-shrink:0;padding:2px 7px;font-size:.68rem;font-weight:700}.module-phase-stepper-track{align-items:center;gap:5px;width:100%;padding:3px 2px 1px;display:flex}.phase-stepper-step{cursor:default;flex-direction:column;flex:1 1 0;align-items:center;gap:2px;min-width:0;display:flex}.phase-stepper-bar-fill{background:#ffffff1a;border-radius:9999px;width:100%;height:4px;transition:all .25s cubic-bezier(.16,1,.3,1)}.phase-stepper-label{color:#64748b;align-items:center;gap:2px;font-size:.6rem;font-weight:700;line-height:1;display:inline-flex}.phase-stepper-step.is-passed .phase-stepper-bar-fill{background:#10b981;box-shadow:0 0 6px #10b98166}.phase-stepper-step.is-passed .phase-stepper-label{color:#34d399}.phase-stepper-step.is-current .phase-stepper-bar-fill{background:linear-gradient(90deg,#f97316,#fb923c);height:5px;box-shadow:0 0 8px #f97316b3}.phase-stepper-step.is-current .phase-stepper-label{color:#fb923c;font-weight:800}.phase-stepper-step.phase-stepper-boss{cursor:pointer}.phase-stepper-step.phase-stepper-boss .phase-stepper-bar-fill{background:#eab30833;border:1px dashed #eab30866}.phase-stepper-step.phase-stepper-boss .phase-stepper-label{color:#eab308}.phase-stepper-step.phase-stepper-boss.is-boss-ready .phase-stepper-bar-fill{background:linear-gradient(90deg,#eab308,#f59e0b);animation:1.2s infinite alternate pulse;box-shadow:0 0 10px #eab308b3}.concept-step-title{color:#f1f5f9;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:600;overflow:hidden}.teaching-concept-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.concept-guide-toggle-btn{color:#38bdf8;cursor:pointer;white-space:nowrap;background:#38bdf81a;border:1px solid #38bdf859;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.concept-guide-toggle-btn:hover{color:#7dd3fc;background:#38bdf838;border-color:#38bdf8}.concept-guide-toggle-btn.active{color:#fb923c;background:#f9731629;border-color:#f9731673}.concept-completed-pill{color:#34d399;white-space:nowrap;background:#10b98126;border:1px solid #34d39959;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.7rem;font-weight:700}.lesson-completed-card{background:linear-gradient(145deg,#141a26f5,#0f172aeb);border:1px solid #f59e0b73;border-radius:14px;flex-direction:column;gap:12px;width:100%;margin:6px 0;padding:14px 16px;animation:.35s ease-out fadeInLessonCard;display:flex;box-shadow:0 8px 32px #00000080,0 0 20px #f59e0b26}@keyframes fadeInLessonCard{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.lesson-completed-header{align-items:center;gap:10px;display:flex}.lesson-completed-header h4{color:#fbbf24;margin:0;font-size:.95rem;font-weight:700}.lesson-completed-header p{color:#94a3b8;margin:2px 0 0;font-size:.8rem}.lesson-completed-actions{flex-wrap:wrap;gap:8px;display:flex}.lesson-btn-advance{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:1px solid #34d399;border-radius:10px;flex:180px;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #10b98159}.lesson-btn-advance:hover{transform:translateY(-1px);box-shadow:0 6px 20px #10b98180}.lesson-btn-redo{color:#cbd5e1;cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:10px;flex:120px;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.lesson-btn-redo:hover{color:#fff;background:#ffffff24}.lesson-btn-exam{color:#fb923c;cursor:pointer;background:linear-gradient(135deg,#ea580c33,#f9731659);border:1px solid #f9731680;border-radius:10px;flex:130px;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.lesson-btn-exam:hover{color:#fed7aa;background:#f9731666}.bubble-header{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.bubble-header span{margin-bottom:0}.bubble-actions{opacity:.65;align-items:center;gap:4px;transition:opacity .15s;display:inline-flex}.conversation-bubble:hover .bubble-actions{opacity:1}.bubble-action-btn{width:22px;height:22px;color:var(--muted);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.bubble-action-btn:hover{color:#f8fafc;background:#ffffff24;border-color:#fff3}.bubble-action-btn.playing{color:#fb923c;background:#f9731640;border-color:#f9731680;animation:1.2s ease-in-out infinite pulse-speaker}@keyframes pulse-speaker{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.quoted-english-token{color:#7dd3fc;background:#38bdf81f;border:1px solid #38bdf847;border-radius:6px;margin:0 2px;padding:1px 6px;font-family:inherit;font-weight:600;display:inline-block}.conversation-bubble.crazy .quoted-english-token{color:#fed7aa;background:#fb923c26;border-color:#fb923c61}.bubble-typing-indicator{align-items:center;gap:5px;padding:6px 2px;display:flex}.bubble-typing-indicator .dot{background:#fb923c;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite bounce-dot}.bubble-typing-indicator .dot:nth-child(2){animation-delay:.18s}.bubble-typing-indicator .dot:nth-child(3){animation-delay:.36s}@keyframes bounce-dot{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}.chat-suggestions-bar{flex-direction:column;gap:4px;width:100%;max-width:360px;margin:6px auto 0;display:flex}.suggestions-chips-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:4px 2px;display:flex}.suggestion-chip-btn{color:#cbd5e1;white-space:nowrap;cursor:pointer;background:#1e293bbf;border:1px solid #ffffff1f;border-radius:9999px;flex-shrink:0;align-items:center;gap:4px;padding:4px 11px;font-size:.75rem;transition:all .15s;display:inline-flex}.suggestion-chip-btn .chip-icon{color:#38bdf8;flex-shrink:0}.suggestion-chip-btn:hover:not(:disabled){color:#f8fafc;background:#38bdf829;border-color:#38bdf873;transform:translateY(-1px)}.suggestion-chip-btn:disabled{opacity:.45;cursor:not-allowed}.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:100dvh;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-main,.secondary-main{padding-bottom:calc(56px + max(4px, calc(env(safe-area-inset-bottom) * .5)))}.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-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(56px + max(4px, calc(env(safe-area-inset-bottom) * .5))) max(14px, env(safe-area-inset-left))}.secondary-main{padding-right:max(14px, env(safe-area-inset-right));padding-bottom:calc(56px + max(4px, calc(env(safe-area-inset-bottom) * .5)));padding-left:max(14px, env(safe-area-inset-left))}.mobile-nav{z-index:100;padding:3px max(6px, env(safe-area-inset-right)) max(4px, calc(env(safe-area-inset-bottom) * .42)) max(6px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(24px);background:#070809f5;border-top:1px solid #ffffff14;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 14px #00000073}.mobile-nav a,.mobile-nav .mobile-nav-item{min-width:0;min-height:42px;color:var(--muted);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px 2px;font-size:.65rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.mobile-nav-icon-wrap{justify-content:center;align-items:center;height:20px;transition:transform .2s;display:flex}.mobile-nav-icon-wrap svg{width:18px;height:18px}.mobile-nav a:hover,.mobile-nav .mobile-nav-item:hover{color:var(--text)}.mobile-nav a.active,.mobile-nav a[aria-current=page],.mobile-nav .mobile-nav-item.active{color:#6fb8c9;background:#6fb8c91f}.mobile-nav a.active .mobile-nav-icon-wrap,.mobile-nav .mobile-nav-item.active .mobile-nav-icon-wrap{filter:drop-shadow(0 0 6px #6fb8c980);transform:translateY(-1px)}.mobile-nav a.is-beta,.mobile-nav .mobile-nav-item.is-beta{color:#d8b4fe;background:#121622d1;border:1px solid #a855f74d;border-radius:9px;margin:1px 2px;position:relative}.mobile-nav a.is-beta:hover,.mobile-nav .mobile-nav-item.is-beta:hover{color:#f3e8ff;background:#1a2032f2;border-color:#a855f78c}.mobile-nav a.is-beta.active,.mobile-nav .mobile-nav-item.is-beta.active{box-shadow:0 0 10px #a855f759;color:#f5d0fe!important;background:linear-gradient(#9333ea47,#6b21a861)!important;border-color:#a855f7b3!important}.mobile-nav a.is-beta.active .mobile-nav-icon-wrap,.mobile-nav .mobile-nav-item.is-beta.active .mobile-nav-icon-wrap{filter:drop-shadow(0 0 7px #a855f799)}.mobile-nav-badge-pill{color:#fff;background:linear-gradient(135deg,#a855f7,#6366f1);border-radius:9999px;padding:1.5px 3.5px;font-size:.5rem;font-weight:800;line-height:1;position:absolute;top:-3px;right:-10px;box-shadow:0 2px 5px #9333ea80}.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}.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,.practice-header-nav-row{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.practice-header-stats-group{flex:1;justify-content:center;align-items:center;min-width:0;display:flex}.practice-header-actions-group{flex-shrink:0;align-items:center;gap:8px;display:flex}.header-icon-action-btn{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--text-soft);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:inline-flex;position:relative}.header-icon-action-btn:hover{background:var(--surface-soft);color:var(--text);border-color:var(--line-strong);transform:translateY(-1px)}.header-icon-action-btn.is-active{color:var(--cyan);background:#6fb8c929;border-color:#6fb8c973}.header-icon-count-badge{color:#fff;background:#0284c7;border:1px solid #fff3;border-radius:9999px;padding:1px 5px;font-size:.65rem;font-weight:700;line-height:1;position:absolute;top:-4px;right:-4px}.practice-header-actions-group{align-items:center;gap:8px;display:flex}.practice-header-stats-row{align-items:center;display:flex}.practice-header-bar .session-header{flex:1}.header-actions-group{align-items:center;gap:8px;display:flex}.pip-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;position:relative}.pip-btn:hover{background:var(--surface-soft);border-color:var(--cyan);color:var(--cyan);transform:translateY(-1px)}.pip-btn.active{color:#4ade80;background:#22c55e26;border-color:#22c55e;box-shadow:0 0 16px #22c55e66}.pip-badge-active{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:1.4s infinite alternate mic-pulse;position:absolute;top:6px;right:6px;box-shadow:0 0 6px #22c55e}.popup-banner-tip{color:#bae6fd;background:#38bdf81f;border:1px solid #38bdf84d;border-radius:12px;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:.85rem;animation:.3s fadeIn;display:flex}.pip-floating-toast{color:#eff6ff;background:linear-gradient(135deg,#1e3a8af2,#4338caf2);border-color:#60a5fa99;box-shadow:0 4px 18px #2563eb59}.drawer-pip-actions{flex-direction:column;gap:10px;margin-top:8px;display:flex}.drawer-action-btn{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.drawer-action-btn.primary{color:#f8fafc;background:linear-gradient(135deg,#06b6d433,#a855f733);border-color:#06b6d480}.drawer-action-btn.primary:hover{border-color:var(--cyan);background:linear-gradient(135deg,#06b6d44d,#a855f74d);transform:translateY(-1px)}.drawer-action-btn.secondary{background:var(--surface);border-color:var(--line);color:var(--text-soft)}.drawer-action-btn.secondary:hover{background:var(--surface-soft);color:var(--text);border-color:var(--line-strong)}.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;width:100%;max-width:min(1380px,95vw);margin:0 auto;padding:16px 24px 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:420px;padding:8px 8px 36px;display:flex;overflow:hidden auto;-webkit-mask-image:linear-gradient(#0000 0%,#000 14px 100%);mask-image:linear-gradient(#0000 0%,#000 14px 100%)}.messages-bottom-anchor{flex-shrink:0;width:100%;height:48px;min-height:48px}.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}.voice-mode-selector-pill{background:#0f172abf;border:1px solid #ffffff1a;border-radius:9999px;align-items:center;gap:2px;margin-bottom:4px;padding:2px;display:inline-flex}.voice-mode-tab-btn{color:#94a3b8;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9999px;align-items:center;gap:5px;padding:4px 10px;font-size:.68rem;font-weight:600;transition:all .18s;display:inline-flex}.voice-mode-tab-btn:hover{color:#f1f5f9}.voice-mode-tab-btn.is-active{color:#38bdf8;background:#ffffff1f;box-shadow:0 1px 4px #0000004d}.mic-btn-row{justify-content:center;align-items:center;gap:12px;width:100%;display:flex;position:relative}.dock-wave-side-container{flex:1 1 0;justify-content:center;align-items:center;min-width:40px;max-width:90px;display:flex}.voice-action-badge{cursor:pointer;background:#0f172ad9;border:1px solid #ffffff1f;border-radius:9999px;align-items:center;gap:6px;margin-top:3px;padding:4px 12px;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #0000004d}.voice-action-badge:hover{background:#0f172af2;border-color:#38bdf866}.voice-action-indicator-dot{background:#ef4444;border-radius:50%;width:6px;height:6px;transition:all .2s;box-shadow:0 0 6px #ef4444b3}.voice-action-text{color:#fca5a5;letter-spacing:.1px;font-size:.72rem;font-weight:600}.voice-action-badge:not(.is-active):not(.is-speaking):not(.is-connecting){background:#1a1118e6;border-color:#ef444466}.voice-action-badge.is-active .voice-action-indicator-dot{background:#10b981;animation:1.5s infinite pulse;box-shadow:0 0 8px #10b981}.voice-action-badge.is-active .voice-action-text{color:#34d399}.voice-action-badge.is-ready{background:#082f49e0;border-color:#38bdf873;animation:2.4s ease-in-out infinite voice-ready-pulse}.voice-action-badge.is-ready .voice-action-indicator-dot{background:#38bdf8;box-shadow:0 0 8px #38bdf8d9}.voice-action-badge.is-ready .voice-action-text{color:#bae6fd}@keyframes voice-ready-pulse{0%,to{box-shadow:0 2px 8px #0000004d}50%{box-shadow:0 2px 16px #38bdf838}}.voice-action-badge.is-speaking .voice-action-indicator-dot{background:#38bdf8;box-shadow:0 0 8px #38bdf8}.voice-action-badge.is-speaking .voice-action-text{color:#7dd3fc}.voice-action-badge.is-connecting .voice-action-indicator-dot{background:#f59e0b;animation:1s infinite pulse}.voice-action-badge.is-connecting .voice-action-text{color:#fde68a}.ptt-mode-toggle-btn{color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0e;border:1px solid #ffffff21;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .22s;display:flex}.ptt-mode-toggle-btn:hover{color:#94a3b8;background:#ffffff1c;border-color:#ffffff47;transform:scale(1.1)}.ptt-mode-toggle-btn.is-ptt{color:#34d399;background:#10b98124;border-color:#10b9817a;box-shadow:0 0 10px #10b98138}.ptt-dock-row{-webkit-backdrop-filter:blur(16px);background:linear-gradient(135deg,#0f172af0 0%,#1e293be0 100%);border:1.5px solid #f59e0b59;border-radius:22px;align-items:center;gap:12px;width:100%;max-width:380px;margin-top:2px;margin-bottom:2px;padding:10px 16px;display:flex;transform:translateY(-8px);box-shadow:0 8px 30px #0000008c,0 0 20px #f59e0b1f}.ptt-dock-hold-btn{letter-spacing:.2px;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;white-space:nowrap;border:1.5px solid #0000;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 18px;font-size:.82rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.ptt-dock-hold-btn.is-idle{color:#fef08a;background:linear-gradient(135deg,#f59e0b33 0%,#d977061f 100%);border-color:#f59e0b80;box-shadow:0 2px 10px #f59e0b33}.ptt-dock-hold-btn.is-idle:hover{color:#fff;background:linear-gradient(135deg,#f59e0b52 0%,#d9770638 100%);border-color:#f59e0b;transform:translateY(-1px);box-shadow:0 4px 18px #f59e0b66}.ptt-dock-hold-btn.is-recording{color:#fff;background:linear-gradient(135deg,#ef444452 0%,#dc262638 100%);border-color:#ef4444d9;animation:.85s ease-in-out infinite alternate pttHoldPulse;transform:scale(1.05);box-shadow:0 0 24px #ef4444b3}.ptt-dock-hold-btn.is-cancelling{color:#fecaca;background:#7f1d1dbf;border-color:#f87171;transform:scale(.96)}.ptt-dock-hold-btn.is-connecting{color:#7dd3fc;background:#0ea5e926;border-color:#38bdf8}@keyframes pttHoldPulse{0%{box-shadow:0 0 10px #ef444466}to{box-shadow:0 0 24px #ef4444d9}}.ptt-dock-label{white-space:nowrap;font-size:.8rem;font-weight:700}.ptt-dock-center{flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:3px;min-width:0;display:flex;overflow:hidden}.ptt-dock-status{color:#334155;text-align:center;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.2px;max-width:100%;font-size:.6rem;overflow:hidden}.dock-wave-bars{justify-content:center;align-items:center;gap:2.5px;width:100%;height:24px;display:flex}.dock-wave-bars span{background:#334155;border-radius:999px;width:3px;height:3px;min-height:3px;transition:background .2s,box-shadow .2s;display:block}.dock-wave-bars.is-active span{background:linear-gradient(#34d399 0%,#059669 100%);box-shadow:0 0 6px #10b98173}.dock-wave-bars.is-holding span{background:linear-gradient(#f87171 0%,#dc2626 100%);box-shadow:0 0 6px #ef44448c}.dock-wave-bars.is-speaking span{background:linear-gradient(#fbbf24 0%,#d97706 100%);box-shadow:0 0 8px #f59e0b99}.ptt-recording-pill{background:#0f172aeb;border:1px solid #ef444480;border-radius:999px;align-items:center;gap:8px;margin-bottom:2px;padding:3px 12px;animation:1.2s ease-in-out infinite alternate pttPillPulse;display:inline-flex;transform:translateY(-8px);box-shadow:0 0 16px #ef444440}.ptt-recording-pill.is-cancelling{background:#b91c1cd9;border-color:#ef4444;box-shadow:0 0 20px #ef444499}.ptt-rec-dot{background:#ef4444;border-radius:50%;width:8px;height:8px;animation:.8s ease-in-out infinite pttDotBlink}.ptt-rec-timer{color:#fff;font-family:monospace;font-size:.78rem;font-weight:700}.ptt-slide-hint{color:#cbd5e1;letter-spacing:.2px;font-size:.68rem}@keyframes pttDotBlink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.75)}}@keyframes pttPillPulse{0%{transform:scale(.98)}to{transform:scale(1.02)}}.avatar-mic-dock{z-index:10;justify-content:center;align-items:center;margin-top:4px;margin-bottom:4px;display:flex}.avatar-mic-halo-wrapper{justify-content:center;align-items:center;width:76px;height:76px;display:flex;position:relative}.mic-halo-pulse-ring{pointer-events:none;border:2px solid #10b981a6;border-radius:50%;position:absolute;inset:0}.mic-halo-pulse-ring.ring-1{animation:2.2s cubic-bezier(.16,1,.3,1) infinite micHaloPulseAnim}.mic-halo-pulse-ring.ring-2{animation:2.2s cubic-bezier(.16,1,.3,1) 1.1s infinite micHaloPulseAnim}.mic-halo-pulse-ring.speaking-ring{border-color:#f59e0bbf;animation:1.2s ease-in-out infinite alternate micSpeakingHaloPulse}@keyframes micHaloPulseAnim{0%{opacity:.85;transform:scale(.85);box-shadow:0 0 10px #10b98180}to{opacity:0;transform:scale(1.55);box-shadow:0 0 25px #10b98100}}@keyframes micSpeakingHaloPulse{0%{opacity:.7;transform:scale(.95);box-shadow:0 0 15px #f59e0b80}to{opacity:.1;transform:scale(1.4);box-shadow:0 0 35px #f59e0bcc}}.avatar-mic-circle-btn{cursor:pointer;-webkit-user-select:none;user-select:none;z-index:2;border:2px solid #0000;border-radius:50%;outline:none;justify-content:center;align-items:center;width:60px;min-width:60px;height:60px;min-height:60px;transition:all .28s cubic-bezier(.16,1,.3,1);display:flex;position:relative;box-shadow:0 4px 20px #0009}.avatar-mic-circle-btn:hover{transform:scale(1.08)}.avatar-mic-circle-btn:active{transform:scale(.93)}.avatar-mic-circle-btn.is-active{color:#fff;background:radial-gradient(circle at 35% 30%,#34d399 0%,#059669 60%,#047857 100%);border-color:#a7f3d0;box-shadow:0 0 24px #10b981bf,0 0 45px #10b98159,inset 0 2px 3px #ffffff73,inset 0 -3px 6px #0006}.avatar-mic-circle-btn.is-active:hover{box-shadow:0 0 32px #10b981f2,0 0 55px #10b98180}.avatar-mic-circle-btn.is-holding{background:radial-gradient(circle at 35% 30%,#10b981 0%,#059669 60%,#047857 100%)!important;border-color:#6ee7b7!important;transform:scale(1.12)!important;box-shadow:0 0 35px #10b981f2,0 0 60px #10b98180!important}.avatar-mic-circle-btn.is-cancelling{background:radial-gradient(circle at 35% 30%,#ef4444 0%,#dc2626 60%,#991b1b 100%)!important;border-color:#fca5a5!important;transform:scale(.94)!important;box-shadow:0 0 35px #ef4444f2,0 0 60px #ef444480!important}.avatar-mic-circle-btn.is-speaking{color:#fff;background:radial-gradient(circle at 35% 30%,#fbbf24 0%,#f59e0b 60%,#b45309 100%);border-color:#fde68a;animation:.6s ease-in-out infinite alternate micSpeakingBounce;box-shadow:0 0 28px #f59e0bcc,0 0 55px #f59e0b66,inset 0 2px 3px #ffffff80}@keyframes micSpeakingBounce{0%{transform:scale(1)}to{transform:scale(1.06)}}.avatar-mic-circle-btn.is-inactive{color:#ef4444;background:radial-gradient(circle at 35% 30%,#ef444440 0%,#1f1418 65%,#0f172a 100%);border-color:#ef4444;box-shadow:0 0 20px #ef444466,0 4px 16px #000000a6,inset 0 1px 2px #ffffff1f}.avatar-mic-circle-btn.is-inactive:hover{color:#fff;background:radial-gradient(circle at 35% 30%,#ef444461 0%,#29161d 65%,#1e293b 100%);border-color:#f87171;box-shadow:0 0 28px #ef4444a6,0 4px 18px #000000b3}.avatar-mic-circle-btn.is-connecting{color:#38bdf8;background:#0ea5e926;border-color:#38bdf8;animation:1.4s ease-in-out infinite alternate micConnectingSpin}@keyframes micConnectingSpin{0%{box-shadow:0 0 10px #38bdf84d}to{box-shadow:0 0 24px #38bdf8cc}}.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}.quick-text-input-bar{background:#161b22f2;border:1px solid #ffffff24;border-radius:9999px;align-items:center;gap:6px;width:100%;max-width:360px;margin:8px auto 2px;padding:3px 4px 3px 14px;transition:all .2s;display:flex}.quick-text-input-bar:focus-within{border-color:#38bdf88c;box-shadow:0 0 12px #38bdf833}.quick-text-input-bar input{color:#f8fafc;background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:.82rem}.quick-text-input-bar input::placeholder{color:#94a3b8b3;font-size:.78rem}.quick-text-input-bar button{color:#0b1329;cursor:pointer;background:#38bdf8;border:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.quick-text-input-bar button:disabled{color:#ffffff40;cursor:not-allowed;background:#ffffff14}.quick-text-input-bar button:not(:disabled):hover{background:#7dd3fc;transform:scale(1.05)}.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}.clean-layout{width:100%;min-height:100dvh;padding:max(10px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) calc(24px + max(12px, 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:clamp(210px,46vw,280px);height:clamp(210px,46vw,280px)}.listening-wave{width:min(240px,70vw);height:18px;margin-top:-6px;transform:scale(.75)}.avatar-mic-dock{margin-top:6px;margin-bottom:4px}.avatar-mic-circle-btn{width:48px;min-width:48px;height:48px;min-height:48px}.clean-voice-dock.is-ptt-mode{transform:translateY(-6px)}.ptt-dock-row{max-width:96%;padding:8px 12px;transform:translateY(-8px)}.ptt-dock-hold-btn{min-height:44px;padding:8px 14px}.pip-standalone-btn{display:none!important}.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:1;gap:6px;width:100%;min-height:85px;max-height:135px;padding:4px 6px 16px;display:flex;overflow:hidden auto;-webkit-mask-image:linear-gradient(#0000 0%,#000 8px 100%);mask-image:linear-gradient(#0000 0%,#000 8px 100%)}.clean-conversation .messages-bottom-anchor{flex-shrink:0;width:100%;height:16px;min-height:16px}.clean-conversation .conversation-bubble{border-radius:12px;gap:3px;max-width:94%;padding:8px 12px}.clean-conversation .conversation-bubble span{font-size:.68rem;font-weight:700}.clean-conversation .conversation-bubble p{word-break:break-word;font-size:.88rem;line-height:1.4}}.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.pending-notice{color:#fde047;background:#eab30824;border:1.5px solid #eab30880;align-items:flex-start;gap:12px;display:flex}.auth-notice.pending-notice strong{color:#facc15;margin-bottom:3px;font-size:.92rem;font-weight:700;display:block}.auth-notice.pending-notice p{color:#fef08a;margin:0;font-size:.84rem;line-height:1.4}.auth-notice.error-notice{color:#f87171;background:#ef44441f;border:1px solid #ef444459}.auth-inline-action{appearance:none;color:#f59e0b;cursor:pointer;font:inherit;background:0 0;border:0;justify-self:center;padding:2px 0;font-size:.88rem;font-weight:700;text-decoration:underline}.auth-inline-action:hover{color:#fbbf24}.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}.header-user-dropdown-container{align-items:center;display:inline-flex;position:relative}.user-avatar-menu-btn{border:1px solid var(--line);cursor:pointer;color:#fff;background:#ffffff0d;border-radius:9999px;align-items:center;gap:6px;padding:4px 8px 4px 4px;transition:all .2s;display:inline-flex}.user-avatar-menu-btn:hover,.user-avatar-menu-btn.is-active{background:#f59e0b26;border-color:#f59e0b66}.header-user-initial{color:#000;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.78rem;font-weight:800;display:flex}.header-user-caret{color:var(--muted);transition:transform .2s}.user-avatar-menu-btn.is-active .header-user-caret{transform:rotate(180deg)}.header-user-menu-dropdown{-webkit-backdrop-filter:blur(16px);z-index:100;background:#0f1218f5;border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;gap:8px;width:250px;padding:12px;animation:.2s cubic-bezier(.16,1,.3,1) dropdownFade;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 40px #0009}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dropdown-user-header{border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding-bottom:10px;display:flex}.dropdown-avatar-badge{color:#000;background:linear-gradient(135deg,#f59e0b,#b45309);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;font-weight:800;display:flex}.dropdown-user-info{flex-direction:column;display:flex;overflow:hidden}.dropdown-user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:700;overflow:hidden}.dropdown-user-email{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.74rem;overflow:hidden}.dropdown-menu-list{flex-direction:column;gap:4px;display:flex}.dropdown-menu-item{color:#e2e8f0;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:.84rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.dropdown-menu-item:hover{color:#fff;background:#ffffff14}.dropdown-menu-divider{background:#ffffff14;height:1px;margin:4px 0}.dropdown-menu-item.action-switch{color:#38bdf8}.dropdown-menu-item.action-switch:hover{background:#38bdf81f}.dropdown-menu-item.action-logout{color:#f87171}.dropdown-menu-item.action-logout:hover{background:#ef44441f}.advanced-settings-suite{max-width:820px;margin:0 auto 60px}.advanced-stats-bar{background:linear-gradient(135deg,#ffffff08,#ffffff03);border:1px solid #ffffff14;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.stat-icon-gold{color:#f59e0b}.settings-tabs-bar{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;padding:4px 2px;display:flex;overflow-x:auto}.settings-tabs-bar::-webkit-scrollbar{display:none}.settings-tab-btn{color:var(--muted);cursor:pointer;white-space:nowrap;background:#ffffff08;border:1px solid #ffffff14;border-radius:9999px;flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;font-size:.86rem;font-weight:600;transition:all .2s;display:inline-flex}.settings-tab-btn:hover{color:#fff;background:#ffffff14}.settings-tab-btn.is-active{color:#000;background:#f59e0b;border-color:#f59e0b;box-shadow:0 4px 14px #f59e0b59}.settings-tab-content{flex-direction:column;gap:20px;animation:.25s cubic-bezier(.16,1,.3,1) tabFadeIn;display:flex}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.section-desc{color:var(--muted);margin:0;font-size:.85rem;line-height:1.45}.level-select-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.level-card-btn{text-align:left;border:1px solid var(--line);cursor:pointer;color:inherit;background:#ffffff05;border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;transition:all .2s;display:flex}.level-card-btn strong{color:#fff;font-size:.92rem}.level-card-btn small{color:var(--muted);font-size:.76rem}.level-card-btn.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:#f59e0b14}.goal-options-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.goal-card-btn{text-align:left;border:1px solid var(--line);cursor:pointer;color:inherit;background:#ffffff05;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;transition:all .2s;display:flex}.goal-mins{color:#f59e0b;min-width:44px;font-size:1.15rem;font-weight:800}.goal-info strong{color:#fff;font-size:.88rem;display:block}.goal-info small{color:var(--muted);font-size:.74rem}.goal-card-btn.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:#f59e0b14}.talk-mode-cards-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.talk-mode-card{border:1px solid var(--line);cursor:pointer;background:#ffffff05;border-radius:12px;flex-direction:column;gap:8px;padding:16px;transition:all .2s;display:flex}.talk-mode-card:hover{border-color:#ffffff40}.mode-card-header{justify-content:space-between;align-items:center;display:flex}.mode-card-header strong{color:#fff;font-size:.95rem}.mode-badge{color:var(--muted);background:#ffffff14;border-radius:9999px;padding:2px 8px;font-size:.72rem;font-weight:700}.talk-mode-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:#f59e0b14}.talk-mode-card.is-selected .mode-badge{color:#000;background:#f59e0b}.talk-mode-card p{color:#cbd5e1;margin:0;font-size:.84rem;line-height:1.4}.mode-recommendation{color:#f59e0b;font-size:.75rem;font-weight:500}.mic-test-container{border:1px solid var(--line);background:#00000040;border-radius:10px;flex-direction:column;gap:8px;padding:14px;display:flex}.mic-test-header{justify-content:space-between;align-items:center;display:flex}.mic-test-label{color:#e2e8f0;font-size:.84rem;font-weight:600}.mic-test-action-btn{color:#f59e0b;cursor:pointer;background:#f59e0b1f;border:1px solid #f59e0b59;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.mic-test-action-btn:hover{color:#000;background:#f59e0b}.mic-test-action-btn.is-testing{color:#fff;background:#ef4444;border-color:#ef4444;animation:1s infinite alternate pulseTesting}@keyframes pulseTesting{0%{opacity:.85}to{opacity:1;transform:scale(1.02)}}.mic-test-meter-track{background:#ffffff0d;border-radius:6px;width:100%;height:12px;overflow:hidden}.mic-test-meter-fill{border-radius:6px;height:100%;transition:width 80ms,background .15s}.pill-selector-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.pill-select-btn{text-align:left;border:1px solid var(--line);cursor:pointer;color:inherit;background:#ffffff05;border-radius:8px;flex-direction:column;gap:3px;padding:10px 12px;transition:all .2s;display:flex}.pill-select-btn strong{color:#fff;font-size:.86rem}.pill-select-btn small{color:var(--muted);font-size:.74rem}.pill-select-btn.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:#f59e0b14}.slider-header-row{justify-content:space-between;align-items:center;display:flex}.slider-value-pill{color:#f59e0b;background:#f59e0b1f;border-radius:9999px;padding:2px 8px;font-size:.84rem;font-weight:700}.settings-range-slider{accent-color:#f59e0b;cursor:pointer;width:100%}.test-audio-button{border:1px solid var(--line);color:#fff;cursor:pointer;background:#ffffff0d;border-radius:8px;align-self:flex-start;align-items:center;gap:8px;padding:8px 14px;font-size:.84rem;font-weight:600;transition:all .2s;display:inline-flex}.test-audio-button:hover{background:#f59e0b26;border-color:#f59e0b66}.personality-options-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.personality-card{border:1px solid var(--line);cursor:pointer;background:#ffffff05;border-radius:12px;flex-direction:column;gap:8px;padding:16px;transition:all .2s;display:flex}.personality-card:hover{border-color:#ffffff40}.personality-card-header{justify-content:space-between;align-items:center;display:flex}.personality-card-header strong{color:#fff;font-size:.95rem}.personality-badge{color:#f59e0b;background:#f59e0b26;border-radius:9999px;padding:2px 8px;font-size:.7rem;font-weight:700}.personality-badge.hardcore{color:#ef4444;background:#ef444426}.personality-badge.zen{color:#10b981;background:#10b98126}.personality-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:#f59e0b14}.personality-card p{color:#cbd5e1;margin:0;font-size:.84rem;line-height:1.4}.personality-card small{color:var(--muted);font-size:.75rem}.toggle-setting-row{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.toggle-setting-row:last-child{border-bottom:none}.toggle-text{flex-direction:column;gap:2px;display:flex}.toggle-text strong{color:#fff;font-size:.9rem}.toggle-text small{color:var(--muted);font-size:.78rem}.switch-toggle-btn{border:1px solid var(--line);cursor:pointer;background:#ffffff1f;border-radius:9999px;flex-shrink:0;width:46px;height:26px;padding:2px;transition:all .2s;position:relative}.switch-toggle-handle{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;display:block}.switch-toggle-btn.is-on{background:#f59e0b;border-color:#f59e0b}.switch-toggle-btn.is-on .switch-toggle-handle{background:#000;transform:translate(20px)}.account-management-section{gap:24px}.account-details-card{border:1px solid var(--line);background:#00000040;border-radius:12px;flex-direction:column;gap:18px;padding:18px;display:flex}.account-user-badge{align-items:center;gap:14px;display:flex}.account-avatar-circle{color:#000;background:linear-gradient(135deg,#f59e0b,#b45309);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.4rem;font-weight:800;display:flex;box-shadow:0 0 16px #f59e0b4d}.account-user-meta{flex-direction:column;gap:2px;display:flex}.account-name{color:#fff;font-size:1.1rem}.account-email{color:var(--muted);font-size:.85rem}.account-role-tag{color:#10b981;background:#10b9811f;border-radius:9999px;align-self:flex-start;margin-top:4px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-block}.account-grid-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.acc-stat-box{border:1px solid var(--line);background:#ffffff05;border-radius:8px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.acc-stat-title{color:var(--muted);font-size:.72rem}.acc-stat-val{color:#fff;font-size:.95rem}.acc-stat-val.status-online{color:#10b981}.account-actions-container{flex-direction:column;gap:14px;display:flex}.actions-header-title{color:#fff;margin:0;font-size:.95rem;font-weight:700}.account-buttons-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:580px){.account-buttons-row{grid-template-columns:1fr}}.account-action-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:.9rem;font-weight:700;transition:all .2s;display:inline-flex}.switch-account-btn{color:#38bdf8;background:#38bdf81a;border-color:#38bdf859}.switch-account-btn:hover{color:#000;background:#38bdf8}.logout-account-btn{color:#f87171;background:#ef44441a;border-color:#ef444459}.logout-account-btn:hover{color:#fff;background:#ef4444}.cache-reset-row{border-top:1px solid #ffffff14;flex-direction:column;gap:6px;padding-top:10px;display:flex}.password-change-card{background:#080d16b8;border:1px solid #f59e0b40;border-radius:14px;gap:12px;padding:16px;display:grid}.password-change-card .mode-card-header strong{align-items:center;gap:8px;display:inline-flex}.reset-cache-btn{border-color:var(--line);color:var(--muted);background:#ffffff0a;align-self:flex-start;padding:8px 14px;font-size:.82rem}.reset-cache-btn:hover{color:#fff;background:#ffffff1a}.settings-submit-footer{z-index:20;position:sticky;bottom:20px}.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}.rpg-character-stage.speaking .rpg-standing-group{transform-origin:80px 138px;animation:1.1s ease-in-out infinite alternate mentor-shift}.rpg-character-stage.speaking .rpg-body.body-speaking{animation:.68s cubic-bezier(.35,0,.25,1) infinite alternate speech-chest}.rpg-character-stage.speaking .rpg-legs.legs-speaking{transform-origin:80px 136px;animation:1.25s ease-in-out infinite alternate speech-weight-shift}.rpg-character-stage.speaking .rpg-arm-left.arm-speaking-support{transform-origin:45px 88px;animation:1.05s ease-in-out infinite alternate supportive-book-gesture}.rpg-character-stage.speaking .rpg-staff-speaking{transform-box:fill-box;transform-origin:50% 100%;animation:1.15s ease-in-out infinite alternate staff-teaching-sweep}.rpg-character-stage.speaking .rpg-cape.cape-speaking{transform-origin:80px 118px;animation:.9s ease-in-out infinite alternate cape-speech-flutter}.rpg-character-stage.irritated .rpg-standing-group{animation-duration:.72s}.rpg-character-stage.crazy .rpg-standing-group{animation:.54s ease-in-out infinite alternate mentor-stomp}.mr-crazy-3d-npc-container{z-index:5;pointer-events:none;perspective:1100px;width:100%;height:100%;transform-style:preserve-3d;will-change:transform;justify-content:center;align-items:center;animation:3.8s ease-in-out infinite npc-breath-cycle;display:flex;position:absolute;inset:0}.npc-ground-shadow{filter:blur(6px);z-index:1;pointer-events:none;background:radial-gradient(#000000bf 0%,#0f172a73 50%,#0000 75%);border-radius:50%;width:min(72%,240px);height:26px;animation:3.8s ease-in-out infinite npc-shadow-breath;position:absolute;bottom:4%;left:50%;transform:translate(-50%)}@keyframes npc-shadow-breath{0%,to{opacity:.85;transform:translate(-50%)scale(1)}42%{opacity:.65;transform:translate(-50%)scale(.92)}}.npc-body-3d-rig{width:100%;height:100%;transform-style:preserve-3d;transform:perspective(950px) rotateY(calc(var(--look-x,0) * 11deg)) rotateX(calc(var(--look-y,0) * -7deg)) translateZ(calc(var(--live-head-bob,0px) * 3));will-change:transform;justify-content:center;align-items:center;transition:transform .22s cubic-bezier(.2,.8,.2,1);display:flex;position:relative}.npc-pose-img{object-fit:contain;opacity:0;-webkit-user-select:none;user-select:none;pointer-events:none;filter:drop-shadow(0 16px 36px #000000d1)drop-shadow(0 0 24px #e6b74438);width:100%;max-width:100%;height:100%;max-height:100%;transition:opacity .32s cubic-bezier(.4,0,.2,1),transform .32s cubic-bezier(.34,1.56,.64,1),filter .3s;position:absolute;inset:0;transform:scale(.98)}.npc-pose-img.is-active{opacity:1;transform:scale(1)}@keyframes npc-breath-cycle{0%{transform:translateY(0)scale(1)}38%{transform:translateY(-6px)scale(1.022,1.032)}48%{transform:translateY(-6px)scale(1.022,1.032)}to{transform:translateY(0)scale(1)}}.mr-crazy-3d-npc-container.speaking .npc-body-3d-rig,.mr-crazy-3d-npc-container.pose-gesturing .npc-body-3d-rig{animation:2.2s cubic-bezier(.35,0,.25,1) infinite alternate npc-gesturing-forward}@keyframes npc-gesturing-forward{0%{transform:perspective(950px) rotateY(calc(var(--look-x,0) * 11deg)) rotateX(calc(var(--look-y,0) * -7deg)) translate3d(0, 0, 12px) scale(1)}30%{transform:perspective(950px) rotateY(calc(var(--look-x,0) * 11deg + 1.2deg)) rotateX(calc(var(--look-y,0) * -7deg + 3.5deg)) translate3d(0, -6px, 38px) scale(1.035)}65%{transform:perspective(950px) rotateY(calc(var(--look-x,0) * 11deg - 1deg)) rotateX(calc(var(--look-y,0) * -7deg + 1.8deg)) translate3d(0, -2px, 20px) scale(1.015)}to{transform:perspective(950px) rotateY(calc(var(--look-x,0) * 11deg)) rotateX(calc(var(--look-y,0) * -7deg + 4.2deg)) translate3d(0, -8px, 48px) scale(1.042)}}.mr-crazy-3d-npc-container.pose-pointing .npc-body-3d-rig,.mr-crazy-3d-npc-container.gesture-finger .npc-body-3d-rig,.mr-crazy-3d-npc-container.gesture-thumbsup .npc-body-3d-rig{animation:1.8s ease-in-out infinite alternate npc-pointing-invite}@keyframes npc-pointing-invite{0%{transform:perspective(950px) rotateY(calc(var(--look-x,0) * 11deg)) rotateX(calc(var(--look-y,0) * -7deg + 2deg)) translate3d(0, 0, 18px) scale(1)}to{transform:perspective(950px) rotateY(calc(var(--look-x,0) * 11deg)) rotateX(calc(var(--look-y,0) * -7deg + 5deg)) translate3d(0, -5px, 45px) scale(1.038)}}.npc-eyelids-overlay{pointer-events:none;z-index:6;width:100%;height:100%;position:absolute;inset:0}.npc-eyelid{opacity:0;transform-origin:50%;background:#db745a;border-radius:999px;transition:opacity 60ms,transform 80ms cubic-bezier(.4,0,.2,1);position:absolute;transform:scaleY(0);box-shadow:0 1px 3px #3c140a66}.npc-eyelid.eyelid-left{width:6.4%;height:3.2%;top:22.8%;left:41.6%}.npc-eyelid.eyelid-right{width:6.4%;height:3.2%;top:22.8%;left:53.6%}.npc-eyelids-overlay.is-blinking .npc-eyelid{opacity:1;transform:scaleY(1)}.npc-lighting-sheen{opacity:.18;pointer-events:none;filter:blur(4px);mix-blend-mode:overlay;background:linear-gradient(135deg,#fff6 0%,#0000 60%);border-radius:8px;width:10%;height:32%;animation:4.5s ease-in-out infinite npc-sheen-sweep;position:absolute;top:38%;left:45%}@keyframes npc-sheen-sweep{0%,to{opacity:.12;transform:translateY(0)}50%{opacity:.32;transform:translateY(-8px)}}.npc-ambient-magic{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.npc-magic-orb{opacity:0;background:#fbbf24;border-radius:50%;width:5px;height:5px;animation:4.2s ease-in-out infinite npc-orb-float;position:absolute;box-shadow:0 0 10px #fbbf24,0 0 18px #f59e0bcc}.npc-magic-orb.orb-1{animation-delay:.3s;bottom:22%;left:24%}.npc-magic-orb.orb-2{width:4px;height:4px;animation-delay:1.8s;bottom:34%;right:22%}.npc-magic-orb.orb-3{width:3px;height:3px;animation-delay:3s;top:32%;left:32%}@keyframes npc-orb-float{0%{opacity:0;transform:translateY(0)scale(.6)}35%{opacity:.85;transform:translateY(-24px)scale(1.2)}75%{opacity:.5;transform:translateY(-48px)scale(.9)}to{opacity:0;transform:translateY(-70px)scale(.3)}}.character-stage.speaking .npc-pose-img{filter:drop-shadow(0 20px 45px #000000e0)drop-shadow(0 0 38px #e6b7448c)}.character-stage:active .npc-body-3d-rig{transition:transform 80ms;transform:perspective(950px)scale(.96)translateY(4px)}.mr-crazy-real-avatar-display,.rpg-character.rpg-pixel-fallback{display:none!important}.character-stage,.rpg-character-stage{-webkit-tap-highlight-color:transparent;transition:transform .28s cubic-bezier(.2,.8,.2,1);border:none!important;outline:none!important}.character-stage:focus,.character-stage:focus-visible,.rpg-character-stage:focus,.rpg-character-stage:focus-visible{box-shadow:none!important;border:none!important;outline:none!important}@keyframes mentor-shift{0%{transform:translate(-1px)rotate(-.7deg)}to{transform:translate(2px)rotate(.9deg)}}@keyframes mentor-stomp{0%{transform:translateY(0)rotate(-1.2deg)}to{transform:translateY(-3px)rotate(1.4deg)}}@keyframes speaking-head-bob{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-2px)rotate(1deg)}}.mouth-speaking-live{transform-origin:80px 73px;filter:drop-shadow(0 0 3px #f43f5e38);animation:.22s steps(3,end) infinite alternate mouth-phonemes}.rpg-phonemes-active{transform-origin:80px 74px;animation:.115s steps(2,end) infinite alternate mouth-articulation}@keyframes mouth-phonemes{0%{transform:scaleY(.7)scaleX(.9)}to{transform:scaleY(1.35)scaleX(1.05)}}@keyframes mouth-articulation{0%{transform:translateY(0)scaleX(.98)}to{transform:translateY(.6px)scaleX(1.03)}}@keyframes speech-chest{0%{transform:translateY(0)scale(1)}45%{transform:translateY(-1px)scale(1.012,1.02)}to{transform:translateY(.7px)scale(.994,.99)}}@keyframes speech-weight-shift{0%{transform:translate(-1px)rotate(-.6deg)}to{transform:translate(1.5px)rotate(.7deg)}}@keyframes supportive-book-gesture{0%{transform:rotate(0)translate(0)}55%{transform:rotate(2deg)translate(1px,-1px)}to{transform:rotate(-2.5deg)translate(-1px,-2px)}}@keyframes staff-teaching-sweep{0%{transform:rotate(0)translateY(0)}50%{transform:rotate(-2deg)translateY(-1px)}to{transform:rotate(2.5deg)translateY(1px)}}@keyframes cape-speech-flutter{0%{transform:skew(0)translate(0)}to{transform:skew(-1.5deg)translate(1px)}}.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)}}.auth-form-row{grid-template-columns:1fr 1fr;gap:12px;width:100%;display:grid}.auth-half-field{width:100%;color:var(--text-soft);flex-direction:column;gap:6px;font-size:.86rem;font-weight:600;display:flex}.auth-half-field input,.auth-half-field select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);box-sizing:border-box;border-radius:9px;outline:none;padding:10px 12px;font-size:.92rem;transition:border-color .2s}.auth-half-field input:focus,.auth-half-field select:focus{border-color:var(--cyan)}@media (max-width:480px){.auth-form-row{grid-template-columns:1fr;gap:8px}}.onboarding-page-layout{min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:radial-gradient(circle at top center, #163d4540 0%, var(--bg) 70%);justify-content:center;align-items:center;display:flex}.onboarding-container{flex-direction:column;gap:18px;width:100%;max-width:680px;display:flex}.onboarding-header{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.onboarding-badge{color:#7dd3fc;letter-spacing:.5px;text-transform:uppercase;background:#317b8933;border:1px solid #4dd0e166;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.onboarding-header h1{color:var(--text);margin:0;font-size:clamp(1.4rem,4vw,1.85rem);font-weight:800;line-height:1.25}.onboarding-header p{color:var(--muted);max-width:540px;margin:0;font-size:.92rem;line-height:1.45}.onboarding-panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:18px;padding:clamp(18px,4vw,28px);display:flex;box-shadow:0 12px 36px #0006}.panel-step-indicator{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.panel-step-indicator .step-count{color:var(--cyan);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:700}.panel-step-indicator h2{color:var(--text);width:100%;margin:4px 0 0;font-size:1.15rem;font-weight:750}.question-level-tag{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b66;border-radius:999px;padding:3px 10px;font-size:.74rem;font-weight:700}.goals-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.goal-card{border:1.5px solid var(--line);color:var(--text);cursor:pointer;text-align:left;background:#ffffff05;border-radius:12px;flex-direction:column;gap:6px;padding:16px;transition:all .22s cubic-bezier(.4,0,.2,1);display:flex}.goal-card:hover{background:#317b8914;border-color:#4dd0e180;transform:translateY(-2px)}.goal-card.selected{border-color:var(--cyan);background:linear-gradient(135deg,#317b8940,#163d4566);box-shadow:0 0 16px #38bdf833}.goal-card-header{justify-content:space-between;align-items:center;display:flex}.goal-icon-circle{width:38px;height:38px;color:var(--cyan);background:#ffffff0f;border-radius:10px;justify-content:center;align-items:center;display:flex}.goal-card.selected .goal-icon-circle{background:var(--cyan);color:#0b111a}.goal-check{color:var(--cyan)}.goal-card h3{margin:4px 0 0;font-size:.98rem;font-weight:700}.goal-card p{color:var(--muted);margin:0;font-size:.8rem;line-height:1.35}.onboarding-progress-bar{background:#ffffff14;border-radius:999px;width:100%;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#38bdf8,#34d399);height:100%;transition:width .3s}.question-box{flex-direction:column;gap:6px;display:flex}.question-context-pill{color:var(--muted);align-items:center;gap:5px;font-size:.78rem;display:inline-flex}.question-title{color:var(--text);margin:0;font-size:1.05rem;font-weight:750;line-height:1.4}.options-list{flex-direction:column;gap:8px;display:flex}.option-btn{border:1.5px solid var(--line);color:var(--text);cursor:pointer;text-align:left;background:#ffffff05;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-size:.9rem;transition:all .2s;display:flex}.option-btn:hover{background:#317b890f;border-color:#4dd0e180}.option-btn.selected{border-color:var(--cyan);background:#317b8938;box-shadow:0 0 14px #38bdf833}.option-letter{background:#ffffff14;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.78rem;font-weight:800;display:flex}.option-btn.selected .option-letter{background:var(--cyan);color:#0b111a}.option-text{flex:1;line-height:1.35}.option-check{color:var(--cyan);flex-shrink:0}.onboarding-action-row{justify-content:flex-end;margin-top:6px;display:flex}.large-btn{border-radius:10px;padding:12px 24px;font-size:.94rem;font-weight:700}.result-panel{text-align:center;align-items:center;gap:20px}.result-badge-container{flex-direction:column;align-items:center;gap:8px;display:flex}.result-award-icon{color:#fbbf24;filter:drop-shadow(0 0 14px #fbbf2466)}.result-eyebrow{letter-spacing:.6px;text-transform:uppercase;color:#34d399;font-size:.8rem;font-weight:750}.result-badge-container h2{margin:0;font-size:1.35rem;font-weight:800}.level-highlight{border-radius:8px;margin-top:4px;padding:3px 12px;font-weight:800;display:inline-block}.level-highlight.basic{color:#7dd3fc;background:#38bdf82e;border:1px solid #38bdf866}.level-highlight.intermediate{color:#fbbf24;background:#f59e0b2e;border:1px solid #f59e0b66}.level-highlight.advanced{color:#c084fc;background:#a855f72e;border:1px solid #a855f766}.result-feedback-card{border:1px solid var(--line);text-align:left;background:#ffffff08;border-radius:12px;width:100%;padding:16px}.teacher-quote{align-items:flex-start;gap:12px;display:flex}.teacher-icon{color:var(--cyan);flex-shrink:0;margin-top:2px}.teacher-quote strong{color:var(--cyan);margin-bottom:4px;font-size:.84rem;display:block}.teacher-quote p{color:var(--text-soft);margin:0;font-size:.88rem;font-style:italic;line-height:1.45}.start-practice-btn{background:linear-gradient(135deg,#0284c7,#0ea5e9);box-shadow:0 4px 18px #0ea5e959}.start-practice-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0ea5e980}.evolution-dashboard{max-width:960px;padding:24px 16px calc(84px + env(safe-area-inset-bottom));box-sizing:border-box;margin:0 auto;animation:.3s fadeIn}.evolution-tabs{border:1px solid var(--line);background:#ffffff0a;border-radius:14px;gap:8px;margin-bottom:24px;padding:5px;display:flex}.evolution-tab-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.evolution-tab-btn:hover{color:var(--text);background:#ffffff08}.evolution-tab-btn.active{color:#d9fbff;background:#6fb8c929;border:1px solid #6fb8c959;box-shadow:0 2px 10px #0003}.evolution-banner-header{border:1px solid var(--line);background:#10121499;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;padding:20px;display:flex}.badge-pill{text-transform:uppercase;letter-spacing:.5px;color:var(--cyan);background:#6fb8c926;border:1px solid #6fb8c94d;border-radius:999px;align-items:center;gap:6px;margin-bottom:8px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.badge-pill.ai-badge{color:#f0b34a;background:#f0b34a26;border-color:#f0b34a59}.evolution-banner-header h2{color:#fff;margin:0 0 6px;font-size:1.5rem;font-weight:800}.evolution-banner-header p{color:var(--muted);max-width:620px;margin:0;font-size:.9rem;line-height:1.5}.quick-practice-btn{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#0284c7,#0ea5e9);border-radius:9999px;align-items:center;gap:8px;padding:10px 18px;font-size:.88rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #0ea5e94d}.quick-practice-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0ea5e973}.refresh-insights-btn{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff0f;border-radius:9px;align-items:center;gap:8px;padding:8px 14px;font-size:.84rem;font-weight:600;transition:all .2s;display:inline-flex}.refresh-insights-btn:hover:not(:disabled){border-color:var(--line-strong);background:#ffffff1a}.refresh-insights-btn:disabled{opacity:.6;cursor:not-allowed}.stats-metric-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:24px;display:grid}.metric-card{border:1px solid var(--line);background:#101214d9;border-radius:14px;gap:14px;padding:18px;transition:transform .2s,border-color .2s;display:flex}.metric-card:hover{border-color:#6fb8c94d;transform:translateY(-2px)}.metric-icon-box{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.clock-color{color:#38bdf8;background:#0ea5e926}.flame-color{color:#fb923c;background:#f9731626}.target-color{color:#c084fc;background:#a855f726}.xp-color{color:#facc15;background:#eab30826}.metric-body{flex-direction:column;gap:4px;min-width:0;display:flex}.metric-label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:.74rem;font-weight:650}.metric-value{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:1.3rem;font-weight:800;overflow:hidden}.metric-footnote{color:var(--muted);font-size:.74rem;line-height:1.3}.evolution-card-panel{border:1px solid var(--line);background:#101214d9;border-radius:14px;margin-bottom:24px;padding:20px}.panel-header{color:var(--cyan);align-items:center;gap:10px;margin-bottom:8px;display:flex}.panel-header h3{color:#fff;margin:0;font-size:1.05rem;font-weight:700}.panel-subtext{color:var(--muted);margin:0 0 16px;font-size:.86rem;line-height:1.45}.difficulties-chip-grid{flex-wrap:wrap;gap:8px;display:flex}.difficulty-pill{color:#d9fbff;background:#6fb8c91a;border:1px solid #6fb8c940;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.empty-diff-notice{color:var(--muted);margin:0;font-size:.86rem}.empty-diff-notice a{color:var(--cyan);text-decoration:underline}.ai-insight-cta-card{cursor:pointer;background:linear-gradient(135deg,#f0b34a14,#6fb8c914);border:1px solid #f0b34a4d;border-radius:14px;align-items:center;gap:16px;padding:18px 22px;transition:all .2s;display:flex}.ai-insight-cta-card:hover{border-color:#f0b34a99;transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.cta-icon-wrap{color:#f0b34a;background:#f0b34a33;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.cta-text{flex:1}.cta-text h4{color:#fff;margin:0 0 4px;font-size:1rem;font-weight:700}.cta-text p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.4}.ghost-cta-btn{border:1px solid var(--line-strong);color:#fff;cursor:pointer;background:#ffffff14;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;font-weight:600;display:inline-flex}.ai-diagnostic-card{background:linear-gradient(135deg,#101c26e6,#0d141ae6);border:1px solid #6fb8c959;border-radius:14px;margin-bottom:20px;padding:20px;box-shadow:0 4px 16px #00000040}.diagnostic-header{color:var(--cyan);align-items:center;gap:8px;margin-bottom:10px;font-size:.95rem;font-weight:700;display:flex}.ai-diagnostic-card p{color:#e2e8f0;margin:0;font-size:.92rem;line-height:1.55}.daily-challenge-box{background:#f0b34a1a;border:1px solid #f0b34a59;border-radius:12px;align-items:flex-start;gap:14px;margin-bottom:26px;padding:16px 20px;display:flex}.challenge-icon{font-size:1.6rem;line-height:1}.challenge-title{text-transform:uppercase;letter-spacing:.5px;color:#f0b34a;margin-bottom:4px;font-size:.75rem;font-weight:700;display:block}.challenge-desc{color:#fef08a;margin:0;font-size:.9rem;font-weight:500;line-height:1.45}.section-subtitle{color:#fff;margin:26px 0 14px;font-size:1.12rem;font-weight:700}.techniques-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:28px;display:grid}.technique-card{border:1px solid var(--line);background:#101214e6;border-radius:14px;flex-direction:column;padding:20px;transition:transform .2s,border-color .2s;display:flex}.technique-card:hover{border-color:#6fb8c959;transform:translateY(-2px)}.technique-card-top{align-items:center;gap:12px;margin-bottom:12px;display:flex}.technique-category-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.technique-category-icon.movies{color:#f87171;background:#ef444426}.technique-category-icon.music{color:#c084fc;background:#a855f726}.technique-category-icon.reading{color:#4ade80;background:#22c55e26}.technique-meta{flex:1}.technique-meta h4{color:#fff;margin:0;font-size:.98rem;font-weight:700}.difficulty-tag{color:var(--muted);background:#ffffff14;border-radius:4px;margin-top:3px;padding:2px 7px;font-size:.72rem;display:inline-block}.technique-desc{color:var(--muted);margin:0 0 14px;font-size:.86rem;line-height:1.45}.technique-steps{background:#0000004d;border:1px solid #ffffff0d;border-radius:8px;margin-bottom:12px;padding:12px}.technique-steps strong{text-transform:uppercase;color:var(--cyan);letter-spacing:.4px;margin-bottom:6px;font-size:.76rem;display:block}.technique-steps ol{color:#cbd5e1;margin:0;padding-left:18px;font-size:.82rem;line-height:1.5}.technique-steps li{margin-bottom:4px}.technique-example{border-left:3px solid var(--cyan);color:#e2e8f0;background:#6fb8c914;border-radius:8px;padding:10px;font-size:.82rem;line-height:1.45}.technique-example strong{color:var(--cyan);text-transform:uppercase;margin-bottom:2px;font-size:.74rem;display:block}.focus-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.focus-card{border:1px solid var(--line);background:#101214d9;border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex}.focus-header{color:#4ade80;align-items:center;gap:8px;font-size:.92rem;font-weight:700;display:flex}.focus-desc{color:var(--muted);margin:0;font-size:.84rem;line-height:1.4}.focus-action{color:#e2e8f0;background:#ffffff0a;border-radius:6px;padding:8px 10px;font-size:.82rem;line-height:1.35}.focus-action strong{color:var(--cyan)}.mobile-swipe-hint{color:var(--cyan);background:#6fb8c91a;border:1px solid #6fb8c940;border-radius:9999px;align-items:center;gap:6px;width:fit-content;margin-bottom:12px;padding:6px 12px;font-size:.78rem;font-weight:600;display:none}.desktop-hide{display:none}.section-title-row{justify-content:space-between;align-items:center;margin:24px 0 12px;display:flex}.swipe-badge-pill{color:var(--cyan);background:#6fb8c91f;border:1px solid #6fb8c940;border-radius:9999px;padding:3px 8px;font-size:.72rem;font-weight:600}.clean-diagnostic-banner{background:linear-gradient(135deg,#f59e0b1a,#f59e0b0a);border:1px solid #f59e0b4d;border-radius:12px;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}.clean-diagnostic-banner .diagnostic-icon{color:#f59e0b;flex-shrink:0}.clean-diagnostic-banner p{color:#fde68a;margin:0;font-size:.9rem;font-weight:500;line-height:1.4}.daily-challenge-clean-card{background:#10b98114;border:1px solid #10b98140;border-radius:12px;align-items:center;gap:14px;margin-bottom:22px;padding:12px 16px;display:flex}.daily-challenge-clean-card .challenge-tag{color:#fff;text-transform:uppercase;letter-spacing:.4px;background:#10b981;border-radius:9999px;flex-shrink:0;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.daily-challenge-clean-card .challenge-text{color:#d1fae5;margin:0;font-size:.88rem;font-weight:500;line-height:1.4}.sound-syllables-clean-grid,.corrections-clean-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;display:grid}.sound-insight-clean-card{border:1px solid var(--line);background:#101418f2;border-radius:14px;flex-direction:column;gap:8px;padding:14px 16px;transition:all .2s;display:flex}.sound-insight-clean-card:hover{border-color:#38bdf866;transform:translateY(-2px)}.sound-clean-tip{color:#cbd5e1;margin:0;font-size:.82rem;line-height:1.4}.sound-clean-tip strong{color:#38bdf8}.drill-chips-clean{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.correction-clean-card{border:1px solid var(--line);background:#101418f2;border-radius:14px;flex-direction:column;gap:8px;padding:14px 16px;transition:all .2s;display:flex}.correction-clean-card:hover{border-color:#10b98166;transform:translateY(-2px)}.correction-clean-card .correction-card-header{align-items:center;gap:8px;display:flex}.correction-clean-card .correction-card-header h4{color:#f1f5f9;margin:0;font-size:.88rem;font-weight:700}.corr-comparison-row{flex-direction:column;gap:6px;margin:2px 0;display:flex}.corr-pill-avoid,.corr-pill-say{border-radius:8px;align-items:center;gap:8px;padding:5px 10px;font-size:.8rem;line-height:1.3;display:flex}.corr-pill-avoid{color:#fca5a5;background:#ef44441a;border:1px solid #ef444440}.corr-pill-avoid .pill-tag{color:#ef4444;text-transform:uppercase;background:#ef444433;border-radius:4px;padding:2px 6px;font-size:.68rem;font-weight:800}.corr-pill-say{color:#6ee7b7;background:#10b9811a;border:1px solid #10b98140}.corr-pill-say .pill-tag{color:#10b981;text-transform:uppercase;background:#10b98133;border-radius:4px;padding:2px 6px;font-size:.68rem;font-weight:800}.corr-quick-rule{color:#94a3b8;margin:0;font-size:.78rem;line-height:1.35}.corr-quick-rule strong{color:#f8fafc}.sound-syllables-track{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:8px;display:grid}.sound-insight-card{border:1px solid var(--line);background:#101418f2;border-radius:14px;flex-direction:column;gap:10px;padding:18px;transition:border-color .2s,transform .2s;display:flex}.sound-insight-card:hover{border-color:#6fb8c959;transform:translateY(-2px)}.sound-badge{color:#38bdf8;background:#0ea5e91f;border:1px solid #0ea5e94d;border-radius:6px;padding:4px 10px;font-size:.84rem;font-weight:700;display:inline-block}.sound-anatomy-box,.sound-obs-box,.sound-help-box{color:#cbd5e1;font-size:.82rem;line-height:1.45}.sound-anatomy-box strong,.sound-obs-box strong,.sound-help-box strong{text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px;font-size:.74rem;display:block}.sound-anatomy-box strong{color:#a78bfa}.sound-obs-box strong{color:#facc15}.sound-help-box strong{color:#4ade80}.drill-chips-wrap{border-top:1px solid #ffffff0f;margin-top:4px;padding-top:8px}.drill-chips-wrap small{color:var(--muted);text-transform:uppercase;margin-bottom:6px;font-size:.72rem;font-weight:600;display:block}.drill-chips{flex-wrap:wrap;gap:6px;display:flex}.drill-chip{color:#e2e8f0;border:1px solid var(--line);background:#ffffff0f;border-radius:6px;padding:3px 8px;font-size:.78rem;font-weight:600}.corrections-track{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:8px;display:grid}.correction-insight-card{border:1px solid var(--line);background:#101418f2;border-radius:14px;flex-direction:column;gap:10px;padding:18px;transition:border-color .2s,transform .2s;display:flex}.correction-insight-card:hover{border-color:#4ade8059;transform:translateY(-2px)}.correction-card-header{color:#4ade80;align-items:center;gap:8px;display:flex}.correction-card-header h4{color:#fff;margin:0;font-size:.95rem;font-weight:700}.corr-block{font-size:.82rem}.corr-label{text-transform:uppercase;color:var(--muted);margin-bottom:2px;font-size:.72rem;font-weight:700;display:block}.corr-pattern{color:#f87171;background:#ef444414;border-radius:6px;margin:0;padding:6px 8px;font-weight:500}.corr-block.solution .corr-label{color:#4ade80}.corr-solution{color:#86efac;background:#22c55e14;border-radius:6px;margin:0;padding:6px 8px;font-weight:500}.corr-impact{color:#cbd5e1;border-left:2px solid #38bdf8;margin-top:4px;padding-left:8px;font-size:.78rem;line-height:1.4}.corr-impact strong{color:#38bdf8}.history-main-wrapper{max-width:900px;margin:0 auto}.hero-subtext{color:var(--muted);margin-top:8px;font-size:.92rem;line-height:1.5}.history-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.history-date{color:var(--muted);text-transform:uppercase;align-items:center;gap:5px;font-size:.75rem;font-weight:600;display:inline-flex}.history-xp{color:#facc15;background:#eab3081f;border-radius:6px;padding:2px 7px;font-size:.76rem;font-weight:700}.history-mode{color:#fff;margin-bottom:8px;font-size:1rem;font-weight:700;display:block}.history-meta{color:#cbd5e1;flex-wrap:wrap;align-items:center;gap:14px;font-size:.8rem;display:flex}.history-time,.history-focus{align-items:center;gap:5px;display:inline-flex}.history-focus{color:#38bdf8}.history-cta-wrap{justify-content:center;margin-top:28px;display:flex}.evolution-loading-container{min-height:280px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:.92rem;display:flex}.evolution-spinner{border:3px solid #6fb8c933;border-top-color:var(--cyan);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.spinning{animation:.8s linear infinite spin}@media (max-width:640px){.evolution-banner-header{flex-direction:column;align-items:stretch}.quick-practice-btn{justify-content:center}.evolution-tabs{flex-direction:row}.evolution-tab-btn{padding:10px 8px;font-size:.8rem}.mobile-swipe-hint{display:inline-flex}.desktop-hide{display:inline-block}.horizontal-swipe-track{scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;flex-flow:row!important;gap:12px!important;margin-left:-16px!important;margin-right:-16px!important;padding:4px 16px 16px!important;display:flex!important;overflow:auto hidden!important}.horizontal-swipe-track::-webkit-scrollbar{display:none!important}.swipe-card-wide{scroll-snap-align:center!important;box-sizing:border-box!important;flex:0 0 84vw!important;min-width:82vw!important;max-width:360px!important;margin:0!important}.metric-card.swipe-card-wide,.technique-card.swipe-card-wide{padding:16px 18px!important}.technique-steps{margin-bottom:8px!important;padding:8px 10px!important}.technique-steps ol{font-size:.78rem!important}.technique-example{padding:8px!important;font-size:.78rem!important}.sound-insight-card.swipe-card-wide,.correction-insight-card.swipe-card-wide,.focus-card.swipe-card-wide{padding:16px!important}.history-list.horizontal-swipe-track{scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;flex-flow:row!important;gap:12px!important;margin-left:-16px!important;margin-right:-16px!important;padding:4px 16px 16px!important;display:flex!important;overflow-x:auto!important}.history-list.horizontal-swipe-track .history-row{border:1px solid var(--line)!important;background:#101214e6!important;border-radius:12px!important;padding:16px!important}}.module-selector-view{width:100%;max-width:1100px;margin:0 auto;padding:24px 16px 80px}.module-selector-hero{text-align:center;margin-bottom:32px}.module-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.module-journey-tag{text-transform:uppercase;letter-spacing:.06em;color:#f0b34a;background:#f0b34a24;border:1px solid #f0b34a59;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.module-back-to-practice-btn{border:1px solid var(--line-strong);color:#fff;cursor:pointer;background:#ffffff0f;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:.84rem;font-weight:600;transition:all .2s;display:inline-flex}.module-back-to-practice-btn:hover{color:#f0b34a;background:#ffffff1f;border-color:#f0b34a}.module-hero-title{color:#fff;letter-spacing:-.02em;margin:0 0 8px;font-size:1.85rem;font-weight:800}.module-hero-subtitle{color:var(--text-soft);max-width:680px;margin:0 auto 20px;font-size:.95rem;line-height:1.5}.module-filter-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:16px;display:flex}.module-filter-chip{border:1px solid var(--line);color:var(--text-soft);cursor:pointer;background:#ffffff0d;border-radius:999px;padding:7px 16px;font-size:.82rem;font-weight:600;transition:all .2s}.module-filter-chip:hover{color:#fff;background:#ffffff1a}.module-filter-chip.active{color:#121212;background:#f0b34a;border-color:#f0b34a;font-weight:700;box-shadow:0 0 16px #f0b34a59}.module-card{cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#161a20d9;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;padding:22px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.module-card:hover{border-color:#f0b34a73;transform:translateY(-4px);box-shadow:0 12px 30px #00000059,0 0 20px #f0b34a26}.module-card.is-active{background:#f0b34a0f;border-color:#f0b34a;box-shadow:0 0 24px #f0b34a38}.module-card.is-free-conversation{border-color:#06b6d459}.module-card.is-free-conversation:hover{border-color:#06b6d4;box-shadow:0 12px 30px #00000059,0 0 20px #06b6d433}.module-card-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.module-icon-wrap{color:#f0b34a;background:#f0b34a26;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.module-card.is-free-conversation .module-icon-wrap{color:#06b6d4;background:#06b6d426}.module-badge-group{align-items:center;gap:8px;display:flex}.module-level-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:.76rem;font-weight:700}.module-level-badge.basic{color:#10b981;background:#10b98126;border:1px solid #10b9814d}.module-level-badge.intermediate{color:#06b6d4;background:#06b6d426;border:1px solid #06b6d44d}.module-level-badge.advanced{color:#8b5cf6;background:#8b5cf626;border:1px solid #8b5cf64d}.module-level-badge.all{color:#f0b34a;background:#f0b34a26;border:1px solid #f0b34a4d}.module-active-tag{color:#111;background:#f0b34a;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.module-card-title{color:#fff;margin:0 0 4px;font-size:1.15rem;font-weight:700}.module-card-subtitle{color:var(--text-soft);margin:0 0 12px;font-size:.82rem;font-weight:600}.module-card-desc{color:#d1d5db;flex:1;margin:0 0 14px;font-size:.88rem;line-height:1.5}.module-mission-box{background:#0000004d;border-left:3px solid #f0b34a;border-radius:10px;margin-bottom:14px;padding:10px 12px}.module-card.is-free-conversation .module-mission-box{border-left-color:#06b6d4}.module-mission-label{text-transform:uppercase;color:var(--text-soft);letter-spacing:.05em;margin-bottom:3px;font-size:.72rem;font-weight:700;display:block}.module-mission-text{color:#f3f4f6;margin:0;font-size:.82rem;line-height:1.4}.module-phrases-preview{margin-bottom:16px}.module-phrases-title{color:var(--text-soft);align-items:center;gap:5px;margin-bottom:8px;font-size:.74rem;font-weight:600;display:inline-flex}.module-phrases-tags{flex-direction:column;gap:4px;display:flex}.module-phrase-pill{font-size:.78rem;font-family:var(--font-mono,monospace);color:#93c5fd;white-space:nowrap;text-overflow:ellipsis;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:6px;padding:4px 8px;overflow:hidden}.module-action-btn{color:#f0b34a;cursor:pointer;background:#f0b34a26;border:1px solid #f0b34a66;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:11px 16px;font-size:.9rem;font-weight:700;transition:all .2s;display:flex}.module-card.is-free-conversation .module-action-btn{color:#06b6d4;background:#06b6d426;border-color:#06b6d466}.module-action-btn:hover{color:#111;background:#f0b34a;box-shadow:0 4px 14px #f0b34a59}.module-card.is-free-conversation .module-action-btn:hover{color:#111;background:#06b6d4;box-shadow:0 4px 14px #06b6d459}.module-action-btn.active-btn{color:#111;background:#f0b34a}.active-module-pill-btn{color:#f0b34a;cursor:pointer;white-space:nowrap;background:#f0b34a24;border:1px solid #f0b34a59;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex}.active-module-pill-btn:hover{background:#f0b34a40;border-color:#f0b34a;transform:translateY(-1px)}.module-pill-title{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.module-pill-badge{background:#f0b34a40;border-radius:999px;padding:2px 6px;font-size:.72rem}.drawer-module-preview-box{border:1px solid var(--line);background:#ffffff0a;border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex}.drawer-module-info{justify-content:space-between;align-items:center;display:flex}.drawer-module-name{color:#fff;font-size:.95rem;font-weight:700}.drawer-module-badge{color:#f0b34a;background:#f0b34a33;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.drawer-module-scenario{color:var(--text-soft);margin:0;font-size:.82rem}@media (max-width:640px){.module-cards-grid{grid-template-columns:1fr;gap:16px}.module-hero-title{font-size:1.5rem}.active-module-pill-btn{padding:5px 10px;font-size:.76rem}.module-pill-title{max-width:95px}}.module-progress-wrapper{flex-direction:column;gap:6px;margin:8px 0 12px;display:flex}.module-progress-meta{justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.module-progress-text{color:var(--text-soft);font-weight:500}.module-progress-pct{color:#f0b34a;font-weight:700}.module-progress-track{background:#ffffff14;border-radius:999px;width:100%;height:6px;overflow:hidden}.module-progress-fill{background:linear-gradient(90deg,#f0b34a 0%,#38ef7d 100%);border-radius:999px;height:100%;transition:width .4s}.module-completed-tag{color:#38ef7d;background:#38ef7d26;border:1px solid #38ef7d66;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.module-eval-banner{background:#f0b34a14;border:1px solid #f0b34a40;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin:10px 0 4px;padding:8px 12px;display:flex}.module-eval-pill{color:#f0b34a;align-items:center;gap:5px;font-size:.78rem;font-weight:700;display:flex}.eval-star-icon{fill:#f0b34a;color:#f0b34a}.eval-pill-lvl{color:var(--text-soft);font-size:.72rem;font-weight:500}.module-eval-view-btn{color:#fff;cursor:pointer;background:#f0b34a2e;border:1px solid #f0b34a66;border-radius:6px;padding:4px 10px;font-size:.72rem;font-weight:600;transition:all .2s}.module-eval-view-btn:hover{color:#070809;background:#f0b34a}.module-evaluate-action-btn{color:#38ef7d;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#38ef7d2e,#11998e33);border:1px solid #38ef7d66;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex}.module-evaluate-action-btn:hover:not(:disabled){background:linear-gradient(135deg,#38ef7d4d,#11998e59);border-color:#38ef7d;transform:translateY(-1px)}.module-evaluate-action-btn:disabled{opacity:.6;cursor:not-allowed}.module-eval-modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.module-eval-modal-content{background:#12141a;border:1px solid #f0b34a59;border-radius:20px;flex-direction:column;gap:18px;width:100%;max-width:580px;max-height:90vh;padding:24px;display:flex;overflow-y:auto;box-shadow:0 20px 50px #000000b3,0 0 30px #f0b34a26}.eval-loading-content{text-align:center;justify-content:center;align-items:center;padding:48px 24px}.eval-loading-spinner{border:4px solid #f0b34a33;border-top-color:#f0b34a;border-radius:50%;width:48px;height:48px;margin-bottom:16px;animation:.8s linear infinite spin}.eval-loading-title{color:#fff;margin:0 0 8px;font-size:1.2rem}.eval-loading-desc{color:var(--text-soft);max-width:360px;margin:0;font-size:.88rem}.module-eval-modal-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:flex-start;padding-bottom:14px;display:flex}.eval-modal-badge{text-transform:uppercase;color:#f0b34a;letter-spacing:.5px;align-items:center;gap:6px;margin-bottom:4px;font-size:.75rem;font-weight:700;display:inline-flex}.eval-modal-title{color:#fff;margin:0;font-size:1.4rem;font-weight:800}.eval-modal-close-btn{color:var(--text-soft);cursor:pointer;background:#ffffff0f;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.eval-modal-close-btn:hover{color:#fff;background:#ffffff26}.eval-overall-box{background:linear-gradient(135deg,#f0b34a1f 0%,#ff634814 100%);border:1px solid #f0b34a40;border-radius:16px;align-items:center;gap:20px;padding:16px 20px;display:flex}.eval-overall-number{background:#0006;border:1px solid #f0b34a4d;border-radius:12px;align-items:baseline;padding:8px 14px;display:flex}.eval-num{color:#f0b34a;font-size:2.2rem;font-weight:900;line-height:1}.eval-max{color:var(--text-soft);margin-left:2px;font-size:.95rem}.eval-overall-details{flex-direction:column;gap:2px;display:flex}.eval-status-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.5px;font-size:.72rem}.eval-status-val{color:#fff;font-size:1.1rem;font-weight:800}.eval-date{color:#fff6;font-size:.7rem}.eval-metrics-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.eval-metric-card{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.metric-name{color:var(--text-soft);font-size:.72rem;font-weight:600}.metric-score{color:#fff;font-size:1.1rem;font-weight:800}.metric-bar{background:#ffffff14;border-radius:999px;width:100%;height:5px;overflow:hidden}.metric-fill{border-radius:999px;height:100%;transition:width .5s}.metric-fill.pronunciation{background:#38ef7d}.metric-fill.grammar{background:#4facfe}.metric-fill.fluency{background:#f0b34a}.eval-feedback-speech-bubble{background:#ffffff0a;border-left:3px solid #f0b34a;border-radius:4px 12px 12px 4px;padding:12px 16px}.eval-bubble-title{color:#f0b34a;align-items:center;gap:6px;margin-bottom:6px;font-size:.75rem;font-weight:700;display:flex}.eval-bubble-text{color:#e2e8f0;margin:0;font-size:.88rem;font-style:italic;line-height:1.5}.eval-points-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.eval-strengths-box,.eval-improvements-box{background:#ffffff08;border-radius:12px;padding:12px}.eval-points-heading{align-items:center;gap:6px;margin:0 0 8px;font-size:.78rem;font-weight:700;display:flex}.eval-points-heading.strengths{color:#38ef7d}.eval-points-heading.improvements{color:#f0b34a}.eval-points-list{color:#cbd5e1;flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:.78rem;line-height:1.45;display:flex}.eval-modal-actions{gap:10px;margin-top:4px;display:flex}.eval-modal-action-btn{color:#070809;cursor:pointer;background:linear-gradient(135deg,#f0b34a,#ff9f1c);border:none;border-radius:12px;flex:1;padding:12px 16px;font-size:.88rem;font-weight:800;transition:all .2s}.eval-modal-action-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #f0b34a59}.eval-modal-secondary-btn{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;flex:1;padding:12px 16px;font-size:.88rem;font-weight:700;transition:all .2s}.eval-modal-secondary-btn:hover{background:#ffffff1f}@media (max-width:580px){.eval-metrics-grid,.eval-points-row{grid-template-columns:1fr}.module-evaluate-action-btn span{display:none}.module-evaluate-action-btn{padding:6px 8px}}.module-journey-summary-bar{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.journey-stat-pill{color:var(--text-soft);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;display:inline-flex}.journey-stat-pill strong{color:#fff}.journey-stat-pill.streak{color:#ff6348;border-color:#ff63484d}.journey-stat-pill.xp{color:#f0b34a;border-color:#f0b34a4d}.module-stage-indicator{align-items:center;gap:10px;display:flex}.stage-badge-number{color:#070809;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#f0b34a 0%,#ff9f1c 100%);border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:800}.module-card.is-completed{background:#38ef7d0a;border-color:#38ef7d66}.learning-map-page-view{color:#fff;flex-direction:column;gap:20px;width:100%;max-width:1400px;margin:0 auto;padding:12px 16px 40px;display:flex}.map-header-container{width:100%;padding:6px 4px 12px;position:relative}.map-mobile-compact-header{display:none!important}.map-desktop-header-content{grid-template-columns:1fr auto;align-items:center;gap:24px;width:100%;padding:6px 4px 12px;display:grid;position:relative}.map-header-center{text-align:center;flex-direction:column;align-items:center;margin:0 auto;display:flex}.map-hero-tag{color:#fbbf24;letter-spacing:.8px;background:#f59e0b14;border:1px solid #f59e0b59;border-radius:999px;align-items:center;gap:8px;margin-bottom:8px;padding:4px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.tag-icon-compass{color:#fbbf24}.map-hero-title{color:#fff;letter-spacing:-.02em;text-shadow:0 2px 12px #0009;margin:0 0 6px;font-size:1.85rem;font-weight:800}.map-hero-subtitle{color:#94a3b8;max-width:640px;margin:0 0 16px;font-size:.92rem;line-height:1.45}.map-stats-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.map-stat-chip{color:#cbd5e1;background:#111518;border:1px solid #252b30;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:.82rem;display:inline-flex;box-shadow:0 2px 6px #0006}.map-stat-chip strong{color:#fff}.stat-icon-target{color:#38bdf8}.chip-streak .stat-icon-flame{color:#ef4444}.chip-xp .stat-icon-star{color:#f59e0b}.map-quote-widget{background:#111518;border:1px solid #252b30;border-radius:12px;align-items:center;gap:12px;max-width:280px;padding:10px 14px;display:flex;box-shadow:0 4px 16px #00000080}.quote-avatar-col{flex-shrink:0}.quote-text-col{flex-direction:column;gap:2px;display:flex}.quote-body{color:#e2e8f0;margin:0;font-size:.78rem;font-style:italic;line-height:1.35}.quote-author{color:#f59e0b;font-size:.7rem;font-weight:700}.map-desktop-expanded-view{flex-direction:column;align-items:center;width:100%;max-width:1840px;margin:0 auto;padding:14px 20px 36px;display:flex}@media (min-width:1280px){.map-desktop-expanded-view{width:98vw;padding:16px 24px 40px}}.learning-map-page-view{flex-direction:column;gap:18px;width:100%;max-width:100%;margin:0 auto;display:flex}.map-scroll-outer-viewport{background:#06090d;border:1px solid #202730;border-radius:20px;width:100%;height:clamp(560px,75vh,860px);position:relative;overflow:hidden;box-shadow:0 16px 50px #000000d9,inset 0 0 0 1px #ffffff0a}.map-scroll-viewport{scrollbar-width:thin;scrollbar-color:#252b30 #0b0e10;-webkit-user-select:none;user-select:none;touch-action:pan-x;width:100%;height:100%;position:relative;overflow:auto hidden}.practice-start-main{place-items:center;width:100%;min-height:calc(100dvh - 74px);padding:clamp(18px,4vw,48px);display:grid}.practice-start-card{background:linear-gradient(118deg,#0a1217fa,#080d12f5),#080d12;border:1px solid #f0b34a38;border-radius:28px;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);width:min(100%,1120px);min-height:min(650px,100dvh - 150px);display:grid;position:relative;overflow:hidden;box-shadow:0 28px 80px #00000080,inset 0 1px #ffffff09}.practice-start-copy,.practice-start-character-panel{z-index:1;position:relative}.practice-start-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(30px,6vw,78px);display:flex}.practice-start-eyebrow{color:#f8c865;letter-spacing:.06em;text-transform:uppercase;background:#f0b34a14;border:1px solid #f0b34a4d;border-radius:999px;align-items:center;gap:7px;margin-bottom:18px;padding:7px 12px;font-size:.74rem;font-weight:800;display:inline-flex}.practice-start-copy h1{color:#f7fafc;letter-spacing:-.065em;max-width:610px;margin:0;font-size:clamp(2.35rem,5.3vw,4.55rem);font-weight:900;line-height:.98}.practice-start-copy>p{color:#aebdca;max-width:510px;margin:22px 0 28px;font-size:clamp(.98rem,1.5vw,1.12rem);line-height:1.65}.practice-start-module{background:#152b3380;border:1px solid #539fab52;border-radius:15px;align-items:center;gap:12px;width:min(100%,460px);margin-bottom:27px;padding:13px 14px;display:flex}.practice-start-module-icon{color:#e2fbff;background:linear-gradient(135deg,#317b89,#163d45);border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.practice-start-module span:nth-child(2){gap:2px;min-width:0;display:grid}.practice-start-module small{color:#8295a6;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.practice-start-module strong{color:#f5f8fa;text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;overflow:hidden}.practice-start-module em{color:#f5bd4d;white-space:nowrap;margin-left:auto;font-size:.75rem;font-style:normal;font-weight:800}.practice-start-actions{flex-wrap:wrap;gap:12px;display:flex}.practice-start-actions button{min-height:48px;font:inherit;border-radius:13px;justify-content:center;align-items:center;gap:8px;font-size:.93rem;font-weight:850;transition:transform .16s,box-shadow .16s,border-color .16s;display:inline-flex}.practice-start-actions button:hover{transform:translateY(-2px)}.practice-start-primary{color:#15110a;background:linear-gradient(135deg,#f2bb46,#e88d22);border:1px solid #f7cc68;padding:0 20px;box-shadow:0 10px 25px #e88d2245}.practice-start-secondary{color:#dbe5eb;background:#ffffff0b;border:1px solid #abbfcd3b;padding:0 17px}.practice-start-note{color:#8192a0;margin-top:17px;font-size:.78rem}.practice-start-character-panel{background:radial-gradient(circle at 50% 53%,#317b8957,#0000 50%);align-content:center;place-items:center;min-height:100%;padding:44px 36px;display:grid}.practice-start-character-panel .rpg-character-stage{--real-avatar-scale:.96;aspect-ratio:1;filter:drop-shadow(0 18px 34px #00000080);flex:none;width:min(100%,430px);max-width:430px;height:min(430px,62vh);min-height:260px;position:relative}.practice-start-character-panel .pixel-mr-crazy-art{width:100%;min-width:100%;height:100%;min-height:100%;display:block;position:absolute;inset:0}.practice-start-pixel-avatar{z-index:4;pointer-events:none;place-items:center;width:min(100%,430px);min-width:0;height:min(430px,62vh);min-height:260px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.practice-start-pixel-avatar .pixel-mr-crazy-art{width:100%;min-width:0;height:100%;min-height:0;position:relative;inset:auto}.practice-start-character-panel .mr-crazy-preview-layer{inset:-2% -6% -6%}.practice-start-character-aura{aspect-ratio:1;background:radial-gradient(circle,#f0b34a29,#0000 68%);border:1px solid #f0b34a33;border-radius:50%;width:min(70%,315px);position:absolute;box-shadow:0 0 90px #30b8c824}.practice-start-character-label,.practice-start-character-name{z-index:1;text-align:center;position:relative}.practice-start-character-label{color:#99adba;letter-spacing:.1em;text-transform:uppercase;margin-bottom:-9px;font-size:.7rem;font-weight:800}.practice-start-character-name{color:#f2c462;letter-spacing:.04em;margin-top:-14px;font-size:1.05rem;font-weight:900}.practice-start-spotlight{filter:blur(10px);opacity:.55;pointer-events:none;border-radius:50%;width:360px;height:360px;position:absolute}.practice-start-spotlight-left{background:#f0b34a1f;top:-180px;left:-160px}.practice-start-spotlight-right{background:#3399aa29;bottom:-170px;right:-180px}@media (max-width:760px){.practice-start-main{min-height:calc(100dvh - 68px);padding:14px 12px 84px}.practice-start-card{border-radius:22px;grid-template-columns:1fr;min-height:0}.practice-start-copy{order:2;padding:22px 22px 27px}.practice-start-character-panel{min-height:250px;padding:20px 30px 2px}.practice-start-character-panel .rpg-character-stage{width:min(220px,58vw)}.practice-start-character-label{margin-bottom:-5px}.practice-start-copy h1{font-size:clamp(2.15rem,11vw,3rem)}.practice-start-copy>p{margin:15px 0 20px;font-size:.91rem;line-height:1.5}.practice-start-module{margin-bottom:20px}.practice-start-actions{width:100%}.practice-start-primary{flex:1}.practice-start-secondary{width:100%}}.map-scroll-viewport::-webkit-scrollbar{height:8px}.map-scroll-viewport::-webkit-scrollbar-track{background:#0b0e10}.map-scroll-viewport::-webkit-scrollbar-thumb{background:#252b30;border-radius:4px}.horizontal-drag-area{cursor:grab}.horizontal-drag-area:active{cursor:grabbing}.map-canvas-stage{aspect-ratio:1024/576;aspect-ratio:1024/450;aspect-ratio:1440/720;width:100%;min-width:1440px;height:100%;transition:transform .2s cubic-bezier(.16,1,.3,1);position:relative}.map-terrain-container{background:#07090a;width:100%;height:100%;position:relative;overflow:hidden}.terrain-archipelago-base{z-index:1;position:absolute;inset:0}.programmatic-archipelago-wrap{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.archipelago-svg-canvas{width:100%;height:100%;display:block}.terrain-ocean-glow{z-index:2;pointer-events:none;background:radial-gradient(at 50% 60%,#0ea5e914 0%,#07090a80 75%);position:absolute;inset:0}.terrain-interactive-layer{z-index:3;position:absolute;inset:0}.animated-ocean-waves path{animation:8s ease-in-out infinite alternate oceanWaveDrift}@keyframes oceanWaveDrift{0%{opacity:.5;transform:translate(0)scaleY(1)}50%{opacity:.85;transform:translate(12px)scaleY(1.15)}to{opacity:.6;transform:translate(-8px)scaleY(.95)}}.animated-shore-foam{animation:3.5s ease-in-out infinite alternate shoreFoamPulse}@keyframes shoreFoamPulse{0%{stroke-opacity:.3;stroke-dashoffset:0}to{stroke-opacity:.85;stroke-dashoffset:14px}}.scenery-sailboat{transform-origin:940px 560px;animation:4.5s ease-in-out infinite alternate sailboatBob}@keyframes sailboatBob{0%{transform:translate(940px,560px)rotate(-2.5deg)}to{transform:translate(943px,564px)rotate(2deg)}}.animated-campfire .flame-core{transform-origin:25px 42px;animation:1.2s ease-in-out infinite alternate campfireFlicker}@keyframes campfireFlicker{0%{filter:brightness();transform:scale(.92)rotate(-1deg)}50%{filter:brightness(1.25);transform:scale(1.08)rotate(2deg)}to{filter:brightness(1.1);transform:scale(.96)rotate(-2deg)}}.campfire-spark-1{animation:1.8s ease-out infinite campfireSpark}.campfire-spark-2{animation:2.2s ease-out .7s infinite campfireSpark}@keyframes campfireSpark{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)translate(4px)}}.animated-steam.steam-1{animation:2.8s ease-out infinite steamFloat}.animated-steam.steam-2{animation:3.2s ease-out 1.2s infinite steamFloat}@keyframes steamFloat{0%{stroke-dashoffset:20px;opacity:0;transform:translateY(0)}40%{opacity:.85}to{stroke-dashoffset:0;opacity:0;transform:translateY(-12px)}}.animated-neon-shop{animation:2.4s ease-in-out infinite alternate neonShopGlow}@keyframes neonShopGlow{0%{filter:drop-shadow(0 0 2px #f59e0b66);opacity:.9}to{filter:drop-shadow(0 0 10px #f59e0be6);opacity:1}}.animated-airport-radar{transform-origin:3px -9px;animation:3.5s linear infinite radarSweep}@keyframes radarSweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animated-runway-lights .runway-led-1{animation:1.4s infinite runwayLedBlink}.animated-runway-lights .runway-led-2{animation:1.4s .35s infinite runwayLedBlink}.animated-runway-lights .runway-led-3{animation:1.4s .7s infinite runwayLedBlink}.animated-runway-lights .runway-led-4{animation:1.4s 1.05s infinite runwayLedBlink}@keyframes runwayLedBlink{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}.fountain-ripple-1{transform-origin:0 9px;animation:2.2s ease-out infinite fountainRippleExpand}.fountain-ripple-2{transform-origin:0 9px;animation:2.2s ease-out 1.1s infinite fountainRippleExpand}@keyframes fountainRippleExpand{0%{opacity:1;stroke-width:1.8px;transform:scale(.6)}to{opacity:0;stroke-width:.5px;transform:scale(1.5)}}.animated-fountain-spray{animation:1.6s ease-in-out infinite alternate fountainSprayPulse}@keyframes fountainSprayPulse{0%{opacity:.8;transform:scaleY(.92)}to{opacity:1;transform:scaleY(1.1)}}.tower-beacon-blink{animation:1.8s infinite beaconPulse}@keyframes beaconPulse{0%,to{opacity:.3}50%{opacity:1;filter:drop-shadow(0 0 6px #ef4444)}}.animated-floating-crown{animation:3.2s ease-in-out infinite alternate crownLevitate}@keyframes crownLevitate{0%{filter:drop-shadow(0 0 6px #f59e0b80);transform:translateY(0)rotate(-1deg)}to{filter:drop-shadow(0 0 20px #f59e0bf2);transform:translateY(-7px)rotate(1.5deg)}}.animated-lighthouse-sweep{transform-origin:0 -25px;animation:6s ease-in-out infinite alternate lighthouseLightSweep}@keyframes lighthouseLightSweep{0%{opacity:.4;transform:rotate(-35deg)scaleX(.85)}50%{opacity:.9;transform:rotate(15deg)scaleX(1.15)}to{opacity:.5;transform:rotate(65deg)scaleX(.9)}}.animated-drifting-clouds{animation:28s ease-in-out infinite alternate cloudsFloat}@keyframes cloudsFloat{0%{opacity:.7;transform:translate(-25px)}to{opacity:.95;transform:translate(35px)}}.map-road-svg{z-index:4;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.road-segment-group{transition:opacity .3s}.animate-road-pulse{animation:1.8s linear infinite roadDashFlow}@keyframes roadDashFlow{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}.map-checkpoint-node{cursor:pointer;z-index:10;flex-direction:column;align-items:center;gap:8px;transition:transform .2s,filter .2s;display:flex;position:absolute;transform:translate(-50%,-50%)}.map-checkpoint-node:hover{z-index:25;transform:translate(-50%,-54%)scale(1.05)}.map-checkpoint-node.is-selected{z-index:30;transform:translate(-50%,-54%)scale(1.08)}.checkpoint-circle-wrap{justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:relative}.checkpoint-circle{color:#fff;background:#111518;border:2px solid #252b30;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.95rem;font-weight:800;transition:all .2s;display:flex;box-shadow:0 4px 12px #000000b3}.status-current .checkpoint-circle{color:#07090a;background:radial-gradient(circle,#f59e0b 0%,#d97706 100%);border-color:#fde68a;box-shadow:0 0 20px #f59e0bcc,0 4px 10px #0009}.status-completed .checkpoint-circle{color:#07090a;background:#10b981;border-color:#a7f3d0;box-shadow:0 0 14px #10b98199}.status-locked .checkpoint-circle{color:#475569;opacity:.85;background:#0e1215;border-color:#1f262c}.checkpoint-pulse-ring{pointer-events:none;border:2px solid #f59e0bb3;border-radius:50%;animation:2s cubic-bezier(.24,0,.38,1) infinite checkpointPulse;position:absolute;inset:-6px}@keyframes checkpointPulse{0%{opacity:.9;transform:scale(.85)}to{opacity:0;transform:scale(1.4)}}.checkpoint-lock-icon{color:#94a3b8;position:absolute;top:-6px}.checkpoint-check-icon{color:#07090a}.checkpoint-card-pill{pointer-events:auto;z-index:10;background:#111518;border:1px solid #252b30;border-radius:9px;width:max-content;min-width:145px;max-width:200px;padding:6px 10px;transition:all .2s;box-shadow:0 6px 18px #000000bf}.card-current-glow{background:#151a1e;border-color:#f59e0bd9;box-shadow:0 0 18px #f59e0b66,0 6px 20px #000c}.checkpoint-card-header{justify-content:space-between;align-items:center;gap:6px;margin-bottom:3px;display:flex}.checkpoint-card-title{color:#f8fafc;white-space:nowrap;text-overflow:ellipsis;max-width:135px;font-size:.75rem;font-weight:700;overflow:hidden}.current-arrow-icon{color:#f59e0b}.checkpoint-card-footer{justify-content:space-between;align-items:center;gap:6px;display:flex}.level-pill-badge{text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:.64rem;font-weight:800}.badge-basic{color:#fbbf24;background:#f59e0b33;border:1px solid #f59e0b66}.badge-intermediate{color:#38bdf8;background:#38bdf82e;border:1px solid #38bdf866}.badge-advanced,.badge-all{color:#34d399;background:#10b98133;border:1px solid #10b98166}.checkpoint-card-status-row{justify-content:space-between;align-items:center;gap:6px;margin-bottom:5px;display:flex}.checkpoint-card-status{color:#94a3b8;align-items:center;gap:4px;font-size:.65rem;display:flex}.status-indicator-dot{border-radius:50%;width:6px;height:6px}.dot-active{background:#f59e0b;box-shadow:0 0 6px #f59e0b}.dot-completed{background:#10b981}.status-lock-mini{color:#64748b}.checkpoint-details-link{color:#38bdf8;cursor:pointer;opacity:.85;background:0 0;border:none;padding:0 2px;font-size:.64rem;font-weight:700;transition:opacity .15s}.checkpoint-details-link:hover{opacity:1;text-decoration:underline}.checkpoint-card-actions{align-items:center;gap:4px;width:100%;display:flex}.checkpoint-direct-start-btn{color:#07090a;cursor:pointer;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border:1px solid #fde68a;border-radius:5px;flex:1;justify-content:center;align-items:center;padding:3px 6px;font-size:.7rem;font-weight:800;transition:all .15s;display:flex;box-shadow:0 2px 6px #f59e0b59}.checkpoint-direct-start-btn:hover{background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);transform:translateY(-1px)}.checkpoint-direct-exam-btn{color:#fbbf24;cursor:pointer;background:#f59e0b26;border:1px solid #f59e0b66;border-radius:5px;justify-content:center;align-items:center;padding:3px 6px;font-size:.68rem;font-weight:750;transition:all .15s;display:flex}.checkpoint-direct-exam-btn:hover{color:#fff;background:#f59e0b47;border-color:#f59e0b}.checkpoint-character-anchor{z-index:15;pointer-events:none;position:absolute;bottom:34px;right:-36px}.mr-crazy-character-wrap{flex-direction:column;align-items:center;display:inline-flex;position:relative}.char-sprite-box{display:inline-block;position:relative}.char-pixel-img{image-rendering:pixelated;filter:drop-shadow(0 4px 8px #000c);display:block}.mr-crazy-character-wrap.is-animated .char-pixel-img{animation:2.6s ease-in-out infinite charIdleFloat}@keyframes charIdleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.char-ground-shadow{filter:blur(2px);background:#00000073;border-radius:50%;width:65%;height:6px;position:absolute;bottom:-3px;left:50%;transform:translate(-50%)}.char-speech-bubble{color:#fbbf24;white-space:nowrap;background:#151a1e;border:1px solid #f59e0b;border-radius:6px;margin-bottom:6px;padding:3px 8px;font-size:.68rem;font-weight:700;position:absolute;bottom:100%;left:50%;transform:translate(-50%);box-shadow:0 4px 10px #000000b3}.bubble-arrow{border:4px solid #0000;border-top-color:#f59e0b;position:absolute;top:100%;left:50%;transform:translate(-50%)}.map-floating-controls{z-index:30;align-items:center;gap:8px;display:flex;position:absolute;top:14px;right:14px}.map-ctrl-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#cbd5e1;cursor:pointer;background:#111518e6;border:1px solid #252b30;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 3px 10px #00000080}.map-ctrl-btn:hover:not(:disabled){color:#fff;background:#1b2228;border-color:#f59e0b}.map-ctrl-btn:disabled{opacity:.4;cursor:not-allowed}.btn-focus-stage{color:#fbbf24;border-color:#f59e0b66}.btn-focus-stage:hover{background:#f59e0b26;border-color:#f59e0b}.ctrl-nav-icon{color:#f59e0b}.map-zoom-buttons-group{align-items:center;gap:4px;display:flex}.map-footer-grid{grid-template-columns:1fr 1.4fr 1fr;gap:16px;width:100%;display:grid}.map-footer-card{background:#111518;border:1px solid #252b30;border-radius:14px;padding:16px;position:relative;overflow:hidden;box-shadow:0 6px 20px #00000080}.card-journey-advice{align-items:center;gap:14px;display:flex}.advice-avatar-box{background:#151a1e;border:1px solid #252b30;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;display:flex}.advice-text-box{flex-direction:column;gap:4px;display:flex}.advice-card-title{color:#fff;margin:0;font-size:.95rem;font-weight:750}.advice-card-desc{color:#94a3b8;margin:0;font-size:.8rem;line-height:1.4}.card-general-progress{flex-direction:column;justify-content:space-between;gap:12px;display:flex}.general-progress-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.general-progress-title{color:#e2e8f0;font-size:.88rem;font-weight:750}.general-progress-meta{color:#94a3b8;align-items:center;gap:8px;font-size:.78rem;display:flex}.meta-pct-accent{color:#f59e0b}.timeline-stepper{justify-content:space-between;align-items:center;padding:4px 0 0;display:flex;position:relative}.stepper-track-bg{z-index:1;background:#1e252b;height:3px;position:absolute;top:14px;left:12px;right:12px}.stepper-track-fill{z-index:2;background:linear-gradient(90deg,#f59e0b 0%,#fbbf24 100%);height:3px;transition:width .3s;position:absolute;top:14px;left:12px}.stepper-nodes-row{z-index:3;justify-content:space-between;align-items:center;width:100%;display:flex;position:relative}.stepper-node-item{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;padding:0;display:flex}.node-badge-circle{color:#94a3b8;background:#151a1e;border:2px solid #252b30;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex}.stepper-node-item.is-current .node-badge-circle{background:#f59e0b;border-color:#fde68a;box-shadow:0 0 10px #f59e0bcc}.node-active-dot{background:#07090a;border-radius:50%;width:6px;height:6px}.stepper-node-item.is-completed .node-badge-circle{color:#07090a;background:#10b981;border-color:#a7f3d0}.node-label-number{color:#94a3b8;font-size:.74rem;font-weight:700}.stepper-node-item.is-current .node-label-number{color:#f59e0b}.card-treasure-reward{align-items:center;gap:14px;display:flex}.treasure-chest-box{flex-shrink:0}.treasure-chest-img{image-rendering:pixelated;filter:drop-shadow(0 4px 12px #f59e0b73)}.treasure-text-box{flex-direction:column;flex:1;gap:4px;display:flex}.treasure-card-title{color:#fff;margin:0;font-size:.95rem;font-weight:750}.treasure-card-desc{color:#94a3b8;margin:0;font-size:.8rem;line-height:1.4}.treasure-action-circle{color:#fbbf24;cursor:pointer;background:#f59e0b26;border:1px solid #f59e0b66;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.treasure-action-circle:hover{color:#07090a;background:#f59e0b;transform:translate(2px)}.stage-drawer-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:999;background:#07090ad6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.stage-drawer-panel.stage-horizontal-modal{background:#111518;border:1px solid #252b30;border-radius:16px;flex-direction:column;width:min(1040px,94vw);max-height:85vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #000000e6,0 0 0 1px #ffffff0d}.stage-drawer-header.compact-header{background:#151a1e;border-bottom:1px solid #1e252b;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.drawer-title-group{flex-direction:column;gap:3px;display:flex}.drawer-stage-pill{align-items:center;gap:8px;display:inline-flex}.stage-number{color:#f59e0b;letter-spacing:.6px;text-transform:uppercase;font-size:.72rem;font-weight:800}.stage-level{color:#38bdf8;background:#1e252b;border-radius:4px;padding:1px 6px;font-size:.65rem;font-weight:800}.stage-xp-tag{color:#fbbf24;font-size:.68rem;font-weight:750}.drawer-title{color:#fff;margin:0;font-size:1.15rem;font-weight:800}.drawer-header-actions{align-items:center;gap:8px;display:flex}.drawer-header-exam-btn{color:#fbbf24;cursor:pointer;background:#f59e0b26;border:1px solid #f59e0b66;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:.78rem;font-weight:700;transition:all .15s;display:inline-flex}.drawer-header-exam-btn:hover{color:#fff;background:#f59e0b47;border-color:#f59e0b}.drawer-header-play-btn{color:#07090a;cursor:pointer;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border:1px solid #fde68a;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:.8rem;font-weight:800;transition:all .15s;display:inline-flex;box-shadow:0 2px 10px #f59e0b66}.drawer-header-play-btn:hover{background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);transform:translateY(-1px)}.drawer-close-btn{color:#94a3b8;cursor:pointer;background:#1b2228;border:1px solid #252b30;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.drawer-close-btn:hover{color:#fff;border-color:#cbd5e1}.stage-drawer-horizontal-body{grid-template-columns:320px 1fr;gap:16px;max-height:calc(85vh - 70px);padding:16px 20px;display:grid;overflow-y:auto}.stage-briefing-col{border-right:1px solid #1e252b;flex-direction:column;gap:10px;padding-right:16px;display:flex}.compact-card-box{background:#151a1e;border:1px solid #252b30;border-radius:8px;padding:10px 12px}.compact-box-header{color:#fbbf24;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;margin-bottom:4px;font-size:.72rem;font-weight:750;display:flex}.compact-box-sublabel{color:#94a3b8;margin-bottom:2px;font-size:.7rem;font-weight:700;display:block}.compact-box-text{color:#e2e8f0;margin:0;font-size:.8rem;line-height:1.35}.compact-examiner-badge{background:#f59e0b0d;border:1px solid #f59e0b40;border-radius:8px;padding:10px 12px}.examiner-line-top{color:#94a3b8;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:.82rem;display:flex}.examiner-label{color:#fbbf24;align-items:center;gap:4px;font-size:.7rem;font-weight:750;display:flex}.examiner-nota{color:#cbd5e1;background:#1e252b;border-radius:4px;padding:1px 6px;font-size:.66rem}.examiner-desc{color:#94a3b8;margin:0;font-size:.76rem;line-height:1.35}.compact-phrases-row{flex-direction:column;gap:4px;display:flex}.phrases-mini-label{color:#94a3b8;align-items:center;gap:4px;font-size:.7rem;font-weight:700;display:flex}.phrases-horizontal-chips{flex-wrap:wrap;gap:4px;display:flex}.mini-phrase-chip{color:#cbd5e1;background:#181e24;border:1px solid #252b30;border-radius:4px;padding:2px 7px;font-size:.72rem}.compact-eval-bar{color:#a7f3d0;background:#10b98114;border:1px solid #10b9814d;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.75rem;display:flex}.compact-eval-link{color:#34d399;text-transform:uppercase;cursor:pointer;background:0 0;border:none;font-size:.72rem;font-weight:750;text-decoration:underline}.stage-pipeline-col{flex-direction:column;gap:10px;display:flex;overflow:hidden}.pipeline-header-row{color:#e2e8f0;justify-content:space-between;align-items:center;display:flex}.pipeline-title-group{align-items:center;gap:6px;display:flex}.pipeline-title{color:#e2e8f0;font-size:.85rem;font-weight:750}.pipeline-swipe-hint{color:#64748b;font-size:.72rem}.horizontal-concepts-track{scroll-snap-type:x mandatory;gap:12px;padding:4px 2px 10px;display:flex;overflow-x:auto}.horizontal-concept-card{scroll-snap-align:start;background:#151a1e;border:1px solid #252b30;border-radius:10px;flex-direction:column;flex:0 0 205px;gap:6px;padding:12px;transition:all .2s;display:flex}.horizontal-concept-card:hover{border-color:#38bdf8;transform:translateY(-2px)}.horizontal-concept-card.completed{background:#10b98108;border-color:#10b98166}.horizontal-concept-card.exam-card-accent{background:linear-gradient(135deg,#f59e0b1a 0%,#151a1ecc 100%);border-color:#f59e0b99}.concept-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.concept-number-badge{color:#cbd5e1;background:#1e252b;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;font-weight:800;display:flex}.step-pill-badge{color:#94a3b8;background:#ffffff0d;border-radius:4px;padding:1px 6px;font-size:.64rem}.exam-pill-badge{color:#07090a;background:#f59e0b;border-radius:4px;align-items:center;gap:3px;padding:1px 6px;font-size:.64rem;font-weight:800;display:inline-flex}.concept-title-text{color:#fff;font-size:.8rem;font-weight:750;line-height:1.25}.concept-desc-text{color:#94a3b8;flex:1;margin:0;font-size:.74rem;line-height:1.35}.concept-obj-box{color:#fbbf24;background:#111518;border-radius:5px;margin-top:2px;padding:4px 6px;font-size:.68rem}.concept-exam-launch-btn{color:#07090a;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#d97706);border:1px solid #fde68a;border-radius:6px;justify-content:center;align-items:center;gap:4px;margin-top:4px;padding:5px 8px;font-size:.72rem;font-weight:800;transition:all .2s;display:flex;box-shadow:0 4px 18px #f59e0b66}.concept-exam-launch-btn:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:translateY(-1px)}@media (max-width:1024px){.map-desktop-header-content{grid-template-columns:1fr;gap:16px}.map-quote-widget{max-width:380px;margin:0 auto}.map-footer-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;grid-template-columns:1fr;gap:12px;padding-bottom:6px;display:flex;overflow-x:auto}.map-footer-grid::-webkit-scrollbar{display:none}.map-footer-card{scroll-snap-align:center;flex:0 0 clamp(280px,85vw,360px)}.stage-drawer-horizontal-body{grid-template-columns:1fr;max-height:calc(88vh - 75px)}.stage-briefing-col{border-bottom:1px solid #1e252b;border-right:none;padding-bottom:14px;padding-right:0}}@media (max-width:640px){.map-hero-title{font-size:1.45rem}}@media (max-width:768px){.map-mobile-compact-header{background:#111518f2;border:1px solid #ffffff14;border-radius:12px;justify-content:space-between;align-items:center;width:100%;margin-bottom:6px;padding:6px 12px;display:flex!important}.map-hero-subtitle{font-size:.84rem}.map-desktop-header-content{display:none!important}.map-mobile-title-col{align-items:baseline;gap:8px;display:flex}.map-stat-chip{padding:4px 10px;font-size:.74rem}.map-mobile-heading{color:#fff;margin:0;font-size:.95rem;font-weight:800}.map-mobile-stage-badge{color:#fbbf24;font-size:.7rem;font-weight:600}.map-mobile-stats-row{align-items:center;gap:6px;display:flex}.mobile-stat-pill{background:#ffffff0f;border-radius:9999px;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.mobile-stat-pill.chip-streak{color:#f97316;border:1px solid #f9731640}.mobile-stat-pill.chip-xp{color:#eab308;border:1px solid #eab30840}.learning-map-page-view{gap:6px;height:100dvh;padding:6px 8px 80px;overflow:hidden}.map-scroll-outer-viewport{border-radius:14px;flex:1;height:calc(100dvh - 120px);margin-bottom:0}.map-footer-grid{display:none!important}.map-scroll-viewport{touch-action:pan-x;width:100%;height:100%;overflow:auto hidden}.map-canvas-stage{aspect-ratio:auto;min-width:0}.practice-main{gap:8px!important;padding:6px 8px 76px!important}.practice-header-bar{flex-direction:column!important;align-items:stretch!important;gap:6px!important;width:100%!important;padding:0!important;display:flex!important}.practice-header-nav-row{justify-content:space-between!important;align-items:center!important;gap:6px!important;width:100%!important;display:flex!important}.active-module-pill-btn{flex:0 auto!important;min-width:0!important;max-width:135px!important;padding:5px 8px!important;font-size:.74rem!important}.active-module-pill-btn .module-pill-title{text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important}.practice-header-stats-group{flex:1!important;justify-content:center!important;min-width:0!important;display:flex!important}.stage-exam-action-btn .stage-exam-action-label{display:none!important}.practice-header-actions-group{flex-shrink:0!important;align-items:center!important;gap:6px!important;display:flex!important}.stage-exam-action-btn{white-space:nowrap!important;flex-shrink:0!important;padding:5px 10px!important;font-size:.74rem!important}.desktop-only-btn{display:none!important}.practice-header-stats-row{width:100%!important}.practice-header-bar .session-header,.session-header{-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;flex-flow:row!important;justify-content:flex-start!important;gap:5px!important;width:100%!important;padding:2px 0!important;display:flex!important;overflow-x:auto!important}.session-header::-webkit-scrollbar{display:none!important}.session-stat,.crazy-meter{border-radius:9999px!important;flex-shrink:0!important;height:26px!important;min-height:26px!important;padding:0 8px!important;font-size:.74rem!important}.session-stat svg{width:12px!important;height:12px!important}.hamburger-btn{border-radius:8px!important;width:34px!important;height:34px!important}.conversation-panel.clean-conversation{min-height:60px!important;max-height:110px!important}.clean-stage{gap:6px!important;padding:6px 0!important}.quick-text-input-bar{width:100%!important;max-width:100%!important}.checkpoint-card-pill{white-space:nowrap;background:#111518;width:auto;min-width:125px;max-width:195px;padding:5px 8px;box-shadow:0 4px 14px #000000e6}.checkpoint-card-title{white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:.72rem;overflow:hidden}.checkpoint-card-status-row{white-space:nowrap;gap:4px}.status-label{white-space:nowrap;font-size:.68rem}.checkpoint-card-actions{gap:4px;margin-top:4px}.checkpoint-direct-start-btn{white-space:nowrap;padding:3px 8px;font-size:.7rem}.checkpoint-direct-exam-btn{white-space:nowrap;padding:3px 8px;font-size:.68rem}.stage-drawer-panel{max-width:100%}.stage-horizontal-modal{width:96vw;max-height:90vh}}.stage-exam-action-btn{color:#fbbf24;cursor:pointer;background:linear-gradient(135deg,#f59e0b33,#d9770626);border:1px solid #f59e0b66;border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 2px 10px #f59e0b26}.stage-exam-action-btn:hover{background:linear-gradient(135deg,#f59e0b59,#d9770640);border-color:#f59e0b;transform:translateY(-1px);box-shadow:0 4px 16px #f59e0b4d}.drawer-exam-action-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#d97706,#b45309);border:1px solid #f59e0b;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:.92rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 20px #d9770659}.drawer-exam-action-btn:hover{background:linear-gradient(135deg,#f59e0b,#d97706);transform:translateY(-1px);box-shadow:0 6px 24px #f59e0b80}.concept-flow-card.exam-card-highlight{background:#f59e0b0d;border-color:#f59e0b73}.concept-flow-card.exam-card-highlight:hover{background:#f59e0b1f;border-color:#f59e0b}.drawer-examiner-preview{background:#0f172a99;border:1px solid #f59e0b40;border-radius:12px;margin:14px 0;padding:12px 16px}.examiner-preview-top{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.examiner-tag{color:#fbbf24;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:5px;font-size:.75rem;font-weight:700;display:inline-flex}.examiner-threshold{color:#94a3b8;background:#ffffff0f;border-radius:9999px;padding:2px 8px;font-size:.75rem;font-weight:600}.examiner-details{align-items:baseline;gap:6px;margin-bottom:4px;display:flex}.examiner-name{color:#f1f5f9;font-size:.98rem}.examiner-role{color:#94a3b8;font-size:.82rem}.examiner-rule{color:#cbd5e1;margin:0;font-size:.8rem;line-height:1.4}.exam-modal-backdrop{z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#030712d9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.exam-modal-container{background:#0f141a;border:1px solid #f59e0b4d;border-radius:20px;flex-direction:column;width:100%;max-width:960px;max-height:92vh;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #000c,0 0 40px #f59e0b1a}.exam-header-bar{background:#131a22;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:flex-start;padding:18px 24px 14px;display:flex}.exam-badge-pill{color:#fbbf24;letter-spacing:.06em;background:#f59e0b26;border:1px solid #f59e0b59;border-radius:9999px;align-items:center;gap:6px;margin-bottom:6px;padding:4px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.exam-header-title{color:#fff;margin:0 0 4px;font-size:1.3rem;font-weight:800}.exam-header-subtitle{color:#94a3b8;margin:0;font-size:.82rem}.exam-header-subtitle strong{color:#fbbf24}.exam-close-btn{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.exam-close-btn:hover{color:#ef4444;background:#ef444426;border-color:#ef444466}.exam-goal-banner{background:#f59e0b14;border-bottom:1px solid #f59e0b2e;align-items:center;gap:14px;padding:10px 24px;display:flex}.exam-intro-banner{color:#dbeafe;background:#1e3a8a29;border:1px solid #60a5fa59;border-radius:10px;margin:0 24px 12px;padding:9px 12px;font-size:.83rem;line-height:1.4}.exam-intro-banner strong{color:#7dd3fc}.goal-flag{color:#fbbf24;letter-spacing:.05em;white-space:nowrap;align-items:center;gap:5px;font-size:.72rem;font-weight:800;display:inline-flex}.goal-text{color:#f1f5f9;margin:0;font-size:.84rem;font-weight:500}.exam-stage-grid{flex:1;grid-template-columns:280px 1fr;min-height:480px;max-height:560px;display:grid;overflow:hidden}.exam-npc-column{background:#11171f;border-right:1px solid #ffffff14;flex-direction:column;justify-content:space-between;align-items:center;padding:20px 16px;display:flex}.npc-podium{flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.pixel-npc-wrapper{flex-direction:column;align-items:center;display:flex;position:relative}.pixel-npc-svg{filter:drop-shadow(0 10px 20px #0009);animation:3.2s ease-in-out infinite alternate npcIdleBreath}@keyframes npcIdleBreath{0%{transform:translateY(0)}to{transform:translateY(-3px)}}.npc-confusion-bubble{z-index:10;color:#fff;white-space:nowrap;background:#b91c1c;border:1px solid #ef4444;border-radius:9999px;align-items:center;gap:6px;padding:6px 12px;font-size:.74rem;font-weight:800;display:flex;position:absolute;top:-12px;right:-10px;box-shadow:0 4px 16px #b91c1c80}.npc-listening-indicator{z-index:10;color:#38bdf8;background:#0ea5e940;border:1px solid #0ea5e9;border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;font-size:.72rem;font-weight:700;display:flex;position:absolute;top:-10px;left:-8px}.listening-dot{background:#38bdf8;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #38bdf8}.npc-nametag{flex-direction:column;align-items:center;margin-top:8px;display:flex}.npc-name{color:#fff;font-size:.94rem;font-weight:800}.npc-role{color:#94a3b8;font-size:.74rem}.npc-status-tag{justify-content:center;align-items:center;min-height:32px;margin-top:14px;display:flex}.status-confused{color:#fca5a5;background:#ef44442e;border:1px solid #ef444473;border-radius:9999px;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.status-listening{color:#38bdf8;background:#0ea5e926;border:1px solid #0ea5e959;border-radius:9999px;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.live-dot{background:#38bdf8;border-radius:50%;width:6px;height:6px;animation:1.5s infinite pulse}.status-speaking{color:#6ee7b7;background:#10b98126;border:1px solid #10b98159;border-radius:9999px;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.status-pleased{color:#fde68a;background:#f59e0b2e;border:1px solid #f59e0b66;border-radius:9999px;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.status-neutral{color:#64748b;font-size:.75rem}.exam-metrics-card{background:#ffffff08;border:1px solid #ffffff12;border-radius:12px;width:100%;padding:12px}.metric-row{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.76rem;display:flex}.metric-label{color:#94a3b8}.metric-value{color:#fff;font-weight:700}.metric-value.text-amber{color:#f59e0b}.metric-progress-bar{background:#ffffff1a;border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.metric-progress-fill{background:linear-gradient(90deg,#f59e0b,#10b981);border-radius:2px;height:100%;transition:width .3s}.exam-chat-column{background:#0b0f14;flex-direction:column;justify-content:space-between;display:flex}.exam-dialogue-feed{flex-direction:column;flex:1;gap:14px;padding:20px;display:flex;overflow-y:auto}.exam-bubble-row{width:100%;display:flex}.exam-bubble-row.npc-row{justify-content:flex-start}.exam-bubble-row.user-row{justify-content:flex-end}.exam-bubble{border-radius:14px;max-width:78%;padding:12px 16px;font-size:.92rem;line-height:1.45}.npc-bubble{color:#e2e8f0;background:#171e27;border:1px solid #ffffff17;border-bottom-left-radius:4px}.npc-bubble.confusion-turn{color:#fca5a5;background:#b91c1c26;border-color:#ef444466}.user-bubble{color:#fff;background:#1e293b;border:1px solid #0ea5e959;border-bottom-right-radius:4px}.bubble-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.bubble-author{color:#94a3b8;font-size:.72rem;font-weight:700}.confusion-pill{color:#fca5a5;background:#ef444433;border-radius:4px;padding:2px 6px;font-size:.68rem;font-weight:700}.bubble-text{margin:0}.exam-input-dock{background:#131a22;border-top:1px solid #ffffff14;padding:14px 20px}.exam-transcript-preview{background:#0ea5e91a;border:1px solid #0ea5e940;border-radius:8px;align-items:center;gap:8px;margin-bottom:10px;padding:6px 12px;font-size:.78rem;display:flex}.transcript-label{color:#38bdf8;font-weight:700}.transcript-text{color:#f8fafc;font-style:italic}.exam-controls-row{align-items:center;gap:10px;display:flex}.exam-mic-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff24;border-radius:12px;align-items:center;gap:8px;padding:10px 16px;font-size:.84rem;font-weight:700;transition:all .2s;display:inline-flex}.exam-mic-btn:hover{color:#38bdf8;background:#0ea5e933;border-color:#0ea5e9}.exam-mic-btn.mic-recording{color:#fca5a5;background:#ef444440;border-color:#ef4444;animation:1.5s infinite pulse}.exam-text-form{flex:1;align-items:center;display:flex;position:relative}.exam-text-input{color:#fff;background:#090d12;border:1px solid #ffffff1f;border-radius:12px;outline:none;width:100%;padding:10px 42px 10px 14px;font-size:.86rem;transition:border-color .2s}.exam-text-input:focus{border-color:#0ea5e9}.exam-send-btn{color:#fff;cursor:pointer;background:#0ea5e9;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;position:absolute;right:6px}.exam-send-btn:hover:not(:disabled){background:#0284c7}.exam-send-btn:disabled{opacity:.4;cursor:not-allowed}.exam-finish-action-btn{color:#090d12;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#f59e0b,#d97706);border:1px solid #fbbf24;border-radius:12px;align-items:center;gap:6px;padding:10px 16px;font-size:.84rem;font-weight:800;transition:all .2s;display:inline-flex}.exam-finish-action-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #f59e0b66}.exam-finish-action-btn:disabled{opacity:.45;cursor:not-allowed}.exam-result-overlay{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#030712eb;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.exam-result-card{border-radius:20px;flex-direction:column;width:100%;max-width:580px;padding:30px 32px;display:flex;box-shadow:0 24px 60px #000c}.exam-result-card.result-approved{background:linear-gradient(#0d281e,#0a1f17);border:2px solid #10b981;box-shadow:0 0 50px #10b98140}.exam-result-card.result-failed{background:linear-gradient(#2b1115,#1f0b0e);border:2px solid #ef4444;box-shadow:0 0 50px #ef444440}.result-header{align-items:center;gap:18px;margin-bottom:20px;display:flex}.result-icon-badge{border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.approved-badge{color:#10b981;background:#10b98133;border:1px solid #10b981}.failed-badge{color:#ef4444;background:#ef444433;border:1px solid #ef4444}.result-status-title{flex-direction:column;display:flex}.result-verdict{color:#fff;font-size:1.35rem;font-weight:800}.result-score-tag{align-items:baseline;gap:4px;display:flex}.score-big{color:#fbbf24;font-size:2.2rem;font-weight:900}.score-scale{color:#94a3b8;font-size:1.1rem;font-weight:700}.result-feedback-box{background:#00000059;border:1px solid #ffffff14;border-radius:12px;margin-bottom:20px;padding:16px}.result-feedback-text{color:#f1f5f9;margin:0;font-size:.94rem;line-height:1.5}.result-failure-notice{color:#fca5a5;background:#ef444426;border:1px solid #ef44444d;border-radius:8px;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;font-size:.8rem;display:flex}.result-points-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px;display:grid}.result-points-card{background:#00000040;border-radius:10px;padding:12px 14px}.result-points-card .card-title{text-transform:uppercase;margin-bottom:6px;font-size:.78rem;font-weight:700;display:block}.strengths-card .card-title{color:#34d399}.areas-card .card-title{color:#f87171}.result-points-card ul{color:#cbd5e1;margin:0;padding-left:18px;font-size:.82rem}.result-points-card li{margin-bottom:4px}.exam-task-context{background:#082f4947;border:1px solid #38bdf838;border-radius:10px;margin:0 14px 10px;padding:10px 12px}.exam-task-kicker,.exam-answer-review-heading .card-title{color:#67e8f9;letter-spacing:.06em;font-size:.66rem;font-weight:800;display:block}.exam-task-context strong{color:#f8fafc;text-transform:capitalize;margin-top:3px;font-size:.86rem;display:block}.exam-task-context p{color:#cbd5e1;margin:3px 0 0;font-size:.78rem;line-height:1.35}.exam-answer-review{background:#0000002e;border:1px solid #94a3b82e;border-radius:12px;margin-bottom:18px;padding:12px}.exam-answer-review-heading{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px;display:flex}.exam-answer-review-hint{color:#94a3b8;font-size:.72rem}.exam-answer-review-list{gap:8px;display:grid}.exam-answer-review-item{background:#0f172ab8;border:1px solid #94a3b81f;border-radius:9px;padding:10px 11px}.exam-answer-review-topline{color:#67e8f9;text-transform:capitalize;justify-content:space-between;align-items:center;gap:8px;font-size:.72rem;font-weight:800;display:flex}.exam-answer-review-topline strong{color:#fbbf24;flex:none}.exam-answer-review-item p{color:#cbd5e1;margin:6px 0 0;font-size:.76rem;line-height:1.38}.exam-answer-review-item b{color:#f8fafc}.exam-answer-review-question{font-weight:700;color:#f8fafc!important}.exam-answer-review-item .review-positive{color:#86efac}.exam-answer-review-item .review-pronunciation{color:#a5f3fc}.exam-next-step{background:#78350f29;border-left:3px solid #fbbf24;gap:3px;margin:0 0 18px;padding:10px 12px;display:grid}.exam-next-step strong{color:#fbbf24;font-size:.78rem}.exam-next-step span{color:#e2e8f0;font-size:.8rem;line-height:1.4}.result-actions-row{align-items:center;gap:12px;display:flex}.result-retry-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:.92rem;font-weight:700;transition:all .2s;display:inline-flex}.result-retry-btn:hover{background:#dc2626}.result-study-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:12px;flex:1;justify-content:center;align-items:center;padding:12px 20px;font-size:.92rem;font-weight:600;transition:all .2s;display:inline-flex}.result-study-btn:hover{background:#ffffff24}.result-success-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981,#059669);border:1px solid #34d399;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px 24px;font-size:1rem;font-weight:800;transition:all .2s;display:inline-flex;box-shadow:0 4px 20px #10b98159}.result-success-btn:hover{background:linear-gradient(135deg,#34d399,#10b981);transform:translateY(-1px);box-shadow:0 6px 28px #10b98180}@media (max-width:768px){.exam-stage-grid{grid-template-columns:1fr;min-height:auto;max-height:80vh}.exam-npc-column{border-bottom:1px solid #ffffff14;border-right:none;padding:14px}.result-points-grid{grid-template-columns:1fr}}.character-avatar-wrapper{justify-content:center;align-items:center;width:100%;display:flex;position:relative}.clean-stage.history-is-closed{flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:860px;margin:0 auto;display:flex}.clean-stage.history-is-closed .character-column{-webkit-backdrop-filter:blur(14px);background:radial-gradient(circle at 50% 30%,#1e293b73 0%,#0f172aa6 100%);border:1px solid #ffffff14;border-radius:24px;flex-direction:column;align-items:center;width:100%;max-width:860px;padding:28px 36px 32px;display:flex;box-shadow:0 16px 48px #00000073,inset 0 1px #ffffff14}.clean-stage.history-is-closed .character-avatar-wrapper .character-stage{width:clamp(260px,28vw,340px);height:clamp(260px,28vw,340px);min-width:unset;aspect-ratio:1}.clean-stage.history-is-closed .character-speech-bubble-container,.clean-stage.history-is-closed .chat-suggestions-bar,.clean-stage.history-is-closed .quick-text-input-bar{max-width:620px}.clean-stage.history-is-open{grid-template-columns:minmax(360px,460px) minmax(440px,1fr);align-items:stretch;gap:32px;width:100%;display:grid}.clean-stage.history-is-open .character-column{-webkit-backdrop-filter:blur(14px);background:radial-gradient(circle at 50% 30%,#1e293b73 0%,#0f172aa6 100%);border:1px solid #ffffff14;border-radius:24px;flex-direction:column;align-items:center;width:100%;max-width:100%;padding:24px 28px;display:flex;box-shadow:0 16px 48px #00000073,inset 0 1px #ffffff14}.clean-stage.history-is-open .character-avatar-wrapper .character-stage{width:clamp(240px,22vw,320px);height:clamp(240px,22vw,320px);min-width:unset;aspect-ratio:1}.clean-stage.history-is-open .conversation-panel.clean-conversation{-webkit-backdrop-filter:blur(14px);background:radial-gradient(circle at 50% 15%,#161e2ca6 0%,#0d111ad9 100%);border:1px solid #ffffff14;border-radius:24px;min-height:480px;max-height:600px;padding:20px 24px 28px;box-shadow:0 16px 48px #00000073}@media (max-width:991px){.character-speech-bubble-container.hidden-on-mobile{display:none!important}}.character-speech-bubble-container{z-index:5;width:100%;max-width:500px;margin:0 auto 10px;animation:.28s cubic-bezier(.16,1,.3,1) bubblePop;position:relative}@keyframes bubblePop{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.character-speech-bubble{-webkit-backdrop-filter:blur(14px);background:linear-gradient(#18202ffa,#0f141efa);border:1px solid #ffffff29;border-radius:16px;padding:14px 18px 16px;transition:border-color .25s,box-shadow .25s;position:relative;box-shadow:0 12px 36px #0000007a,0 0 1px #fff3}.character-speech-bubble:after{content:"";background:#0d1117f5;border-bottom:1px solid #ffffff24;border-right:1px solid #ffffff24;width:12px;height:12px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.character-speech-bubble-container.is-speaking .character-speech-bubble{border-color:#10b9818c;box-shadow:0 10px 30px #0006,0 0 18px #10b98138}.speech-bubble-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.speech-bubble-name{color:#f59e0b;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:700}.speech-bubble-live-badge{color:#10b981;background:#10b98129;border:1px solid #10b98152;border-radius:9999px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:600;animation:1.5s ease-in-out infinite liveBadgePulse;display:inline-flex}@keyframes liveBadgePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(.96)}}.speech-bubble-tutor-badge{color:var(--muted);background:#ffffff0f;border-radius:9999px;padding:2px 8px;font-size:.72rem;font-weight:500}.speech-bubble-text{color:#fff;word-break:break-word;margin:0;font-size:clamp(.92rem,2vw,1.02rem);font-weight:500;line-height:1.45}.history-toggle-row{justify-content:center;width:100%;margin:8px 0;display:flex}.history-toggle-pill-btn{color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #ffffff24;border-radius:9999px;align-items:center;gap:8px;padding:8px 18px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.history-toggle-pill-btn:hover{background:#ffffff1f;border-color:#ffffff40;transform:translateY(-1px)}.history-toggle-pill-btn.is-active{color:var(--cyan);background:#6fb8c929;border-color:#6fb8c973}.history-panel-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-bottom:8px;padding:4px 6px 10px;display:flex}.history-panel-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:700}.history-close-btn{width:28px;height:28px;color:var(--text);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.history-close-btn:hover{background:#ffffff29;border-color:#ffffff4d}.puticidade-meter{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:8px;flex-direction:column;justify-content:center;gap:4px;padding:4px 12px;transition:border-color .25s,box-shadow .25s;display:inline-flex}.puticidade-meter.is-angry{background:#f973160f;border-color:#f9731666}.puticidade-meter.is-furious{background:#ef44441a;border-color:#ef44448c;animation:2s ease-in-out infinite furiousPulse;box-shadow:0 0 14px #ef444447}@keyframes furiousPulse{0%,to{box-shadow:0 0 10px #ef444433}50%{box-shadow:0 0 20px #ef444480}}.puticidade-title{align-items:center;gap:6px;font-size:.78rem;line-height:1;display:inline-flex}.puticidade-title .flame-icon{color:#f97316;flex-shrink:0}.puticidade-label{color:var(--muted);font-size:.75rem;font-weight:600}.puticidade-status{font-size:.78rem;font-weight:700}.puticidade-percent{color:var(--muted);opacity:.85;font-size:.72rem}.puticidade-pips{gap:3px;width:100%;display:flex}.puticidade-pips i{background:#ffffff1f;border-radius:2px;flex:1;height:3px;transition:background-color .25s}.puticidade-pips i.active{box-shadow:0 0 6px}.standalone-popup-window{color:#f8fafc;z-index:9999;background:radial-gradient(circle at 50% 20%,#111827 0%,#080c14 100%);flex-direction:column;width:100vw;height:100dvh;font-family:inherit;display:flex;position:fixed;inset:0;overflow:hidden}.popup-watermark-character{pointer-events:none;opacity:.13;filter:blur(.6px)saturate(.8);z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;transform:scale(1.18)translateY(24px)}.popup-compact-header{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172ae0;border-bottom:1px solid #ffffff17;justify-content:space-between;align-items:center;min-height:44px;padding:8px 12px;display:flex;position:relative}.popup-module-tag{align-items:center;gap:8px;min-width:0;display:flex}.popup-badge{color:#38bdf8;letter-spacing:.02em;background:#38bdf829;border:1px solid #38bdf859;border-radius:9999px;align-items:center;padding:2px 7px;font-size:.72rem;font-weight:700;display:inline-flex}.popup-title{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;max-width:240px;font-size:.85rem;font-weight:600;overflow:hidden}.popup-header-actions{align-items:center;gap:6px;display:flex}.popup-header-btn{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:inline-flex}.popup-header-btn:hover{color:#ef4444;background:#ef44442e;border-color:#ef444466}.popup-dialogue-feed{z-index:5;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;position:relative;overflow-y:auto}.popup-empty-hint{text-align:center;color:#94a3b8;background:#0f172a99;border:1px dashed #ffffff1f;border-radius:10px;max-width:300px;margin:auto;padding:16px;font-size:.88rem}.popup-compact-footer{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172af0;border-top:1px solid #ffffff17;flex-direction:column;gap:8px;padding:8px 12px 10px;display:flex;position:relative}.popup-wave-row{justify-content:center;align-items:center;height:24px;display:flex;overflow:hidden}.popup-wave-row .listening-wave{margin:0;padding:0}.popup-controls-row{align-items:center;gap:8px;display:flex}.popup-mic-toggle-btn{cursor:pointer;white-space:nowrap;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;font-size:.78rem;font-weight:600;transition:all .2s;display:inline-flex}.popup-mic-toggle-btn.is-active{color:#34d399;background:#10b9812e;border:1px solid #10b98173;box-shadow:0 0 10px #10b98133}.popup-mic-toggle-btn.is-muted{color:#94a3b8;background:#ffffff0f;border:1px solid #ffffff1f}.popup-mic-toggle-btn:hover{transform:translateY(-1px)}.popup-text-input-form{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;flex:1;align-items:center;min-width:0;padding:2px 4px 2px 10px;transition:border-color .2s;display:flex}.popup-text-input-form:focus-within{border-color:#38bdf880;box-shadow:0 0 8px #38bdf826}.popup-text-input-form input{color:#f8fafc;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:6px 0;font-size:.84rem}.popup-text-input-form input::placeholder{color:#64748b;font-size:.8rem}.popup-text-input-form button{color:#0f172a;cursor:pointer;background:#38bdf8;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:inline-flex}.popup-text-input-form button:disabled{color:#64748b;cursor:not-allowed;background:#ffffff14}.stage-advance-countdown-card{z-index:9990;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0b1324f5;border:2px solid #10b981;border-radius:16px;width:min(92vw,480px);animation:.35s cubic-bezier(.16,1,.3,1) forwards stageCardSlideUp;position:fixed;bottom:24px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 16px 48px #10b98147,0 0 20px #10b98133}.stage-advance-countdown-card.is-in-popup{border-width:1.5px;border-radius:12px;width:auto;bottom:8px;left:8px;right:8px;transform:none}@keyframes stageCardSlideUp{0%{opacity:0;transform:translate(-50%,28px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}.stage-advance-countdown-card.is-in-popup{animation:.3s cubic-bezier(.16,1,.3,1) forwards stageCardSlideUpPopup}@keyframes stageCardSlideUpPopup{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.stage-advance-card-content{flex-direction:column;gap:10px;padding:16px 18px 12px;display:flex}.stage-advance-badge-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.stage-score-badge{color:#34d399;background:#10b98133;border:1px solid #10b98173;border-radius:9999px;align-items:center;gap:6px;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.stage-timer-badge{color:#fbbf24;background:#f59e0b2e;border:1px solid #f59e0b66;border-radius:9999px;align-items:center;padding:3px 9px;font-size:.76rem;font-weight:700;animation:1s ease-in-out infinite timerPulse;display:inline-flex}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.7}}.stage-next-title{color:#f8fafc;margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}.stage-next-training{color:#cbd5e1;margin:0;font-size:.85rem;line-height:1.4}.stage-next-phrase-preview{background:#ffffff0d;border-left:3px solid #38bdf8;border-radius:6px;flex-direction:column;gap:3px;padding:8px 12px;display:flex}.stage-next-phrase-preview span{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.stage-next-phrase-preview strong{color:#38bdf8;font-size:.9rem;font-style:italic}.stage-advance-actions-row{justify-content:flex-end;margin-top:4px;display:flex}.stage-start-now-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:.85rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #10b98159}.stage-start-now-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #10b98173}.stage-countdown-progress-bar{background:#ffffff1a;border-radius:2px;width:100%;height:4px;margin-top:4px;overflow:hidden}.stage-countdown-progress-fill{background:linear-gradient(90deg,#10b981,#38bdf8);height:100%;transition:width .95s linear}.teaching-phase-badge{white-space:nowrap;background:#f9731626;border:1px solid #f9731659;border-radius:9999px;flex-shrink:0;align-items:center;gap:6px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.phase-indicator-dot{background:#f97316;border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px #f97316}.phase-text{color:#fed7aa}.phase-remaining{color:#fdba74;opacity:.85;font-size:.68rem;font-weight:600}.teaching-concept-stepper-dots{align-items:center;gap:5px;padding:0 4px;display:flex}.stepper-dot{background:#ffffff26;border:1px solid #fff3;border-radius:9999px;width:8px;height:8px;transition:all .25s}.stepper-dot.passed{background:#10b981;border-color:#34d399;width:10px;box-shadow:0 0 5px #10b98180}.stepper-dot.current{background:#f97316;border-color:#fb923c;width:14px;box-shadow:0 0 8px #f97316b3}.teaching-active-concept-chip{white-space:nowrap;text-overflow:ellipsis;background:#06b6d41f;border:1px solid #06b6d44d;border-radius:6px;align-items:center;gap:5px;max-width:280px;margin-left:auto;padding:3px 8px;font-size:.72rem;display:inline-flex;overflow:hidden}.concept-chip-label{color:#94a3b8;text-transform:uppercase;font-size:.68rem;font-weight:600}.concept-chip-phrase{color:#38bdf8;text-overflow:ellipsis;font-weight:700;overflow:hidden}.speech-bubble-speaker-info{align-items:center;gap:8px;display:flex}.speech-bubble-audio-btn{color:#fbbf24;cursor:pointer;background:#f59e0b1f;border:1px solid #f59e0b47;border-radius:9999px;align-items:center;gap:5px;padding:3px 10px;font-size:.72rem;font-weight:600;transition:all .2s;display:inline-flex}.speech-bubble-audio-btn:hover{background:#f59e0b38;border-color:#f59e0b;transform:translateY(-1px)}.speech-bubble-didactic-footer{border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:8px;display:flex}.speech-pronunciation-card{background:#06b6d412;border:1px solid #38bdf833;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;width:100%;min-width:0;padding:6px 9px;display:grid}.speech-pronunciation-target{gap:1px;min-width:0;display:grid}.speech-pronunciation-kicker{color:#67e8f9;letter-spacing:.06em;text-transform:uppercase;font-size:.6rem;font-weight:700;line-height:1.1}.speech-pronunciation-target strong{overflow-wrap:anywhere;color:#bae6fd;font-size:.9rem;line-height:1.2}.speech-pronunciation-tip,.speech-pronunciation-phonetic{overflow-wrap:anywhere;grid-column:1/-1;margin:0;font-size:.72rem;line-height:1.25}.speech-pronunciation-tip{color:#fef3c7}.speech-pronunciation-phonetic{color:#a5f3fc}.speech-pronunciation-phonetic span{color:#94a3b8;font-weight:700}.speech-phonetic-chip{color:#a5f3fc;background:#06b6d41a;border:1px solid #06b6d438;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;display:inline-flex}.speech-phonetic-chip .phonetic-icon{font-size:.85rem}.speech-phonetic-chip .phonetic-text{color:#38bdf8;letter-spacing:.02em;font-weight:700}.speech-phonetic-chip .meaning-sep{opacity:.4;margin:0 2px}.speech-phonetic-chip .meaning-text{color:#cbd5e1;font-size:.78rem;font-style:italic}.speech-target-audio-btn{color:#67e8f9;cursor:pointer;background:#06b6d424;border:1px solid #06b6d459;border-radius:9999px;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:600;transition:all .2s;display:inline-flex}.speech-target-audio-btn:hover{background:#06b6d440;border-color:#22d3ee;transform:translateY(-1px)}.user-live-transcript-badge{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:6;background:#0f172aeb;border:1px solid #22c55e66;border-radius:9999px;justify-content:center;align-items:center;gap:8px;max-width:520px;margin:0 auto 8px;padding:7px 16px;font-size:.84rem;animation:.2s ease-out fadeIn;display:flex;box-shadow:0 8px 24px #0006}.user-live-transcript-badge.is-analyzing{background:#14141ef2;border-color:#f59e0b8c}.user-live-transcript-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1s infinite alternate mic-pulse;box-shadow:0 0 10px #22c55e}.user-live-transcript-badge.is-analyzing .user-live-transcript-dot{background:#f59e0b;box-shadow:0 0 10px #f59e0b}.user-live-transcript-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.user-live-transcript-text{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;max-width:260px;font-style:italic;font-weight:600;overflow:hidden}.user-live-analyzing-spinner{color:#f59e0b;letter-spacing:.02em;margin-left:4px;font-size:.76rem;font-weight:700}.quick-inline-text-form{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172af2;border:1px solid #38bdf859;border-radius:14px;align-items:center;gap:8px;width:100%;max-width:480px;margin:0 auto 10px;padding:6px 10px;animation:.2s ease-out fadeIn;display:flex;box-shadow:0 8px 24px #0006}.quick-inline-text-form input{color:#f8fafc;background:0 0;border:none;outline:none;flex:1;padding:6px 4px;font-size:.88rem}.quick-inline-text-form input::placeholder{color:#64748b}.quick-inline-text-form button[type=submit]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7,#0369a1);border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:inline-flex}.quick-inline-text-form button[type=submit]:disabled{opacity:.4;cursor:not-allowed}.quick-inline-text-form button[type=button]{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;transition:color .2s;display:inline-flex}.quick-inline-text-form button[type=button]:hover{color:#f1f5f9}.voice-dock-actions-row{justify-content:center;align-items:center;gap:10px;width:100%;margin:6px 0 2px;display:flex}.dock-action-pill-btn{color:var(--text-soft);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-size:.78rem;font-weight:600;transition:all .2s;display:inline-flex}.dock-action-pill-btn:hover{color:var(--text);background:#ffffff1a;border-color:#ffffff38;transform:translateY(-1px)}.dock-action-pill-btn.is-active{color:#38bdf8;background:#06b6d429;border-color:#06b6d466}.conversation-beta-launch{color:#f6c65d;background:#f0b34a1a;border:1px solid #f0b34a61;border-radius:999px;align-items:center;gap:6px;margin:0 auto 9px;padding:6px 11px;font-size:.72rem;font-weight:800;text-decoration:none;transition:transform .16s,background .16s;display:inline-flex}.conversation-beta-launch:hover{background:#f0b34a2e;transform:translateY(-1px)}.beta-conversation-page{background:#0a1016;place-items:center;min-height:calc(100dvh - 74px);padding:clamp(14px,3vw,32px);display:grid}.beta-conversation-shell{background:#0d151d;border:1px solid #b4c9d633;border-radius:16px;grid-template-rows:auto auto minmax(0,1fr) auto auto;width:min(100%,780px);height:min(820px,100dvh - 100px);min-height:min(480px,100dvh);display:grid;overflow:hidden;box-shadow:0 20px 60px #0000008c,0 0 0 1px #ffffff0d}.beta-conversation-header{background:#101b24;border-bottom:1px solid #b4c9d61f;align-items:center;gap:11px;min-height:76px;padding:14px 18px;display:flex}.beta-conversation-back{color:#aab8c2;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;transition:background .16s,color .16s;display:inline-grid}.beta-conversation-back:hover{color:#fff;background:#ffffff14}.beta-conversation-avatar{object-fit:cover;background:#1c3340;border:2px solid #f0b34aad;border-radius:50%;width:46px;height:46px}.beta-conversation-identity{flex:1;min-width:0}.beta-conversation-title-row{align-items:center;gap:8px;display:flex}.beta-conversation-title-row h1{color:#f7fafc;margin:0;font-size:1rem;font-weight:850}.beta-conversation-title-row span{color:#f6c65d;letter-spacing:0;text-transform:uppercase;background:#f0b34a2b;border-radius:5px;padding:2px 6px;font-size:.62rem;font-weight:850}.beta-conversation-header p{color:#81909d;align-items:center;gap:5px;margin:3px 0 0;font-size:.76rem;display:flex}.beta-conversation-header p i{background:#22c55e;border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 7px #22c55e9e}.beta-conversation-settings{color:#aab8c2;border:1px solid #b4c9d624;border-radius:8px;flex:none;place-items:center;width:38px;height:38px;display:inline-grid}.beta-conversation-settings:hover{color:#e6f8fb;border-color:#57c5d666}.beta-conversation-notice{color:#9db2c1;text-align:left;background:#317b891a;border-bottom:1px solid #b4c9d614;justify-content:flex-start;align-items:center;gap:7px;padding:9px 16px;font-size:.74rem;display:flex}.beta-conversation-notice svg{color:#57c5d6;flex:none}.beta-conversation-notice.is-recording{color:#fecaca;background:#ef44441c}.beta-conversation-notice.is-recording svg{color:#f87171}.beta-conversation-messages{scrollbar-color:#2d414d transparent;overscroll-behavior:contain;flex-direction:column;gap:13px;min-height:0;padding:18px clamp(14px,3vw,28px);display:flex;overflow-y:auto}.beta-conversation-day{color:#81909d;letter-spacing:0;text-transform:uppercase;background:#ffffff0e;border-radius:6px;align-self:center;padding:5px 9px;font-size:.61rem;font-weight:800}.beta-message{align-items:flex-end;gap:7px;max-width:min(88%,540px);display:flex}.beta-message-user{align-self:flex-end}.beta-message-avatar{object-fit:cover;background:#1c3340;border-radius:50%;flex:none;width:28px;height:28px}.beta-message-content{color:#e8eff3;background:#1d2d39e6;border:1px solid #b9cdd924;border-radius:4px 8px 8px;min-width:0;overflow:hidden;box-shadow:0 5px 14px #00000029}.beta-message-user .beta-message-content{color:#fffdf7;background:#a9571d;border-color:#f0b34a5c;border-radius:8px 4px 8px 8px}.beta-message-primary{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:10px 12px 8px;font-size:.91rem;line-height:1.46}.beta-coach-feedback{border-top:1px solid #7dd3fc2e;gap:4px;margin:0 12px 8px;padding:8px 0 0;display:grid}.beta-coach-feedback>span{color:#7dd3fc;text-transform:uppercase;align-items:center;gap:5px;font-size:.67rem;font-weight:800;display:inline-flex}.beta-coach-feedback strong{color:#f7fbfd;overflow-wrap:anywhere;font-size:.88rem;line-height:1.35}.beta-coach-feedback small{color:#a9bac5;font-size:.72rem;line-height:1.35}.beta-message-follow-up{color:#f8d68d;overflow-wrap:anywhere;border-left:2px solid #f0b34a;margin:0 12px 8px;padding-left:8px;font-size:.8rem;line-height:1.38}.beta-message-content footer{color:#dcebf499;align-items:center;gap:7px;min-height:23px;padding:0 9px 7px 12px;font-size:.68rem;display:flex}.beta-message-content footer time{color:#dcebf470;font-variant-numeric:tabular-nums}.beta-message-content footer span,.beta-message-content footer button{align-items:center;gap:4px;display:inline-flex}.beta-message-content footer button{color:inherit;font:inherit;cursor:pointer;background:#ffffff14;border:0;border-radius:5px;margin-left:auto;padding:3px 5px}.beta-message-content footer button:hover{background:#ffffff29}.beta-message-loading>span{background:#1d2d39e6;border-radius:4px 8px 8px;align-items:center;gap:4px;padding:12px 14px;display:inline-flex}.beta-message-loading i{background:#9ab1bf;border-radius:50%;width:5px;height:5px;animation:.9s ease-in-out infinite beta-typing}.beta-message-loading i:nth-child(2){animation-delay:.12s}.beta-message-loading i:nth-child(3){animation-delay:.24s}@keyframes beta-typing{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.beta-conversation-error{color:#fecaca;text-align:left;background:#ef44441f;justify-content:center;align-items:center;gap:8px;margin:0;padding:8px 18px;font-size:.78rem;display:flex}.beta-conversation-error span{flex:1;min-width:0}.beta-conversation-error button{color:#fff;min-height:30px;font:inherit;background:#7f1d1d40;border:1px solid #fecaca40;border-radius:6px;flex:none;align-items:center;gap:5px;padding:4px 8px;font-weight:750;display:inline-flex}.beta-conversation-composer{background:#101820;border-top:1px solid #b4c9d61f;align-items:center;gap:9px;padding:13px 15px;display:flex}.beta-conversation-composer textarea{resize:none;color:#f2f7fa;min-width:0;min-height:43px;max-height:96px;font:inherit;background:#ffffff0b;border:1px solid #b4c9d629;border-radius:8px;outline:none;flex:1;padding:10px 12px;font-size:.88rem;line-height:1.35;overflow-y:auto}.beta-conversation-composer textarea:focus{border-color:#57c5d6b3;box-shadow:0 0 0 3px #57c5d61a}.beta-conversation-composer textarea::placeholder{color:#788995}.beta-voice-button,.beta-send-button{cursor:pointer;border:0;border-radius:8px;flex:none;place-items:center;width:43px;height:43px;transition:transform .16s,opacity .16s;display:inline-grid}.beta-voice-button{color:#8de7f2;background:#317b8938}.beta-voice-button.is-recording{color:#fff;background:#ef4444e0;animation:1.1s ease-in-out infinite beta-recording}.beta-send-button{color:#1a1207;background:linear-gradient(135deg,#f0b34a,#df8421)}.beta-voice-button:hover,.beta-send-button:hover:not(:disabled){transform:translateY(-1px)}.beta-voice-button:disabled,.beta-send-button:disabled{cursor:not-allowed;opacity:.45}.beta-starter-prompts{flex-wrap:wrap;justify-content:center;align-self:center;gap:7px;width:min(100%,520px);padding:2px 0 8px 35px;display:flex}.beta-starter-prompts>span{color:#718493;text-align:center;text-transform:uppercase;width:100%;font-size:.67rem;font-weight:800}.beta-starter-prompts button{color:#b8dce3;min-height:34px;font:inherit;cursor:pointer;background:#317b8917;border:1px solid #57c5d638;border-radius:7px;padding:6px 9px;font-size:.72rem}.beta-starter-prompts button:hover{color:#effcfe;background:#317b892e;border-color:#57c5d680}.beta-spin{animation:.85s linear infinite beta-spin}@keyframes beta-spin{to{transform:rotate(360deg)}}@keyframes beta-recording{50%{box-shadow:0 0 0 6px #ef444429}}.beta-explainer-banner{background:#0e171ff2;border-bottom:1px solid #b4c9d61a;transition:all .2s}.beta-explainer-header{justify-content:space-between;align-items:center;gap:10px;padding:8px 16px;display:flex}.beta-explainer-title{color:#cad8e2;align-items:center;gap:6px;font-size:.74rem;font-weight:700;display:inline-flex}.beta-explainer-icon{color:#57c5d6;flex:none}.beta-explainer-pill{color:#f6c65d;text-transform:uppercase;letter-spacing:.02em;background:#f0b34a29;border-radius:4px;padding:1px 6px;font-size:.62rem;font-weight:800}.beta-explainer-toggle{color:#9bb3c2;font:inherit;cursor:pointer;background:#ffffff0f;border:0;border-radius:5px;align-items:center;gap:4px;padding:3px 7px;font-size:.68rem;font-weight:700;transition:background .15s,color .15s;display:inline-flex}.beta-explainer-toggle:hover{color:#fff;background:#ffffff1f}.beta-explainer-content{background:#080e1466;border-top:1px solid #b4c9d60f;padding:4px 16px 12px}.beta-explainer-lead{color:#8da3b3;margin:4px 0 8px;font-size:.73rem;line-height:1.4}.beta-explainer-lead strong{color:#e2f0f7}.beta-explainer-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.beta-explainer-col{background:#ffffff09;border:1px solid #b4c9d612;border-radius:6px;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.beta-col-icon{flex:none;font-size:1.05rem;line-height:1}.beta-col-text strong{color:#f1f7fa;margin-bottom:2px;font-size:.72rem;font-weight:750;display:block}.beta-col-text p{color:#8da3b3;margin:0;font-size:.68rem;line-height:1.35}.beta-interactive-card{background:#0e171ff2;border:1px solid #f0b34a47;border-radius:8px;margin:10px 12px;padding:10px 12px;box-shadow:0 4px 16px #00000047}.beta-interactive-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;display:flex}.beta-interactive-title{color:#f6c65d;align-items:center;gap:5px;font-size:.74rem;font-weight:800;display:inline-flex}.beta-sparkle-icon{color:#f0b34a;flex:none}.beta-interactive-hint{color:#8da3b3;font-size:.66rem}.beta-interactive-options{flex-direction:column;gap:6px;display:flex}.beta-interactive-option-btn{color:#f0f7fa;width:100%;min-height:42px;font:inherit;text-align:left;cursor:pointer;background:#1c2c38b3;border:1px solid #57c5d62e;border-radius:7px;align-items:center;gap:9px;padding:8px 10px;transition:all .16s;display:flex}.beta-interactive-option-btn:hover:not(:disabled){background:#263b4bf2;border-color:#f0b34a99;transform:translateY(-1px);box-shadow:0 3px 10px #0003}.beta-interactive-option-btn:active:not(:disabled){transform:scale(.99)}.beta-interactive-option-btn:disabled{opacity:.55;cursor:not-allowed}.beta-option-badge{color:#f6c65d;background:#f0b34a2e;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:.68rem;font-weight:850;display:grid}.beta-option-content{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.beta-option-en{color:#f7fbfd;overflow-wrap:anywhere;font-size:.81rem;font-weight:700;line-height:1.32}.beta-option-pt{color:#9bb3c2;font-size:.7rem;line-height:1.3}.beta-option-send-tag{color:#f6c65d;background:#f0b34a1f;border-radius:4px;flex:none;align-items:center;gap:3px;padding:3px 6px;font-size:.66rem;font-weight:800;transition:background .15s,color .15s;display:inline-flex}.beta-interactive-option-btn:hover .beta-option-send-tag{color:#120e06;background:#f0b34a}.beta-chosen-badge{align-items:center;gap:3px;font-size:.68rem;font-weight:750;display:inline-flex;color:#4ade80!important}@media (max-width:700px){.app-shell:has(.beta-conversation-page){flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.app-shell:has(.beta-conversation-page)>.app-header{display:none}.beta-conversation-page{height:100dvh;min-height:0;padding:0 0 calc(52px + env(safe-area-inset-bottom));flex:1;overflow:hidden}.beta-conversation-shell{border:0;border-radius:0;width:100%;height:100%;min-height:0}.beta-conversation-header{min-height:64px;padding:9px 11px}.beta-conversation-avatar{width:42px;height:42px}.beta-conversation-title-row h1{font-size:.96rem}.beta-conversation-header p{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.7rem;overflow:hidden}.beta-conversation-notice{min-height:36px;padding:7px 12px;font-size:.68rem}.beta-conversation-messages{gap:11px;padding:13px 11px;scroll-padding-bottom:12px}.beta-message{max-width:94%}.beta-message-avatar{width:27px;height:27px}.beta-message-primary{font-size:.88rem}.beta-starter-prompts{justify-content:flex-start;padding-left:34px}.beta-starter-prompts>span{text-align:left}.beta-conversation-error{padding:7px 10px;font-size:.72rem}.beta-conversation-composer{z-index:5;gap:7px;padding:8px 10px;position:relative}.beta-conversation-composer textarea{min-height:42px;padding:9px 10px;font-size:16px}.beta-voice-button,.beta-send-button{width:42px;height:42px}}@media (max-width:380px){.beta-conversation-back{width:30px;height:34px}.beta-conversation-settings{width:34px;height:36px}.beta-conversation-header{gap:8px}.beta-conversation-avatar{width:38px;height:38px}.beta-conversation-title-row span{display:none}.beta-message{max-width:97%}}@media (max-width:700px) and (max-height:600px){.beta-conversation-header{min-height:56px;padding-block:6px}.beta-conversation-avatar{width:38px;height:38px}.beta-conversation-notice{min-height:32px;padding-block:5px}.beta-conversation-messages{padding-block:9px}}.speech-study-guide{gap:7px;width:100%;min-width:0;margin:0;display:grid}.speech-study-guide>div{min-width:0}.speech-study-guide dt{color:#aab9c9;font-size:.7rem;line-height:1.3}.speech-study-guide dd{color:#e2e8f0;overflow-wrap:anywhere;margin:2px 0 0;font-size:.88rem;line-height:1.35}.speech-study-target dd{color:#7dd3fc;font-size:1.08rem;font-weight:750}.speech-study-variation dt{color:#38bdf8;font-weight:600}.speech-study-variation dd{color:#a5f3fc;font-size:.82rem;font-style:italic}.phase-stepper-step{cursor:pointer;background:0 0;border:0;padding:5px 2px}.phase-stepper-step:focus-visible{outline-offset:2px;border-radius:5px;outline:2px solid #7dd3fc}@media (max-width:991px){.app-shell:has(.clean-layout){height:100dvh;min-height:0;overflow:hidden}.app-shell:has(.clean-layout) .app-header{display:none!important}.practice-main.clean-layout{max-width:100%;height:100dvh;min-height:0;overflow:hidden;padding:max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) calc(72px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))!important;gap:8px!important}.clean-layout .practice-header-stats-group{display:none!important}.clean-layout .active-module-pill-btn{min-height:40px;flex:auto!important;max-width:none!important}.clean-layout .module-pill-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.clean-layout .practice-header-actions-group{gap:5px!important}.clean-layout .header-icon-action-btn,.clean-layout .hamburger-btn{width:40px!important;height:40px!important}.clean-layout .stage-exam-action-btn{min-height:40px}.clean-layout .desktop-only-btn{display:none!important}.clean-layout .teaching-concept-pill-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172abf;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;gap:4px;padding:6px 10px 5px;display:flex}.clean-layout .teaching-concept-badge{justify-content:space-between;align-items:center;gap:6px;width:100%;margin:0;display:flex}.clean-layout .concept-badge-header-row{justify-content:space-between;align-items:center;gap:6px;width:100%;display:flex}.clean-layout .concept-step-number{color:#f97316;background:#f9731624;border:1px solid #f973164d;border-radius:9999px;flex-shrink:0;padding:2px 7px;font-size:.68rem;font-weight:700}.clean-layout .concept-step-title{color:#f8fafc;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.78rem;font-weight:700;overflow:hidden}.clean-layout .concept-step-stage-pill{text-transform:uppercase;letter-spacing:.04em;color:#38bdf8;background:#38bdf81f;border:1px solid #38bdf847;border-radius:9999px;flex-shrink:0;padding:2px 8px;font-size:.65rem;font-weight:700}.clean-layout .module-phase-stepper-track{gap:6px;padding:0}.clean-layout .phase-stepper-step{justify-content:center;min-height:28px}.clean-layout .phase-stepper-label{color:#aab9c9}.clean-layout .phase-stepper-step.is-current .phase-stepper-label{color:#fb923c}.clean-layout .clean-stage{flex:1 1 0;max-width:700px;min-height:0;display:flex;position:relative;gap:0!important;padding:0!important}.clean-layout .clean-stage .character-column{border-radius:18px;flex-direction:column;flex:1 1 0;align-items:center;gap:6px;min-width:0;height:100%;min-height:0;display:flex;position:relative;justify-content:flex-start!important;padding:6px 10px clamp(162px,24dvh,188px)!important}.clean-layout .character-speech-bubble-container{flex:none;min-height:0;margin:0;overflow:hidden}.practice-main.clean-layout .clean-stage.history-is-closed .character-speech-bubble-container{scrollbar-width:thin;max-height:clamp(100px,24dvh,160px)!important;overflow-y:auto!important}.clean-layout .character-speech-bubble{-webkit-backdrop-filter:blur(14px);background:linear-gradient(#141b28f0,#0c1018f5);border:1px solid #ffffff1f;border-radius:14px;padding:10px 14px;box-shadow:0 6px 20px #0006}.clean-layout .character-speech-bubble:after{display:none}.clean-layout .speech-bubble-text{margin:0 0 4px;font-size:clamp(.84rem,2.2vw,.92rem);line-height:1.4}.clean-layout .speech-bubble-didactic-footer{gap:3px;margin-top:4px;padding-top:4px}.clean-layout .speech-study-guide{gap:3px}.clean-layout .speech-study-guide>div:not(.speech-study-target){grid-template-columns:minmax(70px,28%) minmax(0,1fr);align-items:baseline;gap:4px;display:grid}.clean-layout .speech-study-guide dd{font-size:.76rem}.clean-layout .speech-study-target dd{font-size:.92rem}.clean-layout .speech-target-audio-btn,.clean-layout .speech-bubble-audio-btn{min-height:26px;padding:2px 8px;font-size:.7rem}.clean-layout .character-avatar-wrapper{z-index:4;flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;max-height:none;margin:0 auto;display:flex;position:relative;overflow:visible}.clean-layout .character-avatar-wrapper:before{content:"";pointer-events:none;z-index:1;background:radial-gradient(circle,#38bdf829 0%,#f59e0b14 45%,#0000 72%);border-radius:50%;width:min(94%,clamp(200px,44dvh,360px));height:min(94%,clamp(200px,44dvh,360px));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.clean-layout .clean-stage .character-avatar-wrapper .character-stage{aspect-ratio:1;justify-content:center;align-items:center;min-width:0;max-width:88vw;max-height:none;margin:0 auto;display:flex;overflow:visible;width:min(100%,clamp(220px,46dvh,380px))!important;height:min(100%,clamp(220px,46dvh,380px))!important}.clean-layout .clean-stage .character-avatar-wrapper .rpg-character{width:100%;height:100%;max-height:100%;display:block;overflow:visible}.clean-layout .practice-voice-hub{z-index:6;flex-shrink:0;gap:4px;margin:0;padding:0;position:absolute;bottom:6px;left:10px;right:10px;-webkit-backdrop-filter:none!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important}.clean-layout .clean-voice-dock{width:100%;margin:0;padding:0;transform:none}.clean-layout .avatar-mic-circle-btn{width:48px;min-width:48px;height:48px;min-height:48px}.clean-layout .avatar-mic-halo-wrapper{margin:2px 0}.clean-layout .voice-mode-selector-pill{flex:auto;margin:0;padding:1px 2px}.clean-layout .voice-mode-tab-btn{flex:1;min-height:24px;padding:2px 8px;font-size:.62rem}.clean-layout .voice-action-badge{border-radius:8px;max-width:100%;min-height:22px;margin:1px 0 0;padding:3px 8px}.clean-layout .voice-action-text{white-space:normal;text-align:center;font-size:.66rem;line-height:1.2}.clean-layout .voice-dock-actions-row{justify-content:space-between;gap:6px;margin:3px 0 0;display:flex}.clean-layout .dock-action-pill-btn{flex:1;justify-content:center;min-height:26px;padding:2px 10px;font-size:.64rem}.clean-layout .ptt-dock-row{margin:0;transform:none;box-shadow:none!important;-webkit-backdrop-filter:none!important;background:0 0!important;border:none!important}.clean-layout .quick-inline-text-form{margin:0}.clean-layout .quick-inline-text-form input{min-width:0;font-size:16px}.clean-layout .user-live-transcript-badge{border-radius:10px;flex-wrap:wrap;flex-shrink:0;gap:3px 6px;width:100%;margin:0;padding:5px 8px}.clean-layout .user-live-transcript-text{max-width:100%}.clean-layout .clean-stage .conversation-panel.clean-conversation{z-index:20;background:#101923;border-radius:18px;height:100%;padding:0 14px 16px;position:absolute;inset:0;box-shadow:0 8px 30px #0009;-webkit-mask-image:none;mask-image:none;min-height:0!important;max-height:100%!important}.clean-layout .history-panel-header{z-index:2;background:#101923;margin:0;padding:12px 0;position:sticky;top:0}.clean-layout .history-close-btn{min-width:40px;min-height:40px}}@media (max-width:760px){.app-shell:has(.practice-start-main){flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.app-shell:has(.practice-start-main) .app-header{flex-shrink:0}.practice-start-main{min-height:0;padding:10px 12px calc(76px + env(safe-area-inset-bottom));flex:1;align-items:start;overflow-y:auto}.practice-start-card{width:min(100%,520px)}.practice-start-character-panel{min-height:clamp(230px,35dvh,320px);padding:12px 20px 0}.practice-start-pixel-avatar{width:clamp(150px,38vw,230px);height:clamp(150px,30dvh,230px);min-height:150px}.practice-start-character-panel .character-stage{aspect-ratio:1;width:clamp(150px,38vw,230px);min-width:0;height:clamp(150px,30dvh,230px);min-height:150px}.practice-start-character-aura{width:min(50%,190px)}.practice-start-character-name{margin-top:-8px;font-size:.9rem}.practice-start-character-label{font-size:.6rem}.practice-start-copy{padding:16px}.practice-start-eyebrow{letter-spacing:.02em;margin-bottom:10px;padding:6px 8px;font-size:.6rem}.practice-start-copy h1{overflow-wrap:anywhere;font-size:clamp(1.8rem,8vw,2.5rem)}.practice-start-copy>p{margin:12px 0;font-size:.86rem;line-height:1.45}.practice-start-module{gap:8px;margin-bottom:12px;padding:9px 10px}.practice-start-module strong{white-space:normal;font-size:.85rem}.practice-start-actions{gap:8px}.practice-start-actions button{min-height:44px}.practice-start-note{margin-top:10px;font-size:.7rem}}@media (max-width:991px) and (max-height:650px){.clean-layout .clean-stage .character-column{gap:3px;justify-content:flex-start!important;padding:4px 8px clamp(148px,22dvh,172px)!important}.clean-layout .character-avatar-wrapper{min-height:0!important;max-height:none!important}.clean-layout .clean-stage .character-avatar-wrapper .character-stage{width:min(100%,clamp(90px,16dvh,130px))!important;height:min(100%,clamp(90px,16dvh,130px))!important}.clean-layout .avatar-mic-circle-btn{width:42px;min-width:42px;height:42px;min-height:42px}}:where(button,a,input,textarea,select):focus-visible{outline-offset:3px;outline:2px solid #67e8f9}.avatar-mic-error-box{color:#fee2e2;text-align:left;background:linear-gradient(145deg,#450a0af5,#1f131bf5);border:1px solid #f871718c;border-radius:13px;gap:8px;width:min(100%,520px);margin:7px auto 0;padding:11px 12px;display:grid;box-shadow:0 8px 24px #00000047}.avatar-mic-error-copy{align-items:flex-start;gap:9px;display:flex}.avatar-mic-error-copy>svg{color:#fca5a5;flex:none;margin-top:2px}.avatar-mic-error-copy strong{color:#fff1f2;font-size:.82rem;display:block}.avatar-mic-error-copy p{color:#fecaca;margin:3px 0 0;font-size:.73rem;line-height:1.35}.avatar-mic-error-detail{color:#fda4af;overflow-wrap:anywhere;margin:0;font-size:.66rem;line-height:1.3}.avatar-mic-error-actions{flex-wrap:wrap;gap:7px;display:flex}.avatar-mic-error-actions button,.secondary-action-btn{min-height:40px;font:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:8px 11px;font-size:.73rem;font-weight:750;display:inline-flex}.text-fallback-btn{color:#cffafe;background:#164e63;border:1px solid #67e8f98c}.retry-connection-btn,.secondary-action-btn{color:#f8fafc;background:#ffffff14;border:1px solid #ffffff29}.avatar-mic-error-actions button:hover,.secondary-action-btn:hover{filter:brightness(1.15);transform:translateY(-1px)}.history-loading,.history-error-state,.evolution-loading-container,.evolution-error-state,.settings-loading{text-align:center;place-items:center;gap:8px;min-height:170px;padding:24px;display:grid}.history-loading strong,.evolution-loading-container p,.settings-loading strong{color:#e2e8f0;font-size:.9rem}.history-loading>span,.settings-loading>span,.evolution-error-state p,.history-error-state p{color:#94a3b8;margin:0;font-size:.76rem;line-height:1.45}.history-loading-skeleton,.settings-loading-skeleton{align-items:center;gap:5px;height:26px;display:flex}.history-loading-skeleton i,.settings-loading-skeleton i{background:#67e8f9;border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite ux-loading-pulse;display:block}.history-loading-skeleton i:nth-child(2),.settings-loading-skeleton i:nth-child(2){animation-delay:.13s}.history-loading-skeleton i:nth-child(3),.settings-loading-skeleton i:nth-child(3){animation-delay:.26s}.history-error-state,.evolution-error-state{text-align:left;background:#450a0a38;border:1px solid #f8717147;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;justify-items:start;min-height:100px}.history-error-state>svg,.evolution-error-state>svg{color:#fca5a5;margin-top:2px}.history-error-state h2,.evolution-error-state h2{color:#fff1f2;margin:0 0 4px;font-size:.94rem}.evolution-loading-container{text-align:left;place-items:stretch stretch}.evolution-loading-heading{gap:10px;display:grid}.evolution-loading-heading p{color:#94a3b8;margin:0;font-size:.8rem}.evolution-loading-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.evolution-skeleton{background:linear-gradient(100deg,#33415580,#475569cc,#33415580) 0 0/220% 100%;border-radius:8px;animation:1.5s linear infinite ux-skeleton-shimmer;display:block}.eyebrow-skeleton{width:130px;height:12px}.title-skeleton{width:min(410px,75%);height:28px}.metric-skeleton{min-height:92px}.settings-loading{background:#0f172a8c;border:1px solid #67e8f924;border-radius:18px;min-height:220px}.settings-main .secondary-hero,.history-main-wrapper .secondary-hero{max-width:780px;margin-bottom:18px}.settings-main .secondary-hero h1,.history-main-wrapper .secondary-hero h1{max-width:680px;font-size:clamp(1.75rem,4vw,2.8rem);line-height:1.08}.settings-main .hero-subtext,.history-main-wrapper .hero-subtext{max-width:620px}.settings-tabs-bar{z-index:5;scrollbar-width:thin;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#09101de0;border:1px solid #94a3b829;border-radius:14px;gap:6px;margin:14px 0 18px;padding:6px;display:flex;position:sticky;top:8px;overflow-x:auto}.settings-tab-btn{white-space:nowrap;flex:none;min-height:44px}.settings-submit-footer{bottom:max(10px, env(safe-area-inset-bottom));z-index:4;justify-content:flex-end;padding-top:14px;display:flex;position:sticky}.submit-settings-btn{min-height:44px;transition:opacity .2s,filter .2s,transform .2s}.submit-settings-btn:disabled{opacity:.55;filter:saturate(.55);cursor:default;transform:none}.beta-conversation-page{padding:clamp(12px, 3vw, 28px) clamp(10px, 3vw, 28px) calc(20px + env(safe-area-inset-bottom))}.beta-conversation-shell{border-color:#67e8f933;width:min(100%,980px);min-height:min(820px,100dvh - 32px);box-shadow:0 20px 70px #00000057}.beta-conversation-header{min-height:72px;padding:12px 16px}.beta-conversation-title-row h1{letter-spacing:-.02em}.beta-conversation-notice{border-top:1px solid #94a3b814;border-bottom:1px solid #94a3b814;min-height:38px}.beta-explainer-banner{background:#0f172aa8;border-color:#67e8f929;margin:10px 14px 4px}.beta-explainer-banner.is-collapsed .beta-explainer-header{min-height:42px}.beta-explainer-content{padding:0 14px 14px}.beta-explainer-lead{margin-bottom:11px;font-size:.82rem}.beta-explainer-grid{gap:8px}.beta-explainer-col{background:#0206175c;border-radius:10px;padding:10px}.beta-interactive-card{background:#38230940;border-color:#f59e0b4d;margin-top:12px;padding:11px}.beta-interactive-options{gap:7px}.beta-interactive-option-btn{min-height:52px}.beta-conversation-composer{background:#070d14e6;border-top-color:#67e8f926}.beta-conversation-composer textarea{min-height:46px}@keyframes ux-loading-pulse{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes ux-skeleton-shimmer{to{background-position:-220% 0}}@media (max-width:700px){.history-error-state,.evolution-error-state{grid-template-columns:auto minmax(0,1fr)}.history-error-state .secondary-action-btn,.evolution-error-state .secondary-action-btn{grid-column:1/-1;width:100%}.evolution-loading-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-tabs-bar{margin-inline:-2px;top:4px}.settings-main .secondary-hero h1,.history-main-wrapper .secondary-hero h1{font-size:clamp(1.65rem,8vw,2.2rem)}.settings-submit-footer{justify-content:stretch}.submit-settings-btn{justify-content:center;width:100%}.avatar-mic-error-box{max-height:190px;overflow-y:auto}.avatar-mic-error-actions{grid-template-columns:1fr 1fr;display:grid}.avatar-mic-error-actions button{width:100%}.beta-conversation-page{padding:0 0 calc(8px + env(safe-area-inset-bottom))}.beta-conversation-shell{border-inline:0;border-radius:0;min-height:100dvh}.beta-explainer-banner{margin-inline:10px}.beta-explainer-grid{grid-template-columns:1fr}.beta-explainer-col:nth-child(n+2){display:none}.beta-conversation-composer{padding-bottom:max(9px, env(safe-area-inset-bottom))}}@media (max-width:380px){.avatar-mic-error-actions{grid-template-columns:1fr}.history-loading,.history-error-state,.evolution-loading-container,.evolution-error-state{padding:18px 14px}.beta-explainer-toggle{padding-inline:6px}}@media (prefers-reduced-motion:reduce){.evolution-skeleton,.history-loading-skeleton i,.settings-loading-skeleton i{animation:none}}button,a,[role=button],.voice-button,.clean-mic-btn,.avatar-mic-circle-btn,.ptt-dock-hold-btn,.dock-action-pill-btn,.ghost-action,.gesture-btn,.mobile-nav a,.mobile-nav .mobile-nav-item,.suggestion-chip,.study-guide-pill,.example-row button,.primary-link,.floating-action,.stop-listening-button,.text-fallback,input[type=submit]{touch-action:manipulation}.practice-stage.clean-stage{isolation:isolate;position:relative;overflow:hidden}.practice-ambient-scene{z-index:0;pointer-events:none;border-radius:inherit;background:radial-gradient(at 50% 65%,#bd701b26,#0000 40%),linear-gradient(90deg,#080d14e6,#0d18227a 28% 72%,#080d14e6),linear-gradient(#07111b 0%,#101821 55%,#080d13 100%);position:absolute;inset:0;overflow:hidden}.practice-ambient-scene:before{content:"";opacity:.38;background:linear-gradient(90deg,#0000 0 9%,#89501f33 9.4% 10%,#0000 10.4% 89.6%,#89501f33 90% 90.6%,#0000 91%),repeating-linear-gradient(0deg,#0000 0 42px,#ffbf5d06 43px 44px);position:absolute;inset:0}.practice-ambient-scene:after{content:"";opacity:.8;transform-origin:top;background:radial-gradient(at 50% 0,#f8a43233,#0000 49%),repeating-linear-gradient(90deg,#ffbb5309 0 1px,#0000 1px 56px),linear-gradient(#03080d08,#03080dc7);height:42%;position:absolute;bottom:-20%;left:-14%;right:-14%;transform:perspective(400px)rotateX(52deg)}.ambient-arch{border:14px solid #704c2a3d;background:linear-gradient(90deg,#050a1094,#0000 35% 65%,#050a1094);border-bottom:0;border-radius:48% 48% 0 0;width:min(34vw,260px);height:min(54%,420px);position:absolute;bottom:9%;box-shadow:inset 0 0 0 1px #f9b74f0f}.ambient-arch-left{left:-11%;transform:perspective(420px)rotateY(13deg)}.ambient-arch-right{right:-11%;transform:perspective(420px)rotateY(-13deg)}.ambient-arch-center{opacity:.34;width:min(44vw,360px);height:min(64%,500px);left:50%;transform:translate(-50%)}.ambient-floor-light{background:radial-gradient(#fca83933,#0000 72%);border:1px solid #f9ac3f42;border-radius:50%;width:min(68%,430px);height:16px;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.ambient-torch{opacity:.88;background:linear-gradient(90deg,#311b11f0,#966128 45%,#2d1911f0);border-radius:4px 4px 2px 2px;width:30px;height:126px;position:absolute;bottom:23%}.ambient-torch-left{left:clamp(8px,5vw,64px)}.ambient-torch-right{right:clamp(8px,5vw,64px)}.ambient-torch:before{content:"";background:#48291b;border-radius:50%;width:46px;height:14px;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.ambient-torch-glow{opacity:.44;background:radial-gradient(#ffa02d6b 0%,#f6731424 35%,#0000 70%);border-radius:50%;width:176px;height:220px;animation:5.1s ease-in-out infinite alternate ambient-torch-glow;position:absolute;bottom:70px;left:50%;transform:translate(-50%)scale(.92)}.ambient-flame{transform-origin:50% 100%;border-radius:58% 42% 54% 46%;position:absolute;bottom:112px;left:50%}.ambient-flame-outer{background:linear-gradient(#ffe38a 0%,#ff9b20 42%,#e84b13 100%);width:31px;height:54px;animation:2.7s cubic-bezier(.45,0,.55,1) infinite alternate ambient-flame-outer;transform:translate(-50%)rotate(-4deg)scaleY(.9)}.ambient-flame-core{background:linear-gradient(#fff9d1,#ffd353 58%,#ff7b1d);width:13px;height:33px;animation:1.9s ease-in-out infinite alternate-reverse ambient-flame-core;bottom:113px;transform:translate(-50%)rotate(3deg)scaleY(.92)}.ambient-torch-right .ambient-torch-glow{animation-delay:-1.8s}.ambient-torch-right .ambient-flame-outer{animation-direction:alternate-reverse;animation-delay:-.9s}.ambient-torch-right .ambient-flame-core{animation-delay:-1.3s}.ambient-spark{opacity:0;background:#ffd06a;border-radius:50%;width:4px;height:4px;animation:7s ease-in infinite ambient-spark-rise;position:absolute}.ambient-spark-1{animation-delay:-1s;bottom:32%;left:14%}.ambient-spark-2{animation-delay:-4.4s;bottom:26%;right:17%}.ambient-spark-3{animation-delay:-2.8s;bottom:42%;left:26%}.ambient-spark-4{animation-delay:-5.6s;bottom:34%;right:29%}.practice-stage.clean-stage>.character-column{z-index:1;isolation:isolate;position:relative}@keyframes ambient-torch-glow{0%{opacity:.32;transform:translate(-50%,4px)scale(.88)}42%{opacity:.5;transform:translate(-50%,-2px)scale(1)}to{opacity:.38;transform:translate(-50%,2px)scale(.94)}}@keyframes ambient-flame-outer{0%{transform:translate(-50%)rotate(-5deg)skew(-3deg)scale(.88,.82)}36%{transform:translate(-47%)rotate(5deg)skew(4deg)scale(1.04,1.08)}73%{transform:translate(-53%)rotate(-2deg)skew(-2deg)scale(.95,.94)}to{transform:translate(-49%)rotate(3deg)skew(2deg)scaleY(1.02)}}@keyframes ambient-flame-core{0%{opacity:.8;transform:translate(-50%)rotate(4deg)scale(.86,.82)}55%{opacity:1;transform:translate(-46%)rotate(-3deg)scale(1.05,1.1)}to{opacity:.88;transform:translate(-52%)rotate(2deg)scale(.94)}}@keyframes ambient-spark-rise{0%{opacity:0;transform:translate(0,0)scale(.55)}18%{opacity:.7}72%{opacity:.28}to{opacity:0;transform:translate(14px,-124px)scale(1)}}@media (max-width:540px){.ambient-arch{opacity:.7;border-width:10px;width:42vw}.ambient-arch-center{width:70vw}.ambient-torch{opacity:.72;height:100px;bottom:30%}.ambient-torch-glow{width:132px;height:168px;bottom:50px}.ambient-flame{bottom:86px}.ambient-flame-core{bottom:87px}.ambient-spark-3,.ambient-spark-4{display:none}}@media (prefers-reduced-motion:reduce){.ambient-torch-glow,.ambient-flame,.ambient-spark{animation:none!important}.ambient-torch-glow{opacity:.38;transform:translate(-50%)scale(.92)}.ambient-spark{display:none}}input[type=text],input[type=email],input[type=password],input[type=search],textarea{font-size:max(16px,1rem)}.clean-mic-btn,.avatar-mic-circle-btn,.ptt-dock-hold-btn{will-change:transform, box-shadow}.character-stage,.rpg-character-stage{will-change:transform}.listening-wave,.clean-listening-wave{will-change:transform, opacity;contain:strict}.clean-conversation,.conversation-panel{contain:layout style}@media (max-width:375px){.clean-stage .character-stage,.clean-stage .rpg-character-stage{width:clamp(86px,16dvh,116px)!important;height:clamp(86px,16dvh,116px)!important}.character-stage,.rpg-character-stage{width:clamp(100px,30vw,140px)!important;height:clamp(100px,30vw,140px)!important}.clean-mic-btn{width:72px;height:72px}.avatar-mic-circle-btn{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important}.ptt-dock-hold-btn{min-height:42px;padding:7px 12px;font-size:.82rem}.clean-conversation .conversation-bubble p{font-size:.82rem}.dock-action-pill-btn{min-height:30px;padding:4px 8px;font-size:.72rem}.gesture-btn{padding:3px 6px;font-size:.65rem}}@media (max-height:600px) and (max-width:991px){.clean-stage .character-stage,.clean-stage .rpg-character-stage{width:clamp(74px,15dvh,100px)!important;height:clamp(74px,15dvh,100px)!important}.character-stage,.rpg-character-stage{width:clamp(90px,20dvh,130px)!important;height:clamp(90px,20dvh,130px)!important}.clean-conversation{min-height:60px!important;max-height:30vh!important}.clean-mic-btn{width:64px;height:64px}.avatar-mic-circle-btn{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important}}.clean-conversation,.conversation-panel,.mode-strip,.level-strip,.example-row,.history-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@media (max-width:620px){.mobile-nav{-webkit-backdrop-filter:blur(16px)}}.computed-level-banner{background:linear-gradient(135deg,#6fb8c91f 0%,#6fb8c90a 100%);border:1px solid #6fb8c940;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:14px 18px;display:flex}.computed-level-left{align-items:center;gap:12px;display:flex}.computed-level-icon{font-size:1.6rem}.computed-level-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;font-size:.68rem;font-weight:600;display:block}.computed-level-value{color:var(--text);font-size:1.05rem;font-weight:700}.level-tag{color:#6fb8c9;background:#6fb8c92e;border-radius:6px;margin-left:4px;padding:2px 7px;font-size:.7rem;font-weight:700}.computed-level-progress{flex-direction:column;flex:1;gap:4px;min-width:160px;max-width:280px;display:flex}.next-milestone-text{color:var(--muted);font-size:.7rem;line-height:1.3}.level-progress-track{background:#ffffff1a;border-radius:3px;height:5px;overflow:hidden}.level-progress-fill{background:linear-gradient(90deg,#6fb8c9,#a78bfa);border-radius:3px;height:100%;transition:width .8s cubic-bezier(.16,1,.3,1)}.level-progress-pct{color:var(--muted);text-align:right;font-size:.65rem}.in-progress-list{flex-direction:column;gap:8px;display:flex}.in-progress-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 100px auto auto;align-items:center;gap:10px;padding:8px 0;display:grid}.in-progress-title{white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;overflow:hidden}.in-progress-bar-wrap{background:#ffffff14;border-radius:2px;height:4px;overflow:hidden}.in-progress-bar-fill{border-radius:2px;height:100%;transition:width .6s}.in-progress-pct{color:var(--muted);white-space:nowrap;font-size:.7rem}.in-progress-btn{color:#6fb8c9;background:#6fb8c91a;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:background .2s;display:flex}.in-progress-btn:hover{background:#6fb8c938}.see-all-modules-btn{color:var(--muted);gap:5px;margin-top:4px;font-size:.75rem}.modules-level-badge{color:#6fb8c9;white-space:nowrap;background:#6fb8c91f;border:1px solid #6fb8c938;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:700;display:flex}.recent-evals-strip{border:1px solid var(--line);background:#ffffff08;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;display:flex}.recent-evals-label{color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-size:.7rem;font-weight:700;display:flex}.eval-chip{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b33;border-radius:10px;padding:3px 9px;font-size:.72rem}.module-group{margin-bottom:24px}.module-group-header{border-bottom:1px solid var(--line);align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;display:flex}.module-group-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.module-group-header h3{flex:1;margin:0;font-size:.9rem;font-weight:700}.module-group-tag{color:var(--muted);background:#ffffff12;border-radius:5px;margin-left:6px;padding:1px 6px;font-size:.68rem;font-weight:600}.module-group-count{color:var(--muted);white-space:nowrap;font-size:.72rem}.module-cards-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.module-progress-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:6px;padding:14px;transition:border-color .2s,transform .15s;display:flex}.module-progress-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}.module-progress-card.module-done{background:#7cad880d;border-color:#7cad8859}.module-progress-card.module-locked{opacity:.55}.module-card-header{justify-content:space-between;align-items:center;gap:6px;display:flex}.module-badge-pill{text-transform:uppercase;letter-spacing:.05em;border:1px solid;border-radius:8px;padding:2px 7px;font-size:.6rem;font-weight:700}.module-status-tag{white-space:nowrap;border-radius:8px;align-items:center;gap:3px;padding:2px 7px;font-size:.6rem;font-weight:600;display:flex}.status-completed{color:#7cad88;background:#7cad881f}.status-in_progress{color:#f59e0b;background:#f59e0b1f}.status-not_started{color:var(--muted);background:#ffffff0d}.module-card-title{margin:0;font-size:.82rem;font-weight:700;line-height:1.3}.module-progress-bar-wrap{background:#ffffff14;border-radius:3px;height:5px;margin-top:4px;overflow:hidden}.module-progress-bar-fill{border-radius:3px;height:100%;transition:width .8s cubic-bezier(.16,1,.3,1)}.module-progress-meta{color:var(--muted);justify-content:space-between;font-size:.62rem;display:flex}.module-best-score{color:#f59e0b;align-items:center;gap:4px;font-size:.68rem;display:flex}.module-last-practice{color:var(--muted);align-items:center;gap:4px;font-size:.62rem;display:flex}.module-xp-reward{color:var(--muted);align-items:center;gap:4px;margin-top:2px;font-size:.62rem;display:flex}.modules-cta{justify-content:center;margin-top:20px;display:flex}@media (max-width:620px){.module-cards-grid{grid-template-columns:1fr}.computed-level-banner{flex-direction:column;align-items:flex-start}.computed-level-progress{width:100%;max-width:100%}.in-progress-row{grid-template-columns:minmax(0,1fr) 70px auto auto;gap:6px}}.beta-teaching-card{background:linear-gradient(135deg,#0f1e2df2,#0a1423fa);border:1px solid #63cab740;border-radius:14px;margin-top:10px;overflow:hidden;box-shadow:0 4px 20px #00000059}.beta-teaching-card-header{background:linear-gradient(90deg,#38bdf81a,#63cab712);border-bottom:1px solid #63cab726;flex-direction:column;gap:4px;padding:10px 14px 8px;display:flex}.beta-teaching-card-badge-row{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.beta-teaching-card-label{text-transform:uppercase;letter-spacing:.06em;color:#38bdf8;font-size:.62rem;font-weight:700}.beta-teaching-audio-btn{color:#7dd3fc;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#38bdf81f;border:1px solid #38bdf847;border-radius:6px;align-items:center;gap:5px;padding:3px 9px;font-size:.68rem;font-weight:600;transition:all .16s;display:inline-flex}.beta-teaching-audio-btn:hover{color:#f0f9ff;background:#38bdf838;border-color:#38bdf873}.beta-teaching-audio-btn:active{transform:scale(.97)}.beta-teaching-card-intent{color:#cbd5e1;font-size:.78rem;line-height:1.3}.beta-teaching-card-main{background:#38bdf80a;flex-direction:column;gap:4px;padding:12px 14px 10px;display:flex}.beta-teaching-main-phrase{color:#f0f9ff;letter-spacing:-.01em;font-size:clamp(1.05rem,2.5vw,1.2rem);font-weight:700;line-height:1.3}.beta-teaching-phonetic{color:#7dd3fc;letter-spacing:.02em;font-size:.75rem;font-style:italic}.beta-teaching-explanation{color:#94a3b8;border-bottom:1px solid #ffffff0f;margin:0;padding:8px 14px;font-size:.76rem;line-height:1.45}.beta-teaching-alternatives{flex-direction:column;gap:0;padding:6px 0 0;display:flex}.beta-teaching-alternatives-label{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;padding:2px 14px 6px;font-size:.62rem;font-weight:700;display:block}.beta-teaching-alt-btn{cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-top:1px solid #ffffff0f;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:44px;padding:9px 14px;transition:background .16s,border-color .16s;display:flex}.beta-teaching-alt-btn:hover,.beta-teaching-alt-btn:focus-visible{background:#38bdf814;outline:none}.beta-teaching-alt-btn:active{background:#38bdf829}.beta-teaching-alt-btn:disabled{opacity:.45;cursor:not-allowed}.beta-teaching-alt-info{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.beta-alt-phrase{color:#e2e8f0;font-size:.85rem;font-weight:600;line-height:1.3}.beta-alt-context{color:#94a3b8;font-size:.68rem;line-height:1.25}.beta-teaching-alt-send{color:#38bdf8;white-space:nowrap;background:#38bdf81a;border:1px solid #38bdf833;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;font-size:.68rem;font-weight:600;transition:all .15s;display:inline-flex}.beta-teaching-alt-btn:hover .beta-teaching-alt-send{color:#f0f9ff;background:#38bdf833;border-color:#38bdf866}.desktop-support-rail{display:none}@media (min-width:1200px){.app-shell:has(.practice-main.clean-layout) .practice-main.clean-layout{gap:14px;width:min(1480px,100vw - 48px);max-width:none;padding:18px 24px 30px}.practice-main.clean-layout .practice-header-nav-row{grid-template-columns:minmax(250px,1fr) auto minmax(300px,1fr);align-items:center;gap:20px;display:grid}.practice-main.clean-layout .active-module-pill-btn{justify-self:start;width:min(300px,100%);min-height:44px}.practice-main.clean-layout .practice-header-stats-group{justify-self:center}.practice-main.clean-layout .practice-header-actions-group{justify-self:end}.practice-main.clean-layout .teaching-concept-wrapper{width:100%;max-width:1380px}.practice-main.clean-layout .teaching-concept-pill-bar{gap:12px;min-height:54px;padding:9px 14px 10px}.practice-main.clean-layout .concept-badge-header-row{grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:10px;display:grid}.practice-main.clean-layout .concept-step-title{font-size:.86rem}.practice-main.clean-layout .module-phase-stepper-track{gap:9px}.practice-main.clean-layout .clean-stage.history-is-closed{justify-content:center;align-items:stretch;width:100%;max-width:920px;min-height:clamp(520px,100dvh - 220px,780px);margin:0 auto;padding:0 16px;display:flex}.practice-main.clean-layout .clean-stage.history-is-closed .desktop-support-rail,.practice-main.clean-layout .practice-ambient-scene{display:none!important}.practice-main.clean-layout .clean-stage.history-is-closed .character-column{background:radial-gradient(circle at 50% 35%,#16263abf 0%,#0a111ae6 60%,#06090efa 100%);border:1px solid #e6b74438;border-radius:28px;flex-direction:column;justify-content:space-between;align-items:center;width:100%;min-width:0;max-width:780px;min-height:0;padding:24px 32px 28px;display:flex;box-shadow:inset 0 1px #ffffff1a,0 25px 60px -15px #000000d9}.practice-main.clean-layout .clean-stage.history-is-closed .character-avatar-wrapper:after{content:"";pointer-events:none;z-index:1;filter:blur(8px);background:radial-gradient(#e6b74459 0%,#38bdf82e 50%,#0000 75%);border-radius:50%;width:min(85%,280px);height:36px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.practice-main.clean-layout .practice-header-bar{z-index:30;-webkit-backdrop-filter:blur(16px);background:#080c12e0;border-bottom:1px solid #ffffff14;border-radius:18px;padding:8px 16px;position:sticky;top:0;box-shadow:0 8px 24px #0006}.practice-main.clean-layout .clean-stage.history-is-closed .character-speech-bubble-container{width:100%;max-width:none;margin-bottom:12px}.practice-main.clean-layout .clean-stage.history-is-closed .character-speech-bubble{border-radius:20px;padding:16px 22px 18px}.practice-main.clean-layout .clean-stage.history-is-closed .speech-bubble-text{font-size:clamp(.98rem,1.15vw,1.18rem);line-height:1.48}.practice-main.clean-layout .clean-stage.history-is-closed .character-avatar-wrapper{z-index:2;flex:auto;justify-content:center;align-items:center;width:100%;min-height:220px;max-height:380px;margin:4px auto;display:flex;position:relative}.practice-main.clean-layout .clean-stage.history-is-closed .character-stage{--real-avatar-scale:1.15;aspect-ratio:1;justify-content:center;align-items:center;width:clamp(240px,24vw,360px);height:clamp(240px,24vw,360px);margin:0 auto;display:flex}.practice-main.clean-layout .clean-stage.history-is-closed .owl-wizard-canvas{aspect-ratio:4/5;object-fit:contain;margin:0 auto;display:block;background:0 0!important;width:auto!important;max-height:340px!important}.practice-main.clean-layout .clean-stage.history-is-closed .mr-crazy-preview-layer{inset:-10% -18% -14%}.practice-main.clean-layout .clean-stage.history-is-closed .practice-voice-hub{-webkit-backdrop-filter:blur(14px)!important;z-index:10!important;background:#0a101acc!important;border:1px solid #ffffff1f!important;border-radius:26px!important;flex-direction:column!important;align-items:center!important;gap:6px!important;width:100%!important;max-width:480px!important;margin-top:16px!important;margin-bottom:0!important;padding:10px 18px 8px!important;display:flex!important;position:relative!important;inset:auto!important;transform:none!important;box-shadow:0 10px 30px #0000008c,inset 0 1px #ffffff14!important}.practice-main.clean-layout .clean-stage.history-is-closed .avatar-mic-circle-btn{width:62px;min-width:62px;height:62px;min-height:62px}.practice-main.clean-layout .clean-stage.history-is-closed .voice-dock-actions-row{gap:12px;margin-top:4px}.practice-main.clean-layout .clean-stage.history-is-closed .dock-action-pill-btn{min-height:34px;padding:5px 16px}.desktop-support-rail{flex-direction:column;justify-content:center;gap:14px;min-width:0;padding:8px 0;display:none}.desktop-support-card{background:linear-gradient(160deg,#0f172ab8,#080f19d6);border:1px solid #94a3b829;border-radius:16px;gap:9px;min-width:0;padding:16px;display:grid;box-shadow:inset 0 1px #ffffff0a}.desktop-support-card-heading{color:#fbbf24;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;font-size:.68rem;font-weight:800;display:flex}.desktop-support-card-heading>svg{flex:none}.desktop-support-card strong{color:#f8fafc;font-size:.92rem;line-height:1.35}.desktop-support-card p{color:#9fb0c2;margin:0;font-size:.76rem;line-height:1.5}.support-goal-card{border-color:#f59e0b3d}.support-tip-card{border-color:#67e8f933}.support-tip-card .desktop-support-card-heading{color:#67e8f9}.support-target-card{border-color:#67e8f940}.support-status-card{gap:11px}.desktop-support-kicker{color:#94a3b8;letter-spacing:.04em;font-size:.62rem}.desktop-support-phrase{overflow-wrap:anywhere;color:#a5f3fc!important;font-size:1.12rem!important}.desktop-support-meaning{color:#94a3b8;font-size:.74rem;line-height:1.4}.desktop-support-stat-row{color:#94a3b8;justify-content:space-between;align-items:center;gap:10px;font-size:.74rem;display:flex}.desktop-support-stat-row strong{color:#e2e8f0;font-size:.8rem}.desktop-support-feedback{border-top:1px solid #94a3b821;padding-top:8px}.desktop-support-tag-pill{color:#fde68a;background:#e6b7441f;border:1px solid #e6b74440;border-radius:6px;align-items:center;gap:4px;width:fit-content;padding:3px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.desktop-phonetic-hint{color:#94a3b8;margin:0;font-size:.72rem;line-height:1.4}.desktop-boss-progress-box{background:#e6b74414;border:1px solid #e6b74438;border-radius:12px;gap:8px;padding:10px 12px;display:grid}.desktop-boss-header{color:#fef3c7;justify-content:space-between;align-items:center;gap:8px;font-size:.78rem;font-weight:700;display:flex}.desktop-boss-status-badge{color:#fbbf24;background:#e6b74433;border-radius:6px;padding:2px 7px;font-size:.65rem;font-weight:800}.desktop-boss-rule{color:#cbd5e1;margin:0;font-size:.72rem;line-height:1.4}.support-boss-card{background:linear-gradient(165deg,#1c160ed9,#0e121aeb);border-color:#e6b74452}.support-phonetic-card{border-color:#38bdf847}.desktop-support-status-dot{background:#64748b;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #64748b1f}.desktop-support-status-dot.is-listening{background:#34d399;box-shadow:0 0 0 4px #34d39924,0 0 12px #34d3996b}.desktop-support-status-dot.is-speaking{background:#fbbf24;box-shadow:0 0 0 4px #fbbf2424,0 0 12px #fbbf246b}.desktop-support-status-dot.is-analyzing{background:#67e8f9;box-shadow:0 0 0 4px #67e8f924,0 0 12px #67e8f96b}.practice-main.clean-layout .clean-stage.history-is-open{grid-template-columns:minmax(390px,.85fr) minmax(520px,1.15fr);gap:22px;max-width:1260px}.practice-main.clean-layout .clean-stage.history-is-open .desktop-support-rail{display:none}}@media (min-width:1200px) and (max-height:780px){.practice-main.clean-layout .clean-stage.history-is-closed{min-height:500px}.practice-main.clean-layout .clean-stage.history-is-closed .character-stage{--real-avatar-scale:1.32;width:clamp(350px,28vw,450px);height:clamp(350px,28vw,450px)}.practice-main.clean-layout .clean-stage.history-is-closed .character-avatar-wrapper{min-height:300px}.desktop-support-card{gap:7px;padding:13px}.desktop-support-card p{font-size:.72rem}}@media (min-width:992px) and (max-width:1199px){.practice-main.clean-layout{max-width:calc(100vw - 32px);padding-inline:16px}.practice-main.clean-layout .clean-stage.history-is-closed{max-width:1040px}}@media (min-width:1200px){.practice-main.clean-layout .clean-stage.history-is-closed .character-avatar-wrapper{padding-top:18px;padding-bottom:4px}.practice-main.clean-layout .clean-stage.history-is-closed .character-stage{--real-avatar-scale:1;width:clamp(312px,22.4vw,432px);height:clamp(312px,22.4vw,432px)}.practice-main.clean-layout .clean-stage.history-is-closed .mr-crazy-preview-layer{inset:4% -10% -8%}.practice-main.clean-layout .clean-stage.history-is-closed{min-height:clamp(440px,100dvh - 270px,560px);padding:0 12px}.practice-main.clean-layout .clean-stage.history-is-closed .character-column{justify-content:flex-start;gap:0;padding:18px 28px}.practice-main.clean-layout .clean-stage.history-is-closed .character-speech-bubble-container{margin-bottom:8px}.practice-main.clean-layout .clean-stage.history-is-closed .character-avatar-wrapper{flex:none;min-height:0;max-height:none;margin:0 auto;padding:0}.practice-main.clean-layout .clean-stage.history-is-closed .character-stage{width:clamp(270px,20vw,360px);height:clamp(270px,20vw,360px)}.practice-main.clean-layout .clean-stage.history-is-closed .owl-wizard-canvas{max-height:300px!important}.practice-main.clean-layout .clean-stage.history-is-closed .practice-voice-hub{border-radius:18px!important;gap:3px!important;width:min(100%,390px)!important;margin-top:6px!important;padding:6px 12px 5px!important}.practice-main.clean-layout .clean-stage.history-is-closed .avatar-mic-circle-btn{width:52px;min-width:52px;height:52px;min-height:52px}.practice-main.clean-layout .clean-stage.history-is-closed .voice-dock-actions-row{gap:8px;margin-top:1px}}.pixel-mr-crazy-art{image-rendering:pixelated;filter:drop-shadow(0 20px 25px #00000085);transform:translate3d(calc(var(--look-x,0) * 8px), calc(var(--look-y,0) * 5px - var(--live-head-bob,0px)), 0);image-rendering:auto;shape-rendering:geometricprecision;transform:translate3d(calc(var(--look-x,0) * 6px), calc(var(--look-y,0) * 4px - var(--live-head-bob,0px)), 0);transform-origin:50% 92%;transition:filter .18s,transform .16s ease-out;shape-rendering:crispedges!important}.pixel-rig{transform-box:fill-box;transform-origin:50% 95%;animation:3.7s ease-in-out infinite mr-crazy-idle-float}.pixel-body{transform-box:fill-box;transform-origin:50% 100%;animation:3.7s ease-in-out infinite mr-crazy-breathe}.pixel-cape-back{transform-box:fill-box;transform-origin:50% 16%;animation:4.8s ease-in-out infinite mr-crazy-cape}.pixel-head{transform-box:fill-box;transform-origin:50% 78%;transition:transform .1s ease-out}.pixel-eye{transform-box:fill-box;transform-origin:50%;transition:transform 80ms linear}.pixel-blinking .pixel-eye{transform:none}.pixel-mouth{transform-box:fill-box;transform-origin:50%;transform:scaleY(calc(.9 + var(--live-level,0) * 1.6)) scaleX(calc(.95 + var(--live-level,0) * .4));transform:scaleY(calc(.96 + var(--live-level,0) * .22)) scaleX(calc(.98 + var(--live-level,0) * .08));transition:transform 60ms cubic-bezier(.2,.8,.2,1),opacity 75ms linear}.pixel-speaking .pixel-rig{animation:.78s cubic-bezier(.35,0,.2,1) infinite alternate mr-crazy-speaking}.pixel-speaking .pixel-arm-left{transform-box:fill-box;transform-origin:85% 20%;animation:1.15s ease-in-out infinite alternate mr-crazy-teach-left}.pixel-speaking .pixel-arm-right{transform-box:fill-box;transform-origin:15% 20%;animation:.92s ease-in-out infinite alternate mr-crazy-teach-right}.pixel-speaking .pixel-cape-back{animation-duration:1.6s}.pixel-listening .pixel-head{animation:2.2s ease-in-out infinite mr-crazy-listen}.pixel-awake .pixel-input-ring{animation:1.8s ease-out infinite mr-crazy-input-ring}.pixel-mr-crazy-art.pixel-emotion-irritated,.pixel-mr-crazy-art.pixel-emotion-crazy{filter:drop-shadow(0 20px 25px #0000008c)drop-shadow(0 0 20px #f43f5e3d)}.pixel-gesture-layer>.pixel-gesture-finger,.pixel-gesture-layer>.pixel-gesture-thumbsup,.pixel-gesture-layer>.pixel-gesture-heart,.pixel-gesture-layer>.pixel-gesture-watergun{opacity:1}.pixel-gesture-layer>g{opacity:0!important;display:none!important}.pixel-gesture-finger .pixel-gesture-layer>.pixel-gesture-finger,.pixel-gesture-thumbsup .pixel-gesture-layer>.pixel-gesture-thumbsup,.pixel-gesture-heart .pixel-gesture-layer>.pixel-gesture-heart,.pixel-gesture-watergun .pixel-gesture-layer>.pixel-gesture-watergun{transform-box:fill-box;transform-origin:50%;animation:.28s ease-out both pixel-gesture-pop;opacity:1!important;display:block!important}.pixel-explosion-burst{transform-box:fill-box;transform-origin:50%;pointer-events:none;animation:.72s cubic-bezier(.16,1,.3,1) both mr-crazy-impact}.pixel-explosion-burst,.pixel-input-ring{display:none!important}.pixel-explosion-ring{stroke:#fbbf24;stroke-width:6px;stroke-dasharray:18 9;opacity:.9}.pixel-explosion-star{transform-box:fill-box;transform-origin:50%;animation:.72s ease-out both mr-crazy-starburst}.pixel-explosion-core{transform-box:fill-box;transform-origin:50%}.pixel-explosion-spark{transform-box:fill-box;transform-origin:50%;animation:.64s ease-out both mr-crazy-spark}.pixel-explosion-spark.spark-two{animation-delay:35ms}.pixel-explosion-spark.spark-three{animation-delay:70ms}.pixel-explosion-spark.spark-four{animation-delay:.105s}.pixel-input-ring circle{stroke:#67e8f9;stroke-width:2px;stroke-dasharray:4 18;opacity:.34}.pixel-input-ring circle+circle{stroke:#fbbf24;stroke-dasharray:2 28;opacity:.24;animation-delay:-900ms}@keyframes mr-crazy-idle-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-3px)rotate(.35deg)}}@keyframes mr-crazy-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2px)scale(1.012,1.018)}}@keyframes mr-crazy-speaking{0%{transform:translateY(1px)rotate(-.45deg)}to{transform:translateY(-4px)rotate(.6deg)}}@keyframes mr-crazy-cape{0%,to{transform:skew(0)scaleX(1)}50%{transform:skew(-1.2deg)scaleX(1.015)}}@keyframes mr-crazy-teach-left{0%{transform:rotate(2deg)translateY(0)}to{transform:rotate(-5deg)translateY(-3px)}}@keyframes mr-crazy-teach-right{0%{transform:rotate(-2deg)translateY(0)}to{transform:rotate(6deg)translateY(-4px)}}@keyframes mr-crazy-listen{0%,to{transform:rotate(0)translateY(0)}42%{transform:rotate(-2deg)translateY(-1px)}74%{transform:rotate(1deg)translateY(0)}}@keyframes mr-crazy-impact{0%{opacity:0;transform:scale(.35)}18%{opacity:1;transform:scale(1.08)}64%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.28)}}@keyframes mr-crazy-starburst{0%{opacity:0;transform:rotate(-18deg)scale(.3)}22%{opacity:1;transform:rotate(0)scale(1)}to{opacity:0;transform:rotate(18deg)scale(1.28)}}@keyframes mr-crazy-spark{0%{opacity:0;transform:scale(.2)}25%{opacity:1;transform:scale(1.25)}to{opacity:0;transform:scale(.35)translateY(-22px)}}@keyframes mr-crazy-input-ring{0%{opacity:.1;transform:rotate(0)scale(.96)}to{opacity:1;transform:rotate(360deg)scale(1.04)}}@media (prefers-reduced-motion:reduce){.pixel-rig,.pixel-body,.pixel-cape-back,.pixel-speaking .pixel-rig,.pixel-speaking .pixel-arm-left,.pixel-speaking .pixel-arm-right,.pixel-listening .pixel-head,.pixel-explosion-burst,.pixel-explosion-star,.pixel-explosion-spark,.pixel-input-ring{animation:none!important}}
