html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}:root{--panel-bg:#23170fe6;--panel-border:#c59653b8;--iron:#94a3a8;--frost:#b9e6ff;--gold:#d59a45;--blood:#8f241f;--wood:#3a2417;--text:#f5ead8;--muted:#cbb99f}body{touch-action:manipulation;color:var(--text);-webkit-user-select:none;user-select:none;background:#222;margin:0;padding:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}canvas{pointer-events:none;display:block}.overlay{width:100%;height:100%;box-sizing:border-box;z-index:9999999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(circle at 50% 34%,#b9e6ff24,#0000 32%),radial-gradient(circle at 22% 72%,#8f241f38,#0000 28%),linear-gradient(135deg,#0a0d11f5,#1c120ce8);flex-direction:column;justify-content:center;align-items:center;height:100dvh;max-height:100dvh;display:flex;position:fixed;top:0;left:0}.modal{background:linear-gradient(90deg, #ffffff0a 1px, transparent 1px), linear-gradient(180deg, #4f301bf0, #1e130df7), var(--panel-bg);border:3px solid var(--panel-border);color:var(--text);text-align:center;background-size:36px 100%,auto,auto;border-radius:10px;width:90%;max-width:560px;padding:28px;position:relative;box-shadow:0 28px 70px #0000009e,inset 0 0 0 2px #00000073,inset 0 1px #ffe8be24,0 0 34px #b9e6ff14}.modal:before,.modal:after{color:#d59a4580;letter-spacing:.24em;pointer-events:none;font-size:22px;position:absolute;top:14px}.modal:before{content:"ᚱᚢᚾ";left:18px}.modal:after{content:"ᚨᚷᚨ";right:18px}.modal h1{letter-spacing:.06em;text-transform:uppercase;color:#f1c16d;text-shadow:0 0 12px #d59a4547,0 4px #00000094;margin:0 0 8px;font-size:clamp(30px,7vw,52px)}.modal p{color:var(--muted);margin:0 0 18px;line-height:1.45}#initScreen.overlay{overscroll-behavior-y:contain;width:100%;max-width:100%;padding:max(12px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));-webkit-overflow-scrolling:touch;touch-action:manipulation;justify-content:flex-start;align-items:stretch;overflow:hidden auto}.init-window{border:3px solid var(--panel-border);width:100%;min-width:0;max-width:100%;color:var(--text);background:linear-gradient(90deg, #ffffff09 1px, transparent 1px), linear-gradient(180deg, #4f301bf0, #1e130df7), var(--panel-bg);box-sizing:border-box;background-size:36px 100%,auto,auto;border-radius:14px;flex-direction:column;flex-shrink:0;gap:12px;margin:0;padding:16px 14px 18px;display:flex;position:relative;overflow:visible;box-shadow:0 28px 70px #0000009e,inset 0 0 0 2px #00000073,inset 0 1px #ffe8be24,0 0 34px #b9e6ff14}.init-window::-webkit-scrollbar{width:8px}.init-window::-webkit-scrollbar-track{background:#0003;border-radius:4px}.init-window::-webkit-scrollbar-thumb{background:#d59a454d;border-radius:4px}.init-window::-webkit-scrollbar-thumb:hover{background:#d59a4580}.init-window:before,.init-window:after{color:#d59a4566;letter-spacing:.24em;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:22px;transition:opacity .3s;position:absolute;top:24px}.init-window:before{content:"ᚱᚢᚾ";left:24px}.init-window:after{content:"ᚨᚷᚨ";right:24px}.init-header{flex-direction:column;grid-area:header;align-items:center;gap:10px;min-width:0;display:flex}.init-window h1{text-align:center;letter-spacing:.06em;text-transform:uppercase;color:#f1c16d;text-shadow:0 0 12px #d59a4547,0 4px #00000094;margin:0;padding:0;font-size:clamp(20px,5vmin,40px)}.init-gameplay-hint{box-sizing:border-box;text-align:center;color:#f8fafc;background:#0f172a8c;border-radius:12px;width:100%;max-width:520px;margin:0;padding:8px 12px;font-size:clamp(12px,2.8vmin,16px);font-weight:700;line-height:1.35;box-shadow:inset 0 0 0 1px #facc1542}.init-hints{flex-direction:column;grid-area:hints;align-items:center;gap:6px;min-width:0;display:flex}.init-window .controls-hint{text-align:center;width:100%;margin:0}.init-dictionary-panel{flex-direction:column;grid-area:dictionary;gap:10px;min-width:0;display:flex}.init-dictionary-title{letter-spacing:.06em;text-transform:uppercase;color:#f1c16d;text-align:center;margin:0;font-size:clamp(16px,4vmin,22px);font-weight:800}.init-dictionary-hint{color:var(--muted);text-align:center;margin:0;font-size:13px;line-height:1.45}.init-dictionary-login-link{color:#c4b5fd;font-weight:700;text-decoration:none}.init-dictionary-login-link:hover{color:#f5d0fe}.init-touch-side{border:none;min-width:0;margin:0;padding:0}.init-touch-side-title{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;padding:0;font-size:12px;font-weight:800}.init-touch-side-options{gap:8px;display:flex}.init-touch-side-option{cursor:pointer;min-height:44px;color:var(--text);background:#08070659;border:1px solid #c5965359;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:600;display:flex}.init-touch-side-option:has(input:checked){background:#d59a4524;border-color:#d59a45bf;box-shadow:inset 0 0 0 1px #d59a4540}.init-touch-side-option input{accent-color:var(--gold)}.init-window .dev-toggle{grid-area:dev}.init-window .init-legend{grid-area:characters}.init-window .init-secondary-btn{grid-area:items}.auth-bar{background:#7c3aed24;border:1px solid #c4b5fd47;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.auth-bar-email{color:#e9d5ff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.auth-bar-logout{flex-shrink:0;margin:0}.dictionary-source-tabs{gap:8px;display:flex}.dictionary-source-tab{color:var(--muted);cursor:pointer;background:#00000040;border:1px solid #d59a4559;border-radius:6px;flex:1;padding:8px 12px;font-size:13px;font-weight:700;transition:background .15s,color .15s,border-color .15s}.dictionary-source-tab.active{color:#faf5ff;background:#7c3aed38;border-color:#f1c16da6}#guestDictionaryBlock{flex-direction:column;min-height:0;display:flex}#guestDictionaryBlock textarea{flex:1;width:100%;max-width:100%;min-height:160px}.account-dictionary-block{box-sizing:border-box;background:#00000040;border:1px solid #d59a4540;border-radius:6px;flex-direction:column;gap:8px;min-height:280px;max-height:min(52vh,420px);padding:12px 16px;display:flex}.word-picker-toolbar{flex-shrink:0;align-items:center;gap:8px;display:flex}.word-picker-back{color:#e9d5ff;cursor:pointer;background:#00000059;border:1px solid #9333ea73;border-radius:6px;flex-shrink:0;width:32px;height:32px;padding:0;font-size:16px;line-height:1}.word-picker-back:hover{color:#faf5ff;border-color:#f1c16d8c}.word-picker-title{letter-spacing:.04em;text-transform:uppercase;min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:800;overflow:hidden}.word-picker-select-all{color:#e9d5ff;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.word-picker-select-all input{accent-color:#a855f7}.word-picker-row{background:#0003;border-radius:4px;align-items:center;gap:6px;padding:6px 8px;display:grid}.word-picker-row-folder{grid-template-columns:auto 1fr auto}.word-picker-row-word{grid-template-columns:auto minmax(0,1fr) auto minmax(0,1.2fr);font-size:12px;line-height:1.35}.word-picker-check{cursor:pointer;align-items:center;display:flex}.word-picker-check input{accent-color:#a855f7;cursor:pointer}.word-picker-open{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:0;display:flex}.word-picker-open:hover .word-picker-name{color:#f5d0fe}.word-picker-name{color:#e9d5ff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.word-picker-count{color:var(--muted);flex-shrink:0;font-size:12px;font-weight:700}.word-picker-chevron{color:#c4b5fd8c;font-size:18px;line-height:1}.word-picker-word{color:#f5d0fe;word-break:break-word;font-weight:700}.word-picker-sep{color:#c4b5fd8c}.word-picker-translation{color:var(--text);word-break:break-word}.dictionary-preview-search{width:100%;color:var(--text);box-sizing:border-box;background:#00000059;border:1px solid #9333ea59;border-radius:6px;padding:8px 10px;font-family:inherit;font-size:13px}.dictionary-preview-search::placeholder{color:#c4b5fd73}.dictionary-preview-search:focus{border-color:#f1c16d8c;outline:none}.folder-select-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:800}.folder-select{width:100%;color:var(--text);background:#00000059;border:1px solid #9333ea66;border-radius:6px;padding:10px 12px;font-family:inherit;font-size:14px}.floor-select-hint,.folder-select-hint{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.dictionary-preview-list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:4px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.dictionary-preview-item{background:#0003;border-radius:4px;grid-template-columns:minmax(0,1fr) auto minmax(0,1.2fr);align-items:baseline;gap:6px;padding:4px 6px;font-size:12px;line-height:1.35;display:grid}.dictionary-preview-word{color:#f5d0fe;word-break:break-word;font-weight:700}.dictionary-preview-sep{color:#c4b5fd8c}.dictionary-preview-translation{color:var(--text);word-break:break-word}.dictionary-preview-empty{color:var(--muted);margin:0;font-size:13px}.dictionary-preview-meta{color:#c4b5fdbf;margin:0;font-size:12px;line-height:1.4}#guestDictionaryBlock textarea{grid-area:unset;max-width:100%;height:auto;min-height:160px;color:var(--text);resize:vertical;background:#00000040;border:1px solid #d59a4540;border-radius:6px;align-self:stretch;margin-bottom:0;padding:12px 16px;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color .25s,box-shadow .25s}.init-window textarea:focus,#guestDictionaryBlock textarea:focus{border-color:#f1c16dcc;outline:none;box-shadow:inset 0 1px 3px #00000080,0 0 10px #f1c16d26}.init-window #startBtn{grid-area:start;justify-self:stretch;margin:0;position:sticky;bottom:0}.init-window:before,.init-window:after{display:none}.init-window textarea,#guestDictionaryBlock textarea{height:clamp(100px,22vh,180px);min-height:clamp(100px,22vh,180px);font-size:16px}.account-dictionary-block{min-height:clamp(140px,32vh,240px);max-height:min(42vh,320px)}.init-window .character-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.init-window .character-card{min-height:84px;padding:8px 6px}.init-secondary-btn,.init-window #startBtn{min-height:48px;font-size:15px}@media (max-width:480px){.init-window{border-width:2px;border-radius:10px;gap:10px;padding:14px 12px 16px}.init-window .character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.init-window .character-card{min-height:76px}.init-window textarea,#guestDictionaryBlock textarea{height:110px;min-height:110px;font-size:13px}.account-dictionary-block{min-height:130px;max-height:min(36vh,220px)}}@media (min-width:900px){#initScreen.overlay{padding:max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));justify-content:center;align-items:center}.init-window{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-areas:"header header""hints hints""dictionary dictionary""dev dictionary""characters dictionary""items dictionary""start start";align-self:center;gap:16px 20px;width:100%;max-width:min(1080px,100% - 40px);max-height:min(90dvh,920px);margin:0 auto;padding:24px 28px 28px;overflow-y:auto}.init-window:before,.init-window:after{display:block}.init-window h1{padding:0 72px;font-size:clamp(28px,4vw,56px)}#guestDictionaryBlock textarea,#guestDictionaryBlock textarea,.init-window textarea{height:auto;min-height:280px}.account-dictionary-block{min-height:280px;max-height:min(52vh,420px)}.init-window .character-card{min-height:108px}}@media (orientation:landscape) and (max-height:520px){#initScreen.overlay{padding:max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))}.init-window{gap:8px;padding:12px}.init-window h1{font-size:clamp(16px,4.5vh,22px)}.init-gameplay-hint{padding:6px 10px;font-size:11px;line-height:1.3}.init-hints,.init-window .controls-hint{font-size:12px}.init-window textarea,#guestDictionaryBlock textarea{height:72px;min-height:72px}.account-dictionary-block{min-height:100px;max-height:min(28vh,160px)}.init-window .character-card{min-height:64px;padding:6px 4px;font-size:11px}.init-secondary-btn,.init-window #startBtn{min-height:44px;font-size:14px}}@media (hover:none) and (pointer:coarse){.init-window button,.init-window .character-card,.init-window label,.init-dictionary-login-link{touch-action:manipulation}.init-window .controls-hint,.dev-toggle{font-size:13px}.dictionary-source-tab{min-height:44px}}textarea{color:#d9f1cf;box-sizing:border-box;resize:none;background:linear-gradient(#151a18e6,#080a0aeb),#0e0c0ae6;border:2px solid #94a3a86b;border-radius:16px;outline:none;width:100%;height:170px;margin-bottom:18px;padding:14px;font-family:SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1.45;box-shadow:inset 0 0 22px #0000007a,0 0 0 1px #d59a4521}textarea:focus{border-color:#b9e6ffbd;box-shadow:inset 0 0 22px #0000007a,0 0 0 3px #b9e6ff14}button{background:linear-gradient(180deg, #c89145, #7b3f22 62%, #4b2117), var(--blood);cursor:pointer;color:#fff0d6;text-transform:uppercase;letter-spacing:.06em;border:2px solid #2a1711;border-radius:16px;margin:5px;padding:13px 24px;font-size:18px;font-weight:800;transition:transform .15s,filter .15s,box-shadow .15s;box-shadow:0 10px 22px #00000059,inset 0 1px #ffe9b847,inset 0 -3px #00000047}button:hover{filter:brightness(1.12)saturate(1.08);transform:translateY(-1px)}button:active{transform:translateY(1px)scale(.99)}#quizHUD{color:var(--text);text-align:center;z-index:10000;box-sizing:border-box;background-size:30px 100%,auto,auto;width:min(860px,100vw - 32px);transition:border-color .2s,background-color .2s,box-shadow .2s;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}#quizHUD h2{color:#f1c16d;letter-spacing:.02em;text-shadow:0 0 10px #d59a4542,0 3px #0000006b;margin:0;font-size:clamp(28px,5vw,44px)}.quiz-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.quiz-rune-instructions{justify-content:center;display:flex}.quiz-rune-hint{color:#f8fafc;letter-spacing:.02em;background:#0f172a9e;border-radius:999px;justify-content:center;align-items:center;min-height:38px;padding:8px 16px;font-size:14px;font-weight:700;display:inline-flex;box-shadow:inset 0 0 0 1px #facc1542}.quiz-btn{color:var(--text);text-align:left;cursor:pointer;background:linear-gradient(#505b56f0,#242927f0),#2b2620f0;border:none;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;min-height:60px;margin:0;padding:12px 16px;font-size:16px;display:flex}@media (min-width:641px){.quiz-btn:nth-of-type(odd){text-align:right;flex-direction:row-reverse}}.quiz-btn:hover{background:linear-gradient(#77603df7,#442d1ef7),#4a3220f7}.quiz-btn.quiz-btn-correct{color:#dcfce7!important;background:linear-gradient(#227846f2,#12442afa)!important;border-color:#22c55ef2!important;box-shadow:0 0 22px #22c55e59,inset 0 1px #ffffff2e!important}.quiz-btn.quiz-btn-wrong{color:#fecaca!important;background:linear-gradient(#8c2020f5,#441010fa)!important;border-color:#ef4444f2!important;box-shadow:0 0 22px #ef444452,inset 0 1px #ffffff1f!important}.quiz-btn:disabled{cursor:not-allowed;transform:none!important}.quiz-btn-label{word-break:break-word;flex:1;min-width:0;line-height:1.25}.quiz-btn span{color:#e2e8f0;background:linear-gradient(#3a3d40,#202224);border-radius:6px;place-items:center;min-width:30px;height:30px;margin-top:-4px;font-weight:700;transition:transform .1s,box-shadow .1s;display:inline-grid;box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #00000080,0 2px #121314,0 3px 4px #0006}.hidden{display:none!important}.wrong-flash{border-color:#ff5050f2!important}.correct-flash{border-color:#b9e6fff2!important}.controls-hint{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 18px;font-size:14px;display:flex}.controls-hint kbd{min-width:22px;color:var(--text);background:#130f0c9e;border:1px solid #d59a4573;border-radius:7px;padding:4px 7px;box-shadow:inset 0 -2px #00000047,0 0 0 1px #00000042}.dev-toggle{color:var(--muted);align-items:center;gap:8px;margin:0 0 12px;font-size:13px;font-weight:700;display:inline-flex}.dev-toggle input{accent-color:#5dfff8;width:16px;height:16px}.init-legend{text-align:left;margin:0 0 12px}.init-secondary-btn{width:100%;color:var(--text);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:linear-gradient(#3a2a1cf5,#18110cfa);border:2px solid #d59a458c;border-radius:16px;margin:0 0 14px;padding:12px 16px;font-size:15px;font-weight:800;box-shadow:inset 0 1px #ffe8be1a,0 8px 18px #0000003d}.init-secondary-btn:hover{border-color:#b9e6ffb8;box-shadow:inset 0 1px #ffe8be24,0 0 18px #b9e6ff1f}#itemsScreen{z-index:10000000}.items-modal{text-align:left;width:100%;max-width:min(860px,100vw - 28px);max-height:min(88vh,920px);padding:22px 20px;position:relative;overflow:auto}.items-modal h2{text-align:center;color:#f1c16d;text-transform:uppercase;margin:0 0 4px;padding-right:36px;font-size:clamp(20px,3vw,28px)}.items-modal-lead{text-align:center;color:var(--muted);margin:0 0 12px;font-size:13px;line-height:1.35}.modal-close-btn{width:32px;height:32px;color:var(--text);cursor:pointer;background:#130e0bb8;border:1px solid #d59a4573;border-radius:16px;padding:0;font-size:24px;line-height:1;position:absolute;top:8px;right:8px}.modal-close-btn:hover{color:#f1c16d;border-color:#b9e6ffb8}.items-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.item-catalog-card{text-align:left;background:linear-gradient(#463422fa,#1c140efa);border:2px solid #d59a4573;border-radius:10px;flex-direction:column;align-items:stretch;gap:6px;padding:10px;display:flex;box-shadow:inset 0 1px #ffe8be1a,0 6px 14px #0000002e}.item-catalog-card-head{align-items:center;gap:10px;display:flex}.item-catalog-card-icon{background:radial-gradient(circle at 50% 28%,#ffe8be24,#0000 58%),#0806056b;border:1px solid #d59a4561;border-radius:9px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid;box-shadow:inset 0 1px #ffffff1a,inset 0 -2px #00000038}.item-catalog-card-icon .masked-game-icon{width:26px;height:26px}.item-catalog-card-title{color:#f5ead8;margin:0;font-size:15px;font-weight:900;line-height:1.15}.item-catalog-card-desc{color:var(--muted);font-size:12px;line-height:1.38;margin:0!important}@media (min-width:768px){.items-modal{max-width:min(980px,100vw - 48px);max-height:min(82vh,760px);padding:18px 20px 16px}.items-modal-lead{margin-bottom:10px;font-size:12px}.items-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.item-catalog-card{gap:5px;padding:9px 8px}.item-catalog-card-head{gap:8px}.item-catalog-card-icon{border-radius:16px;width:36px;height:36px}.item-catalog-card-icon .masked-game-icon{width:24px;height:24px}.item-catalog-card-title{font-size:14px}.item-catalog-card-desc{font-size:12px}}@media (min-width:1100px){.items-modal{max-width:min(1120px,100vw - 56px)}.items-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}}.legend-block-title{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:6px;font-size:11px;font-weight:800}.legend-chips{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 12px;display:flex}.legend-chip{color:var(--text);background:#130e0b8c;border:1px solid #d59a454d;border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 8px;font-size:13px;font-weight:700;display:inline-flex}.masked-game-icon{filter:drop-shadow(0 1px 2px #00000073);flex-shrink:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.legend-chip .masked-game-icon{opacity:.96;width:28px;height:28px}.character-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.character-card{--character-accent:#5dfff8;isolation:isolate;text-transform:none;letter-spacing:0;width:100%;min-height:108px;color:var(--text);cursor:pointer;background:linear-gradient(#463422fa,#1c140efa);border:2px solid #d59a4573;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin:0;padding:12px 10px;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffe8be14}.character-card:before{content:"";border-radius:inherit;opacity:0;background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--character-accent) 28%, transparent), transparent 68%), linear-gradient(180deg, color-mix(in srgb, var(--character-accent) 10%, transparent), transparent 55%);pointer-events:none;z-index:0;transition:opacity .18s;position:absolute;inset:0}.character-card:after{content:"";opacity:0;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--character-accent) 55%, transparent);pointer-events:none;z-index:0;border-radius:11px;position:absolute;inset:1px}.character-card>*{z-index:1;position:relative}.character-card:hover:not(.selected){border-color:#d59a45b8;transform:translateY(-1px);box-shadow:0 8px 18px #00000038,inset 0 1px #ffe8be1a}.character-card:focus-visible{outline:2px solid color-mix(in srgb, var(--character-accent) 70%, white);outline-offset:2px}.character-card .masked-game-icon{width:40px;height:40px;transition:transform .18s,filter .18s}.character-card-icon-raster{background-repeat:no-repeat;background-size:300% 100%;width:40px;height:40px;transition:transform .18s;display:block}.character-card.selected{border-color:color-mix(in srgb, var(--character-accent) 78%, white);box-shadow:0 0 0 1px color-mix(in srgb, var(--character-accent) 42%, transparent), 0 0 24px color-mix(in srgb, var(--character-accent) 32%, transparent), 0 10px 24px #00000047, inset 0 0 20px color-mix(in srgb, var(--character-accent) 14%, transparent), inset 0 1px 0 #ffe8be29;background:linear-gradient(#3a2c22fa,#121018fa);transform:translateY(-2px)}.character-card.selected:before,.character-card.selected:after{opacity:1}.character-card.selected .masked-game-icon,.character-card.selected .character-card-icon-raster{transform:scale(1.08)}.character-card-name{font-size:14px;font-weight:800;transition:color .18s,text-shadow .18s}.character-card.selected .character-card-name{color:#fff;text-shadow:0 0 14px color-mix(in srgb, var(--character-accent) 42%, transparent)}.character-card-spell{color:var(--muted);font-size:12px;transition:color .18s}.character-card.selected .character-card-spell{color:color-mix(in srgb, var(--character-accent) 72%, white)}.quiz-label{color:var(--frost);letter-spacing:.16em;text-transform:uppercase;text-shadow:0 0 10px #b9e6ff3d;margin-bottom:4px;font-size:12px;font-weight:800}#fpsHUD{z-index:10002;color:#b9e6ff;pointer-events:none;white-space:pre-wrap;background:#0a0806b8;border:1px solid #94a3a859;border-radius:6px;max-width:min(92vw,520px);max-height:42vh;padding:6px 10px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;font-weight:700;line-height:1.35;position:fixed;bottom:12px;left:12px;overflow-y:auto}#fpsHUD.fps-warn{color:#fda4af;background:#280c12e0;border-color:#fb71858c}#playerHealthHUD{z-index:10000;box-sizing:border-box;pointer-events:none;width:100%;max-width:min(1080px,100%);position:fixed;top:0;left:50%;transform:translate(-50%)}.stat-bar-row{align-items:center;gap:10px;display:flex}.stat-bar-row+.stat-bar-row,#playerProgressHUD>.stat-bar-row{margin-top:4px}.stat-bar-label{min-width:72px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;flex:none;font-size:11px;font-weight:800}.stat-bar-track{flex:auto;min-width:0;position:relative}.stat-bar-value{color:#fff;text-shadow:0 1px 2px #000000d9;font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap;justify-content:center;align-items:center;padding:0 8px;font-size:11px;font-weight:900;display:flex;position:absolute;inset:0}.hp-track{background:#00000073;border-bottom-right-radius:6px;border-bottom-left-radius:6px;height:18px;overflow:hidden;box-shadow:inset 0 2px 6px #00000059}#hpNumbers{color:#fef3c7;font-size:12px}#hpBarFill{background:linear-gradient(#4ade80,#15803d);border-radius:4px;width:100%;height:100%;transition:width .2s;position:absolute;top:0;left:0;box-shadow:inset 0 1px #ffffff40}.hp-low #hpBarFill{background:linear-gradient(#fb7185,#b91c1c)}#playerProgressHUD{margin-top:4px}.exp-track{background:#00000073;border:2px solid #9333ea59;border-radius:6px;height:15px;overflow:hidden;box-shadow:inset 0 2px 6px #00000059}#experienceText{color:#f5d0fe;font-size:11px}#expBarFill{background:linear-gradient(#e9d5ff,#9333ea);border-radius:4px;width:0;height:100%;transition:width .2s;position:absolute;top:0;left:0}.floor-row{align-items:center;gap:10px;margin-bottom:6px;display:flex}#floorName{color:#d8b4fe;letter-spacing:.04em;font-size:12px;font-weight:800}#floorName.portal-active{color:#f3e8ff}#floorName.floor-arrival{animation:1.15s ease-out floor-arrival-pulse}@keyframes floor-arrival-pulse{0%{opacity:.2;color:#fff;text-shadow:0 0 18px #e9d5fff2;transform:scale(1.35)}35%{opacity:1;color:#f5d0fe;transform:scale(1.06)}to{opacity:1;text-shadow:none;transform:scale(1)}}.portal-marker{background:radial-gradient(circle at 50% 45%,#e9d5ff 0%,#7c3aed 100%);border:2px solid #c4b5fd;border-radius:50%;flex-shrink:0;width:14px;height:14px;box-shadow:0 0 10px #c4b5fd8c}.portal-marker.hidden{display:none}.floor-track{background:#1a1210d1;border:1px solid #5b3d7a8c;border-radius:2px;max-width:148px;height:4px;overflow:hidden}.floor-track.hidden{display:none}#floorBarFill{background:#9333ea;border-radius:2px;width:0;height:100%;transition:width .2s}#floorBarFill.portal-active{background:#c4b5fd}#stackedItemsHUD{flex-wrap:wrap;gap:8px;min-height:28px;display:flex}.stacked-item-chip{color:#f3e5cc;background:#0a08069e;border:1px solid #d59a455c;border-radius:999px;align-items:center;gap:6px;padding:4px 9px 4px 6px;font-size:12px;font-weight:800;display:inline-flex}.stacked-item-chip .masked-game-icon{opacity:.95;width:16px;height:16px}#levelUpScreen{z-index:9999998;box-sizing:border-box;padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:radial-gradient(circle at 50% 35%,#d59a452e,#0000 34%),#080706c2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden auto}.level-up-panel{border:3px solid var(--panel-border);text-align:center;box-sizing:border-box;background:linear-gradient(#3f2819f5,#120d0af5);border-radius:12px;width:min(820px,100%);max-height:calc(100dvh - 20px);margin:auto;padding:24px;overflow:hidden auto;box-shadow:0 26px 70px #0000009e,inset 0 1px #ffe8be24}.level-up-panel h2{color:#f1c16d;text-transform:uppercase;margin:0 0 6px;font-size:clamp(28px,5vw,44px)}.level-up-panel p{color:var(--muted);margin:0 0 18px}.level-card-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.level-card{text-transform:none;letter-spacing:0;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(#463422fa,#1c140efa);border-color:#d59a4594;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:150px;margin:0;padding:16px;display:flex}.level-card .masked-game-icon{width:48px;height:48px}.level-card-title{color:#f5ead8;font-size:20px;font-weight:900}.level-card-desc{color:var(--muted);font-size:13px;line-height:1.35}.level-card-key{color:#17110b;background:linear-gradient(#d7dfe0,#8d9899);border:1px solid #fff3;border-radius:6px;place-items:center;min-width:28px;height:28px;margin-top:4px;font-size:14px;font-weight:800;display:inline-grid}@media (max-width:640px){.modal{padding:22px}.quiz-grid{grid-template-columns:1fr}#quizHUD{width:calc(100vw - 20px);bottom:12px}.level-up-panel{padding:16px 12px}.level-card-grid,.items-catalog-grid{grid-template-columns:1fr}}@media (hover:none) and (pointer:coarse){#levelUpScreen{justify-content:flex-start;align-items:flex-start}.level-up-panel{border-width:2px;width:100%;max-width:100%;max-height:none;padding:14px 12px 16px}.level-up-panel h2{font-size:clamp(20px,5.5vmin,30px);line-height:1.15}.level-up-panel p{margin-bottom:12px;font-size:14px}.level-card-grid{gap:10px}.level-card{touch-action:manipulation}.level-card-key{display:none}}@media (hover:none) and (pointer:coarse) and (orientation:landscape){#levelUpScreen{justify-content:center;align-items:center}.level-up-panel{width:min(96vw,880px);max-height:calc(100dvh - max(12px, env(safe-area-inset-top)) - max(12px, env(safe-area-inset-bottom)));padding:12px 10px 14px}.level-up-panel h2{margin-bottom:4px;font-size:clamp(18px,4.5vmin,26px)}.level-up-panel p{margin-bottom:10px;font-size:13px}.level-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.level-card{gap:6px;min-height:0;padding:10px 8px}.level-card .masked-game-icon{width:36px;height:36px}.level-card-title{font-size:clamp(12px,2.6vmin,16px);line-height:1.2}.level-card-desc{font-size:clamp(10px,2.2vmin,12px);line-height:1.3}}@media (hover:none) and (pointer:coarse) and (orientation:portrait){.level-card-grid{grid-template-columns:1fr}.level-card{text-align:left;grid-template-rows:auto auto;grid-template-columns:44px 1fr;place-items:start;gap:4px 12px;min-height:72px;padding:12px 14px;display:grid}.level-card .masked-game-icon{grid-area:1/1/span 2;align-self:center;width:40px;height:40px}.level-card-title{grid-area:1/2;width:100%;font-size:17px}.level-card-desc{grid-area:2/2;width:100%;font-size:13px}}.controls-hint-mobile{display:none}@media (hover:none) and (pointer:coarse){.controls-hint-desktop{display:none}.controls-hint-mobile{flex-direction:column;align-items:center;gap:6px;display:flex}}@media (hover:hover),(pointer:fine){.init-touch-side{display:none}}.controls-hint-landscape{opacity:.85;font-size:13px}body.game-active{touch-action:none}.touch-move-pad{--touch-pad-side-inset:36px;bottom:max(46px, calc(16px + env(safe-area-inset-bottom)));z-index:10001;pointer-events:auto;touch-action:none;width:112px;height:112px;left:auto;right:max(var(--touch-pad-side-inset), calc(12px + env(safe-area-inset-right)));position:fixed}body.touch-pad-left .touch-move-pad{left:max(var(--touch-pad-side-inset), calc(12px + env(safe-area-inset-left)));right:auto}.touch-move-base{background:radial-gradient(circle at 50% 45%,#d59a4538,#0807068c);border:2px solid #c5965373;border-radius:50%;width:100%;height:100%;position:relative;box-shadow:inset 0 1px #ffe8be1f,0 4px 14px #00000059}.touch-move-stick{will-change:transform;background:radial-gradient(circle at 40% 35%,#f5ead8f2,#94a3a8d9);border:2px solid #ffffff38;border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;position:absolute;top:50%;left:50%;transform:translate(0);box-shadow:0 2px 8px #0006}.rotate-device-overlay{z-index:9999990;pointer-events:auto;background:#080706eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rotate-device-card{text-align:center;background:linear-gradient(#23170ff2,#0e0c0af5);border:2px solid #c596538c;border-radius:16px;padding:28px 32px}.rotate-device-card p{color:var(--text);margin:0;font-size:clamp(18px,4vw,24px)}body.game-active .rotate-device-overlay{display:none}@media (orientation:portrait) and (hover:none) and (pointer:coarse){body.game-active .rotate-device-overlay:not(.hidden){display:flex}}@media (orientation:landscape) and (max-height:500px){.level-up-panel{padding:10px 8px 12px}.level-up-panel h2{font-size:clamp(16px,4vmin,22px)}.level-up-panel p{margin-bottom:8px;font-size:12px}.level-card-grid{gap:6px}.level-card{gap:4px;padding:8px 6px}.level-card .masked-game-icon{width:32px;height:32px}.level-card-title{font-size:clamp(11px,2.4vmin,14px)}.level-card-desc{font-size:10px;line-height:1.25}.touch-move-pad{width:96px;height:96px}.touch-move-stick{width:38px;height:38px;margin:-19px 0 0 -19px}#quizHUD{bottom:8px}#quizHUD h2{font-size:clamp(20px,4vw,32px)}body.quiz-mobile-layout #quizHUD h2{font-size:clamp(18px,4vw,24px)}}@media (hover:none) and (pointer:coarse) and (orientation:landscape){#fpsHUD{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));bottom:auto;left:auto}}.quiz-answer-legend{pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;gap:6px;margin-top:10px;padding:0;display:flex}body.quiz-mobile-layout .quiz-answer-legend{margin-top:0}.quiz-legend-item{text-align:left;background:#0807066b;border-radius:8px;align-items:baseline;gap:10px;padding:6px 10px;line-height:1.3;display:flex;box-shadow:inset 0 0 0 1px #c596532e}.quiz-legend-num{color:#d5a045;font-variant-numeric:tabular-nums;flex:none;min-width:1.25em;font-size:clamp(15px,3vmin,18px);font-weight:800}.quiz-legend-word{color:#e8e0d4;word-break:break-word;flex:1;min-width:0;font-size:clamp(14px,2.8vmin,17px);font-weight:600}.quiz-legend-item.quiz-legend-correct{background:#164e308c;box-shadow:inset 0 0 0 1px #4ade8073}.quiz-legend-item.quiz-legend-correct .quiz-legend-word{color:#bbf7d0}.quiz-legend-item.quiz-legend-wrong{background:#5816168c;box-shadow:inset 0 0 0 1px #f8717166}.quiz-legend-item.quiz-legend-wrong .quiz-legend-word{color:#fecaca}body.quiz-mobile-layout #quizProgress.quiz-label{letter-spacing:.04em;text-transform:none;color:var(--muted);text-shadow:none;opacity:.75;margin-bottom:2px;font-size:11px;font-weight:500}body.quiz-mobile-layout{--quiz-legend-width:min(200px, calc(100vw - 128px))}body.quiz-mobile-layout.touch-pad-right #quizOptions,body.quiz-mobile-layout:not(.touch-pad-left) #quizOptions{left:max(10px, env(safe-area-inset-left));right:auto}body.quiz-mobile-layout.touch-pad-left #quizOptions{right:max(10px, env(safe-area-inset-right));left:auto}body.quiz-mobile-layout #quizOptions{bottom:max(10px, env(safe-area-inset-bottom));width:var(--quiz-legend-width);max-width:var(--quiz-legend-width);z-index:10000;box-sizing:border-box;flex-flow:column;justify-content:flex-end;align-items:stretch;gap:4px;margin:0;display:flex;position:fixed;overflow:visible}body.quiz-mobile-layout .quiz-legend-item{box-sizing:border-box;white-space:normal;flex:none;gap:6px;width:100%;max-width:100%;padding:4px 8px}body.quiz-mobile-layout .quiz-legend-num,body.quiz-mobile-layout .quiz-legend-word{font-size:14px;line-height:1.25}body.quiz-mobile-layout .quiz-legend-word{text-overflow:unset;white-space:normal;word-break:break-word;overflow:visible}
