:root{--bg: #16301b;--bg2: #1f4426;--wood: #3a2618;--wood2: #4a311f;--wood-edge: #24170e;--card: #fff6e3;--card2: #f6e5c4;--ink: #2b1a10;--muted: #7a6650;--accent: #ffb703;--accent2: #fb8500;--good: #3fae2a;--good2: #2d8a1d;--bad: #e63946;--sky: #8ecae6;--path-a: #ffd23f;--path-b: #4cc9f0;--panel-w: 252px;--font: "Fredoka", "Trebuchet MS", system-ui, sans-serif;--display: "Lilita One", "Fredoka", "Trebuchet MS", sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:var(--font);overflow:hidden;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;touch-action:manipulation}button{font-family:inherit}.hidden{display:none!important}#app{position:fixed;inset:0;display:flex;background:radial-gradient(ellipse at 50% 40%,var(--bg2),var(--bg) 70%)}#stage{flex:1;min-width:0;position:relative;display:flex;align-items:center;justify-content:center;padding:10px}#canvasWrap{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px #00000073,0 0 0 4px var(--wood-edge),0 0 0 7px #6b4a2e}#game{display:block;touch-action:none;cursor:default}#game.placing{cursor:crosshair}#hud{position:absolute;top:10px;left:10px;display:flex;gap:8px;pointer-events:none}.pill{display:flex;align-items:center;gap:6px;background:#24170ed1;color:#fff;font-weight:700;font-size:17px;padding:5px 12px 5px 7px;border-radius:999px;border:2px solid rgba(255,255,255,.18);text-shadow:0 1px 0 rgba(0,0,0,.5);min-height:34px}.pill.round{padding-left:12px}.pill.flash{animation:pulse .35s ease}@keyframes pulse{50%{transform:scale(1.12)}}.ico{width:22px;height:22px;display:inline-block;background-size:contain;background-repeat:no-repeat;flex:none}.ico-coin{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23ffcd3c' stroke='%232b1a10' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='6.5' fill='none' stroke='%23e9a400' stroke-width='2'/%3E%3Cpath d='M9 10.5h6M9 13.5h6' stroke='%23e9a400' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E")}.ico-heart{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-8-5.2-8-11a4.6 4.6 0 0 1 8-3.1A4.6 4.6 0 0 1 20 10c0 5.8-8 11-8 11z' fill='%23ff4d6d' stroke='%232b1a10' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M8 8.5a2 2 0 0 1 2-1.5' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' fill='none'/%3E%3C/svg%3E")}#topRight{position:absolute;top:10px;right:10px;display:flex;gap:8px}.icon-btn{width:40px;height:40px;border-radius:12px;border:2px solid rgba(255,255,255,.2);background:#24170ed1 center / 22px 22px no-repeat;cursor:pointer}.icon-btn:hover{background-color:#3c2818eb}#btnPause{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='6' y='5' width='4.5' height='14' rx='1.5' fill='%23fff'/%3E%3Crect x='13.5' y='5' width='4.5' height='14' rx='1.5' fill='%23fff'/%3E%3C/svg%3E")}#btnMute{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9h4l5-4v14l-5-4H4z' fill='%23fff'/%3E%3Cpath d='M16 8.5a5 5 0 0 1 0 7M18.5 6a8.5 8.5 0 0 1 0 12' stroke='%23fff' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")}#btnMute.off{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9h4l5-4v14l-5-4H4z' fill='%23fff'/%3E%3Cpath d='M16 9l6 6M22 9l-6 6' stroke='%23ff6b6b' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E")}#abilityBar{position:absolute;left:10px;bottom:10px;display:flex;gap:8px}.ability{position:relative;width:58px;height:58px;border-radius:16px;border:3px solid #fff;background:linear-gradient(#ffcf4a,#fb8500);box-shadow:0 4px #9c4d00,0 6px 14px #00000059;color:var(--ink);font-weight:700;font-size:11px;line-height:1.05;cursor:pointer;overflow:hidden;padding:0 2px}.ability .kb{position:absolute;top:2px;right:4px;font-size:9px;opacity:.7}.ability:disabled{cursor:default;filter:saturate(.4) brightness(.85)}.ability .cd{position:absolute;left:0;right:0;bottom:0;background:#140c0699;pointer-events:none}.ability:not(:disabled){animation:ready 1.4s ease-in-out infinite}@keyframes ready{50%{box-shadow:0 4px #9c4d00,0 0 18px #ffd23fe6}}#toasts{position:absolute;top:54px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:min(92%,440px)}.toast{background:var(--card);border:3px solid var(--ink);border-radius:14px;padding:8px 14px;font-weight:600;font-size:15px;box-shadow:0 6px 16px #00000059;display:flex;align-items:center;gap:10px;animation:toastIn .35s cubic-bezier(.2,1.4,.4,1);pointer-events:none}.toast.out{animation:toastOut .3s ease forwards}.toast canvas{width:54px;height:46px;flex:none}.toast b{color:#b5480b}.toast .t-title{font-family:var(--display);font-size:17px;letter-spacing:.5px}.toast.boss{background:#2b1d14;color:#ffe8b0;border-color:#ffb703}.toast.boss .t-title{color:#ffb703}.toast.good{background:#e9ffd9}@keyframes toastIn{0%{transform:translateY(-14px) scale(.9);opacity:0}}@keyframes toastOut{to{transform:translateY(-10px);opacity:0}}#placeHint{position:absolute;left:50%;bottom:12px;transform:translate(-50%);background:#24170ee6;color:#fff;padding:6px 8px 6px 14px;border-radius:999px;display:flex;align-items:center;gap:10px;font-size:14px;white-space:nowrap}#panel{width:var(--panel-w);flex:none;display:flex;flex-direction:column;background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 2px,transparent 2px 22px),linear-gradient(180deg,var(--wood2),var(--wood));border-left:4px solid var(--wood-edge);color:#fff;min-height:0}#shopView,#towerView{flex:1;min-height:0;overflow-y:auto;padding:10px 10px 6px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin:0 2px 8px}.panel-title{font-family:var(--display);font-size:20px;letter-spacing:.5px;color:#ffe8b0;text-shadow:0 2px 0 rgba(0,0,0,.4)}#shopGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.shop-item{position:relative;background:var(--card);border:2px solid var(--ink);border-radius:12px;padding:3px 2px 2px;cursor:pointer;display:flex;flex-direction:column;align-items:center;box-shadow:0 3px #00000059;transition:transform .08s}.shop-item:hover{transform:translateY(-2px)}.shop-item:active{transform:translateY(1px);box-shadow:0 1px #00000059}.shop-item canvas{width:100%;height:38px;display:block}.shop-item .price{font-weight:700;font-size:12px;color:var(--ink)}.shop-item .hk{position:absolute;top:2px;left:5px;font-size:10px;color:var(--muted);font-weight:600}.shop-item.poor{background:#d8cdb8}.shop-item.poor .price{color:var(--bad)}.shop-item.poor canvas{opacity:.55}.shop-item.active{outline:3px solid var(--accent);outline-offset:1px}.shop-item.shake{animation:shake .3s}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.gadget-head{display:flex;align-items:baseline;justify-content:space-between;margin:10px 2px 6px;font-family:var(--display);font-size:15px;letter-spacing:.4px;color:#ffe8b0;text-shadow:0 2px 0 rgba(0,0,0,.4)}.gadget-sub{font-family:var(--font);font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:#d9c4a0;text-shadow:none}#gadgetGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.shop-item.gadget{flex-direction:row;align-items:center;gap:2px;padding:3px 6px 3px 2px;min-height:44px}.shop-item.gadget canvas{width:40px;height:34px;flex:none}.shop-item.gadget .g-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.1;text-align:left}.shop-item.gadget .g-name{font-size:11.5px;font-weight:700;color:var(--ink)}.shop-item.gadget .hk{top:1px;left:4px}.info-card{margin-top:10px;background:#00000047;border-radius:12px;padding:9px 10px;font-size:13px;line-height:1.35;color:#f8ecd6;min-height:92px}.info-card h3{margin:0 0 3px;font-size:16px;color:#ffe8b0;display:flex;justify-content:space-between;gap:6px}.info-card .role{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--accent);font-weight:700}.info-card .water-note{color:var(--sky);font-weight:600}.tv-head{display:flex;gap:8px;align-items:center;margin-bottom:8px}.tv-head canvas{width:66px;height:54px;background:var(--card);border-radius:12px;border:2px solid var(--ink);flex:none}.tv-name{font-family:var(--display);font-size:19px;color:#ffe8b0;line-height:1.05}.tv-sub{font-size:12px;color:#e8d6b8}.tv-close{margin-left:auto;align-self:flex-start}.targeting{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:8px}.targeting button{border:2px solid var(--ink);border-radius:8px;background:var(--card2);font-size:12px;font-weight:600;padding:4px 0;cursor:pointer}.targeting button.on{background:var(--accent)}.paths{display:grid;grid-template-columns:1fr 1fr;gap:6px}.path-col{background:#00000040;border-radius:12px;padding:6px;display:flex;flex-direction:column;gap:5px}.path-name{font-size:12px;font-weight:700;color:#ffe8b0;text-align:center}.pips{display:flex;justify-content:center;gap:4px}.pip{width:14px;height:7px;border-radius:4px;background:#ffffff2e}.path-col.a .pip.on{background:var(--path-a)}.path-col.b .pip.on{background:var(--path-b)}.up-btn{border:2px solid var(--ink);border-radius:10px;background:var(--card);padding:6px 5px;text-align:left;cursor:pointer;min-height:112px;display:flex;flex-direction:column;gap:3px;box-shadow:0 3px #00000059}.up-btn .u-name{font-weight:700;font-size:13px;line-height:1.1}.up-btn .u-desc{font-size:11px;line-height:1.25;color:#4d3b2b;flex:1}.up-btn .u-cost{font-weight:700;font-size:14px;color:var(--good2)}.up-btn.poor .u-cost{color:var(--bad)}.up-btn.poor{background:#e6dccb}.up-btn:not(:disabled):hover{background:#fffaf0}.up-btn:disabled{cursor:default}.up-btn.maxed,.up-btn.locked{background:#ffffff1a;color:#e8d6b8;border-color:#0006;box-shadow:none;justify-content:center;text-align:center}.up-btn.maxed .u-desc,.up-btn.locked .u-desc{color:#d8c6a8}.tv-actions{display:flex;gap:6px;margin-top:8px}.tv-actions .btn{flex:1}.ability-note{margin-top:6px;font-size:12px;color:var(--accent)}#controls{padding:8px 10px 10px;border-top:3px solid rgba(0,0,0,.3);background:#00000026}.ctrl-row{display:flex;align-items:center;justify-content:space-between;margin-top:7px;gap:8px}.auto{font-size:13px;display:flex;align-items:center;gap:5px;color:#f3e3c6;cursor:pointer}.auto input{width:17px;height:17px;accent-color:var(--accent)}.btn{border:3px solid var(--ink);border-radius:14px;background:var(--card);color:var(--ink);font-weight:700;font-size:15px;padding:8px 14px;cursor:pointer;box-shadow:0 4px #0006;transition:transform .06s,box-shadow .06s}.btn:hover{filter:brightness(1.05)}.btn:active{transform:translateY(3px);box-shadow:0 1px #0006}.btn:disabled{filter:grayscale(.5) brightness(.85);cursor:default}.btn.small{font-size:13px;padding:5px 10px;border-radius:10px;border-width:2px}.btn.go{background:linear-gradient(#5ed13c,#2d8a1d);color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.35);width:100%;font-size:18px}.btn.go.running{background:linear-gradient(#ffcf4a,#fb8500)}.btn.big{font-size:26px;padding:12px 26px;border-radius:18px;font-family:var(--display);letter-spacing:1px}.btn.danger{background:linear-gradient(#ff6b6b,#c1121f);color:#fff}.btn.ghost{background:#ffffffe6}.btn.sell{background:linear-gradient(#ffd166,#f4a261)}.screen{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center}#scrSplash{background:#0f1f12;z-index:40}.splash-inner{text-align:center;animation:splashIn 1.6s ease both}@keyframes splashIn{0%{opacity:0;transform:scale(.9)}30%{opacity:1;transform:scale(1)}85%{opacity:1}to{opacity:0}}.studio-mark{display:flex;flex-direction:column;align-items:center;line-height:.95}.studio-mark .max{font-family:var(--display);font-size:clamp(44px,9vw,96px);color:#ffb703;letter-spacing:3px;text-shadow:0 5px 0 #7a3d00}.studio-mark .studios{font-weight:700;font-size:clamp(16px,3vw,28px);letter-spacing:12px;color:#f5e6c8;margin-top:8px}.presents{margin-top:18px;color:#c9b896;font-size:16px;letter-spacing:3px;text-transform:uppercase}#scrTitle{background:linear-gradient(180deg,#0a190c26,#0a190c8c)}.title-inner{text-align:center;padding:20px}.logo{margin:0;display:flex;flex-direction:column;align-items:center;line-height:.85;transform:rotate(-3deg)}.logo span{font-family:var(--display);font-size:clamp(56px,11vw,132px);letter-spacing:3px;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill}.logo .l1{color:#ffb703;text-shadow:0 8px 0 #7a3d00,0 14px 22px rgba(0,0,0,.35)}.logo .l2{color:#ff6b4a;text-shadow:0 8px 0 #7a1d0b,0 14px 22px rgba(0,0,0,.35)}.subtitle{display:inline-block;margin-top:18px;background:var(--card);border:3px solid var(--ink);border-radius:999px;padding:4px 22px;font-family:var(--display);font-size:clamp(18px,3vw,28px);color:#2d6a4f;letter-spacing:1px;box-shadow:0 5px #00000059}.menu{margin-top:30px;display:flex;flex-direction:column;align-items:center;gap:14px}.menu-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.credit{margin-top:26px;color:#f5e6c8;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.6);letter-spacing:1px}.tap-hint{position:absolute;bottom:14px;left:50%;transform:translate(-50%);color:#f5e6c8;font-size:13px;opacity:.85;text-shadow:0 1px 3px #000}#scrMaps{background:#0c1a0ed1;backdrop-filter:blur(3px);overflow-y:auto;align-items:flex-start}.maps-inner{width:min(1100px,100%);padding:20px 16px 40px}.maps-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.maps-head h2{margin:0;font-family:var(--display);color:#ffe8b0;font-size:clamp(24px,4vw,36px);letter-spacing:1px;text-shadow:0 3px 0 rgba(0,0,0,.4)}#mapGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.map-card{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;background:var(--card);border:3px solid var(--ink);border-radius:16px;overflow:hidden;cursor:pointer;text-align:left;padding:0;box-shadow:0 6px #0006;transition:transform .1s}.map-card:hover{transform:translateY(-3px) rotate(-.5deg)}.map-card canvas{width:100%;aspect-ratio:3 / 2;display:block;border-bottom:3px solid var(--ink)}.map-meta{padding:8px 12px 10px}.map-name{font-family:var(--display);font-size:21px;letter-spacing:.5px;display:flex;justify-content:space-between;align-items:center}.tier{font-family:var(--font);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;padding:2px 8px;border-radius:999px;background:#e9ffd9;color:#2d6a4f;border:2px solid #2d6a4f}.tier.Intermediate{background:#fff3c4;color:#8a5a00;border-color:#8a5a00}.tier.Advanced{background:#ffe0cc;color:#a33d00;border-color:#a33d00}.tier.Expert{background:#ffd6dc;color:#9d0208;border-color:#9d0208}.map-desc{font-size:13px;color:#5b4632;margin:4px 0 8px;min-height:34px}.medals{display:flex;gap:6px;align-items:center}.medal{width:22px;height:22px;border-radius:50%;border:2px solid var(--ink);background:#e2d6c2;opacity:.4}.medal.on{opacity:1}.saved-badge{margin-left:auto;font-size:12px;font-weight:700;color:#fff;background:var(--accent2);border-radius:999px;padding:2px 8px}.modal{position:absolute;inset:0;z-index:50;background:#0a120a99;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:16px}.modal-card{background:var(--card);border:4px solid var(--ink);border-radius:22px;padding:20px 22px;width:min(560px,100%);max-height:calc(100% - 20px);overflow-y:auto;box-shadow:0 10px #00000059,0 20px 50px #00000080;animation:pop .3s cubic-bezier(.2,1.4,.4,1)}.modal-card.wide{width:min(860px,100%)}@keyframes pop{0%{transform:scale(.85);opacity:0}}.modal-card h2{margin:0 0 6px;font-family:var(--display);font-size:30px;letter-spacing:.5px;text-align:center}.modal-card p{margin:6px 0;line-height:1.45}.modal-actions{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap}.diff-list{display:grid;gap:10px;margin-top:12px}.diff-btn{display:flex;align-items:center;gap:12px;text-align:left;border:3px solid var(--ink);border-radius:14px;background:#fffaf0;padding:10px 12px;cursor:pointer;box-shadow:0 4px #0000004d}.diff-btn:hover{background:#fff3d6}.diff-btn .medal{flex:none;width:30px;height:30px;opacity:1}.diff-btn .dname{font-weight:700;font-size:18px}.diff-btn .dblurb{font-size:13px;color:#5b4632}.diff-btn .dstats{margin-left:auto;font-size:12px;color:#5b4632;text-align:right;white-space:nowrap}.resume-box{margin-top:12px;padding:10px 12px;border-radius:14px;background:#fff3c4;border:2px dashed #b5480b;display:flex;align-items:center;justify-content:space-between;gap:10px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.stat-box{background:#f6e5c4;border-radius:12px;padding:8px;text-align:center}.stat-box b{display:block;font-size:20px}.stat-box span{font-size:12px;color:#5b4632}.slider-row{display:grid;grid-template-columns:110px 1fr 46px;align-items:center;gap:10px;margin:10px 0;font-weight:600}.slider-row input{width:100%;accent-color:var(--accent2)}.check-row{display:flex;align-items:center;gap:8px;margin:10px 0;font-weight:600}.guide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:10px}.guide-item{display:flex;gap:8px;background:#fffaf0;border:2px solid #d8c6a8;border-radius:12px;padding:8px}.guide-item canvas{width:64px;height:54px;flex:none}.guide-item .gname{font-weight:700}.guide-item .gtags{font-size:11px;font-weight:700;color:#b5480b;text-transform:uppercase;letter-spacing:.5px}.guide-item .gdesc{font-size:12px;color:#4d3b2b;line-height:1.3}.guide-item.locked{opacity:.55}.howto ol{padding-left:22px;line-height:1.5}.howto li{margin:5px 0}.kbd{display:inline-block;border:2px solid var(--ink);border-bottom-width:3px;border-radius:6px;padding:0 6px;font-size:12px;font-weight:700;background:#fff}#rotateHint{display:none}#canvasWrap.compact #hud{top:6px;left:6px;gap:5px}#canvasWrap.compact .pill{font-size:13px;min-height:26px;padding:2px 9px 2px 5px;gap:4px}#canvasWrap.compact .ico{width:17px;height:17px}#canvasWrap.compact #topRight{top:6px;right:6px;gap:5px}#canvasWrap.compact .icon-btn{width:30px;height:30px;border-radius:9px;background-size:17px 17px}#canvasWrap.compact #toasts{top:38px;gap:5px;width:min(78%,380px)}#canvasWrap.compact .toast{font-size:12px;padding:5px 9px;gap:7px;border-width:2px}#canvasWrap.compact .toast .t-title{font-size:14px}#canvasWrap.compact .toast canvas{width:38px;height:32px}#canvasWrap.compact .toast div[style]{font-size:11px!important}#canvasWrap.compact .ability{width:46px;height:46px;font-size:10px;border-radius:12px}#canvasWrap.compact #placeHint{font-size:12px;bottom:6px}#canvasWrap.tiny .pill.round,#canvasWrap.tiny .toast div[style]{display:none}@media (max-width: 860px){:root{--panel-w: 210px}.shop-item canvas{height:40px}.pill{font-size:15px;min-height:30px}.up-btn{min-height:100px}}@media (max-height: 520px) and (orientation: landscape){#stage{padding:4px}#shopView,#towerView{padding:6px 6px 4px}.panel-title{font-size:16px}.panel-head{margin-bottom:4px}#shopGrid{gap:4px}.shop-item canvas{height:27px}.shop-item .price{font-size:11px}.gadget-head{display:none}#gadgetGrid{gap:4px;margin-top:5px}.shop-item.gadget{min-height:32px;padding:1px 4px 1px 1px}.shop-item.gadget canvas{width:30px;height:26px}.shop-item.gadget .g-name{font-size:10.5px}.info-card{display:none}#controls{padding:5px 6px 6px}.btn.go{font-size:15px;padding:5px 10px}.ctrl-row{margin-top:4px}.up-btn{min-height:84px}.up-btn .u-desc{font-size:10px}.tv-head canvas{width:48px;height:40px}.ability{width:48px;height:48px;font-size:10px}.pill{font-size:13px;min-height:26px;padding:3px 9px 3px 5px}.ico{width:18px;height:18px}.icon-btn{width:34px;height:34px}}@media (max-height: 380px) and (orientation: landscape){.panel-head{display:none}}@media (orientation: portrait) and (max-width: 760px){#app{flex-direction:column}#stage{flex:none;padding:6px}#panel{width:100%;flex:1;border-left:none;border-top:4px solid var(--wood-edge)}.shop-item canvas{height:34px}.info-card{min-height:0}#rotateHint{display:block;position:absolute;bottom:6px;right:8px;font-size:11px;color:#f5e6c8;opacity:.7;pointer-events:none;z-index:5}}.shop-item .lock{display:none;position:absolute;inset:0;border-radius:10px;background:#1e140cb8;color:#ffe8b0;font-size:11px;font-weight:700;align-items:center;justify-content:center;text-align:center;line-height:1.1}.shop-item .lock span{padding:2px 4px}.shop-item.locked .lock{display:flex}.shop-item.locked{cursor:not-allowed}.info-card .stat-line{margin-top:4px;opacity:.85;font-size:12px}.info-card .lock-note,.lock-note{margin-top:4px;color:#ffb4a8;font-weight:700;font-size:12px}.rank-badge{margin:18px auto 0;display:flex;align-items:center;gap:10px;background:#00000073;border:3px solid var(--accent);border-radius:16px;padding:6px 14px 6px 8px;color:#fff;font-family:var(--font);cursor:pointer;min-width:230px;text-align:left}.rank-badge:hover{background:#0009}.rank-badge .rk-num{width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--ink);font-family:var(--display);font-size:22px;display:flex;align-items:center;justify-content:center;border:2px solid var(--ink);flex:none}.rank-badge .rk-text{display:flex;flex-direction:column;gap:3px;flex:1}.rank-badge .rk-text b{font-size:15px}.rank-badge .rk-bar{height:7px;background:#fff3;border-radius:4px;overflow:hidden}.rank-badge .rk-bar span{display:block;height:100%;background:var(--accent)}.rank-badge .rk-sub{font-size:11px;color:#f5e6c8}.map-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 14px}.map-tabs .tab{border:3px solid var(--ink);background:var(--card2);border-radius:999px;padding:5px 14px;font-family:var(--font);font-weight:700;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:6px}.map-tabs .tab span{font-size:11px;background:#0000001f;border-radius:999px;padding:0 6px}.map-tabs .tab.on{background:var(--accent)}.map-tabs .tab-lock{width:10px;height:12px;border:2px solid var(--ink);border-radius:3px;display:inline-block}.map-card{position:relative}.map-card.locked canvas{filter:grayscale(.85) brightness(.7)}.map-card.shake{animation:shake .3s}.map-lock{position:absolute;top:0;left:0;right:0;aspect-ratio:3 / 2;display:flex;align-items:center;justify-content:center}.map-lock span{background:#1e140cd9;color:#ffe8b0;font-weight:700;border-radius:999px;padding:6px 14px;font-size:14px}.best-badge{font-size:12px;font-weight:700;color:var(--ink);background:#ffe8b0;border:2px solid var(--ink);border-radius:999px;padding:1px 8px}.diff-btn.locked{opacity:.55;cursor:not-allowed}.endless-note{text-align:center;font-size:13px;color:#5b4632;margin-top:10px!important}.rank-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 12px;max-height:50vh;overflow-y:auto;padding:4px}.rank-row{display:flex;gap:8px;font-size:13px;padding:3px 8px;border-radius:8px;background:#f6e5c4}.rank-row span:first-child{font-weight:700;min-width:62px}.rank-row.done{background:#d9f5c8}.tv-xp{font-size:11px;color:var(--accent);font-weight:600}.tv-extras{display:flex;gap:6px;margin-bottom:8px}.tv-extras .btn{flex:1}.btn.on{background:var(--accent)}.up-btn.xp-locked{background:#ffffff1f;color:#e8d6b8;border-color:#0006;box-shadow:none}.up-btn.xp-locked .u-desc{color:#d8c6a8}.up-btn .u-lock{font-size:11px;font-weight:700;color:#ffb4a8}.up-btn .u-xpbar{height:5px;border-radius:3px;background:#ffffff2e;overflow:hidden}.up-btn .u-xpbar span{display:block;height:100%;background:var(--accent)}.dmg-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px;margin:4px 0 12px}.dmg-row{background:#f6e5c4;border-radius:10px;padding:6px 10px;font-size:13px;display:flex;flex-direction:column}.dmg-row b{font-size:15px}.toast canvas.dog{width:54px;height:46px}@media (max-width: 860px){.shop-item canvas{height:32px}}@media (max-height: 520px) and (orientation: landscape){.shop-item canvas{height:24px}.shop-item .lock{font-size:9px}.tv-extras{margin-bottom:4px}}@media (orientation: portrait) and (max-width: 760px){#shopGrid{grid-template-columns:repeat(7,1fr)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important}}.pip.gold{box-shadow:inset 0 0 0 1.5px #ffd23f8c}.path-col.a .pip.gold.on,.path-col.b .pip.gold.on{background:linear-gradient(90deg,#ffd23f,#fff1a8,#ffb703);box-shadow:0 0 6px #ffd23fe6}.pips{flex-wrap:nowrap}.up-btn.gold{background:linear-gradient(160deg,#fff4c2,#ffd76a);border-color:#b8860b}.up-btn.gold:not(:disabled):hover{background:linear-gradient(160deg,#fffbe3,#ffe08a)}.up-btn.gold.poor{background:linear-gradient(160deg,#eadfb8,#d9c78f)}.up-btn .lv{display:inline-block;font-size:10px;font-weight:700;padding:0 5px;border-radius:999px;background:#b8860b;color:#fff8dc;vertical-align:1px}.up-btn.gold-locked{border-color:#ffd23f8c}.up-btn.gold-locked .u-lock{color:#ffd76a}.gold-text{color:#ffd23f;font-weight:700}.auto-note{color:#b7e4c7;font-weight:600}.rank-row.gold-row{background:linear-gradient(90deg,#ffd23f59,#ffd23f14);font-weight:700}#shopGrid.golden .shop-item{box-shadow:0 0 0 2px #ffd23fbf,0 3px #00000059}#shopGrid.golden .shop-item:after{content:"2/2";position:absolute;top:2px;right:5px;font-size:9.5px;font-weight:700;color:#a86f00}#abilityBar.auto{display:none}#mapGrid .map-card .tier{flex:none}.toast.gold{background:linear-gradient(160deg,#fff4c2,#ffd76a);border-color:#b8860b}.toast.gold .t-title{color:#7a4f00}.big-row{gap:14px}.btn.battle-btn{background:linear-gradient(#ff8a5c,#d9381e);color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.35)}.acct-chip{display:inline-flex;align-items:center;gap:7px;background:#24170ed1;color:#fff;border:2px solid rgba(255,255,255,.25);border-radius:999px;padding:5px 12px 5px 6px;font-family:var(--font);font-weight:700;font-size:14px;cursor:pointer;max-width:100%}.acct-chip:hover{background:#3c2818f2}.acct-chip.title-chip{position:absolute;top:14px;right:14px}.acct-ico{width:24px;height:24px;border-radius:50%;flex:none;background:#e9d9bd center / 16px 16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4.2' fill='%232b1a10'/%3E%3Cpath d='M3.5 21c.8-4.4 4.2-7 8.5-7s7.7 2.6 8.5 7z' fill='%232b1a10'/%3E%3C/svg%3E");border:2px solid var(--ink)}.acct-ico.on{background-color:var(--accent)}.acct-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-rec{font-size:12px;font-weight:600;color:#ffe8b0}.acct-tabs{display:flex;gap:6px;justify-content:center;margin:4px 0 10px}.acct-tabs button{border:2px solid var(--ink);background:var(--card2);border-radius:999px;padding:4px 14px;font-weight:700;cursor:pointer}.acct-tabs button.on{background:var(--accent)}.acct-form{display:flex;flex-direction:column;gap:10px;margin-top:4px}.acct-form label{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:14px}.acct-form input,.lobby-inner input,.lobby-inner select{font-family:var(--font);font-size:16px;padding:8px 10px;border:2px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink);min-width:0}.acct-form input:focus,.lobby-inner input:focus,.lobby-inner select:focus{outline:3px solid var(--accent);outline-offset:1px}.acct-hint{font-size:12px;color:#5b4632}.acct-err{min-height:18px;color:#c1121f;font-weight:700;font-size:14px;text-align:center}.acct-note{font-size:12px;color:#5b4632;text-align:center;margin-top:12px!important}.pw-form{margin:8px 0;padding:10px;border-radius:12px;background:#f6e5c4}#scrLobby{background:#0c1a0edb;backdrop-filter:blur(3px);overflow-y:auto;align-items:flex-start}.lobby-inner{width:min(1100px,100%);padding:20px 16px 40px;color:#fff}.lobby-intro{background:#0000004d;border-radius:14px;padding:10px 14px;font-size:14px;line-height:1.45;color:#f5e6c8;margin-bottom:14px}.link-btn{background:none;border:none;color:var(--accent);font-weight:700;text-decoration:underline;cursor:pointer;padding:0;font-size:inherit}.lobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.lobby-col{display:flex;flex-direction:column;gap:14px;min-width:0}.lcard{background:var(--card);color:var(--ink);border:3px solid var(--ink);border-radius:16px;padding:12px 14px;box-shadow:0 5px #00000059}.lcard h3{margin:0 0 6px;font-family:var(--display);font-size:20px;letter-spacing:.4px}.lcard p{margin:0 0 8px;font-size:14px;color:#5b4632}.lcard .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}.lcard .row>input,.lcard .row>select{flex:1 1 120px}.lcard.hot{border-color:#d9381e;box-shadow:0 5px #00000059,0 0 0 4px #ff8a5c73}.lcard.need-acct{margin-bottom:14px;display:flex;flex-direction:column;gap:6px;background:#fff3c4}.logged-out .online-only{opacity:.55;pointer-events:none}.lmsg{min-height:18px;font-size:13px;font-weight:600;color:#b5480b;margin-top:6px}.empty{font-size:13px;color:#7a6650}.prow{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px dashed #d8c6a8;font-size:14px}.prow:last-child{border-bottom:none}.pname{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:4px}.prec{font-size:12px;color:#7a6650;white-space:nowrap}.pbtns{display:flex;gap:4px}.phint{font-size:12px;color:#7a6650;flex:1}.plist{max-height:320px;overflow-y:auto}.crown{width:14px;height:12px;flex:none;background:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath d='M2 18h20l1-13-6 5-5-8-5 8-6-5z' fill='%23ffb703' stroke='%232b1a10' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E")}.st{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 7px;border-radius:999px;white-space:nowrap;background:#e2d6c2;color:#5b4632}.st.on{background:#d9f5c8;color:#2d6a4f}.st.busy{background:#ffe0cc;color:#a33d00}.st.look{background:#fff3c4;color:#8a5a00}.st.win{background:#d9f5c8;color:#2d6a4f}.st.lose{background:#ffd6dc;color:#9d0208}.inv{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dashed #d8c6a8;font-size:14px;flex-wrap:wrap}.inv:last-child{border-bottom:none}.inv-btns{display:flex;gap:6px}.searching{display:flex;align-items:center;gap:10px;font-weight:600;margin-bottom:8px}.spinner{width:18px;height:18px;border:3px solid rgba(0,0,0,.15);border-top-color:var(--accent2);border-radius:50%;animation:spin .9s linear infinite;flex:none}.spinner.big{width:34px;height:34px;border-width:4px;margin:0 auto 8px}@keyframes spin{to{transform:rotate(360deg)}}.ico-eco{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 17l5-5 4 3 7-8' stroke='%235ed13c' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M15 7h5v5' stroke='%235ed13c' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.pill.eco{color:#c9f7b0}#panelTabs{display:flex;gap:4px;padding:8px 10px 0}#panelTabs button{flex:1;border:2px solid var(--ink);border-bottom:none;border-radius:10px 10px 0 0;background:#ffffff8c;font-weight:700;font-size:14px;padding:6px 4px;cursor:pointer;color:var(--ink)}#panelTabs button.on{background:var(--card)}#panelTabs button[data-tab=send].on{background:linear-gradient(#ffd2bf,#ffb08f)}#sendView{flex:1;min-height:0;overflow-y:auto;padding:8px 10px 6px}.send-head{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;font-size:13px;color:#f8ecd6}.eco-line,.q-line{display:flex;flex-direction:column;gap:3px}.eco-bar,.q-bar{height:7px;border-radius:4px;background:#00000059;overflow:hidden}.eco-bar span,.q-bar span{display:block;height:100%;width:0}.eco-bar span{background:#5ed13c}.q-bar span{background:#ff8a5c}#sendGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.send-btn{position:relative;background:#fff1e8;border:2px solid var(--ink);border-radius:12px;padding:3px 2px;cursor:pointer;display:flex;flex-direction:column;align-items:center;box-shadow:0 3px #00000059;line-height:1.1;transition:transform .08s}.send-btn:hover{transform:translateY(-2px)}.send-btn:active{transform:translateY(1px);box-shadow:0 1px #00000059}.send-btn canvas{width:100%;height:34px;display:block}.send-btn.boss{background:#ffe1d2}.send-btn .s-count{position:absolute;top:2px;right:5px;font-size:10px;font-weight:700;color:#7a6650}.send-btn .s-cost{font-weight:700;font-size:12px;color:var(--ink)}.send-btn .s-eco{font-weight:700;font-size:11px;color:var(--good2);min-height:12px}.send-btn .s-lock{display:none;position:absolute;inset:0;border-radius:10px;background:#1e140cd6;color:#ffe8b0;font-size:11px;font-weight:700;align-items:center;justify-content:center;text-align:center}.send-btn.locked .s-lock{display:flex}.send-btn.locked{cursor:not-allowed}.send-btn.poor{background:#d8cdb8}.send-btn.poor .s-cost{color:var(--bad)}.send-btn.poor canvas{opacity:.55}.send-btn.full{background:#d8cdb8}.send-btn.full canvas{opacity:.55}.send-btn.shake{animation:shake .3s}.send-btn.fired{animation:fired .35s ease}@keyframes fired{40%{transform:scale(.9);background:#ffb08f}}#sendInfo{min-height:84px}.btn.go.battle-timer{background:linear-gradient(#5b3a22,#3a2618);color:#ffe8b0;font-size:15px;cursor:default;box-shadow:inset 0 0 0 2px #ffffff1a}.btn.go.battle-timer:active{transform:none}#battleBar{position:absolute;top:58px;right:10px;width:188px;display:flex;flex-direction:column;gap:4px;z-index:3;transition:width .2s}#battleBar.big{width:min(52%,420px)}.opp-card{display:flex;flex-direction:column;background:#24170edb;border:2px solid rgba(255,255,255,.2);border-radius:12px;padding:4px 8px;color:#fff;font-size:13px;line-height:1.25;cursor:pointer;position:relative}.opp-card:after{content:"";position:absolute;right:8px;top:9px;width:7px;height:7px;border-right:2px solid #c9b896;border-bottom:2px solid #c9b896;transform:rotate(-135deg)}#battleBar.nomap .opp-card:after{transform:rotate(45deg);top:6px}#battleBar.nomap #oppCanvas{display:none}.opp-name{font-weight:700;color:#ffd2bf;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opp-name:before{content:"vs ";color:#c9b896;font-weight:600}.opp-stats{display:flex;align-items:center;gap:4px;font-weight:700}.opp-stats .ico{width:15px;height:15px}.opp-eco{color:#c9f7b0;margin-left:6px}.opp-quiet{color:#ffb4a8;font-size:11px;margin-left:4px}#oppCanvas{width:100%;aspect-ratio:3 / 2;display:block;border-radius:10px;border:2px solid rgba(255,255,255,.35);cursor:zoom-in;box-shadow:0 4px 12px #0006}#battleBar.big #oppCanvas{cursor:zoom-out}#battleOverlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:4;flex-direction:column}#battleOverlay:empty{display:none}#battleOverlay .ov-card{pointer-events:auto;background:var(--card);border:3px solid var(--ink);border-radius:18px;padding:16px 20px;text-align:center;box-shadow:0 8px #00000059;max-width:340px}#battleOverlay.wait{align-items:center;justify-content:flex-end;padding-bottom:70px}.ov-title{font-family:var(--display);font-size:22px}.ov-sub{font-size:13px;color:#5b4632;margin:4px 0 10px}.ov-count{font-family:var(--display);font-size:clamp(70px,14vw,150px);color:#ffb703;-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-shadow:0 8px 0 #7a3d00;animation:countPop 1s ease infinite}.ov-sub.vs{color:#fff;font-size:20px;font-weight:700;text-shadow:0 2px 4px #000}@keyframes countPop{0%{transform:scale(1.35);opacity:.6}25%{transform:scale(1);opacity:1}}#battleOverlay.quiet{justify-content:flex-start;padding-top:52px}.ov-banner{background:#2b1d14;color:#ffe8b0;border:2px solid #ffb703;border-radius:12px;padding:6px 12px;font-size:13px;font-weight:600;max-width:80%;text-align:center}.result.win{color:#2d8a1d}.result.lose{color:#c1121f}.rec-line{text-align:center;font-size:14px}.rematch-line{text-align:center;font-weight:600;min-height:22px;display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}#canvasWrap.compact #battleBar{top:40px;right:6px;width:132px}#canvasWrap.compact #battleBar.big{width:60%}#canvasWrap.compact .opp-card{font-size:11px;padding:2px 6px}@media (max-width: 760px){.lobby-grid{grid-template-columns:1fr}.acct-chip.title-chip{top:8px;right:8px;font-size:12px}}@media (max-height: 520px) and (orientation: landscape){#sendGrid{gap:4px}.send-btn canvas{height:24px}.send-head{gap:3px;font-size:11px;margin-bottom:5px}#sendInfo{display:none}#panelTabs{padding:5px 6px 0}#panelTabs button{font-size:12px;padding:3px}}@media (orientation: portrait) and (max-width: 760px){#sendGrid{grid-template-columns:repeat(6,1fr)}}.btn.go.small{font-size:13px;width:auto;padding:5px 12px;border-radius:10px;border-width:2px}#stage.split{flex-wrap:wrap;align-content:center;gap:12px}#stage.split #canvasWrap{flex:none}#stage.split #battleBar{display:none}#oppWrap{position:relative;flex:none;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px #00000073,0 0 0 4px var(--wood-edge),0 0 0 7px #8f4a32}#oppWrap.over-mine{position:absolute;inset:0;border-radius:0;box-shadow:none;z-index:6}#oppGame{display:block}#oppHud{position:absolute;top:10px;left:10px;right:60px;display:flex;flex-wrap:wrap;gap:8px;pointer-events:none}.pill.opp-who{color:#ffd2bf;padding-left:12px;max-width:46%}.pill.opp-who span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill.opp-who:before{content:"vs";color:#c9b896;font-weight:600}#btnOppClose{position:absolute;top:10px;right:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6L6 18' stroke='%23fff' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}#oppQuiet{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#2b1d14;color:#ffe8b0;border:2px solid #ffb703;border-radius:12px;padding:6px 14px;font-weight:700;font-size:14px;pointer-events:none}#oppOver{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#140c0673;color:#fff;font-family:var(--display);font-size:clamp(26px,4vw,52px);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;pointer-events:none;text-align:center}#oppOver.small{font-size:clamp(18px,2.4vw,30px);-webkit-text-stroke:2px var(--ink);background:#140c064d}#oppWrap.compact #oppHud{top:6px;left:6px;right:44px;gap:5px}#oppWrap.compact .pill{font-size:13px;min-height:26px;padding:2px 9px 2px 5px;gap:4px}#oppWrap.compact .pill.opp-who{padding-left:8px}#oppWrap.compact .ico{width:17px;height:17px}#oppWrap.compact #btnOppClose{top:6px;right:6px;width:30px;height:30px;border-radius:9px;background-size:16px 16px}#oppWrap.compact .bubble{top:38px;left:6px;font-size:13px;padding:4px 9px}#canvasWrap.compact .bubble.low{bottom:8px;left:6px;font-size:13px;padding:4px 9px}.bubble{position:absolute;top:54px;left:10px;max-width:min(72%,380px);background:#fff6e3;color:var(--ink);border:2px solid var(--ink);border-radius:14px;padding:6px 12px;font-weight:600;font-size:15px;line-height:1.3;box-shadow:0 4px #0000004d;pointer-events:none;z-index:5;overflow-wrap:anywhere;animation:bubbleIn .18s ease;transition:opacity .3s}.bubble:before{content:"";position:absolute;top:-9px;left:20px;border:8px solid transparent;border-top:0;border-bottom-color:var(--ink)}.bubble.them{background:#ffe1d2}.bubble.low{top:auto;bottom:14px}.bubble.low:before{top:auto;bottom:-9px;border-top:8px solid var(--ink);border-bottom:0}.bubble b{color:#b5480b}.bubble.fade{opacity:0}@keyframes bubbleIn{0%{transform:translateY(-6px) scale(.96);opacity:0}}#chatDock{flex:none;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:10px;background:#24170ee6;border:2px solid rgba(255,255,255,.16);border-radius:14px;padding:8px 10px;color:#fff;box-shadow:0 8px 20px #00000059}#chatDock.floating{position:absolute;left:50%;bottom:10px;transform:translate(-50%);width:min(94%,520px);grid-template-columns:minmax(0,1fr);gap:6px;z-index:7}#chatDock.floating #chatLog{height:84px}#chatDock.floating.fixed{position:fixed;left:8px;right:8px;bottom:8px;width:auto;transform:none;z-index:30}#chatLog{overflow-y:auto;min-height:0;font-size:14px;line-height:1.35;padding-right:4px;user-select:text;-webkit-user-select:text}.cl{margin:1px 0;overflow-wrap:anywhere}.cl b{font-weight:700}.cl.me b{color:#9fe0ff}.cl.them b{color:#ffb08f}.cl.sys{color:#c9b896;font-size:12.5px}.chat-side{display:flex;flex-direction:column;gap:6px;min-height:0;min-width:0}.chat-row{display:flex;gap:6px}.chat-row input{flex:1;min-width:0;font:inherit;font-size:15px;border:2px solid var(--ink);border-radius:10px;padding:4px 10px;background:#fff6e3;color:var(--ink);user-select:text;-webkit-user-select:text}.chat-row input:focus{outline:3px solid var(--accent);outline-offset:0}.chat-row input.shake{animation:shake .3s}.chat-row .btn.go.small{flex:none}.chat-quick{display:flex;flex-wrap:wrap;gap:4px;overflow:hidden;min-height:0}.chat-quick button{border:2px solid rgba(255,255,255,.25);background:#ffffff1a;color:#fff;border-radius:999px;padding:2px 9px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.chat-quick button:hover{background:#ffffff38}#chatDock.floating .chat-quick{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.chat-foot{display:flex;justify-content:space-between;gap:10px;margin-top:auto}#chatDock .link-btn{color:#c9b896;font-size:12px;font-weight:600}#stage.split #chatClose{display:none}#btnChat{position:relative;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4.5h16a1.5 1.5 0 0 1 1.5 1.5v9.5A1.5 1.5 0 0 1 20 17h-9.5l-5 4.2V17H4a1.5 1.5 0 0 1-1.5-1.5V6A1.5 1.5 0 0 1 4 4.5z' fill='%23fff'/%3E%3C/svg%3E")}#btnChat .badge{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;border-radius:10px;background:var(--bad);color:#fff;font-size:11px;font-weight:700;line-height:15px;text-align:center;padding:0 4px;border:2px solid var(--ink)}#battleBar .opp-btns{display:flex;gap:4px}#battleBar .opp-btns button{flex:1;border:2px solid rgba(255,255,255,.25);background:#24170edb;color:#ffe8b0;border-radius:9px;font:inherit;font-size:12px;font-weight:700;padding:3px 4px;cursor:pointer}#battleBar .opp-btns button:hover{background:#3c2818f2}.res-chat{margin:6px 0 2px;background:#f6e5c4;border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:6px}.res-chat .res-log{max-height:92px;min-height:22px;overflow-y:auto;font-size:14px;user-select:text;-webkit-user-select:text}.res-chat .cl.me b{color:#1d6fa5}.res-chat .cl.them b{color:#b5480b}.res-chat .cl.sys{color:#7a6650}.res-chat .chat-quick button{background:#fff;color:var(--ink);border-color:var(--ink)}.res-chat .chat-quick button:hover{background:#ffe8b0}@media (max-height: 520px) and (orientation: landscape){.res-chat .res-log{max-height:54px}#chatDock.floating #chatLog{height:54px}}
