@import"https://fonts.googleapis.com/css2?family=Syne:wght@700;800&display=swap";:root{--primary: #4f46e5;--bg-body: #f1f5f9;--bg-card: #ffffff;--bg-input: #f8fafc;--text-main: #1e293b;--text-muted: #64748b;--danger: #ef4444;--warning: #f59e0b;--success: #10b981;--border-color: rgba(0,0,0,.08);--chat-user-bg: #4f46e5;--chat-user-text: white;--chat-ai-bg: #f1f5f9;--chat-ai-text: #1e293b;--shadow: 0 10px 40px -10px rgba(0, 0, 0, .1);--bg-modal: rgba(255, 255, 255, .98);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--border-radius: 24px;--glass-card-bg: rgba(255,255,255,.68);--glass-border: rgba(255,255,255,.6);--glass-highlight: rgba(255,255,255,.85);--glass-shadow: 0 20px 50px -18px rgba(79,70,229,.35), 0 2px 8px rgba(0,0,0,.06);--glass-blur: 22px;--glow-a: rgba(79,70,229,.2);--glow-b: rgba(16,185,129,.16)}[data-theme=dark]{--primary: #6366f1;--bg-body: #0f172a;--bg-card: #1e293b;--bg-input: #334155;--text-main: #f8fafc;--text-muted: #94a3b8;--border-color: rgba(255,255,255,.1);--chat-ai-bg: #334155;--chat-ai-text: #f8fafc;--bg-modal: rgba(30, 41, 59, .98);--shadow: 0 10px 40px -10px rgba(0, 0, 0, .5);--glass-card-bg: rgba(30,41,59,.62);--glass-border: rgba(255,255,255,.09);--glass-highlight: rgba(255,255,255,.16);--glass-shadow: 0 20px 50px -16px rgba(0,0,0,.6), 0 2px 8px rgba(0,0,0,.3);--glow-a: rgba(99,102,241,.28);--glow-b: rgba(16,185,129,.14)}[data-theme=ocean]{--primary: #06b6d4;--bg-body: #082f49;--bg-card: #0c4a6e;--bg-input: #075985;--text-main: #f0f9ff;--text-muted: #bae6fd;--border-color: rgba(6, 182, 212, .2);--chat-user-bg: #06b6d4;--chat-ai-bg: #075985;--chat-ai-text: #f0f9ff;--bg-modal: rgba(12, 74, 110, .95);--glass-card-bg: rgba(12,74,110,.6);--glass-border: rgba(186,230,253,.18);--glass-highlight: rgba(224,247,255,.22);--glass-shadow: 0 20px 50px -16px rgba(0,0,0,.55), 0 2px 8px rgba(0,0,0,.25);--glow-a: rgba(6,182,212,.3);--glow-b: rgba(14,165,233,.16)}[data-theme=forest]{--primary: #10b981;--bg-body: #052e16;--bg-card: #064e3b;--bg-input: #065f46;--text-main: #ecfdf5;--text-muted: #a7f3d0;--border-color: rgba(16, 185, 129, .2);--chat-user-bg: #10b981;--chat-ai-bg: #065f46;--chat-ai-text: #ecfdf5;--bg-modal: rgba(6, 78, 59, .95);--glass-card-bg: rgba(6,78,59,.6);--glass-border: rgba(167,243,208,.18);--glass-highlight: rgba(209,250,229,.2);--glass-shadow: 0 20px 50px -16px rgba(0,0,0,.55), 0 2px 8px rgba(0,0,0,.25);--glow-a: rgba(16,185,129,.28);--glow-b: rgba(52,211,153,.14)}[data-theme=sunset]{--primary: #f97316;--bg-body: #451a03;--bg-card: #7c2d12;--bg-input: #9a3412;--text-main: #fff7ed;--text-muted: #fdba74;--border-color: rgba(249, 115, 22, .2);--chat-user-bg: #f97316;--chat-ai-bg: #9a3412;--chat-ai-text: #fff7ed;--bg-modal: rgba(124, 45, 18, .95);--glass-card-bg: rgba(124,45,18,.6);--glass-border: rgba(253,186,116,.2);--glass-highlight: rgba(255,237,213,.22);--glass-shadow: 0 20px 50px -16px rgba(0,0,0,.55), 0 2px 8px rgba(0,0,0,.25);--glow-a: rgba(249,115,22,.3);--glow-b: rgba(217,70,239,.14)}[data-theme=midnight]{--primary: #d946ef;--bg-body: #000000;--bg-card: #121212;--bg-input: #1e1e1e;--text-main: #e0e0e0;--text-muted: #a3a3a3;--border-color: #333;--chat-user-bg: #d946ef;--chat-ai-bg: #1e1e1e;--chat-ai-text: #e0e0e0;--bg-modal: rgba(18, 18, 18, .98);--shadow: none;--glass-card-bg: rgba(18,18,18,.66);--glass-border: rgba(217,70,239,.18);--glass-highlight: rgba(255,255,255,.08);--glass-shadow: 0 20px 50px -16px rgba(217,70,239,.25), 0 2px 8px rgba(0,0,0,.4);--glow-a: rgba(217,70,239,.22);--glow-b: rgba(99,102,241,.14)}*{box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;width:100%;height:100dvh;overflow:hidden;font-family:var(--font-family);background-color:var(--bg-body);color:var(--text-main);overscroll-behavior:none;touch-action:pan-x pan-y;transition:background-color .3s ease,color .3s ease}header{height:70px;display:flex;justify-content:space-between;align-items:center;padding:0 1.5rem;background:var(--bg-card);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;opacity:.98;transition:all .3s ease}.brand-area{display:flex;align-items:center;gap:12px}.header-actions{display:flex;gap:8px;align-items:center}.user-badge{display:flex;align-items:center;gap:6px;background:var(--bg-input);color:var(--text-main);padding:5px 10px;border-radius:50px;font-weight:600;font-size:.9rem;cursor:pointer;transition:.2s}.user-badge img{width:28px;height:28px;border-radius:50%;object-fit:cover}.user-badge:hover{background:var(--primary);color:#fff}.streak-badge{display:flex;align-items:center;gap:4px;background:linear-gradient(270deg,#000,red);color:#fff;padding:8px 14px;border-radius:50px;font-weight:800;font-size:.85rem;box-shadow:0 4px 10px #ff5e624d;cursor:default}.icon-btn{width:42px;height:42px;border-radius:12px;background:transparent;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--text-main);cursor:pointer;transition:all .2s ease}.icon-btn:hover{background:var(--bg-card);color:var(--primary);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.icon-btn i{font-size:1.4rem;transition:transform .3s ease}.icon-btn:hover i{transform:scale(1.1)}#btn-settings:hover i{transform:rotate(90deg)}.app-only{display:none!important}.login-only{display:block!important}body.logged-in .app-only{display:flex!important}body.logged-in img.app-only{display:block!important}body.logged-in .login-only{display:none!important}.app-container{display:flex;flex:1;height:calc(100dvh - 70px);flex-direction:column;overflow:hidden;position:relative}#level-view{padding:2rem 1rem 0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow-y:auto}.level-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;width:100%;max-width:400px;margin-bottom:auto;flex-shrink:0}.level-card{background:var(--bg-card);padding:1.5rem;border-radius:20px;box-shadow:var(--shadow);cursor:pointer;text-align:center;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease,border-color .2s,filter .22s ease;border:1px solid var(--border-color);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:10;position:relative;overflow:hidden}.level-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,#fff0 30%,#ffffff2e,#fff0 70%);background-size:200% 100%;background-position:-100% 0;transition:background-position .55s ease;border-radius:inherit;pointer-events:none}.feature-hidden{display:none!important}.demo-badge{position:absolute;top:8px;right:8px;font-size:.58rem;font-weight:800;letter-spacing:.4px;text-transform:uppercase;background:#0000008c;color:#fbbf24;padding:3px 7px;border-radius:8px;display:flex;align-items:center;gap:3px;z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}.level-card:hover:after{background-position:200% 0}.level-card:hover{transform:translateY(-4px) scale(1.03);border-color:transparent;box-shadow:0 12px 36px #00000059;filter:brightness(1.08)}.level-card:active{transform:scale(.96);filter:brightness(.95)}.level-title{font-size:1.5rem;font-weight:800;color:var(--text-main)}.level-desc{font-size:.8rem;color:var(--text-muted)}.level-icon{font-size:2rem;color:var(--primary)}.mix-card{background:linear-gradient(360deg,#f69f0c,#000);color:#fff;border:none}.mix-card .level-title,.mix-card .level-desc,.mix-card .level-icon{color:#fff}.arena-card{grid-column:span 2;background:linear-gradient(180deg,#ffde05,#000);color:#fff;box-shadow:0 10px 20px #ffde0533;border:none}.arena-card .level-title,.arena-card .level-desc,.arena-card .level-icon{color:#fff}.chat-card{background:linear-gradient(270deg,#ff5900,#000);color:#fff;border:none}.chat-card .level-title,.chat-card .level-desc,.chat-card .level-icon{color:#fff}.yds-card{grid-column:span 2;background:linear-gradient(180deg,#000,#2563eb);color:#fff;border:none}.yds-card .level-title,.yds-card .level-desc,.yds-card .level-icon{color:#fff}.upload-card{background:linear-gradient(90deg,#000,#4b4b4b);color:#fff;border:none}.upload-card .level-title,.upload-card .level-desc,.upload-card .level-icon{color:#fff}.custom-words-card{background:linear-gradient(270deg,#00ff4e,#000);color:#fff;border:none}.custom-words-card .level-title,.custom-words-card .level-desc,.custom-words-card .level-icon{color:#fff}.upload-card .level-title,.custom-words-card .level-title{font-size:1rem}.fill-game-card{grid-column:span 2;background:linear-gradient(135deg,#8b5cf6,#d946ef);color:#fff;border:none}.fill-game-card .level-title,.fill-game-card .level-desc,.fill-game-card .level-icon{color:#fff}#upload-view{padding:2rem;text-align:center;height:100%;display:flex;flex-direction:column;justify-content:center}.drop-zone{border:2px dashed var(--text-muted);padding:3rem;border-radius:20px;background:#00000005}@media (max-width: 480px){.drop-zone{padding:1.5rem 1rem}}.upload-help{text-align:left;margin:1rem auto .5rem;padding:12px 14px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:14px;font-size:.82rem;line-height:1.5;color:var(--text-main);max-width:420px}.upload-help p{margin:6px 0 0;color:var(--text-muted)}.upload-help ol{margin:6px 0 0;padding-left:0;list-style:none}.upload-help li{margin:2px 0}.upload-help li b{display:inline-block;width:20px;color:var(--primary)}.upload-help li span{color:var(--text-muted);font-size:.76rem}.upload-help code{background:var(--bg-card);padding:0 4px;border-radius:4px}#stack-container{position:relative;width:100%;flex:1;display:flex;align-items:center;justify-content:center;perspective:1000px;overflow:hidden;padding:1rem;touch-action:none}@media (min-width: 768px){#stack-container{padding:2.5rem 3rem}}#stack-container:before,#stack-container:after{content:"";position:absolute;width:60vmin;height:60vmin;border-radius:50%;filter:blur(60px);pointer-events:none;z-index:0}#stack-container:before{top:-10%;left:-15%;background:var(--glow-a)}#stack-container:after{bottom:-15%;right:-10%;background:var(--glow-b)}.card-wrapper{position:absolute;width:100%;max-width:450px;height:100%;max-height:550px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}.flashcard{background:var(--glass-card-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);backdrop-filter:blur(var(--glass-blur)) saturate(160%);border-radius:var(--border-radius);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-highlight);width:100%;height:100%;padding:2rem 1.5rem;text-align:center;display:flex;flex-direction:column;justify-content:space-between;align-items:center;position:absolute;top:0;left:0;transform-origin:50% 100%;will-change:transform,opacity;transition:transform .1s linear;-webkit-user-select:none;user-select:none;pointer-events:auto;border:1px solid var(--glass-border)}.flashcard.top-card{z-index:10;transform:scale(1);cursor:grab}.flashcard.next-card{z-index:5;transform:scale(.95) translateY(10px);opacity:.95;pointer-events:none;filter:brightness(.95)}.flashcard.animate-fly-right{transition:transform .4s ease-out;transform:translate(120%) rotate(15deg)!important;opacity:0}.flashcard.animate-fly-left{transition:transform .4s ease-out;transform:translate(-120%) rotate(-15deg)!important;opacity:0}.flashcard.animate-fly-up{transition:transform .4s ease-out;transform:translateY(-120%)!important;opacity:0}.flashcard.animate-fly-down{transition:transform .4s ease-out;transform:translateY(120%)!important;opacity:0}.card-content{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.word-header{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:1rem;width:100%;position:relative}.word-term{font-size:2rem;font-weight:800;line-height:1.1;word-break:break-word;color:var(--text-main)}.tools-bar{position:absolute;right:0;top:0;display:flex;flex-direction:column;gap:8px}.tool-btn{background:var(--glass-highlight);border:1px solid var(--glass-border);color:var(--text-muted);cursor:pointer;font-size:1.05rem;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:transform .2s ease,color .2s ease,background .2s ease}.tool-btn:active{transform:scale(.92)}.tool-btn:hover{background:var(--primary);color:#fff}.word-def-box{width:100%;min-height:4rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.word-definition{font-size:1.4rem;font-weight:600;color:var(--primary);margin-bottom:.2rem;text-align:center}.word-synonyms{font-size:.9rem;color:var(--text-muted);margin-bottom:.5rem;font-style:italic;max-width:90%}.example-area{margin-top:1rem;border-top:1px solid var(--border-color);padding-top:1rem;width:100%;text-align:center}.word-example{font-size:.95rem;color:var(--text-main);font-style:italic;margin-bottom:4px;display:inline-block}.word-example-tr{font-size:.85rem;color:var(--text-muted)}.hidden-ex{display:none!important}.blurred{filter:blur(12px);opacity:.6;cursor:pointer}.btn-sentence-audio{background:transparent;color:var(--primary);border:none;cursor:pointer;font-size:1rem;padding:0 5px;vertical-align:middle}.trouble-indicator{position:absolute;top:10px;left:50%;transform:translate(-50%);background:#ef4444;color:#fff;font-size:.7rem;padding:4px 10px;border-radius:12px;font-weight:800;letter-spacing:1px;z-index:20}.quiz-container{width:100%;display:none;flex-direction:column;gap:10px;margin-top:1rem}.quiz-btn{background:var(--glass-highlight);padding:12px;border-radius:14px;color:var(--text-main);font-weight:600;cursor:pointer;transition:all .2s;text-align:center;border:1px solid var(--glass-border)}.quiz-btn:active{transform:scale(.98)}.quiz-btn.correct{background:var(--success);color:#fff;border-color:var(--success)}.quiz-btn.wrong{background:var(--danger);color:#fff;border-color:var(--danger)}.guess-container{width:100%;margin-top:1rem;display:none;flex-direction:column;gap:8px}.hint-text{font-family:monospace;font-size:1.5rem;letter-spacing:2px;color:var(--warning);min-height:28px;margin-bottom:5px;font-weight:700}.input-wrapper{display:flex;gap:8px;width:100%}.guess-input{flex:1;padding:12px;border-radius:14px;border:2px solid var(--glass-border);background:var(--glass-highlight);color:var(--text-main);font-size:1.1rem;text-align:center}.btn-hint{background:var(--warning);color:#fff;border:none;border-radius:12px;width:44px;font-size:1.2rem;cursor:pointer}.guess-feedback{font-weight:800;font-size:1rem;height:24px;margin-top:8px;opacity:0}.guess-feedback.correct{color:var(--success)}.guess-feedback.incorrect{color:var(--danger)}.footer-controls{padding:1rem 1.5rem 1.5rem;background:var(--glass-card-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);backdrop-filter:blur(var(--glass-blur)) saturate(160%);z-index:20;display:flex;flex-direction:column;gap:10px;box-shadow:0 -8px 30px -12px #0000001f,inset 0 1px 0 var(--glass-highlight);border-top:1px solid var(--glass-border)}.btn-reveal-block{width:100%;padding:14px;background:var(--glass-highlight);color:var(--text-main);border:none;border-radius:16px;font-weight:600;cursor:pointer;font-size:1rem;transition:background .2s,transform .15s;display:block;border:1px solid var(--glass-border)}.btn-reveal-block:active{background:var(--border-color);transform:scale(.98)}body.no-rate-buttons .controls-grid,body.no-rate-buttons #btn-park{display:none!important}.swipe-hint{display:none}body.no-rate-buttons .swipe-hint{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap;margin-top:8px;font-size:.72rem;font-weight:700;color:var(--text-muted);opacity:.85}.setting-hint{display:block;font-size:.72rem;font-weight:500;color:var(--text-muted);margin-top:2px}.controls-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;width:100%}.btn-action{border:none;border-radius:18px;padding:12px;font-size:.85rem;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;color:#fff;background-image:linear-gradient(155deg,#ffffff47,#fff0 55%);box-shadow:0 10px 22px -8px var(--btn-glow, rgba(0,0,0,.25)),inset 0 1px #ffffff4d;transition:transform .15s ease,box-shadow .15s ease;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.btn-unknown{background-color:var(--danger);--btn-glow: rgba(239,68,68,.45)}.btn-unsure{background-color:var(--warning);--btn-glow: rgba(245,158,11,.45)}.btn-known{--btn-glow: rgba(16,185,129,.45);background-color:var(--success)}.btn-action:active{transform:scale(.95)}#timer-bar-container{position:absolute;top:70px;left:0;width:100%;height:4px;background:transparent;z-index:90;display:none}#timer-bar{height:100%;width:100%;background:linear-gradient(90deg,#10b981,#f59e0b,#ef4444);transform-origin:left}.hidden{display:none!important;content-visibility:auto}.completion-card{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:2rem}.completion-icon{font-size:4rem;color:var(--success);margin-bottom:1rem}.completion-text{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:var(--text-main)}.completion-sub{font-size:1rem;color:var(--text-muted);margin-bottom:2rem;max-width:90%}#quota-banner{position:fixed;top:0;left:0;width:100%;height:70px;background:#ef4444;color:#fff;z-index:2000;display:none;align-items:center;justify-content:center;flex-direction:column;text-align:center;box-shadow:0 4px 12px #0003}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;z-index:200;opacity:0;pointer-events:none;transition:opacity .3s;content-visibility:auto}.ui-toast-wrap{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:100001;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:min(92vw,420px)}.ui-toast{background:var(--bg-modal, #fff);color:var(--text-main, #0f172a);border:1px solid var(--border-color, #e2e8f0);border-left:4px solid var(--primary, #4f46e5);border-radius:14px;padding:12px 16px;font-size:.9rem;font-weight:600;box-shadow:0 10px 30px #0000002e;pointer-events:auto;animation:uiToastIn .25s ease;width:100%;box-sizing:border-box}.ui-toast.hide{opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}@keyframes uiToastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ui-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:16px;animation:uiToastIn .2s ease}.ui-confirm-overlay .modal{max-width:380px;text-align:center}.ui-confirm-msg{margin:0 0 18px;color:var(--text-main);font-size:.98rem;line-height:1.45;white-space:pre-line}.ui-confirm-actions{display:flex;gap:10px}.ui-confirm-actions button{flex:1;padding:12px;border-radius:12px;border:1px solid var(--border-color);font-weight:700;font-size:.95rem;cursor:pointer}.ui-confirm-cancel{background:var(--bg-card);color:var(--text-main)}.ui-confirm-ok{background:var(--primary);color:#fff;border-color:transparent!important}.ui-confirm-ok.danger{background:var(--danger, #dc2626)}.modal-overlay.open{opacity:1;visibility:visible;pointer-events:all;content-visibility:visible;display:flex!important}.modal{background:var(--bg-modal);border-radius:24px;padding:24px;width:90%;max-width:450px;box-shadow:0 20px 50px #00000026;border:1px solid var(--border-color);position:relative;max-height:85vh;overflow-y:auto;color:var(--text-main)}#modal-settings .modal{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:var(--glass-card-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);backdrop-filter:blur(var(--glass-blur)) saturate(160%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-highlight)}#modal-settings .modal:before,#modal-settings .modal:after{content:"";position:absolute;width:45vmin;height:45vmin;border-radius:50%;filter:blur(50px);pointer-events:none;z-index:0}#modal-settings .modal:before{top:-20%;left:-25%;background:var(--glow-a)}#modal-settings .modal:after{bottom:-25%;right:-20%;background:var(--glow-b)}#modal-settings .modal-header,#modal-settings .settings-card,#modal-settings>.modal>div{position:relative;z-index:1}.settings-card{background:var(--glass-highlight);border:1px solid var(--glass-border);border-radius:16px;padding:4px 14px;margin-bottom:14px}.settings-card-header{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:12px 0 6px}.settings-card .setting-item{border-bottom:1px solid var(--glass-border)}.settings-card .setting-item:last-child{border-bottom:none}.setting-label{font-size:1rem;font-weight:500;color:var(--text-main)}.switch{position:relative;display:inline-block;width:50px;height:28px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--glass-highlight);border:1px solid var(--glass-border);box-shadow:inset 0 1px 3px #00000026;transition:.3s;border-radius:34px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:2px;background:linear-gradient(145deg,#fff,#dcdcdc);transition:.3s;border-radius:50%;box-shadow:0 2px 5px #0000004d}input:checked+.slider{background:linear-gradient(90deg,var(--primary),#a855f7);border-color:transparent;box-shadow:0 0 12px 1px var(--primary),inset 0 1px 3px #0000001a}input:checked+.slider:before{background:#fff;box-shadow:0 2px 6px #00000059;transform:translate(22px)}.headtrack-badge{position:fixed;right:16px;bottom:128px;width:60px;height:60px;z-index:60;filter:drop-shadow(0 4px 14px rgba(0,0,0,.28));transition:opacity .2s}.headtrack-badge.hidden{display:none}.headtrack-badge video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:50%;object-fit:cover;transform:scaleX(-1);background:#111;border:2px solid var(--glass-border)}.headtrack-ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;width:68px;height:68px;transform:rotate(-90deg);pointer-events:none}.headtrack-ring-bg{fill:none;stroke:#ffffff47;stroke-width:2.5}.headtrack-ring-fg{fill:none;stroke:var(--primary);stroke-width:2.5;stroke-dasharray:101;stroke-dashoffset:101;transition:stroke-dashoffset .05s linear,stroke .15s}.headtrack-status{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-size:.62rem;white-space:nowrap;color:var(--text-muted);background:var(--glass-highlight);border:1px solid var(--glass-border);padding:2px 7px;border-radius:8px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:1.4rem;margin:0;color:var(--text-main)}.custom-select{padding:8px 12px;border-radius:12px;border:1px solid var(--border-color);background:transparent;color:var(--text-main);font-size:.9rem;outline:none}.modal input[type=text],.modal input[type=password],.modal input[type=email]{width:100%;padding:12px;border-radius:12px;border:2px solid rgba(0,0,0,.1);background:var(--bg-input);color:var(--text-main);margin-bottom:12px;font-size:1rem;outline:none;transition:border-color .2s}.modal input:focus{border-color:var(--primary)}#modal-login .modal{text-align:center;max-width:350px}.app-footer{margin-top:20px;width:100%;padding:1.5rem .5rem;border-top:1px solid var(--border-color);background:transparent;flex-shrink:0}.designer-credit{display:flex;flex-direction:column;gap:5px}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes namePulse{0%,to{filter:drop-shadow(0 0 4px rgba(139,92,246,.4))}50%{filter:drop-shadow(0 0 10px rgba(239,68,68,.7)) drop-shadow(0 0 20px rgba(139,92,246,.4))}}.designer-names-wrap{display:flex;align-items:center;gap:6px}.designer-name-pill{font-size:1.35rem;font-weight:800;letter-spacing:.3px;white-space:nowrap;background:linear-gradient(90deg,#700000,#630000,#000,#000);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 3s ease infinite,namePulse 3s ease infinite}.designer-link{cursor:pointer}.designer-link:focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:6px}.designer-sep{font-size:.75rem;font-weight:900;background:linear-gradient(90deg,#ef4444,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:.7}.designer-label{font-size:.7rem;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase}.mix-option{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-input);border-radius:12px;margin-bottom:8px;cursor:pointer;transition:.2s;border:1px solid transparent;color:var(--text-main)}.mix-option.selected{border-color:var(--primary);background:#4f46e51a}.mix-checkbox{transform:scale(1.3);accent-color:var(--primary);pointer-events:none}.word-list-container{max-height:250px;overflow-y:auto;margin-top:10px;border-top:1px solid var(--border-color)}.word-list-item{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid var(--border-color);font-size:.9rem;transition:background .15s}.word-list-item:last-child{border-bottom:none}.word-list-item:hover{background:var(--bg-input)}.word-list-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.word-list-text .wl-term{font-weight:700;color:var(--primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.word-list-text .wl-def{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.word-list-actions{display:flex;gap:5px;flex-shrink:0;margin-left:8px}.mini-btn{padding:5px 9px;border-radius:8px;border:none;font-size:.75rem;font-weight:700;cursor:pointer;transition:transform .12s,opacity .12s;white-space:nowrap}.mini-btn:active{transform:scale(.9)}.mini-btn:disabled{opacity:.35;pointer-events:none}.mini-btn-speak{background:var(--bg-input);color:var(--text-muted);border:1px solid var(--border-color)}.mini-btn-green{background:#10b98126;color:#059669;border:1px solid rgba(16,185,129,.3)}.mini-btn-yellow{background:#f59e0b26;color:#b45309;border:1px solid rgba(245,158,11,.3)}.mini-btn-red{background:#ef444426;color:#dc2626;border:1px solid rgba(239,68,68,.3)}.mini-btn-gray{background:#64748b1f;color:var(--text-muted);border:1px solid var(--border-color)}.btn-delete{background:#fee2e2;color:#dc2626}.status-list-modal{height:85vh;display:flex;flex-direction:column;max-width:480px}.sl-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.sl-title-group{display:flex;flex-direction:column;gap:3px}.sl-badge{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:20px}.sl-search{display:flex;align-items:center;gap:8px;background:var(--bg-input);border:1.5px solid var(--border-color);border-radius:12px;padding:9px 13px;margin-bottom:12px;transition:border-color .2s}.sl-search:focus-within{border-color:var(--primary)}.sl-search i{color:var(--text-muted);font-size:1rem}.sl-search input{border:none;background:transparent;color:var(--text-main);font-size:.9rem;outline:none;flex:1}.sl-list{flex:1;overflow-y:auto;border:1px solid var(--border-color);border-radius:14px}.sl-empty{padding:40px 20px;text-align:center;color:var(--text-muted)}.sl-empty i{font-size:2.5rem;display:block;margin-bottom:10px;opacity:.4}.sl-word-row{display:flex;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px solid var(--border-color);transition:background .12s}.sl-word-row:last-child{border-bottom:none}.sl-word-row:hover{background:var(--bg-input)}.sl-word-row.removing{opacity:0;transform:translate(30px);transition:all .3s ease}.sl-word-info{flex:1;min-width:0}.sl-term{font-weight:700;font-size:.92rem;color:var(--text-main)}.sl-def{font-size:.78rem;color:var(--text-muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sl-actions{display:flex;gap:5px;flex-shrink:0}.sl-btn{width:32px;height:32px;min-width:44px;min-height:44px;border-radius:8px;border:none;font-size:.8rem;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.sl-btn:active{transform:scale(.88)}.sl-btn-speak{background:var(--bg-input);color:var(--text-muted);border:1px solid var(--border-color)}.sl-btn-green{background:#10b98126;color:#059669;font-size:.7rem}.sl-btn-yellow{background:#f59e0b26;color:#b45309;font-size:.7rem}.sl-btn-red{background:#ef444426;color:#dc2626;font-size:.7rem}.sl-btn-trash{background:#64748b1a;color:var(--text-muted)}.notification-toast{position:absolute;top:10px;left:50%;transform:translate(-50%);background:var(--success);color:#fff;padding:8px 16px;border-radius:20px;font-weight:600;font-size:.85rem;opacity:0;pointer-events:none;transition:opacity .3s;z-index:1000;box-shadow:0 4px 12px #0000001a}.notification-toast.show{opacity:1;transform:translate(-50%) translateY(5px)}.achievement-toast{position:fixed;top:20px;right:20px;background:var(--bg-card);padding:14px 18px 14px 14px;border-radius:18px;box-shadow:0 12px 48px #00000047,0 0 0 1px var(--border-color);z-index:10000;border-left:5px solid var(--success);animation:slideIn .45s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:row;align-items:center;gap:12px;pointer-events:none;color:var(--text-main);min-width:240px;max-width:320px}.achievement-toast .ach-toast-icon{font-size:2rem;flex-shrink:0;line-height:1}.achievement-toast .ach-toast-body{display:flex;flex-direction:column;gap:2px}.achievement-toast .ach-toast-title{font-weight:800;font-size:.95rem;line-height:1.2}.achievement-toast .ach-toast-desc{font-size:.8rem;color:var(--text-muted);line-height:1.3}.achievement-toast .ach-toast-bar{position:absolute;bottom:0;left:0;height:3px;background:var(--success);border-radius:0 0 18px 18px;animation:achBarShrink 3.6s linear forwards}@keyframes achBarShrink{0%{width:100%}to{width:0%}}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.ach-item{display:flex;justify-content:space-between;padding:10px 12px;border-radius:12px;margin-bottom:6px;align-items:center;background:var(--bg-input);border:1px solid var(--border-color);transition:opacity .2s;gap:10px}.ach-item.locked{opacity:.45;filter:grayscale(.8)}.ach-item .ach-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.ach-item .ach-emoji{font-size:1.5rem;flex-shrink:0;line-height:1}.ach-item .ach-info{flex:1;min-width:0}.ach-item .ach-name{font-weight:700;font-size:.875rem}.ach-item .ach-desc{font-size:.75rem;color:var(--text-muted);margin-top:1px}.ach-item .ach-progress-wrap{height:4px;background:var(--border-color);border-radius:2px;margin-top:5px;overflow:hidden}.ach-item .ach-progress-fill{height:100%;border-radius:2px;background:var(--primary);transition:width .4s ease}.ach-item .ach-badge{font-size:1.1rem;flex-shrink:0}.ach-group-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;margin:14px 0 6px}.ach-icon{font-size:1.5rem;color:var(--warning);margin-right:10px}#fill-view{height:100%;display:flex;flex-direction:column;background:var(--bg-body);position:relative}.fill-game-area{flex:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:15px;padding-bottom:100px;touch-action:pan-y}.fill-sentence-wrapper{background:var(--bg-card);padding:15px;border-radius:16px;box-shadow:var(--shadow);transition:all .3s;display:flex;flex-direction:column;gap:8px;border:1px solid var(--border-color)}.fill-sentence-wrapper.completed{border:2px solid var(--success);background:#10b9810d}.fill-row-content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px}.fill-text-part{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:1.1rem;line-height:1.6;color:var(--text-main)}.fill-translation{width:100%;font-size:.95rem;color:var(--text-muted);padding-top:8px;border-top:1px solid var(--border-color);display:none;font-style:italic}.fill-translation.visible{display:block;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes cardIn{0%{opacity:0;transform:scale(.93) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.btn-show-tr{background:transparent;border:none;color:var(--primary);font-size:1.2rem;cursor:pointer;padding:5px;display:flex;align-items:center;justify-content:center;opacity:.7}.btn-show-tr:hover{opacity:1;background:#0000000d;border-radius:50%}.fill-slot{min-width:80px;height:36px;border-bottom:2px dashed var(--text-muted);display:inline-flex;align-items:center;justify-content:center;margin:0 4px;color:var(--primary);font-weight:700;cursor:pointer;transition:all .2s;background:#00000005;border-radius:6px;padding:0 8px;vertical-align:middle}.fill-slot.filled{border-bottom:2px solid var(--success);color:var(--success);background:var(--bg-card)}.fill-slot.error{animation:shake .4s ease-in-out;border-bottom-color:var(--danger);color:var(--danger)}.fill-slot.highlight{background:#4f46e51a;border-bottom:2px solid var(--primary)}.fill-word-pool{position:absolute;bottom:0;left:0;width:100%;background:var(--bg-card);padding:15px;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:10px;justify-content:center;z-index:50;box-shadow:0 -5px 20px #0000000d}.pool-word-btn{padding:10px 16px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:12px;font-weight:600;cursor:pointer;color:var(--text-main);transition:.2s;-webkit-user-select:none;user-select:none;touch-action:none}.pool-word-btn:active{transform:scale(.95)}.pool-word-btn.selected{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-4px);box-shadow:0 4px 10px #4f46e54d}.pool-word-btn.placed{opacity:0;pointer-events:none;transform:scale(0);width:0;padding:0;margin:0}.pool-word-btn.dragging{opacity:.5;transform:scale(1.1);box-shadow:0 10px 20px #0003;position:fixed;z-index:1000;pointer-events:none}.fill-header{padding:10px 15px;display:flex;justify-content:space-between;align-items:center;color:var(--text-main)}.fill-progress{font-weight:800;color:var(--text-muted);font-size:.9rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:10px}.cal-day{aspect-ratio:1;border-radius:10px;background:var(--glass-highlight);border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:var(--text-muted);position:relative;transition:transform .15s ease}.cal-day.active{background:var(--success);color:#fff;border-color:var(--success);box-shadow:0 4px 12px -2px #10b98180;transform:scale(1.05)}.daily-goal-box{background:var(--bg-input);padding:15px;border-radius:16px;margin:15px 0}.goal-bar-bg{width:100%;height:9px;background:#0000001a;border:1px solid var(--glass-border);border-radius:5px;overflow:hidden;margin-top:8px}.goal-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--success));box-shadow:0 0 10px 0 var(--primary);width:0%;transition:width .5s ease}@keyframes lbSlideIn{0%{opacity:0;transform:translate(-18px) scale(.97)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes lbPodiumPop{0%{opacity:0;transform:scale(.6) translateY(20px)}70%{transform:scale(1.06) translateY(-3px)}to{opacity:1;transform:scale(1) translateY(0)}}#modal-leaderboard .modal{background:var(--glass-card-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);backdrop-filter:blur(var(--glass-blur)) saturate(160%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-highlight);position:relative;overflow:hidden}#modal-leaderboard .modal:before,#modal-leaderboard .modal:after{content:"";position:absolute;width:45vmin;height:45vmin;border-radius:50%;filter:blur(50px);pointer-events:none;z-index:-1}#modal-leaderboard .modal:before{top:-20%;left:-25%;background:var(--glow-a)}#modal-leaderboard .modal:after{bottom:-25%;right:-20%;background:var(--glow-b)}.lb-podium{display:flex;justify-content:center;align-items:flex-end;gap:10px;padding:16px 8px 4px;margin-bottom:12px}.lb-podium-item{display:flex;flex-direction:column;align-items:center;gap:6px;animation:lbPodiumPop .5s cubic-bezier(.34,1.56,.64,1) both}.lb-podium-item:nth-child(1){animation-delay:.15s;order:2}.lb-podium-item:nth-child(2){animation-delay:.05s;order:1}.lb-podium-item:nth-child(3){animation-delay:.25s;order:3}@keyframes lbGoldGlow{0%,to{box-shadow:0 0 #ffd7008c}50%{box-shadow:0 0 14px 4px #ffd70080}}.lb-podium-item:nth-child(1) .lb-podium-avatar{animation:lbGoldGlow 2.2s ease-in-out .6s infinite}.lb-podium-avatar{border-radius:50%;object-fit:cover;border:3px solid;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1rem;color:#fff;background:var(--glass-highlight);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-shrink:0}.lb-podium-name{font-size:.72rem;font-weight:700;text-align:center;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-podium-score{font-size:.78rem;font-weight:800;color:var(--warning)}.lb-podium-stand{border-radius:6px 6px 0 0;width:72px;display:flex;align-items:center;justify-content:center;font-size:1.4rem}.lb-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;margin-bottom:5px;border:1px solid var(--glass-border);background:var(--glass-highlight);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-main);animation:lbSlideIn .32s ease both;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden}.lb-row:hover{transform:translate(4px);box-shadow:0 4px 16px #0000001f}.lb-row.lb-me{border-color:var(--primary);background:#4f46e524}.lb-rank{font-weight:900;font-size:.82rem;min-width:28px;text-align:center;color:var(--text-muted);flex-shrink:0}.lb-user-info{flex:1;display:flex;align-items:center;gap:9px;min-width:0}.lb-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--glass-border);background:var(--bg-input);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.82rem;color:#fff;flex-shrink:0}.lb-name{font-weight:700;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-me-tag{font-size:.62rem;font-weight:700;color:var(--primary);background:#4f46e51f;padding:1px 6px;border-radius:20px;white-space:nowrap}.lb-score-wrap{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.lb-score{font-weight:800;color:var(--warning);font-size:.95rem;font-variant-numeric:tabular-nums}.lb-score-label{font-size:.6rem;color:var(--text-muted);font-weight:600;letter-spacing:.5px}.avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:15px}.avatar-opt{width:100%;aspect-ratio:1;border-radius:50%;border:3px solid transparent;cursor:pointer;object-fit:cover;transition:.2s}.avatar-opt:hover{transform:scale(1.1)}.avatar-opt.selected{border-color:var(--primary);transform:scale(1.1)}.profile-actions{display:flex;gap:10px;margin-top:10px}.btn-upload-file{flex:1;padding:12px;border:1px solid var(--border-color);background:var(--bg-input);border-radius:12px;cursor:pointer;font-weight:600;color:var(--text-muted);display:flex;align-items:center;justify-content:center;gap:6px}.btn-upload-file:hover{background:#0000000d;color:var(--primary)}#chat-view{height:100%;display:flex;flex-direction:column;background:var(--bg-body);position:relative}#chat-view{display:flex;flex-direction:column;height:100%;background:var(--bg-body)}.chat-header{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);background:var(--bg-card);box-shadow:0 2px 12px #0000000f}.chat-ai-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#7c3aed);display:flex;align-items:center;justify-content:center;font-size:1.3rem;position:relative;flex-shrink:0}.chat-ai-dot{width:11px;height:11px;border-radius:50%;background:#10b981;border:2px solid var(--bg-card);position:absolute;bottom:1px;right:1px;animation:dotPulse 2.5s infinite}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}.chat-messages{flex:1;overflow-y:auto;padding:18px 14px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}.chat-msg{max-width:82%;padding:11px 15px;border-radius:18px;font-size:.93rem;line-height:1.55;animation:msgIn .22s ease}@keyframes msgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.msg-user{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:5px;box-shadow:0 3px 12px #4f46e540}.msg-ai{align-self:flex-start;background:var(--bg-card);color:var(--text-main);border-bottom-left-radius:5px;border:1px solid var(--border-color);box-shadow:0 2px 8px #0000000a}.typing-indicator{display:none;align-self:flex-start;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:18px 18px 18px 5px;animation:msgIn .22s ease;margin:0 14px}.typing-dots{display:flex;gap:5px;align-items:center}.typing-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);opacity:.5;animation:bounce 1.3s infinite}.typing-dot:nth-child(2){animation-delay:.18s}.typing-dot:nth-child(3){animation-delay:.36s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-7px);opacity:1}}.chat-suggestions{display:flex;flex-wrap:wrap;gap:7px;padding:10px 14px;background:var(--bg-card);border-top:1px solid var(--border-color)}.chat-chip{padding:7px 13px;border-radius:20px;background:var(--bg-input);border:1.5px solid var(--border-color);color:var(--text-main);font-size:.78rem;font-weight:600;cursor:pointer;transition:.15s;white-space:nowrap}.chat-chip:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.03)}.chat-input-area{padding:10px 12px;background:var(--bg-card);border-top:1px solid var(--border-color);display:flex;gap:8px;align-items:center}.chat-input{flex:1;padding:12px 16px;border-radius:24px;border:1.5px solid var(--border-color);background:var(--bg-input);color:var(--text-main);font-size:.93rem;transition:border-color .2s}.chat-input:focus{border-color:var(--primary);outline:none}.btn-send-chat{width:46px;height:46px;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,var(--primary),#7c3aed);color:#fff;border:none;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #4f46e559;transition:transform .15s}.btn-send-chat:active{transform:scale(.9)}.btn-send-chat:disabled{opacity:.5}.btn-voice-chat{width:40px;height:40px;flex-shrink:0;border-radius:50%;background:var(--bg-input);border:1.5px solid var(--border-color);color:var(--text-muted);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-voice-chat:hover{border-color:var(--primary);color:var(--primary)}.btn-voice-chat.voice-active{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:transparent;color:#fff;box-shadow:0 0 0 4px #ef444433;animation:voicePulse 1.5s infinite}@keyframes voicePulse{0%,to{box-shadow:0 0 0 4px #ef444433}50%{box-shadow:0 0 0 8px #ef444414}}.msg-voice-user{border-left:3px solid rgba(239,68,68,.6)}.msg-voice-ai{border-left:3px solid rgba(14,165,233,.6)}.stats-modal{max-width:430px;padding:22px!important;background:var(--glass-card-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);backdrop-filter:blur(var(--glass-blur)) saturate(160%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-highlight);position:relative;overflow:hidden}.stats-modal:before,.stats-modal:after{content:"";position:absolute;width:45vmin;height:45vmin;border-radius:50%;filter:blur(50px);pointer-events:none;z-index:-1}.stats-modal:before{top:-20%;left:-25%;background:var(--glow-a)}.stats-modal:after{bottom:-25%;right:-20%;background:var(--glow-b)}.stat-goal-card{background:var(--glass-highlight);border-radius:16px;padding:16px;margin-bottom:16px;border:1px solid var(--glass-border)}.stat-cards-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:18px}.stat-card{border-radius:14px;padding:14px 8px;text-align:center;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-3px)}.stat-card-green{border-color:#10b98159;background:#10b9811f}.stat-card-red{border-color:#ef444459;background:#ef44441f}.stat-card-yellow{border-color:#f59e0b59;background:#f59e0b1f}.stat-card-green:hover{box-shadow:0 10px 20px -10px #10b98180}.stat-card-red:hover{box-shadow:0 10px 20px -10px #ef444480}.stat-card-yellow:hover{box-shadow:0 10px 20px -10px #f59e0b80}.stat-card-num{font-size:1.9rem;font-weight:900;line-height:1.1}.stat-card-green .stat-card-num{color:var(--success)}.stat-card-red .stat-card-num{color:var(--danger)}.stat-card-yellow .stat-card-num{color:var(--warning)}.stat-card-lbl{font-size:.7rem;font-weight:700;color:var(--text-muted);margin-top:5px}.legend-row{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;background:var(--glass-highlight);border:1px solid var(--glass-border);padding:7px 10px;border-radius:12px}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}@keyframes statsRingPop{0%{transform:scale(.75);opacity:0;box-shadow:0 0 0 0 var(--glow-a)}55%{transform:scale(1.06);opacity:1}to{transform:scale(1);opacity:1;box-shadow:0 0 0 14px #0000}}#pie-chart.pop-in{animation:statsRingPop .7s cubic-bezier(.34,1.4,.64,1)}.auth-divider{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--text-muted);font-size:.82rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.btn-social{width:100%;padding:11px 14px;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .15s;margin-bottom:8px}.btn-social:hover{background:var(--bg-input)}.btn-social svg{flex-shrink:0}.auth-link{color:var(--primary);cursor:pointer;font-size:.82rem;font-weight:600;background:none;border:none;padding:0;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-bottom{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.blur-click{filter:blur(6px);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .3s ease;background:#0000000d;border-radius:4px;padding:2px 5px}.blur-click.revealed{filter:blur(0);background:transparent;cursor:text;-webkit-user-select:text;user-select:text}.btn-action.long-press-active{transform:scale(.9);filter:brightness(.8)}.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:15px}.theme-option{padding:14px;border-radius:16px;cursor:pointer;border:2px solid transparent;display:flex;align-items:stretch;gap:10px;transition:transform .2s,box-shadow .2s,border-color .2s;font-weight:600;min-height:80px;position:relative;overflow:hidden}.theme-option:after{content:"";position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.3);display:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat}.theme-option.active:after{display:block;background-color:#ffffff4d}.theme-option:hover{transform:scale(1.03);box-shadow:0 8px 24px #0003}.theme-option.active{border-color:#fff;box-shadow:0 0 0 3px #ffffff4d}.theme-recommended-badge{align-self:flex-start;font-size:.55rem;font-weight:800;letter-spacing:.3px;text-transform:uppercase;background:linear-gradient(90deg,#8b5cf6,#ec4899);color:#fff;padding:2px 6px;border-radius:8px;box-shadow:0 2px 6px #0000004d;margin-bottom:2px}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-color)}.setting-item:last-of-type{border-bottom:none}@media (max-width: 380px){.level-grid{gap:10px}.level-card{padding:1.1rem .8rem}.level-title{font-size:1.2rem}.achievement-toast{right:8px;left:8px;max-width:calc(100vw - 16px);min-width:0}}@media (max-width: 360px){header{padding:0 .75rem}.streak-badge{padding:6px 10px;font-size:.78rem}.controls-grid{gap:6px}.btn-action{font-size:.78rem;padding:10px 6px}}@media (max-width: 600px){.brand-area{gap:0;min-width:0}.header-actions{gap:4px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.header-actions::-webkit-scrollbar{display:none}.icon-btn{width:36px;height:36px;border-radius:10px;flex-shrink:0}.icon-btn i{font-size:1.1rem}.user-badge span{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.user-badge{padding:4px 8px;border-radius:50px}.streak-badge{padding:5px 9px;font-size:.78rem;flex-shrink:0}}.brand-text{font-family:"Syne",var(--font-family)!important;font-weight:400!important;font-size:1.1rem!important;letter-spacing:.3px;background:linear-gradient(135deg,#dc2626,#000);background-size:300% 300%;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;animation:gradientShift 3s ease infinite,namePulse 3s ease infinite}.user-badge span{font-family:"Syne",var(--font-family);font-weight:700;font-size:.88rem}@media (min-width: 480px){.level-grid{max-width:440px;gap:16px}}.achievement-toast{max-width:min(320px,calc(100vw - 16px));right:8px}
