:root{color-scheme:dark;--bg: #0f1226;--panel: #1a1f3a;--panel-2: #232a4d;--text: #eef1ff;--muted: #a6add6;--accent: #ffcf5c;--accent-2: #4cc2ff;--good: #46d17f;--border: #333c66;--radius: 12px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);overflow:hidden;-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:auto;user-select:auto}.sel{position:relative;display:inline-flex}.sel-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;width:100%;font-family:inherit;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:14px;cursor:pointer}@media (hover: hover){.sel-btn:hover{border-color:var(--accent)}}.sel-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sel-arrow{flex:0 0 auto;font-size:10px;color:var(--muted)}.sel-pop{position:absolute;top:calc(100% + 4px);left:0;z-index:70;min-width:100%;overflow:hidden;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px #00000080}.sel-list{margin:0;padding:4px;list-style:none;max-height:46vh;overflow-y:auto;overscroll-behavior:contain}.sel-pop.up{top:auto;bottom:calc(100% + 4px)}.sel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0608148c}.sel .sel-pop.sheet{position:fixed;top:50%;left:50%;right:auto;bottom:auto;z-index:91;transform:translate(-50%,-50%);width:max-content;min-width:0;max-width:90vw;border-color:#2c3170;border-radius:14px}.sel-sheet-title{padding:12px 14px 8px;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.sel-more{position:absolute;left:0;right:0;bottom:0;height:26px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:2px;pointer-events:none;font-size:11px;color:var(--accent-2);background:linear-gradient(to bottom,rgba(26,31,58,0),var(--panel) 78%)}.sel-opt{display:block;width:100%;text-align:left;white-space:nowrap;padding:9px 12px;border:0;border-radius:8px;font-family:inherit;background:none;color:var(--text);font-size:14px;cursor:pointer}@media (hover: hover){.sel-opt:hover:not(:disabled){background:var(--panel-2)}}.sel-opt.active{color:var(--accent-2);font-weight:700}.sel-opt:disabled{opacity:.45;cursor:default}.center-msg{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--muted);line-height:1.6}.center-msg code{color:var(--accent)}.center-msg.load-error{flex-direction:column;gap:4px}.center-msg.load-error p{margin:0}.center-msg.load-error .primary-btn{margin-top:12px}.app{height:100%;display:flex;flex-direction:column;gap:6px;padding:6px}.checkbox-field{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer}.checkbox-field input{width:16px;height:16px;cursor:pointer;accent-color:var(--good)}.main-row{flex:1 1 auto;min-height:0;display:flex;gap:6px}.side-stats{flex:0 0 auto;width:160px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:8px;display:flex;flex-direction:column;gap:2px}.side-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.side-stats .checkbox-field{margin-left:0;white-space:normal;align-items:flex-start;padding:2px 8px;line-height:1.35}.side-stats .checkbox-field input{margin-top:1px;flex:0 0 auto}.side-loc-select{width:100%;display:flex}.side-loc-select .sel-btn{border-radius:8px;padding:8px;font-size:16px;font-weight:800}.side-loc-select .sel-pop{left:auto;right:0}.side-scene{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 0}.side-scene-select{min-width:74px}.side-scene-select .sel-btn{border-radius:8px;padding:4px 6px;font-size:13px}.side-scene-select .sel-pop{left:auto;right:0}.side-divider{height:1px;background:var(--border);margin:10px 0 2px}.side-stat{display:flex;flex-direction:column;gap:1px;padding:7px 8px;border-radius:8px}.side-stat+.side-stat{border-top:1px solid var(--border);border-radius:0}.side-where,.side-rows{display:flex;flex-direction:column;gap:2px}.side-stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.side-stat-value{font-size:14px;font-weight:800;color:var(--text)}.side-zoom{margin-top:auto;padding-top:10px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:4px}.side-zoom button{width:32px;height:30px;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:15px;line-height:1;cursor:pointer}@media (hover: hover){.side-zoom button:hover:not(:disabled){border-color:var(--accent-2)}}.side-zoom button:disabled{opacity:.4;cursor:default}.zoom-label{font-size:12px;color:var(--muted);min-width:40px;text-align:center}.settings{position:relative}.settings-btn{width:40px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:16px;line-height:1;cursor:pointer}.settings-btn.open{border-color:var(--accent-2)}@media (hover: hover){.settings-btn:hover{border-color:var(--accent-2)}}.settings-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:min(380px,calc(100vw - 24px));max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;background:#181b3c;color:#e6e8ff;border:1px solid #2c3170;border-radius:16px;box-shadow:0 24px 60px #00000080;text-align:left}.sm-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #262a5c}.sm-avatar{width:40px;height:40px;flex:none;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;background:#2b3480;font-size:17px;font-weight:700}.sm-head-guest{justify-content:center}.sm-who{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sm-name,.sm-email{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sm-name{font-size:15px;font-weight:600}.sm-email{font-size:13px;color:#9aa0d0}.sm-logout{flex:none;height:34px;padding:0 12px;border-radius:8px;border:1px solid #2c3170;background:transparent;color:#c8ccf0;font-family:inherit;font-size:13px;cursor:pointer}@media (hover: hover){.sm-logout:hover{background:#22265a}}.sm-sec{display:flex;flex-direction:column;gap:12px;padding:14px 18px;border-bottom:1px solid #262a5c}.sm-title{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#7d84bf}.sm-title-center{text-align:center}.sm-langs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:8px}.sm-field{display:flex;flex-direction:column;gap:4px;min-width:0}.sm-label{font-size:12px;color:#9aa0d0}.sm-swap{height:38px;display:flex;align-items:center;color:#7d84bf;font-size:16px}.settings-menu .sel{width:100%}.settings-menu .sel-btn{height:38px;padding:0 10px;border-radius:9px;background:#11132e;border-color:#2c3170;color:#e6e8ff;font-size:14px}.sm-inline{display:flex;gap:8px}.sm-input{flex:1;min-width:0;height:38px;padding:0 10px;border-radius:9px;border:1px solid #2c3170;background:#11132e;color:#e6e8ff;font-family:inherit;font-size:14px}.sm-input:focus{outline:none;border-color:#5b8cff}.sm-primary{height:38px;padding:0 14px;border-radius:9px;border:0;background:#5b8cff;color:#fff;font-family:inherit;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}.sm-primary:disabled{background:#2a2f63;cursor:default}.sm-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px}.sm-row-label{font-size:14px;color:#c8ccf0}.sm-seg{display:flex;gap:2px;padding:3px;background:#11132e;border:1px solid #2c3170;border-radius:9px}.sm-seg button{height:30px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:#e6e8ff;font-family:inherit;font-size:13px;white-space:nowrap;cursor:pointer}.sm-seg button.on{background:#2b3480}@media (hover: hover){.sm-seg button:not(.on):hover{background:#1c2048}}.sm-link{align-self:flex-start;padding:0;border:0;background:none;color:#5cc8f5;font-family:inherit;font-size:14px;text-align:left;cursor:pointer}@media (hover: hover){.sm-link:hover{color:#8ad9fb}}.sm-note{font-size:13px;color:#9aa0d0}.sm-note b{color:#e6e8ff;font-weight:600}.sm-list{display:flex;flex-direction:column;padding:6px 8px;border-bottom:1px solid #262a5c}.sm-item{min-height:40px;padding:0 10px;border:0;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:transparent;color:#e6e8ff;font-family:inherit;font-size:14px;text-align:left;cursor:pointer}@media (hover: hover){.sm-item:hover:not(:disabled):not(.sm-status){background:#22265a}.sm-item.sm-danger:hover{background:#2a1c3a}}.sm-item:disabled{opacity:.6;cursor:default}.sm-chev{color:#7d84bf}.sm-danger{color:#f87171}.sm-status{color:var(--good);cursor:default}.sm-msg-bad{padding:0 10px 8px;font-size:13px;color:#ff8a8a}.sm-promo .settings-promo{border-top:0;padding:2px 10px 10px;gap:8px}.sm-promo .settings-promo>label{display:none}.sm-promo .settings-name-row{gap:8px}.sm-promo .settings-name-input{height:38px;padding:0 10px;border-radius:9px;border-color:#2c3170;background:#11132e}.sm-promo .settings-name-input:focus{border-color:#5b8cff}.sm-promo .settings-name-save,.sm-promo .settings-name-save:disabled{height:38px;padding:0 14px;border-radius:9px;border:1px solid #facc15;background:transparent;color:#facc15;font-size:14px;font-weight:600}.sm-col{display:flex;flex-direction:column;min-width:0}.settings-menu>.sm-col:last-child>:last-child{border-bottom:0}.settings-menu.sm-wide{display:grid;grid-auto-flow:column;grid-auto-columns:auto;width:max-content}.sm-wide .sm-avatar{display:none}.sm-wide .sm-who{max-width:130px}.sm-wide .sm-row{flex-direction:column;align-items:stretch;gap:6px}.sm-wide .sm-note{max-width:210px}.sm-wide .sm-promo{max-width:240px}.sm-wide .sm-langs .sel-btn,.sm-wide .sm-seg button{min-width:max-content}.sm-wide .sm-input{width:8em}.sm-wide .sm-col+.sm-col{border-left:1px solid #262a5c}.sm-wide .sm-col>:last-child{border-bottom:0}.sm-wide .sm-head{padding:12px 14px}.sm-wide .sm-sec{padding:12px 14px;gap:10px}.sm-wide .sm-list{padding:6px}.sm-wide .sm-langs{display:flex;flex-direction:column;align-items:stretch;gap:8px}.sm-wide .sm-swap{display:none}.sm-wide .sm-langs .sm-field{flex-direction:row;align-items:center;gap:10px}.sm-wide .sm-langs .sm-label{flex:none;width:64px}.sm-wide .sm-langs .sel{flex:1 0 auto;width:auto}.sm-wide .sm-seg{align-self:stretch}.sm-wide .sm-seg button{flex:1 1 auto;min-width:0;padding:0 6px;overflow:hidden;text-overflow:ellipsis}@media (max-width: 720px){.sm-wide .sm-seg button{font-size:12px}}.stage-area{position:relative;flex:1 1 auto;min-height:0;min-width:0;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.scene-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.scene-viewport{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:auto}.scene-viewport.zoomed{cursor:grab}.scene-viewport.zoomed:active{cursor:grabbing}.scene-stage{position:relative;margin:auto;flex:0 0 auto}.scene-image{display:block;width:100%;height:100%;-webkit-user-drag:none;transition:filter .3s ease}.scene-image.dim{filter:grayscale(1) brightness(.82)}.scene-image.paused{filter:grayscale(1) brightness(.7)}.scene-color-patch{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;-webkit-user-drag:none}.hotspots{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.hotspot{position:absolute;border-radius:6px;transition:box-shadow .45s ease,background-color .45s ease}.hotspot.highlight{box-shadow:inset 0 0 0 3px #ff4d4d,0 0 16px #ff4d4db3}.hotspot.just-found{box-shadow:inset 0 0 0 2px var(--good);background-color:#46d17f38}.hotspot-check{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 3px;background:#0c1c10b8;border-radius:999px;color:var(--good);font-weight:800;font-size:13px;line-height:1;box-shadow:0 1px 3px #00000080;pointer-events:none}@keyframes check-pop{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}55%{transform:translate(-50%,-50%) scale(1.35);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.hotspot-check.pop{animation:check-pop .45s cubic-bezier(.2,.9,.3,1.3);box-shadow:0 0 0 2px #46d17f80,0 2px 8px #00000080}.scene-toast{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:6;pointer-events:none;background:#141830f2;color:var(--text);border:1px solid var(--accent-2);border-radius:10px;padding:10px 18px;font-size:15px;font-weight:600;box-shadow:0 6px 20px #00000073;animation:toast-in .18s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.scene-done{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0a0c1c8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes done-pop{0%{transform:scale(.82);opacity:0}60%{transform:scale(1.04);opacity:1}to{transform:scale(1);opacity:1}}.scene-done-inner{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px 28px;text-align:center;animation:done-pop .45s cubic-bezier(.2,.9,.3,1.3)}.scene-done-title{font-size:20px;margin-bottom:14px}.primary-btn{background:var(--accent);color:#241c00;border:none;border-radius:10px;padding:12px 18px;font-size:15px;font-weight:700;cursor:pointer}@media (hover: hover){.primary-btn:hover{filter:brightness(1.05)}}.card-queue{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.card{position:relative;background:var(--panel);border:2px solid var(--border);border-radius:var(--radius);padding:8px;min-height:92px;display:flex;flex-direction:column;cursor:default;transition:border-color .12s,transform .12s}.card .icon-btn,.card .arrow-btn{cursor:default}@keyframes card-celebrate{0%{transform:scale(1);box-shadow:0 0 #46d17fa6;opacity:1}24%{transform:scale(1.06);box-shadow:0 0 0 10px #46d17f33;opacity:1}55%{transform:scale(1.02);box-shadow:0 0 0 20px #46d17f00;opacity:1}to{transform:scale(.82);opacity:0}}.card.celebrate{animation:card-celebrate 2.5s cubic-bezier(.2,.8,.3,1) forwards;border-color:var(--good);pointer-events:none}.card-celebrate{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;background:#46d17f2e;border-radius:var(--radius);pointer-events:none}@keyframes card-check-pop{0%{transform:scale(.3) rotate(-12deg);opacity:0}55%{transform:scale(1.3) rotate(4deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.card-celebrate-check{font-size:42px;font-weight:900;color:var(--good);text-shadow:0 2px 12px rgba(0,0,0,.55);animation:card-check-pop 1.2s cubic-bezier(.2,.9,.3,1.4)}@media (hover: hover){.card:hover{border-color:var(--muted)}}.card.active{border-color:var(--accent-2);box-shadow:0 0 0 3px #4cc2ff40}.card-face{position:relative;flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:52px;overflow:hidden;padding:6px 8px}.card-word{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:clamp(15px,2.2vw,22px);font-weight:700;text-align:center;line-height:1.15;overflow-wrap:normal;word-break:normal}.card-word.hyphenate{-webkit-hyphens:auto;hyphens:auto}.card-word.breakall{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.card.crowded .arrow-btn{display:none}.card-word.known{color:var(--accent)}.card-crop-wrap{width:100%;height:100%;min-height:52px;display:flex;align-items:center;justify-content:center}.card-crop{border-radius:6px;background-color:#000;max-width:100%;max-height:100%}.icon-btn{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;width:34px;height:30px;font-size:15px;cursor:pointer}@media (hover: hover){.icon-btn:hover{background:var(--border)}}.icon-speak{position:absolute;top:6px;left:6px;z-index:2}.icon-hint{position:absolute;top:6px;right:6px;z-index:2}.icon-info{position:absolute;top:6px;left:44px;z-index:2}.arrow-btn{position:absolute;bottom:6px;z-index:2;width:34px;height:26px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:16px;line-height:1;cursor:pointer}@media (hover: hover){.arrow-btn:hover{background:var(--border)}}.arrow-left{left:6px}.arrow-right{right:6px}@keyframes eye-blink{0%,49%{box-shadow:0 0 0 2px #ff4d4d,0 0 10px #ff4d4de6;border-color:#ff4d4d;background:#ff4d4d47}50%,to{box-shadow:none;background:var(--panel-2)}}.icon-hint.blink{animation:eye-blink 7.2s steps(1,end) infinite}@keyframes eye-blink-fab{0%,49%{box-shadow:0 0 0 2px #ff4d4d,0 0 10px #ff4d4de6;border-color:#ff4d4d;background:#ff4d4d52}50%,to{box-shadow:none}}.m-cardctl-btn.blink{animation:eye-blink-fab 7.2s steps(1,end) infinite}.stats-screen{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px}.stats-screen h1{font-size:24px;text-align:center}.home-btn.stats-home{align-self:flex-start;font-size:15px;padding:10px 16px;color:var(--text)}.stats-table{border-collapse:collapse;min-width:320px}.stats-table th,.stats-table td{border:1px solid var(--border);padding:8px 16px;text-align:center}.stats-table thead th{background:var(--panel-2)}.stats-table tfoot td{background:var(--panel-2);font-weight:700}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#080a16b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.word-modal{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:24px 28px 22px;max-width:90%;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 12px 40px #00000080}.modal-close{position:absolute;top:8px;right:10px;width:30px;height:30px;border-radius:8px;background:var(--panel-2);color:var(--muted);border:1px solid var(--border);cursor:pointer;font-size:14px}@media (hover: hover){.modal-close:hover{color:var(--text)}}.about-modal .about-head{position:sticky;top:-26px;z-index:3;margin:-26px -30px 8px;padding:12px 14px 8px;display:flex;justify-content:flex-end;background:var(--panel);border-radius:16px 16px 0 0}.about-modal .about-head .modal-close{position:static}.about-modal.about-text{display:flex;flex-direction:column;overflow:hidden;padding:0}.about-text .about-head{position:relative;top:auto;flex:none;margin:0;justify-content:center;align-items:center;height:50px;padding:0 14px}.about-text .about-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 30px 26px;scrollbar-width:none}.about-text .about-body::-webkit-scrollbar{display:none}.about-scrollbar{position:absolute;right:5px;width:4px;border-radius:2px;background:#ffffff80;pointer-events:none}.about-text .about-head .about-title{margin:0;padding:0 48px;text-align:center;line-height:1.25}.about-text .about-head .modal-close{position:absolute;top:10px;right:10px}.word-modal .modal-close{top:10px}.wm-speak{position:absolute;top:10px;left:10px;width:30px;height:30px;border-radius:8px;padding:0;background:var(--panel-2);color:var(--text);border:1px solid var(--border);cursor:pointer;font-size:15px;line-height:1}@media (hover: hover){.wm-speak:hover{background:var(--border)}}.word-modal{--wm-btn: 30px;--wm-pad: 28px}.wm-image{display:flex;align-items:center;justify-content:center;margin:0 max(0px,calc(var(--wm-btn) + 16px - var(--wm-pad)))}.wm-crop{border-radius:10px;background-color:#000}.wm-word{font-size:26px;font-weight:800;text-align:center}.wm-translation{font-size:20px;color:var(--accent);font-weight:700;text-align:center}.wm-learned{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;cursor:pointer;font-size:14px;color:var(--text);background:var(--panel-2)}.wm-learned input{width:18px;height:18px;cursor:pointer;accent-color:var(--good)}.home{height:100%;overflow:auto;padding:24px clamp(16px,5vw,48px);display:flex;flex-direction:column;gap:18px}.home-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.home-title{font-size:clamp(20px,3vw,30px);margin:0}.home-lang{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.home-lang-icon{font-size:16px;line-height:1}.home-lang select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:14px;cursor:pointer}@media (hover: hover){.home-lang select:hover{border-color:var(--accent)}}.home-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;background:var(--panel);border:1px solid var(--border);border-radius:14px}.about-btn{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:9px 16px;font-size:14px;cursor:pointer}@media (hover: hover){.about-btn:hover{border-color:var(--accent);color:var(--accent)}}.buy-full-btn{margin-left:auto;font-weight:700;color:var(--accent);border-color:var(--accent)}@media (hover: hover){.buy-full-btn:hover{background:var(--accent);color:#1a1500}}.home-sub{font-size:15px;color:var(--muted);font-weight:600;margin:0}.loc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.loc-tile{position:relative;aspect-ratio:4 / 3;border:1px solid var(--border);border-radius:16px;background:var(--panel-2) center / cover no-repeat;cursor:pointer;overflow:hidden;padding:0;transition:transform .12s,box-shadow .12s,border-color .12s}@media (hover: hover){.loc-tile:hover{transform:translateY(-3px);border-color:var(--accent-2);box-shadow:0 10px 26px #0006}}.loc-tile-overlay{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;background:linear-gradient(to top,rgba(6,8,20,.92),rgba(6,8,20,.55) 55%,transparent);text-align:left}.loc-tile-name{font-size:22px;font-weight:800;color:#fff}.loc-tile-count{font-size:13px;color:#ffffffbf}.home-btn{background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer;white-space:nowrap}@media (hover: hover){.home-btn:hover{color:var(--text);border-color:var(--muted)}}.about-fixed{position:fixed;z-index:50}.about-modal{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:26px 30px;max-width:640px;max-height:85vh;overflow:auto;box-shadow:0 12px 40px #00000080}.about-title{margin:0 0 12px;font-size:24px}.about-p{margin:0 0 12px;line-height:1.6;color:var(--text)}.about-list{margin:0 0 14px;padding:0 0 0 20px}.about-item{margin:0 0 8px;line-height:1.5;color:var(--text)}.about-item-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.about-term{font-weight:600}.about-value{font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}.about-note{font-size:13px;font-weight:700}.about-note-good{color:var(--good)}.about-note-warn{color:var(--accent-2)}.about-examples{display:block;margin-top:2px;font-size:13px;color:var(--muted);font-style:italic}.about-callout{margin:0 0 12px;padding:12px 14px;line-height:1.6;background:var(--panel-2);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;color:var(--text)}.home-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.auth-btn{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:8px 14px;font-size:14px;cursor:pointer;white-space:nowrap}@media (hover: hover){.auth-btn:hover{border-color:var(--muted)}}.auth-btn.primary{border-color:var(--accent-2);color:var(--accent-2)}@media (hover: hover){.auth-btn.primary:hover{background:#4cc2ff1f}}.reset-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px;margin-bottom:4px;background:var(--panel);border:1px solid #ff8a8a;border-radius:14px}.reset-bar-text{display:flex;flex-direction:column;gap:2px;min-width:0}.reset-bar-text strong{font-size:15px}.reset-bar-text span{font-size:13px;color:var(--muted)}.reset-bar-text .reset-bar-note{color:#ffc861}.reset-bar-actions{display:flex;gap:8px;flex-wrap:wrap}.reset-apply,.reset-cancel{padding:9px 16px;border-radius:10px;font-size:14px;cursor:pointer;font-family:inherit}.reset-apply{background:#ff6b6b;color:#fff;border:1px solid #ff6b6b;font-weight:700}@media (hover: hover){.reset-apply:hover:not(:disabled){background:#ff5252}}.reset-apply:disabled{opacity:.45;cursor:default}.reset-cancel{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}@media (hover: hover){.reset-cancel:hover{border-color:var(--muted)}}.loc-tile-resetall{border-color:#ff8a8a}.loc-tile-top{position:absolute;top:0;left:0;right:0;z-index:2;padding:14px 16px;text-align:left;font-size:22px;font-weight:800;line-height:1.15;color:#ff8a8a;background:linear-gradient(to bottom,rgba(6,8,20,.85),transparent)}.loc-tile-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:center / cover no-repeat}.loc-tile.locked .loc-tile-bg{filter:grayscale(1) brightness(.5)}.loc-tile.locked .loc-tile-overlay{opacity:.75}.loc-tile-random.locked .loc-tile-dice{filter:grayscale(1) brightness(.6)}.loc-tile-random.locked{background:linear-gradient(135deg,#a0a0a024,#a0a0a00f),var(--panel-2);border-color:var(--border)}.loc-tile-lock{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;font-size:42px;line-height:1;filter:drop-shadow(0 3px 8px rgba(0,0,0,.75))}.full-modal .about-title{text-align:center;padding:0 40px;margin-bottom:2px}.full-once{margin:0 0 12px;text-align:center;font-size:15px;color:var(--muted)}.full-modal .full-list{margin:0 0 14px;padding-left:20px;display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:1.45}.full-modal .settings-promo{border-top:1px solid var(--border);margin-top:12px}.full-note{font-size:12px;color:var(--muted);line-height:1.4}.promo-auth{margin-top:4px}.buy-btn{display:block;width:100%;margin:4px 0 8px;font-size:16px}.buy-restore{display:block;width:100%;padding:9px 12px;border-radius:10px;font-size:14px;background:transparent;color:var(--accent-2);border:1px solid var(--border);cursor:pointer;font-family:inherit}.buy-restore:disabled{opacity:.5;cursor:default}@media (hover: hover){.buy-restore:hover:not(:disabled){border-color:var(--accent-2)}}.buy-signin{display:flex;flex-direction:column;gap:8px;align-items:flex-start;border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.buy-signin>.auth-btn{align-self:center;width:50%;min-width:max-content}.full-modal .settings-auth{margin-top:14px}@media (max-height: 520px){.full-modal{padding:16px 20px}.full-modal .about-title{font-size:20px;margin-bottom:2px}.full-once{margin-bottom:8px;font-size:14px}.full-modal .about-p{margin-bottom:8px;line-height:1.45}.full-modal .full-list{gap:2px;margin-bottom:12px}.full-modal .settings-promo{margin-top:8px;padding-top:8px}.full-modal .settings-auth{margin-top:10px;padding-top:8px}}.settings-promo{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border);padding-top:10px}.settings-promo label{font-size:13px;color:var(--muted)}.settings-pro{font-size:13px;color:var(--good)}.settings-promo-bad{font-size:13px;color:#ff8a8a}.loc-tile.noprogress{filter:grayscale(1);opacity:.45;cursor:default}@media (hover: hover){.loc-tile.noprogress:hover{transform:none;border-color:var(--border);box-shadow:none}}.loc-tile.picking{cursor:pointer}.loc-tile-check{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;z-index:2;display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:900;line-height:1;color:#fff;background:#080a168c;border:3px solid #fff;border-radius:14px}.loc-tile.checked .loc-tile-check{background:var(--good);border-color:var(--good)}.loc-tile.checked{outline:3px solid var(--good);outline-offset:-3px}.home-legal{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px;padding-top:14px;border-top:1px solid var(--border);font-size:13px;color:var(--muted)}.home-legal a{color:var(--muted);text-decoration:none}@media (hover: hover){.home-legal a:hover{color:var(--accent-2);text-decoration:underline}}.save-modal{text-align:center}.save-modal .about-title{font-size:20px;padding:0 34px}.save-modal .about-p{font-size:14px}.save-actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}.save-later{padding:8px 14px;border-radius:10px;cursor:pointer;background:var(--panel-2);color:var(--text);border:1px solid var(--border);font-size:14px}@media (hover: hover){.save-later:hover{border-color:var(--muted)}}.save-dontshow{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:13px;color:var(--muted);cursor:pointer}.save-dontshow input{width:16px;height:16px;cursor:pointer;accent-color:var(--accent-2)}.auth-modal{text-align:center}.auth-modal .about-title{font-size:20px;padding:0 34px}.auth-choices{display:flex;flex-direction:column;gap:10px;margin-top:14px}.auth-choice{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;font-size:15px;font-weight:600;cursor:pointer;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);color:var(--text)}.auth-mark{height:17px;width:auto;flex:0 0 auto}.auth-choice:disabled{opacity:.6;cursor:default}.auth-error{margin:12px 0 0;font-size:13px;line-height:1.4;color:#ff8a8a;overflow-wrap:anywhere}.auth-choice.google{border-color:var(--accent-2);color:var(--accent-2)}@media (hover: hover){.auth-choice.google:hover{background:#4cc2ff1f}}.auth-choice.apple{background:#000;color:#fff;border-color:#000}@media (hover: hover){.auth-choice.apple:hover{background:#111}}.auth-chip{display:flex;align-items:center;gap:8px}.auth-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}.auth-name{font-size:13px;color:var(--muted);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-only{padding:0;width:36px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1}.overlay-back{position:absolute;top:10px;left:10px;z-index:6;background:#0f1226d9;border:1px solid var(--border);border-radius:8px;color:var(--text);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (hover: hover){.overlay-back:hover{border-color:var(--muted)}}.overlay-settings{position:absolute;top:10px;right:10px;z-index:7;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.overlay-settings .settings-btn{background:#0f1226d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.overlay-mute{width:36px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:#0f1226d9;color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:16px;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (hover: hover){.overlay-mute:hover{border-color:var(--accent-2)}}@media (max-width: 560px){.card-queue{grid-template-columns:repeat(2,1fr)}.topbar{gap:8px}}.about-modal.small{max-width:460px}.onb-modal{max-width:460px;text-align:center}.onb-modal.onb-modal-langs{width:640px;max-width:100%}.onb-modal-langs .about-title{margin-bottom:4px}.onb-later{margin:0 0 14px;font-size:13px;color:var(--muted)}.onb-dots{display:flex;justify-content:center;gap:6px;margin:0 0 10px}.onb-dots span{width:7px;height:7px;border-radius:50%;background:var(--border)}.onb-dots span.on{background:var(--accent-2)}.onb-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.onb-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:84px;padding:12px 6px;border-radius:12px;cursor:pointer;background:var(--panel-2);color:var(--text);border:1px solid var(--border);font-family:inherit;font-size:15px}.onb-tile-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onb-tile.on{border-color:var(--accent-2);background:#4cc2ff24;color:#fff;font-weight:700}.onb-tile:disabled{opacity:.35;cursor:default}@media (hover: hover){.onb-tile:hover:not(:disabled):not(.on){border-color:var(--accent)}}.flag{flex:none;width:27px;height:18px;border-radius:3px;box-shadow:0 0 0 1px #ffffff2e}.onb-tile .flag{width:42px;height:28px;border-radius:4px}.onb-nav{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px}.onb-nav .onb-done{margin-top:0}.onb-back{min-height:44px;padding:8px 16px;border-radius:10px;cursor:pointer;font-family:inherit;font-size:15px;background:transparent;color:var(--muted);border:1px solid var(--border)}@media (hover: hover){.onb-back:hover{color:var(--text);border-color:var(--muted)}}@media (max-width: 480px){.onb-tiles{grid-template-columns:repeat(2,1fr)}}@media (max-height: 520px){.onb-modal.onb-modal-langs{max-height:calc(100dvh - 16px);padding:16px 22px}.onb-modal-langs .about-title{font-size:20px}.onb-later{margin-bottom:10px}.onb-dots{margin-bottom:8px}.onb-tile{min-height:72px;padding:8px 6px;gap:6px}.onb-tile .flag{width:36px;height:24px}.onb-modal-langs>.onb-done,.onb-nav{margin-top:12px}}.onb-choices{display:flex;gap:14px;margin-top:8px}.onb-choice{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;cursor:pointer;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:14px;font-size:15px;font-weight:600}@media (hover: hover){.onb-choice:hover{border-color:var(--accent);color:var(--accent)}}.onb-emoji{font-size:34px;line-height:1}.onb-done{margin-top:16px}.ref-link{display:flex;gap:8px;width:100%}.ref-link-input{flex:1;min-width:0;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:9px 12px;font-size:13px}.students{display:flex;flex-direction:column;gap:14px}.student-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px 16px}.student-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}.student-name{font-weight:700}.student-sum{color:var(--muted);font-size:13px;white-space:nowrap}.student-table{width:100%}.student-known{margin-top:10px;border-top:1px solid var(--border);padding-top:8px}.student-known-sum{cursor:pointer;font-size:13px;color:var(--muted);list-style:none;-webkit-user-select:none;user-select:none}.student-known-sum::-webkit-details-marker{display:none}.student-known-sum:before{content:"▸ ";color:var(--accent-2)}.student-known[open] .student-known-sum:before{content:"▾ "}.student-known-sum b{color:var(--good);font-size:14px}.known-list{margin:10px 0 2px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 14px}.known-list li{display:flex;gap:6px;align-items:baseline;font-size:13px;line-height:1.35;border-bottom:1px dashed var(--border);padding-bottom:3px}.kw-word{font-weight:600;color:var(--text)}.kw-tr{color:var(--muted)}.settings-name-row{display:flex;gap:6px}.settings-name-input{flex:1;min-width:0;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 8px;font-size:14px}.settings-name-input:focus{outline:none;border-color:var(--accent-2)}.settings-name-save{background:var(--panel-2);color:var(--accent-2);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:13px;cursor:pointer;white-space:nowrap}@media (hover: hover){.settings-name-save:hover:not(:disabled){border-color:var(--accent-2)}}.settings-name-save:disabled{opacity:.45;cursor:default;color:var(--muted)}.scene-words-btn{display:block;margin:12px auto 0}.scene-words-wrap{margin-top:12px;max-height:46vh;overflow:auto;border-radius:10px}.scene-words{min-width:280px;margin:0 auto}.scene-words th,.scene-words td{padding:6px 14px;font-size:14px}.scene-words thead th{position:sticky;top:0}.scene-words tr.is-known td{color:var(--good)}.scene-words-mark{width:1%;white-space:nowrap}.card-empty{min-height:92px}.scene-done-avg{font-size:14px;color:var(--muted);margin:-6px 0 14px}.scene-done-avg b{color:var(--accent);font-variant-numeric:tabular-nums}.loc-tile-pct{color:var(--good);font-weight:700}.about-h{margin:22px 0 8px;font-size:17px;font-weight:700;color:var(--accent)}.about-modal .about-h:first-child{margin-top:0}.about-ex{margin:8px auto;padding:8px 16px;width:max-content;max-width:100%;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;font-size:16px;text-align:center;line-height:1.5}.about-ex-good{border-color:var(--good)}.about-ex-bad{border-color:#ff6b6b}.about-bullets{margin:6px 0 12px;padding-left:22px;line-height:1.7;color:var(--text)}.about-bullets li{margin:2px 0}.scene-words-mark,.sw-speak-cell{width:1%;white-space:nowrap}.sw-speak{background:transparent;border:none;cursor:pointer;font-size:15px;line-height:1;padding:2px 4px;border-radius:6px}@media (hover: hover){.sw-speak:hover{background:var(--panel-2)}}.loc-tile-soon{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:6px;padding:14px 16px;text-align:center;background:#ffffff08;border:2px dashed var(--border);cursor:default}.loc-tile-soon .loc-tile-dice{font-size:56px;opacity:.9}.loc-tile-soon .loc-tile-name{color:var(--text);line-height:1.2}.loc-tile-soon .loc-tile-count{color:var(--muted)}@media (hover: hover){.loc-tile-soon:hover{transform:none;border-color:var(--border);box-shadow:none}}.loc-tile-random{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4cc2ff47,#ffcf5c47),var(--panel-2);border-color:var(--accent-2)}.loc-tile-dice{font-size:68px;line-height:1;filter:drop-shadow(0 4px 10px rgba(0,0,0,.45))}.loc-tile-random .loc-tile-overlay{background:linear-gradient(to top,rgba(6,8,20,.82),transparent)}.side-random{display:flex;align-items:flex-start;gap:10px;padding:8px 8px 0}.side-random-col{display:flex;flex-direction:column;gap:1px;min-width:0}.side-random-col.loc{flex:1 1 auto}.side-random-col.scn{flex:0 0 auto;text-align:right}.side-random-val{font-size:14px;font-weight:800;color:var(--accent);line-height:1.2;overflow-wrap:anywhere}.scene-viewport{touch-action:none}.m-topbar,.m-body,.m-drawer-backdrop{display:none}@media (max-width: 640px),(max-height: 500px){html,body,#root{height:100dvh}.app{height:100dvh;gap:0;padding:var(--sai-top, env(safe-area-inset-top)) var(--sai-right, env(safe-area-inset-right)) 0 var(--sai-left, env(safe-area-inset-left));background:var(--bg)}.m-topbar{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left));background:var(--panel);border-bottom:1px solid var(--border)}.m-topbar-title{flex:1 1 auto;min-width:0;text-align:center;font-size:15px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-topbar-btn{flex:0 0 auto;width:40px;height:36px;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:18px;line-height:1;cursor:pointer}.m-body{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}.stage-area{flex:1 1 auto;min-height:0;min-width:0;border-radius:0;border-left:0;border-right:0}.m-cardrow{display:flex;flex:0 0 auto;gap:6px;align-items:stretch;padding:6px;position:relative;z-index:5}.card-queue{flex:1 1 auto;min-width:0;display:flex;gap:6px;padding:0;overflow:visible}.card-queue>*{flex:1 1 0;min-width:0}.m-cardrow{padding:4px;padding-bottom:max(4px,calc(var(--sai-bottom, env(safe-area-inset-bottom)) - 10px))}.card{min-height:52px;padding:4px}.card-face{min-height:0;padding:2px 4px}.card-empty{min-height:52px}.card-word{top:0;right:4px;bottom:0;left:4px}.card .arrow-btn,.card .icon-btn{display:none}.card.showing-image{padding:0;background:transparent;border-color:transparent;box-shadow:none;overflow:visible;z-index:7}.card.showing-image .card-face{overflow:visible}.card.showing-image .card-crop-wrap{position:absolute;left:0;right:0;bottom:0;height:min(46vh,190px);padding:6px;z-index:7;background:var(--panel);border:2px solid var(--accent-2);border-radius:var(--radius);box-shadow:0 -8px 28px #0000008c}.m-drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0608148c}.m-drawer{position:absolute;top:0;left:0;bottom:0;width:min(84vw,320px);background:var(--panel);border-right:1px solid var(--border);padding:calc(var(--sai-top, env(safe-area-inset-top)) + 14px) 12px 14px calc(var(--sai-left, env(safe-area-inset-left)) + 12px);overflow-y:auto;display:flex;flex-direction:column;gap:12px;box-shadow:0 0 40px #00000080;animation:drawer-in .18s ease}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.m-drawer-close{align-self:flex-end;background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer}.m-drawer-home{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 14px;font-size:15px;text-align:left;cursor:pointer}.m-drawer .side-stats{width:100%}.m-drawer-backdrop.clear{background:transparent}.m-panel{position:fixed;overflow-y:auto;overscroll-behavior:contain;background:#181b3c;color:#e6e8ff;border:1px solid #2c3170;border-radius:16px;box-shadow:0 24px 60px #00000080;animation:panel-in .15s ease}@keyframes panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.side-stats.side-wide{width:100%;padding:0;background:transparent;border:0;border-radius:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"where rows" "check rows";align-content:start}.side-wide .side-divider{display:none}.side-wide .side-where{grid-area:where;gap:8px;padding:14px 14px 10px}.side-wide .side-scene,.side-wide .side-random{padding:0}.side-wide .checkbox-field{grid-area:check;align-items:center;padding:0 14px 14px}.side-wide .side-rows{grid-area:rows;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:center;gap:4px;padding:10px 8px;border-left:1px solid #262a5c}.side-wide .side-stat+.side-stat{border-top:0}.side-wide .side-stat{padding:8px 10px}.side-wide .side-stat-value{font-size:17px}.m-drawer .settings-menu{position:static;box-shadow:none;min-width:0}.home{padding:16px 12px}.home-title{font-size:20px}.home-info{gap:8px}.word-modal{max-width:94vw}.modal-backdrop.about-fixed{padding-left:calc(var(--sai-left, env(safe-area-inset-left, 0px)) + 12px);padding-right:calc(var(--sai-right, env(safe-area-inset-right, 0px)) + 12px)}.about-text{max-width:600px}.word-modal{max-height:calc(100dvh - 16px);overflow-y:auto;padding:12px 16px;gap:6px;border-radius:12px}.word-modal .wm-word{font-size:20px}.word-modal{--wm-pad: 16px}.word-modal .wm-translation{font-size:16px}.word-modal .wm-learned{margin-top:4px;padding:6px 10px;font-size:13px}}.m-fab{position:absolute;z-index:6;width:42px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:#0f1226d1;color:var(--text);border:1px solid var(--border);border-radius:9px;font-size:18px;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.m-fab-back{top:6px;left:6px}.m-fab-menu{top:52px;left:6px}.m-fab-mute{top:52px;right:6px}.m-fab-settings{position:absolute;top:6px;right:6px;z-index:7}.m-fab-settings .settings-btn{width:42px;height:40px;border-radius:9px;background:#0f1226d1;font-size:18px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.m-fab-settings .settings-menu{max-height:calc(100vh - 128px - var(--sai-bottom, env(safe-area-inset-bottom, 0px)));max-height:calc(100dvh - 128px - var(--sai-bottom, env(safe-area-inset-bottom, 0px)))}.m-zoom{position:absolute;z-index:6;pointer-events:none;top:6px;right:54px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:#0f1226d1;color:var(--accent-2);border:1px solid var(--border);border-radius:9px;padding:0 8px;font-size:14px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.m-wordsleft{position:absolute;z-index:6;top:98px;right:6px;min-width:42px;text-align:center;background:#0f1226d1;color:var(--accent);border:1px solid var(--border);border-radius:9px;padding:4px 6px;font-family:inherit;font-size:15px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:pointer}.fab-note{position:absolute;z-index:8;pointer-events:none;transform:translateY(-50%);max-width:60%;background:#141830f2;color:var(--text);border:1px solid var(--accent-2);border-radius:10px;padding:8px 14px;font-size:14px;font-weight:600;line-height:1.3;box-shadow:0 6px 20px #00000073;animation:note-in .18s ease}@keyframes note-in{0%{opacity:0;transform:translate(6px,-50%)}to{opacity:1;transform:translateY(-50%)}}.m-cardctl{flex:0 0 auto;display:flex;gap:6px}.m-cardctl-btn{width:42px;background:#0f1226d1;color:var(--text);border:1px solid var(--border);border-radius:9px;font-size:18px;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.m-cardctl-btn:disabled{opacity:.35;cursor:default}.rotate-hint{display:none}@media (max-width: 640px) and (orientation: portrait){.rotate-hint{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg);color:var(--text);text-align:center;padding:32px calc(32px + env(safe-area-inset-right)) 32px calc(32px + env(safe-area-inset-left))}.rotate-hint-icon{font-size:72px;line-height:1;animation:rotate-phone 1.8s ease-in-out infinite}.rotate-hint-text{font-size:18px;font-weight:700;max-width:320px;line-height:1.5}}@keyframes rotate-phone{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}.tour-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:none}.tour-spot{position:fixed;border-radius:12px;pointer-events:none;box-shadow:0 0 0 3px #ffd166,0 0 0 9999px #060816bd;transition:left .25s ease,top .25s ease,width .25s ease,height .25s ease;animation:tour-glow 1.6s ease-in-out infinite}@keyframes tour-glow{0%,to{box-shadow:0 0 0 3px #ffd166,0 0 0 9999px #060816bd}50%{box-shadow:0 0 0 6px #ffd1668c,0 0 0 9999px #060816bd}}.tour-block{position:fixed;pointer-events:auto;background:transparent}.tour-dim-full{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:auto;background:#060816bd}.tour-hand{position:fixed;pointer-events:none;z-index:91;filter:drop-shadow(0 4px 10px rgba(0,0,0,.45));animation:tour-tap 1.1s ease-in-out infinite}@keyframes tour-tap{0%,to{transform:translate(0)}50%{transform:translate(6px,8px)}}.tour-cap{position:fixed;z-index:92;pointer-events:auto;background:var(--panel);color:var(--text);border:1px solid #ffd166;border-radius:14px;padding:12px 14px 10px;box-shadow:0 12px 34px #0000008c}.tour-text{margin:0;font-size:15px;line-height:1.45}.tour-word{display:inline-block;margin-top:8px;padding:4px 12px;border:2px solid var(--accent-2);border-radius:10px;font-size:18px;font-weight:700;color:var(--text)}.tour-foot{display:flex;align-items:center;gap:6px;margin-top:10px}.tour-count{margin-right:auto;font-size:12px;color:var(--muted)}.tour-skip{background:transparent;border:0;color:var(--muted);font-size:13px;padding:6px 8px;cursor:pointer;font-family:inherit}.tour-next{background:#ffd166;color:#1a1500;border:0;border-radius:10px;padding:7px 14px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}@media (hover: hover){.tour-skip:hover{color:var(--text)}.tour-next:hover{filter:brightness(1.06)}}@media (max-height: 500px){.tour-cap{padding:9px 12px 8px}.tour-text{font-size:14px;line-height:1.35}.tour-foot{margin-top:6px}}@media (pointer: coarse){.settings-btn,.m-fab-settings .settings-btn,.m-fab{width:44px;height:44px}.m-cardctl-btn{width:44px}.modal-close,.wm-speak{width:44px;height:44px}.wm-speak{font-size:18px}.word-modal{--wm-btn: 44px}.about-text .about-head{height:64px}.about-text .about-head .about-title{padding:0 58px}.sel-btn,.auth-btn,.save-later,.about-btn,.stats-home{min-height:44px}.m-fab-menu,.m-fab-mute{top:56px}.m-wordsleft{top:106px;width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center}.home-legal a{display:inline-flex;align-items:center;min-height:44px}.sm-item,.sm-logout,.sm-primary,.sm-input,.sm-seg button,.sm-promo .settings-name-input,.sm-promo .settings-name-save{min-height:44px}.sm-link{display:inline-flex;align-items:center;min-height:44px}.sm-swap{height:44px}}button,a,[role=button],.loc-tile,.card,input,select,label{touch-action:manipulation}
