:root{--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--font-mono:ui-monospace, "Cascadia Code", Consolas, Menlo, monospace;--c-violet:#a29bfe;--c-gold:#feca57;--c-red:#ff7675;--c-blue:#74b9ff;--c-mint:#55efc4;--c-pink:#ff9ff3}body,html{overscroll-behavior:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;background-color:#111;width:100%;height:100%;margin:0;padding:0;overflow:hidden}*{box-sizing:border-box}button,input{font-family:inherit}:focus-visible{outline:2px solid var(--c-violet);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.rotate-hint{z-index:10000;color:var(--c-violet);font-family:var(--font-mono);letter-spacing:4px;text-align:center;background:#0b0b10;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:13px;font-weight:900;display:none;position:fixed;inset:0}.rotate-hint-icon{font-size:56px;line-height:1}@media (pointer:coarse) and (orientation:portrait) and (width<=640px){.rotate-hint{display:flex}}html:is(:lang(ko),:lang(ja)) .rotate-hint{letter-spacing:1px}#root{width:100vw;height:100dvh;font-family:var(--font-ui);background-color:#111;margin:0;padding:0;overflow:hidden}.game-container{-webkit-user-select:none;user-select:none;background-color:#111;justify-content:center;align-items:center;width:100%;height:100%;animation:.35s ease-out gameoverFadeIn;display:flex;position:relative;overflow:hidden}.canvas-wrapper{background-color:#111;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.game-canvas{touch-action:none;-webkit-user-select:none;user-select:none;background-color:#151515;border:2px solid #333;border-radius:12px;transition:width .1s,height .1s;box-shadow:0 0 50px #000c}.overlay-container{pointer-events:none;color:#fff;z-index:10;transition:transform .1s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.shortcut-guide{font-family:var(--font-mono);color:#ffffff80;pointer-events:none;z-index:100;background:#0f0f14d9;border:1px solid #ffffff1a;border-left:2px solid #a29bfe;padding:8px 10px;font-size:9px;position:absolute;bottom:20px;left:20px}.guide-title{color:#a29bfe;letter-spacing:.5px;margin-bottom:4px;font-size:8px;font-weight:900}.guide-row{margin:2px 0}.guide-row .key{color:#fff;background:#2a2a2e;border-bottom:1px solid #000;border-radius:2px;margin-right:4px;padding:0 3px;font-weight:700}.encyclopedia-buttons{pointer-events:auto;flex-direction:row;gap:8px;display:flex;position:absolute;bottom:145px;left:20px}.ency-btn{color:#fff;cursor:pointer;pointer-events:auto;background:#1e1e23cc;border:1px solid #ffffff1a;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:6px;transition:all .2s;display:flex;position:relative}@media (hover:hover){.ency-btn:hover{color:#000;background:#a29bfe;transform:translateY(-3px)}}.ency-btn .icon{font-size:14px}.encyclopedia-modal{opacity:0;z-index:1000;pointer-events:auto;background:#0a0a0ffa;border:1px solid #444;border-radius:12px;flex-direction:column;width:380px;max-width:calc(100% - 40px);height:540px;max-height:calc(100% - 40px);animation:.18s ease-out forwards modalIn;display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)scale(.95);box-shadow:0 0 40px #000000e6}.encyclopedia-modal.is-wide{width:840px}.encyclopedia-modal .modal-header,.encyclopedia-modal .modal-toolbar{flex-shrink:0}.encyclopedia-modal .modal-content{flex:auto;min-height:0}@keyframes modalIn{to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.modal-header{background:#16161c;border-bottom:1px solid #222;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.modal-header h2{letter-spacing:1px;color:#feca57;margin:0;font-size:14px;font-weight:900}.header-tag{color:#fff;letter-spacing:1px;background:#555;border-radius:2px;margin-right:10px;padding:2px 6px;font-size:8px;font-weight:900}.unique-close-btn{cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:4px;transition:all .3s;display:flex}.close-icon-box{background:#ffffff0d;border:1px solid #fff3;border-radius:4px;width:20px;height:20px;transition:all .3s;position:relative}.close-icon-box .line-1,.close-icon-box .line-2{background:#fff;border-radius:1px;width:12px;height:2px;position:absolute;top:50%;left:50%}.close-icon-box .line-1{transform:translate(-50%,-50%)rotate(45deg)}.close-icon-box .line-2{transform:translate(-50%,-50%)rotate(-45deg)}.esc-text{color:#ffffff8c;font-size:11px;font-weight:900;font-family:var(--font-mono);background:#0000004d;border:1px solid #fff3;border-radius:3px;padding:1px 4px}.unique-close-btn:hover .close-icon-box{background:#ff7675;border-color:#ff7675;transform:rotate(90deg)}.unique-close-btn:hover .esc-text{color:#fff;border-color:#fff}.modal-content{background:#0a0a0f;flex-direction:column;gap:8px;padding:12px;display:flex;overflow-y:auto}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:#050508}.modal-content::-webkit-scrollbar-thumb{background:#333;border-radius:10px}.modal-content::-webkit-scrollbar-thumb:hover{background:#444}.category-header{letter-spacing:2px;z-index:5;background:#0a0a0f;border-bottom:1px solid #ffffff1a;margin-top:4px;padding:10px 4px 6px;font-size:10px;font-weight:900;position:sticky;top:0}.category-header.normal{color:#55efc4}.category-header.special{color:#a29bfe}.category-header.boss{color:#ff7675}.enemy-grid{grid-template-columns:repeat(4,1fr);gap:12px;padding-bottom:12px;display:grid}.tower-row-group{flex-wrap:nowrap;align-items:stretch;gap:10px;padding-bottom:12px;display:flex}.tower-row-group .ency-card{flex:1 1 0;min-width:0}.tower-evo-arrow{color:#ffffff73;text-shadow:0 0 10px #a29bfe80;letter-spacing:-3px;-webkit-user-select:none;user-select:none;background:linear-gradient(#0000 0%,#a29bfe0a 50%,#0000 100%);border-left:1px dashed #a29bfe26;border-right:1px dashed #a29bfe26;flex:none;justify-content:center;align-items:center;min-width:28px;padding:0 2px;font-size:26px;font-weight:900;animation:2.4s ease-in-out infinite evo-arrow-pulse;display:flex}@keyframes evo-arrow-pulse{0%,to{color:#ffffff59;text-shadow:0 0 6px #a29bfe4d}50%{color:#ffffffb3;text-shadow:0 0 14px #a29bfeb3}}.ency-card{background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;gap:12px;height:90px;padding:8px;transition:all .2s;display:flex}.ency-card.tcg-card{background:linear-gradient(135deg,#19191ecc,#0a0a0fe6);border:1px solid #ffffff1a;flex-direction:column;gap:6px;min-height:260px;padding:10px;transition:transform .15s,border-color .15s,box-shadow .15s;position:relative;overflow:hidden;box-shadow:0 4px 15px #00000080}.ency-card.tcg-card.is-tower{min-height:255px}.ency-card.tcg-card.is-tower .preview-container{height:110px}.ency-card.tcg-card:focus-visible{border-color:#ffffff40;outline:none;transform:translateY(-2px);box-shadow:0 8px 22px #000000b3}@media (hover:hover){.ency-card.tcg-card:hover{border-color:#ffffff40;transform:translateY(-2px);box-shadow:0 8px 22px #000000b3}.ency-card:hover{background:#ffffff0d;border-color:#ffffff26}}.ency-card.tcg-card.locked{filter:grayscale(.8)brightness(.6)}.ency-card.tcg-card.new-unlock{box-shadow:0 0 0 1px var(--c-red), 0 0 14px #ff767573;border-color:#ff7675b3}.tcg-card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);height:2px;position:absolute;top:0;left:0;right:0}.card-top{font-size:9px;font-weight:900;font-family:var(--font-mono);color:#fff9;justify-content:space-between;align-items:center;height:14px;display:flex}.card-stat span{color:#fff;text-shadow:0 0 5px #ffffff4d}.card-stat.hp span{color:#ff7675}.card-stat.spd span{color:#54a0ff}.card-type{letter-spacing:1px;background:#a29bfe1a;border:1px solid #a29bfe33;border-radius:10px;padding:1px 6px;font-size:8px}.tcg-card .preview-container{background:radial-gradient(circle,#ffffff08 0%,#0006 100%);border:1px solid #ffffff0d;width:100%;height:85px;margin:2px 0}.card-bottom{flex-direction:column;flex-grow:1;gap:4px;display:flex}.tcg-card .unit-name{text-align:center;border-bottom:1px solid #ffffff1a;margin-bottom:2px;padding-bottom:4px;font-size:12px}.tcg-card .ability-desc{text-align:center;color:#ffffff8c;-webkit-line-clamp:4;-webkit-box-orient:vertical;padding:0 4px;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.tag-chips{flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;min-height:16px;margin-top:-2px;display:flex}.tag-chips:empty:before{content:"";height:16px;display:block}.tag-chip{letter-spacing:.5px;font-size:8px;font-weight:900;font-family:var(--font-mono);border:1px solid;border-radius:8px;padding:1px 5px;line-height:1.2}.card-meta{font-size:8px;font-family:var(--font-mono);color:#fff6;letter-spacing:.5px;border-top:1px dashed #ffffff0d;justify-content:space-between;margin-top:auto;padding-top:4px;display:flex}.meta-item.meta-reward{color:#feca57;font-weight:900}.modal-toolbar{background:#0d0d12;border-bottom:1px solid #1a1a22;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.ency-search{color:#fff;min-width:140px;font-size:11px;font-family:var(--font-mono);background:#ffffff08;border:1px solid #ffffff1a;border-radius:4px;outline:none;flex:160px;padding:4px 8px;transition:border-color .15s}.ency-search:focus{border-color:#a29bfe}.ency-filters{flex-wrap:wrap;gap:4px;display:flex}.filter-btn{color:#fff9;letter-spacing:1px;cursor:pointer;font-size:9px;font-weight:900;font-family:var(--font-mono);background:#ffffff08;border:1px solid #ffffff1a;border-radius:3px;padding:3px 8px;transition:all .15s}.filter-btn:hover{color:#fff;border-color:#ffffff4d}.filter-btn.active{color:#000;background:#a29bfe;border-color:#a29bfe}.ency-empty{text-align:center;color:#fff6;font-size:11px;font-family:var(--font-mono);grid-column:1/-1;padding:24px}.new-badge{color:#fff;z-index:10;background:#ff7675;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:900;animation:1.5s infinite pulse-red;display:flex;position:absolute;top:-5px;right:-5px;box-shadow:0 0 10px #ff767580}.btn-badge{color:#fff;z-index:10;background:#ff7675;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;font-weight:900;animation:1.5s infinite pulse-red;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 0 8px #ff767599}@keyframes pulse-red{0%{transform:scale(1);box-shadow:0 0 #ff7675b3}70%{transform:scale(1.1);box-shadow:0 0 0 10px #ff767500}to{transform:scale(1);box-shadow:0 0 #ff767500}}.preview-container{background:#000;border:1px solid #1a1a20;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.unit-name{color:#fff;letter-spacing:.5px;border-bottom:1px solid #222;margin-bottom:6px;padding-bottom:3px;font-size:11px;font-weight:900}.shop-hud{pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#1e1e1ee6,#0a0a0af2);border:1px solid #ffffff1a;border-radius:16px;gap:8px;padding:10px 16px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #0009}.shop-item{flex-direction:column;align-items:center;gap:2px;display:flex;position:relative}@keyframes shop-shake-deny{0%{transform:translate(0)}15%{transform:translate(-4px)rotate(-2deg)}30%{transform:translate(4px)rotate(2deg)}45%{transform:translate(-3px)rotate(-1deg)}60%{transform:translate(3px)rotate(1deg)}75%{transform:translate(-2px)}to{transform:translate(0)}}.shop-item.shake{animation:.38s ease-in-out shop-shake-deny}.shop-item.shake .shop-button{box-shadow:0 0 0 2px #ff6b6b,0 0 12px #ff6b6b99}.shop-shortcut{color:#a29bfe;pointer-events:none;z-index:5;background:#000000d9;border:1px solid #a29bfe66;border-radius:2px;padding:0 3px;font-size:8px;font-weight:900;position:absolute;top:-4px;left:-2px}.shop-button{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:transform .1s,filter .1s,box-shadow .1s;display:flex}@media (hover:hover){.shop-button:hover{filter:brightness(1.25);transform:translateY(-1px)}}.shop-button.selected{transform:scale(1.1)translateY(-2px)}.shop-button:active,button:active{transform:scale(.95)}.title-screen{z-index:200;background:radial-gradient(#16161f 0%,#08080d 100%);justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow:hidden auto}.title-bg-canvas{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.title-content{z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#14141c8c 0%,#08080ebf 100%);border:1px solid #a29bfe40;border-radius:18px;flex-direction:column;align-items:center;gap:18px;min-width:460px;margin:auto 0;padding:40px 60px;display:flex;position:relative;box-shadow:0 0 60px #000000b3,inset 0 0 30px #a29bfe0d}@keyframes titleIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.title-content>*{animation:.5s cubic-bezier(.16,1,.3,1) both titleIn}.title-content>:nth-child(2){animation-delay:70ms}.title-content>:nth-child(3){animation-delay:.14s}.title-content>:nth-child(4){animation-delay:.21s}.title-content>:nth-child(5){animation-delay:.28s}.title-content>:nth-child(6){animation-delay:.35s}.title-tag{font-family:var(--font-mono);letter-spacing:6px;color:#a29bfeb3;text-transform:uppercase;margin-bottom:-6px;font-size:11px}.title-name{letter-spacing:4px;text-align:center;text-shadow:0 0 30px #a29bfe66;flex-direction:column;align-items:center;gap:2px;margin:0;font-size:56px;font-weight:900;line-height:.95;display:flex}.title-name span:first-child{color:#fff}.title-name-accent{background:linear-gradient(135deg,#74b9ff 0%,#a29bfe 50%,#ff7675 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 20px #a29bfe66);-webkit-background-clip:text;background-clip:text;font-size:64px}.title-name-sub{letter-spacing:12px;color:#feca57;margin-top:4px;font-size:28px}.title-divider{background:linear-gradient(90deg,#0000,#a29bfe80,#0000);width:60%;height:1px;margin:6px 0 4px}.title-buttons{flex-direction:column;gap:10px;width:320px;margin-top:4px;display:flex}.title-btn{color:#fff;letter-spacing:3px;cursor:pointer;font-size:14px;font-weight:800;font-family:var(--font-ui);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:6px;justify-content:center;align-items:center;gap:10px;padding:14px 20px;transition:all .15s;display:flex;position:relative}.title-btn:hover:not(:disabled){background:#a29bfe26;border-color:#a29bfeb3;transform:translateY(-1px);box-shadow:0 6px 20px #a29bfe33}.title-btn:disabled{opacity:.35;cursor:not-allowed}.title-btn.primary{color:#fff;background:linear-gradient(135deg,#a29bfe40,#74b9ff40);border-color:#a29bfe80}.title-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#a29bfe66,#74b9ff66)}.title-btn.danger{color:#ff7675;background:#ff76752e;border-color:#ff7675b3}.title-btn.ghost{letter-spacing:2px;color:#ffffff73;border-color:#ffffff0f;padding:8px 12px;font-size:11px}.title-btn.ghost:hover:not(:disabled){color:#ff7675;background:#ff767514;border-color:#ff767566}.btn-key{font-family:var(--font-mono);color:#fff9;letter-spacing:0;font-size:11px;font-weight:900}.title-save-info{font-family:var(--font-mono);color:#fff9;letter-spacing:1px;margin-top:4px;font-size:11px}.title-credits{font-family:var(--font-mono);color:#ffffff8c;letter-spacing:2px;margin-top:-6px;font-size:11px}.gameover-screen{z-index:150;background:radial-gradient(#280a0ad9 0%,#000000f5 100%);justify-content:center;align-items:center;animation:.5s ease-out gameoverFadeIn;display:flex;position:absolute;inset:0}@keyframes gameoverFadeIn{0%{opacity:0}to{opacity:1}}.gameover-content{background:linear-gradient(#140a0ed9 0%,#080408f2 100%);border:1px solid #ff76754d;border-radius:14px;flex-direction:column;gap:18px;width:540px;max-width:calc(100% - 40px);max-height:calc(100% - 24px);padding:28px 36px;animation:.6s cubic-bezier(.16,1,.3,1) gameoverSlideIn;display:flex;overflow-y:auto;box-shadow:0 0 60px #ff767533,inset 0 0 30px #ff76750a}@keyframes gameoverSlideIn{0%{opacity:0;transform:translateY(40px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.gameover-rank-section{flex-direction:column;align-items:center;gap:4px;display:flex}.gameover-tag{font-family:var(--font-mono);letter-spacing:5px;color:#ff7675b3;font-size:10px}.gameover-title{letter-spacing:4px;color:#fff;text-shadow:0 0 20px #ff767580;font-size:22px;font-weight:900}.gameover-rank{font-size:110px;font-weight:900;line-height:1;font-family:var(--font-ui);letter-spacing:-4px;margin:6px 0 -4px;animation:.8s cubic-bezier(.34,1.56,.64,1) rankPop}@keyframes rankPop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.gameover-rank-label{font-family:var(--font-mono);letter-spacing:6px;font-size:12px;font-weight:900}.gameover-divider{background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:1px}.gameover-stats{flex-direction:column;gap:8px;display:flex}.stat-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat-row.hero .stat-block{background:#ffffff0a;border-color:#ffffff1f}.stat-row.hero .stat-val{font-size:22px}.stat-block{background:#ffffff05;border:1px solid #ffffff0f;border-radius:6px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.stat-key{font-family:var(--font-mono);letter-spacing:1.5px;color:#fff9;font-size:11px}.stat-val{color:#fff;font-size:16px;font-weight:900}.stat-val.accent{color:#a29bfe}.stat-val.gold{color:#feca57}.stat-val.danger{color:#ff7675}.gameover-buttons{gap:10px;margin-top:6px;display:flex}.gameover-btn{color:#fff;letter-spacing:3px;cursor:pointer;font-size:13px;font-weight:800;font-family:var(--font-ui);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:6px;flex:1;padding:12px;transition:all .15s}.gameover-btn:hover{background:#ffffff14;border-color:#ffffff4d;transform:translateY(-1px)}.gameover-btn.primary{background:linear-gradient(135deg,#ff76754d,#feca5733);border-color:#ff767599}.gameover-btn.primary:hover{background:linear-gradient(135deg,#ff767580,#feca574d);box-shadow:0 6px 20px #ff76754d}.settings-overlay{z-index:300;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000b3;justify-content:center;align-items:center;animation:.2s ease-out settingsFadeIn;display:flex;position:fixed;inset:0}@keyframes settingsFadeIn{0%{opacity:0}to{opacity:1}}.settings-modal{background:linear-gradient(#14141cf2 0%,#0a0a10fa 100%);border:1px solid #a29bfe66;border-radius:12px;flex-direction:column;width:460px;max-width:calc(100% - 40px);max-height:calc(100% - 24px);display:flex;overflow:hidden auto;box-shadow:0 0 40px #a29bfe33}.settings-header{background:#a29bfe0d;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.settings-title{letter-spacing:4px;color:#a29bfe;font-size:14px;font-weight:900}.settings-close{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:4px;width:24px;height:24px;padding:0;font-size:22px;line-height:1;transition:all .15s}.settings-close:hover{color:#fff;background:#ff767533}.settings-body{flex-direction:column;gap:18px;padding:18px;display:flex}.settings-section{flex-direction:column;gap:8px;display:flex}.settings-label{font-family:var(--font-mono);letter-spacing:3px;color:#ffffff80;font-size:9px}.settings-quality-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.quality-btn{color:#fff;cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;transition:all .15s;display:flex}.quality-btn:hover{background:#a29bfe14;border-color:#a29bfe4d}.quality-btn.active{background:linear-gradient(135deg,#a29bfe40,#74b9ff26);border-color:#a29bfeb3;box-shadow:0 0 14px #a29bfe33}.quality-name{letter-spacing:2px;font-size:13px;font-weight:900}.quality-desc{font-family:var(--font-mono);color:#fff9;letter-spacing:.5px;text-align:center;font-size:11px;line-height:1.3}.settings-row{justify-content:space-between;align-items:center;display:flex}.mute-btn{color:#fff;font-family:var(--font-mono);letter-spacing:2px;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff26;border-radius:4px;padding:4px 10px;font-size:9px;transition:all .15s}.mute-btn:hover{background:#a29bfe1f;border-color:#a29bfe66}.mute-btn.active{color:#ff7675;background:#ff76752e;border-color:#ff767599}.slider-row{grid-template-columns:60px 1fr 32px;align-items:center;gap:10px;display:grid}.slider-label{font-family:var(--font-mono);letter-spacing:2px;color:#ffffff8c;font-size:9px}.slider-value{font-family:var(--font-mono);color:#ffffffbf;text-align:right;font-size:10px}.vol-slider{appearance:none;cursor:pointer;background:#ffffff1a padding-box content-box;border-radius:2px;outline:none;width:100%;height:4px;padding:12px 0}.vol-slider:disabled{opacity:.4;cursor:not-allowed}.vol-slider:focus-visible{outline:2px solid var(--c-violet);outline-offset:4px}.vol-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:linear-gradient(135deg,#a29bfe,#74b9ff);border:1px solid #fff6;border-radius:50%;width:14px;height:14px;box-shadow:0 0 8px #a29bfe80}.vol-slider::-moz-range-thumb{cursor:pointer;background:linear-gradient(135deg,#a29bfe,#74b9ff);border:1px solid #fff6;border-radius:50%;width:14px;height:14px;box-shadow:0 0 8px #a29bfe80}.settings-footer{background:#0000004d;border-top:1px solid #ffffff0d;justify-content:flex-end;padding:8px 18px;display:flex}.settings-hint{font-family:var(--font-mono);color:#ffffff8c;letter-spacing:1px;font-size:11px}.rules-modal{width:560px;max-height:86vh}.rules-body{max-height:calc(86vh - 90px);overflow-y:auto}.rules-text{color:#ffffffd9;font-size:12px;line-height:1.55}.rules-list{color:#ffffffd9;flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:12px;line-height:1.5;display:flex}.rules-list.compact{gap:3px;font-size:11.5px}.rules-list b{color:#a29bfe;letter-spacing:.5px}.rules-grid{color:#ffffffd9;grid-template-columns:1fr 1fr;gap:6px 14px;font-size:11.5px;display:grid}.rules-key{text-align:center;min-width:38px;font-family:var(--font-mono);color:#a29bfe;letter-spacing:1px;background:#a29bfe26;border:1px solid #a29bfe59;border-radius:4px;margin-right:6px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}.rules-danger{color:#ff7675;font-weight:700}.rules-gold{color:#feca57;font-weight:700}.pause-overlay{z-index:250;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080810b3;justify-content:center;align-items:center;animation:.2s ease-out pauseFadeIn;display:flex;position:absolute;inset:0}@keyframes pauseFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.pause-modal{background:linear-gradient(#14141cd9 0%,#08080ef2 100%);border:1px solid #a29bfe66;border-radius:14px;flex-direction:column;align-items:center;gap:14px;width:360px;max-width:calc(100% - 40px);max-height:calc(100% - 24px);padding:32px 40px;animation:.25s cubic-bezier(.16,1,.3,1) pauseSlideIn;display:flex;overflow-y:auto;box-shadow:0 0 50px #a29bfe33}@keyframes pauseSlideIn{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.pause-tag{font-family:var(--font-mono);letter-spacing:6px;color:#a29bfeb3;font-size:10px}.pause-title{letter-spacing:3px;color:#fff;text-shadow:0 0 20px #a29bfe66;font-size:18px;font-weight:900}.pause-divider{background:linear-gradient(90deg,#0000,#a29bfe80,#0000);width:70%;height:1px;margin:4px 0}.pause-buttons{flex-direction:column;gap:8px;width:100%;display:flex}.pause-btn{color:#fff;letter-spacing:3px;cursor:pointer;font-size:13px;font-weight:800;font-family:var(--font-ui);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;transition:all .15s;display:flex}.pause-btn:hover{background:#a29bfe26;border-color:#a29bfeb3;transform:translateY(-1px)}.pause-btn.primary{background:linear-gradient(135deg,#a29bfe40,#74b9ff33);border-color:#a29bfe80}.pause-btn.primary:hover{background:linear-gradient(135deg,#a29bfe66,#74b9ff59);box-shadow:0 6px 18px #a29bfe40}.pause-btn.danger{color:#ff7675;background:#ff76752e;border-color:#ff767599}.pause-btn.ghost{letter-spacing:2px;color:#ffffff8c;border-color:#ffffff14;font-size:11px}.pause-btn.ghost:hover{color:#ff7675;background:#ff767514;border-color:#ff767566}.dock{z-index:10;pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;width:88px;display:flex;position:absolute;top:0;bottom:0}.dock-left{left:0}.dock-right{right:0}.dock .shop-hud{border-radius:10px;grid-template-columns:1fr 1fr;gap:4px 6px;padding:6px;display:grid;position:static;transform:none}.dock .shop-button{width:40px;height:40px}.dock .shop-shortcut{display:none}.dock .encyclopedia-buttons{flex-direction:column;gap:10px;position:static}.dock .ency-btn{width:44px;height:44px}.dock .ency-btn .icon{font-size:20px}@media (pointer:coarse){.btn-key,.esc-text{display:none}.ency-search{font-size:16px}.filter-btn{padding:8px 12px}.unique-close-btn{padding:10px}.settings-close{width:40px;height:40px}.vol-slider::-webkit-slider-thumb{width:22px;height:22px}.vol-slider::-moz-range-thumb{width:22px;height:22px}}@media (height<=560px){.title-content{gap:8px;min-width:0;margin:10px 0;padding:14px 22px}.title-tag{margin-bottom:0}.title-name{letter-spacing:3px;font-size:28px}.title-name-accent{font-size:32px}.title-name-sub{letter-spacing:8px;margin-top:0;font-size:14px}.title-divider{margin:0}.title-buttons{grid-template-columns:1fr 1fr;gap:8px;width:440px;max-width:100%;display:grid}.title-btn{letter-spacing:2px;padding:10px 12px;font-size:12px}.title-save-info,.title-credits{margin-top:0}.gameover-content{gap:10px;padding:16px 22px}.pause-modal{gap:10px;padding:18px 28px}.settings-body{gap:12px;padding:12px}}html:is(:lang(ko),:lang(ja)) :is(.title-tag,.title-btn,.title-credits,.gameover-tag,.gameover-title,.gameover-rank-label,.gameover-btn,.settings-title,.settings-label,.quality-name,.mute-btn,.slider-label,.pause-tag,.pause-title,.pause-btn,.category-header){letter-spacing:1px}
