:root,[data-theme=dark]{--bg: #0a0908;--case: #2b2723;--case-2: #1a1816;--case-rim: #4a423b;--metal: #8a8076;--flap: #0d0c0b;--flap-edge: #1f1d1b;--flap-top: linear-gradient(180deg, #1a1612 0%, #100d0a 100%);--flap-bot: linear-gradient(180deg, #0c0a08 0%, #181410 100%);--char-bg: #161310;--char-edge: #25201c;--gap-line: #050504;--accent: #f5c66b;--accent-soft: #c8995a;--accent-glow: rgba(245,198,107,.4);--led: #ff5530;--success: #6bc88a;--warning: #f59e3a;--danger: #e94e3a;--info: #6ba8f5;--text: #f0e9dd;--text-soft: #b8aea0;--text-muted: #8a8076;--surface: var(--case-2);--surface-2: var(--case);--border: var(--case-rim);--border-soft: rgba(74,66,59,.4);--vignette: radial-gradient(ellipse at center, transparent 30%, rgba(0,0,0,.6) 100%);--noise-op: .18;--case-grad: linear-gradient(180deg, #2b2723 0%, #1a1816 100%);--case-shadow: inset 0 1px 0 rgba(255,220,160,.08), inset 0 -1px 0 rgba(0,0,0,.5), 0 8px 24px rgba(0,0,0,.6);--flap-shadow: inset 0 1px 0 rgba(255,220,160,.04), inset 0 -1px 0 rgba(0,0,0,.6);--word-shade: linear-gradient(180deg, rgba(255,220,160,.05) 0%, transparent 50%, rgba(0,0,0,.3) 100%);--bolt: radial-gradient(circle at 35% 35%, #6a6258 0%, #2a2620 70%, #18140f 100%);--r-xs: 2px;--r-sm: 3px;--r-md: 4px;--r-lg: 6px;--r-pill: 999px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--font-display: "Oswald", sans-serif;--font-mono: "DM Mono", monospace;--t-xxs: 9px;--t-xs: 10px;--t-sm: 11px;--t-base: 13px;--t-md: 14px;--t-lg: 16px;--t-xl: 20px;--t-2xl: 26px;--t-3xl: 34px;--t-4xl: 48px;--t-5xl: 64px;--d-fast: .15s;--d-base: .22s;--d-slow: .4s;--z-board: 10;--z-overlay: 100;--z-modal: 200;--z-toast: 300}[data-theme=light]{--bg: #d4cfc2;--case: #e8dfc8;--case-2: #d8cdb2;--case-rim: #9a8a6a;--metal: #6e624e;--flap: #f4ecd5;--flap-edge: #c4b890;--flap-top: linear-gradient(180deg, #f9f1da 0%, #f0e6c8 100%);--flap-bot: linear-gradient(180deg, #ebdfbf 0%, #f4ecd5 100%);--char-bg: #f4ecd5;--char-edge: #c4b890;--gap-line: #b8a878;--accent: #b8321c;--accent-soft: #8e2614;--accent-glow: rgba(184,50,28,.35);--led: #b8321c;--success: #3a7a4a;--warning: #b87a1c;--danger: #b8321c;--info: #2a5a8e;--text: #1a1612;--text-soft: #4a3f2e;--text-muted: #6e624e;--surface: #ece3cc;--surface-2: #e8dfc8;--border: #9a8a6a;--border-soft: rgba(154,138,106,.4);--vignette: none;--noise-op: .08;--case-grad: linear-gradient(180deg, #ece3cc 0%, #d8cdb2 100%);--case-shadow: inset 0 1px 0 rgba(255,255,240,.6), inset 0 -1px 0 rgba(120,100,60,.2), 0 4px 14px rgba(120,100,60,.25);--flap-shadow: inset 0 1px 0 rgba(255,255,240,.5), inset 0 -1px 0 rgba(120,100,60,.18);--word-shade: linear-gradient(180deg, rgba(255,255,240,.4) 0%, transparent 40%, rgba(120,100,60,.15) 100%);--bolt: radial-gradient(circle at 35% 35%, #c4b078 0%, #8a7a4c 70%, #5a4f30 100%)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:var(--t-base);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background var(--d-slow) ease,color var(--d-slow) ease}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:var(--z-overlay);background:var(--vignette);transition:background var(--d-slow)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:99;opacity:var(--noise-op);transition:opacity var(--d-slow);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}[data-theme=light] body:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.18  0 0 0 0 0.14  0 0 0 0 0.08  0 0 0 0.4 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.t-display-xl{font-family:var(--font-display);font-weight:600;font-size:var(--t-5xl);letter-spacing:.02em;text-transform:uppercase;line-height:.95}.t-display-lg{font-family:var(--font-display);font-weight:600;font-size:var(--t-4xl);letter-spacing:.04em;text-transform:uppercase;line-height:1}.t-display-md{font-family:var(--font-display);font-weight:500;font-size:var(--t-3xl);letter-spacing:.04em;text-transform:uppercase}.t-h1{font-family:var(--font-display);font-weight:500;font-size:var(--t-2xl);letter-spacing:.04em;text-transform:uppercase}.t-h2{font-family:var(--font-display);font-weight:500;font-size:var(--t-xl);letter-spacing:.04em;text-transform:uppercase}.t-body{font-family:var(--font-mono);font-size:var(--t-base);line-height:1.5}.t-body-sm{font-family:var(--font-mono);font-size:var(--t-sm);line-height:1.5;color:var(--text-soft)}.t-label{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.t-tag{font-family:var(--font-mono);font-size:var(--t-xxs);letter-spacing:.22em;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:12px var(--s-5);font-family:var(--font-mono);font-size:var(--t-xs);font-weight:500;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;border-radius:var(--r-sm);transition:background var(--d-fast),color var(--d-fast),border-color var(--d-fast),transform 50ms;box-shadow:inset 0 1px #ffdca00f;white-space:nowrap}[data-theme=light] .btn{box-shadow:inset 0 1px #fffff080}.btn:hover{border-color:var(--accent-soft)}.btn:active{transform:translateY(1px);background:var(--surface)}.btn:disabled,.btn.is-disabled{opacity:.4;pointer-events:none}.btn.is-loading{pointer-events:none;opacity:.7}.btn.is-loading:after{content:"";width:12px;height:12px;border:1.5px solid var(--accent);border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-primary{background:var(--accent);color:var(--flap);border-color:var(--accent);font-weight:600}[data-theme=light] .btn-primary{color:#f4ecd5}.btn-primary:hover{background:var(--accent-soft);border-color:var(--accent-soft)}.btn-primary:active{background:var(--accent-soft)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-soft);box-shadow:none}.btn-ghost:hover{color:var(--accent);border-color:var(--border-soft)}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:var(--flap)}.btn-sm{padding:8px var(--s-3);font-size:var(--t-xxs);letter-spacing:.18em}.btn-lg{padding:16px var(--s-6);font-size:var(--t-sm)}.btn .arr{font-family:var(--font-display);font-size:var(--t-md);font-weight:500}.icon-btn{width:40px;height:40px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);color:var(--text-soft);cursor:pointer;transition:all var(--d-fast)}.icon-btn:hover{color:var(--accent);border-color:var(--accent-soft)}.icon-btn svg{width:18px;height:18px}.speaker-btn{width:56px;height:56px;border-radius:50%;border:1px solid var(--accent);background:transparent;color:var(--accent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--d-fast),transform 50ms;position:relative;flex-shrink:0}.speaker-btn:active{background:var(--accent);color:var(--flap);transform:scale(.95)}[data-theme=light] .speaker-btn:active{color:#f4ecd5}.speaker-btn svg{width:24px;height:24px}.speaker-btn .wave{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:1px solid var(--accent);opacity:0;pointer-events:none}.speaker-btn.is-playing .wave{animation:wave 1.2s ease-out infinite}.speaker-btn.is-playing .wave.w2{animation-delay:.4s}@keyframes wave{0%{transform:scale(.9);opacity:.7}to{transform:scale(1.7);opacity:0}}.speaker-btn-sm{width:32px;height:32px}.speaker-btn-sm svg{width:14px;height:14px}.theme-toggle{width:50px;height:22px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);cursor:pointer;display:inline-flex;align-items:center;padding:2px;position:relative;box-shadow:inset 0 1px 2px #0006;transition:all var(--d-base)}.theme-toggle .knob{width:16px;height:16px;border-radius:50%;background:var(--metal);transition:transform .28s cubic-bezier(.5,0,.5,1.2),background var(--d-base);box-shadow:0 1px 2px #0006}[data-theme=light] .theme-toggle .knob{transform:translate(28px);background:var(--accent)}.theme-toggle .ic{position:absolute;font-size:var(--t-xxs);font-weight:600;color:var(--metal);pointer-events:none;top:50%;transform:translateY(-50%);font-family:var(--font-mono)}.theme-toggle .ic.moon{left:6px;opacity:0}.theme-toggle .ic.sun{right:6px;opacity:1}[data-theme=light] .theme-toggle .ic.moon{opacity:1}[data-theme=light] .theme-toggle .ic.sun{opacity:0}.field{display:flex;flex-direction:column;gap:var(--s-2)}.field-label{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.field-hint{font-family:var(--font-mono);font-size:var(--t-xxs);color:var(--text-muted);letter-spacing:.04em}.field-error{font-family:var(--font-mono);font-size:var(--t-xxs);color:var(--danger);letter-spacing:.04em}.input,.select,.textarea{width:100%;background:var(--flap);border:1px solid var(--flap-edge);color:var(--text);font-family:var(--font-mono);font-size:var(--t-md);padding:12px var(--s-3);border-radius:var(--r-sm);outline:none;transition:border-color var(--d-fast)}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent)}.input:disabled{opacity:.5;cursor:not-allowed}.input.has-error,.select.has-error{border-color:var(--danger)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1 L6 6 L11 1' stroke='%23f5c66b' stroke-width='1.5' fill='none'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:var(--s-8)}.textarea{resize:vertical;min-height:80px}.search{position:relative}.search .input{padding-left:40px}.search .ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);width:16px;height:16px;pointer-events:none}.dropzone{border:1.5px dashed var(--border);border-radius:var(--r-md);padding:var(--s-12) var(--s-6);text-align:center;background:var(--surface);color:var(--text-muted);cursor:pointer;transition:all var(--d-fast);position:relative}.dropzone:hover,.dropzone.is-active{border-color:var(--accent);background:var(--surface-2);color:var(--text)}.dropzone .ic{width:32px;height:32px;margin:0 auto var(--s-3);display:block;color:var(--text-muted)}.dropzone .title{font-family:var(--font-mono);font-size:var(--t-sm);letter-spacing:.18em;text-transform:uppercase;color:var(--text);margin-bottom:var(--s-1)}.dropzone .sub{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-muted)}.checkbox,.radio{display:inline-flex;align-items:center;gap:var(--s-2);cursor:pointer;font-family:var(--font-mono);font-size:var(--t-sm);color:var(--text)}.checkbox input,.radio input{display:none}.checkbox .box,.radio .box{width:16px;height:16px;border:1px solid var(--border);background:var(--flap);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--d-fast)}.radio .box{border-radius:50%}.checkbox .box{border-radius:2px}.checkbox input:checked+.box,.radio input:checked+.box{border-color:var(--accent);background:var(--accent)}.checkbox input:checked+.box:after{content:"";width:8px;height:4px;border-left:1.5px solid var(--flap);border-bottom:1.5px solid var(--flap);transform:rotate(-45deg) translate(1px,-1px)}.radio input:checked+.box:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--flap)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-5);position:relative;transition:border-color var(--d-fast),background var(--d-fast)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--accent-soft)}.card-interactive:active{transform:translateY(1px)}.case{background:var(--case-grad);border:1px solid var(--case-rim);border-radius:var(--r-md);padding:var(--s-4) var(--s-3);box-shadow:var(--case-shadow);position:relative;transition:background var(--d-slow),border-color var(--d-slow),box-shadow var(--d-slow)}.case .bolt{position:absolute;width:7px;height:7px;background:var(--bolt);border-radius:50%;box-shadow:inset 0 0 0 1px #0009}.case .bolt.tl{top:6px;left:6px}.case .bolt.tr{top:6px;right:6px}.case .bolt.bl{bottom:6px;left:6px}.case .bolt.br{bottom:6px;right:6px}.case-head{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s-3);align-items:center;padding-bottom:var(--s-2);margin-bottom:var(--s-3);border-bottom:1px solid var(--case-rim);font-family:var(--font-mono);font-size:var(--t-xxs);letter-spacing:.18em;text-transform:uppercase;color:var(--metal)}.case-head .brand{color:var(--text);font-weight:500;letter-spacing:.22em}.case-head .brand span{color:var(--accent)}.case-head .clock{text-align:right;color:var(--accent);font-variant-numeric:tabular-nums}.case-head .clock .led{display:inline-block;width:5px;height:5px;background:var(--led);border-radius:50%;margin-right:4px;vertical-align:1px;box-shadow:0 0 4px var(--led);animation:blink 1.5s steps(2) infinite}@keyframes blink{50%{opacity:.3}}.row-head{display:grid;grid-template-columns:56px 1fr 70px;gap:6px;font-family:var(--font-mono);font-size:var(--t-xxs);letter-spacing:.18em;text-transform:uppercase;color:var(--metal);margin-bottom:var(--s-2);padding:0 2px}.row-head span:last-child{text-align:right}.flap-row{display:grid;grid-template-columns:56px 1fr 70px;gap:6px;margin-bottom:4px}.flap-row.featured{margin:var(--s-3) 0}.flap-cell{background:var(--flap);border:1px solid var(--flap-edge);border-radius:var(--r-xs);padding:7px var(--s-2);font-family:var(--font-display);font-weight:600;color:var(--accent);text-transform:uppercase;display:flex;align-items:center;position:relative;overflow:hidden;box-shadow:var(--flap-shadow);font-variant-numeric:tabular-nums;letter-spacing:.05em;font-size:var(--t-md);transition:background var(--d-slow),border-color var(--d-slow),color var(--d-slow)}.flap-cell:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--gap-line);pointer-events:none;z-index:5}.flap-cell.center{justify-content:center}.flap-cell.right{justify-content:flex-end}.flap-cell.dest{color:var(--text)}.flap-cell.gate{color:var(--accent-soft)}.flap-row.is-done .flap-cell{opacity:.45}.flap-row.is-done .flap-cell.dest{text-decoration:line-through;text-decoration-color:var(--accent-glow)}.flap-row.is-now .flap-cell{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),var(--flap-shadow)}.flap-row.is-locked .flap-cell{opacity:.35}.flap-row.is-locked .flap-cell.dest:before{content:"— "}.flap-row.featured .flap-cell{padding:10px var(--s-2);font-size:var(--t-lg)}.flap-row.featured .flap-cell.time{font-size:var(--t-xl)}.word-flaps{background:var(--flap);border:1px solid var(--flap-edge);border-radius:var(--r-xs);padding:10px var(--s-2);display:flex;align-items:center;justify-content:flex-start;gap:2px;position:relative;overflow:hidden;box-shadow:var(--flap-shadow);min-height:70px;transition:background var(--d-slow),border-color var(--d-slow)}.word-flaps:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--word-shade);pointer-events:none;z-index:6;transition:background var(--d-slow)}.char{position:relative;width:28px;height:50px;perspective:200px;font-family:var(--font-display);font-weight:600;font-size:38px;color:var(--accent);flex-shrink:0}.char .half{position:absolute;left:0;right:0;height:50%;background:var(--char-bg);border:1px solid var(--char-edge);display:flex;align-items:center;justify-content:center;overflow:hidden;backface-visibility:hidden;transition:background var(--d-slow),border-color var(--d-slow)}.char .half.top{top:0;border-radius:var(--r-sm) var(--r-sm) 0 0;border-bottom:none;background:var(--flap-top)}.char .half.top span{display:block;position:absolute;top:0;line-height:50px}.char .half.bot{bottom:0;border-radius:0 0 var(--r-sm) var(--r-sm);border-top:none;background:var(--flap-bot)}.char .half.bot span{display:block;position:absolute;bottom:0;line-height:50px;top:-25px}.char:after{content:"";position:absolute;left:-1px;right:-1px;top:50%;height:1px;background:var(--gap-line);z-index:10;margin-top:-.5px}.char-sm{width:22px;height:38px;font-size:28px}.char-sm .half.top span,.char-sm .half.bot span{line-height:38px}.char-sm .half.bot span{top:-19px}.photo-frame{position:relative;background:var(--flap);border:1px solid var(--flap-edge);border-radius:var(--r-sm);overflow:hidden;aspect-ratio:4 / 3;box-shadow:var(--flap-shadow)}.photo-frame img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.05) saturate(.9)}[data-theme=dark] .photo-frame img{filter:contrast(1.05) saturate(.85) brightness(.95) sepia(.08)}.photo-frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#0000 60%,#00000059);border:4px solid transparent;box-shadow:inset 0 0 0 1px #0000004d}[data-theme=light] .photo-frame:after{background:linear-gradient(180deg,#78643c00 60%,#78643c2e)}.photo-frame .stamp{position:absolute;bottom:6px;left:8px;font-family:var(--font-mono);font-size:var(--t-xxs);letter-spacing:.22em;text-transform:uppercase;color:#f5c66bbf;z-index:2}[data-theme=light] .photo-frame .stamp{color:#fffff0cc}.photo-frame.is-empty{display:flex;align-items:center;justify-content:center}.photo-frame.is-empty .ph{width:40%;height:40%;color:var(--accent);opacity:.5}.badge{display:inline-flex;align-items:center;gap:var(--s-1);padding:3px var(--s-2);border-radius:var(--r-xs);font-family:var(--font-mono);font-size:var(--t-xxs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;border:1px solid currentColor;background:transparent}.badge.solid{background:currentColor;border:none}.badge.solid>*{color:var(--flap)}.badge-success{color:var(--success)}.badge-warning{color:var(--warning)}.badge-danger{color:var(--danger)}.badge-info{color:var(--info)}.badge-accent{color:var(--accent)}.badge-muted{color:var(--text-muted)}.ribbon{display:inline-flex;align-items:center;background:var(--accent);color:var(--flap);padding:4px 12px 4px 14px;font-family:var(--font-mono);font-size:var(--t-xxs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;clip-path:polygon(0 0,100% 0,100% 100%,6px 100%,0 50%)}.ribbon strong{font-family:var(--font-display);font-weight:600;font-size:var(--t-md);letter-spacing:0;margin-right:3px}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{padding:var(--s-3) var(--s-4);font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color var(--d-fast),border-color var(--d-fast)}.tab:hover{color:var(--text)}.tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border);background:var(--surface);gap:var(--s-4)}.topbar .logo{font-family:var(--font-display);font-weight:700;font-size:var(--t-lg);letter-spacing:.16em;text-transform:uppercase;color:var(--text)}.topbar .logo span{color:var(--accent)}.topbar .nav{display:flex;gap:var(--s-1);align-items:center}.topbar .nav a{padding:var(--s-2) var(--s-3);font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--text-soft);text-decoration:none;border-radius:var(--r-sm);transition:color var(--d-fast),background var(--d-fast)}.topbar .nav a:hover,.topbar .nav a.is-active{color:var(--accent)}.topbar .right{display:flex;align-items:center;gap:var(--s-3)}.bottombar{position:fixed;bottom:0;left:0;right:0;display:none;background:var(--case-grad);border-top:1px solid var(--case-rim);z-index:50;box-shadow:0 -4px 14px #00000040}.bottombar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--s-2) 4px;text-decoration:none;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--t-xxs);letter-spacing:.12em;text-transform:uppercase}.bottombar a svg{width:20px;height:20px}.bottombar a.is-active{color:var(--accent)}@media(max-width:720px){.topbar .nav{display:none}.bottombar{display:flex}.app-main{padding-bottom:64px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--s-4)}.modal{background:var(--case-grad);border:1px solid var(--case-rim);border-radius:var(--r-md);box-shadow:var(--case-shadow);max-width:460px;width:100%;padding:var(--s-6);position:relative}.modal-title{font-family:var(--font-display);font-weight:500;font-size:var(--t-xl);letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--s-2)}.modal-body{font-family:var(--font-mono);font-size:var(--t-base);color:var(--text-soft);line-height:1.6;margin-bottom:var(--s-5)}.modal-actions{display:flex;gap:var(--s-2);justify-content:flex-end}.toast{display:inline-flex;align-items:center;gap:var(--s-3);background:var(--case-grad);border:1px solid var(--case-rim);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);box-shadow:var(--case-shadow);font-family:var(--font-mono);font-size:var(--t-sm);color:var(--text);border-left:3px solid var(--accent)}.toast.is-success{border-left-color:var(--success)}.toast.is-warning{border-left-color:var(--warning)}.toast.is-danger{border-left-color:var(--danger)}.progress{display:flex;gap:4px;height:3px}.progress .tick{flex:1;background:var(--border-soft)}.progress .tick.is-done{background:var(--text-muted)}.progress .tick.is-now{background:var(--accent)}.progress-linear{width:100%;height:4px;background:var(--flap);border:1px solid var(--flap-edge);border-radius:var(--r-xs);overflow:hidden}.progress-linear .fill{height:100%;background:var(--accent);transition:width var(--d-base)}.empty{text-align:center;padding:var(--s-12) var(--s-4);color:var(--text-muted)}.empty .ic{width:48px;height:48px;margin:0 auto var(--s-4);color:var(--text-muted);opacity:.6}.empty .title{font-family:var(--font-display);font-size:var(--t-xl);letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);margin-bottom:var(--s-2)}.empty .sub{font-family:var(--font-mono);font-size:var(--t-sm);margin-bottom:var(--s-5);max-width:40ch;margin-left:auto;margin-right:auto;line-height:1.6}.spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.icon{display:inline-block;width:20px;height:20px;flex-shrink:0}.app{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;position:relative;z-index:1}.container{max-width:1200px;margin:0 auto;padding:var(--s-6) var(--s-4)}.container-narrow{max-width:720px}.container-wide{max-width:1320px}@media(max-width:720px){.container{padding:var(--s-4) var(--s-3)}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-6);flex-wrap:wrap}.page-head .title-block{display:flex;flex-direction:column;gap:var(--s-2)}.page-head .kicker{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}.page-head .title{font-family:var(--font-display);font-weight:600;font-size:var(--t-3xl);letter-spacing:.04em;text-transform:uppercase;color:var(--text);line-height:1}.page-head .sub{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--text-muted);letter-spacing:.04em}.grid{display:grid;gap:var(--s-3)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-6{grid-template-columns:repeat(6,1fr)}@media(max-width:960px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.grid-6{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.grid-6{grid-template-columns:repeat(2,1fr)}}.metric{background:var(--flap);border:1px solid var(--flap-edge);border-radius:var(--r-sm);padding:var(--s-4);position:relative;overflow:hidden;box-shadow:var(--flap-shadow)}.metric:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--word-shade);pointer-events:none}.metric .key{font-family:var(--font-mono);font-size:var(--t-xxs);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--s-2)}.metric .val{font-family:var(--font-display);font-weight:600;font-size:var(--t-4xl);color:var(--accent);line-height:1;letter-spacing:.02em;font-variant-numeric:tabular-nums}.metric .delta{font-family:var(--font-mono);font-size:var(--t-xxs);letter-spacing:.04em;color:var(--text-muted);margin-top:var(--s-2)}.metric .delta.up{color:var(--success)}.lesson-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3);cursor:pointer;transition:border-color var(--d-fast),background var(--d-fast);text-decoration:none;color:inherit}.lesson-card:hover{border-color:var(--accent-soft)}.lesson-card .row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.lesson-card .name{font-family:var(--font-display);font-weight:600;font-size:var(--t-xl);letter-spacing:.02em;text-transform:uppercase;color:var(--text);line-height:1.1}.lesson-card .meta{display:flex;flex-wrap:wrap;gap:var(--s-3);font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase}.lesson-card .meta strong{color:var(--text-soft);font-weight:500}.lesson-card .arrow{font-family:var(--font-display);font-size:var(--t-xl);color:var(--accent)}.activity-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3);cursor:pointer;transition:border-color var(--d-fast),background var(--d-fast);text-decoration:none;color:inherit;position:relative}.activity-card:hover{border-color:var(--accent)}.activity-card .head{display:flex;align-items:center;gap:var(--s-3)}.activity-card .num{font-family:var(--font-mono);font-size:var(--t-xxs);letter-spacing:.22em;color:var(--accent);width:28px}.activity-card .ic{width:22px;height:22px;color:var(--accent);flex-shrink:0}.activity-card .name{font-family:var(--font-display);font-weight:500;font-size:var(--t-lg);letter-spacing:.04em;text-transform:uppercase;color:var(--text);flex:1}.activity-card .desc{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--text-soft);line-height:1.5}.activity-card .status{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:var(--s-3);border-top:1px dashed var(--border-soft);font-family:var(--font-mono);font-size:var(--t-xxs);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.activity-card .status .pct{color:var(--accent);font-weight:600}.activity-card.is-done{opacity:.65}.activity-card.is-done .status .pct{color:var(--success)}.activity-card.is-locked{opacity:.5;pointer-events:none}.activity-card.is-locked:after{content:"LOCKED";position:absolute;top:var(--s-3);right:var(--s-3);font-family:var(--font-mono);font-size:var(--t-xxs);letter-spacing:.22em;color:var(--text-muted)}.word-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;display:flex;flex-direction:column}.word-tile .ph{aspect-ratio:4/3}.word-tile .body{padding:var(--s-3);display:flex;flex-direction:column;gap:4px}.word-tile .en{font-family:var(--font-display);font-weight:600;font-size:var(--t-md);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:var(--s-1)}.word-tile .en .speaker-btn-sm{margin-left:auto}.word-tile .ipa{font-family:var(--font-mono);font-size:var(--t-xxs);color:var(--text-muted);letter-spacing:.02em}.word-tile .ru{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--text)}.training{display:flex;flex-direction:column;height:calc(100vh - 64px);height:calc(100dvh - 64px);overflow:hidden}.training-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border);background:var(--surface);font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--text-soft)}.training-bar a{color:var(--text-soft);text-decoration:none}.training-bar a:hover{color:var(--accent)}.training-bar .center{font-family:var(--font-display);font-weight:500;font-size:var(--t-md);color:var(--text);letter-spacing:.08em}.training-bar .counter{color:var(--accent);font-variant-numeric:tabular-nums}.training-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--s-4);gap:var(--s-4);position:relative;z-index:1;overflow:auto;min-height:0}.training-actions{display:flex;gap:var(--s-2);justify-content:center;flex-wrap:wrap}.vocab{display:grid;grid-template-columns:240px 1fr;gap:var(--s-4)}.vocab-side{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-3);position:sticky;top:var(--s-4);align-self:start;max-height:calc(100vh - var(--s-8));overflow-y:auto}.vocab-side h3{font-family:var(--font-mono);font-size:var(--t-xxs);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--s-3);padding-bottom:var(--s-2);border-bottom:1px solid var(--border-soft)}.cat-list{display:flex;flex-direction:column}.cat-list a{display:flex;justify-content:space-between;align-items:center;padding:8px var(--s-2);font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.08em;color:var(--text-soft);text-decoration:none;border-radius:var(--r-xs);transition:background var(--d-fast),color var(--d-fast);text-transform:uppercase}.cat-list a:hover{background:var(--surface-2);color:var(--text)}.cat-list a.is-active{background:var(--surface-2);color:var(--accent)}.cat-list a .num{font-size:var(--t-xxs);opacity:.6;font-variant-numeric:tabular-nums}.vocab-main{display:flex;flex-direction:column;gap:var(--s-3);min-width:0}.word-row{display:grid;grid-template-columns:64px 1fr auto;gap:var(--s-3);align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--s-2);transition:border-color var(--d-fast)}.word-row:hover{border-color:var(--accent-soft)}.word-row .ph{aspect-ratio:4/3;width:64px}.word-row .info{display:flex;flex-direction:column;gap:2px;min-width:0}.word-row .en{font-family:var(--font-display);font-weight:600;font-size:var(--t-md);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:var(--s-2)}.word-row .ipa{font-family:var(--font-mono);font-size:var(--t-xxs);color:var(--text-muted);letter-spacing:.02em}.word-row .ru{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--text)}.word-row .meta{display:flex;flex-direction:column;gap:var(--s-1);align-items:flex-end;font-family:var(--font-mono);font-size:var(--t-xxs);color:var(--text-muted);letter-spacing:.16em;text-transform:uppercase}@media(max-width:720px){.vocab{grid-template-columns:1fr}.vocab-side{position:static;max-height:none}.word-row{grid-template-columns:56px 1fr}.word-row .meta{grid-column:2;flex-direction:row;justify-content:flex-start;gap:var(--s-3)}}.flex-row{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap}.flex-col{display:flex;flex-direction:column;gap:var(--s-3)}.gap-2{gap:var(--s-2)}.gap-4{gap:var(--s-4)}.gap-6{gap:var(--s-6)}.text-center{text-align:center}.mt-4{margin-top:var(--s-4)}.mt-6{margin-top:var(--s-6)}.mb-4{margin-bottom:var(--s-4)}.mb-6{margin-bottom:var(--s-6)}.muted{color:var(--text-muted)}.accent-text{color:var(--accent)}.divider{height:1px;background:var(--border);margin:var(--s-4) 0}.lesson-hero{display:grid;grid-template-columns:1fr 280px;gap:var(--s-4);margin-bottom:var(--s-6)}.lesson-hero .info{display:flex;flex-direction:column;gap:var(--s-3)}.lesson-hero .title-row{display:flex;align-items:baseline;gap:var(--s-3);flex-wrap:wrap}.lesson-hero .title{font-family:var(--font-display);font-weight:600;font-size:var(--t-3xl);letter-spacing:.02em;text-transform:uppercase;line-height:1;color:var(--text)}.lesson-hero .subtitle{font-family:var(--font-mono);font-size:var(--t-md);color:var(--text-soft);font-style:italic}.lesson-hero .meta{display:flex;flex-wrap:wrap;gap:var(--s-3);font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.lesson-hero .meta strong{color:var(--accent);font-weight:500}.lesson-hero .src-photo{background:var(--flap);border:1px solid var(--flap-edge);border-radius:var(--r-sm);overflow:hidden;position:relative;aspect-ratio:4 / 5;box-shadow:var(--flap-shadow)}.lesson-hero .src-photo img{width:100%;height:100%;object-fit:cover;display:block}[data-theme=dark] .lesson-hero .src-photo img{filter:contrast(1.05) saturate(.85) brightness(.95) sepia(.08)}.lesson-hero .src-photo .stamp{position:absolute;bottom:8px;left:10px;font-family:var(--font-mono);font-size:var(--t-xxs);letter-spacing:.22em;text-transform:uppercase;color:#f5c66bd9;background:#00000073;padding:3px 8px;border-radius:var(--r-xs);z-index:2}[data-theme=light] .lesson-hero .src-photo .stamp{background:#78643cd9;color:#f4ecd5}@media(max-width:720px){.lesson-hero{grid-template-columns:1fr}.lesson-hero .src-photo{aspect-ratio:4/3;max-height:240px}.lesson-hero .title{font-size:var(--t-2xl)}}.lesson-progress{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-5)}.lesson-progress .label{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.lesson-progress .bar{flex:1}.lesson-progress .pct{font-family:var(--font-display);font-weight:600;font-size:var(--t-md);color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}.section-title{font-family:var(--font-display);font-weight:500;font-size:var(--t-xl);letter-spacing:.04em;text-transform:uppercase;color:var(--text);margin-bottom:var(--s-4);padding-bottom:var(--s-2);border-bottom:1px solid var(--border);display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3)}.section-title .count{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.18em;color:var(--accent);font-weight:500}.words-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--s-3)}.lang-switch{display:flex;background:var(--flap);border:1px solid var(--flap-edge);border-radius:var(--r-sm);padding:2px;margin-bottom:var(--s-3)}.lang-switch button{flex:1;background:transparent;border:none;padding:8px var(--s-2);font-family:var(--font-mono);font-size:var(--t-xxs);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;border-radius:var(--r-xs);transition:all var(--d-fast)}.lang-switch button.is-active{background:var(--accent);color:var(--flap);font-weight:600}[data-theme=light] .lang-switch button.is-active{color:#f4ecd5}.cat-chips{display:none;gap:var(--s-2);overflow-x:auto;padding-bottom:var(--s-2);margin-bottom:var(--s-3);scrollbar-width:none}.cat-chips::-webkit-scrollbar{display:none}.cat-chips a{display:inline-flex;align-items:center;gap:4px;padding:6px var(--s-3);font-family:var(--font-mono);font-size:var(--t-xxs);letter-spacing:.16em;text-transform:uppercase;color:var(--text-soft);text-decoration:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);white-space:nowrap;flex-shrink:0;transition:all var(--d-fast)}.cat-chips a:hover{border-color:var(--accent-soft);color:var(--text)}.cat-chips a.is-active{background:var(--accent);color:var(--flap);border-color:var(--accent);font-weight:600}[data-theme=light] .cat-chips a.is-active{color:#f4ecd5}.cat-chips a .num{opacity:.7;font-size:var(--t-xxs)}@media(max-width:720px){.vocab-side{display:none}.cat-chips{display:flex}}.cat-tag{display:inline-block;padding:2px 8px;font-family:var(--font-mono);font-size:var(--t-xxs);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border-soft);border-radius:var(--r-xs)}.action-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-6);flex-wrap:wrap}.action-bar .info{display:flex;flex-direction:column;gap:2px;font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-muted);letter-spacing:.04em}.action-bar .info strong{font-family:var(--font-display);font-size:var(--t-md);letter-spacing:.04em;text-transform:uppercase;color:var(--text)}.action-bar .actions{display:flex;gap:var(--s-2);flex-wrap:wrap}.flashcard{width:100%;max-width:460px;aspect-ratio:3 / 4;perspective:1200px;cursor:pointer;position:relative}.flashcard-inner{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,0,.2,1)}.flashcard.is-flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-side{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--case-grad);border:1px solid var(--case-rim);border-radius:var(--r-md);box-shadow:var(--case-shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--s-6);gap:var(--s-4);backface-visibility:hidden;-webkit-backface-visibility:hidden;text-align:center}.flashcard-side.back{transform:rotateY(180deg)}.flashcard-side .photo{width:100%;flex:1;min-height:0}.flashcard-side .photo .photo-frame{height:100%;aspect-ratio:auto}.flashcard-side .word-en{font-family:var(--font-display);font-weight:600;font-size:var(--t-4xl);letter-spacing:.02em;text-transform:uppercase;color:var(--accent);line-height:1}.flashcard-side .word-ru{font-family:var(--font-display);font-weight:500;font-size:var(--t-3xl);letter-spacing:.02em;color:var(--text);line-height:1}.flashcard-side .ipa{font-family:var(--font-mono);font-size:var(--t-md);color:var(--text-soft);letter-spacing:.04em}.flashcard-side .pos{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.flashcard-side .hint{font-family:var(--font-mono);font-size:var(--t-xxs);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);position:absolute;bottom:var(--s-4)}.answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-3);width:100%;max-width:560px}.answer-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--s-4) var(--s-3);font-family:var(--font-display);font-weight:500;font-size:var(--t-xl);letter-spacing:.04em;color:var(--text);text-align:center;cursor:pointer;transition:all var(--d-fast);text-transform:uppercase;min-height:64px;display:flex;align-items:center;justify-content:center}.answer-card:hover{border-color:var(--accent);color:var(--accent)}.answer-card:active{transform:translateY(1px)}.answer-card.is-correct{border-color:var(--success);color:var(--success);background:#6bc88a14}.answer-card.is-wrong{border-color:var(--danger);color:var(--danger);background:#e94e3a14}.answer-card.is-disabled{opacity:.4;pointer-events:none}.answer-card-visual{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--s-2);display:flex;flex-direction:column;gap:var(--s-2);cursor:pointer;transition:all var(--d-fast)}.answer-card-visual:hover{border-color:var(--accent)}.answer-card-visual .photo-frame{aspect-ratio:1 / 1}.answer-card-visual .label{font-family:var(--font-mono);font-size:var(--t-sm);text-align:center;color:var(--text);padding:var(--s-1) 0 var(--s-2)}.answer-card-visual.is-correct{border-color:var(--success);background:#6bc88a0f}.answer-card-visual.is-wrong{border-color:var(--danger);background:#e94e3a0f}.word-prompt{font-family:var(--font-display);font-weight:600;font-size:var(--t-5xl);letter-spacing:.02em;text-transform:lowercase;color:var(--text);text-align:center;line-height:1}.word-prompt-ru{font-family:var(--font-display);font-weight:500;font-size:var(--t-4xl);letter-spacing:.02em;color:var(--text);text-align:center;line-height:1}.word-prompt-sub{font-family:var(--font-mono);font-size:var(--t-sm);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);text-align:center;margin-top:var(--s-2)}.spell-slots{display:flex;gap:var(--s-2);justify-content:center;flex-wrap:wrap;min-height:50px}.spell-slot{width:32px;height:50px;border:1px dashed var(--border);border-radius:var(--r-sm);background:var(--flap);display:flex;align-items:center;justify-content:center;position:relative}.spell-slot.is-filled{border-style:solid;border-color:var(--accent-soft)}.spell-slot.is-correct{border-color:var(--success)}.spell-slot.is-wrong{border-color:var(--danger)}.spell-slot .char-sm{width:30px;height:48px}.spell-letters{display:flex;gap:var(--s-2);justify-content:center;flex-wrap:wrap}.spell-letter-btn{background:transparent;border:none;padding:0;cursor:pointer;transition:transform var(--d-fast)}.spell-letter-btn:hover{transform:translateY(-2px)}.spell-letter-btn:active{transform:translateY(0)}.spell-letter-btn.is-used{opacity:.25;pointer-events:none}.mic-btn{width:120px;height:120px;border-radius:50%;border:2px solid var(--accent);background:transparent;color:var(--accent);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--d-fast);position:relative}.mic-btn:hover{background:#f5c66b0d}.mic-btn:active{transform:scale(.96)}.mic-btn svg{width:48px;height:48px}.mic-btn.is-recording{background:var(--accent);color:var(--flap);animation:pulseRec 1.4s ease-in-out infinite}[data-theme=light] .mic-btn.is-recording{color:#f4ecd5}@keyframes pulseRec{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 16px transparent}}.mic-btn .ring{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:1px solid var(--accent);opacity:0;pointer-events:none}.mic-btn.is-recording .ring{animation:micWave 1.4s ease-out infinite}.mic-btn.is-recording .ring.r2{animation-delay:.5s}@keyframes micWave{0%{transform:scale(.85);opacity:.7}to{transform:scale(1.6);opacity:0}}.pronounce-result{width:100%;max-width:460px;background:var(--case-grad);border:1px solid var(--case-rim);border-radius:var(--r-md);padding:var(--s-5);box-shadow:var(--case-shadow)}.pronounce-result .score-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--s-3);padding-bottom:var(--s-3);border-bottom:1px solid var(--border-soft)}.pronounce-result .score-label{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.pronounce-result .score-val{font-family:var(--font-display);font-weight:600;font-size:var(--t-3xl);color:var(--accent);letter-spacing:.02em}.pronounce-result .score-val.good{color:var(--success)}.pronounce-result .score-val.bad{color:var(--danger)}.pronounce-result .compare{display:flex;flex-direction:column;gap:var(--s-2);font-family:var(--font-mono);font-size:var(--t-sm)}.pronounce-result .compare-row{display:grid;grid-template-columns:90px 1fr;gap:var(--s-3);align-items:center}.pronounce-result .compare-row .lab{font-size:var(--t-xxs);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.pronounce-result .compare-row .val{color:var(--text);font-family:var(--font-mono)}.spell-prompt{font-family:var(--font-mono);font-size:var(--t-sm);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);text-align:center;margin-bottom:var(--s-2)}@media(max-width:720px){.flashcard{max-width:320px}.flashcard-side .word-en{font-size:var(--t-3xl)}.flashcard-side .word-ru{font-size:var(--t-2xl)}.answer-card{font-size:var(--t-md);padding:var(--s-3);min-height:52px}.word-prompt{font-size:var(--t-3xl)}.word-prompt-ru{font-size:var(--t-2xl)}.mic-btn{width:96px;height:96px}.mic-btn svg{width:40px;height:40px}.spell-slot{width:28px;height:44px}.spell-slot .char-sm{width:26px;height:42px;font-size:24px}}
