:root{--bg-hall: #181410;--bg-cabinet: #26211c;--cream-paper: #f3ebd9;--cream-muted: #d6cbb4;--ink-dark: #1d1a16;--retro-red: #c93b2b;--retro-green: #2c8a56;--retro-blue: #1b56a8;--brass-gold: #d9a441;--brass-light: #f2cf79;--steel-light: #dce2ea;--steel-dark: #6b7684;--font-main: "Hiragino Maru Gothic ProN", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Meiryo", "Noto Sans CJK JP", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;width:100%;height:100dvh;overflow:hidden;background:radial-gradient(circle at 50% 35%,#2b231b,#120f0c);color:var(--cream-paper);font-family:var(--font-main);user-select:none;-webkit-user-select:none}.hidden{display:none!important}#app-shell{width:100%;height:100dvh;display:flex;justify-content:center;align-items:center}#cabinet-frame{position:relative;width:100%;max-width:470px;height:100dvh;max-height:980px;display:flex;flex-direction:column;background:linear-gradient(180deg,#27221d,#1a1714);border-left:2px solid #453c32;border-right:2px solid #453c32;box-shadow:0 24px 64px #000000bf;overflow:hidden}#hud-top{flex:0 0 auto;min-height:92px;padding:8px 12px 6px;background:linear-gradient(180deg,#322a22,#231e18);border-bottom:2px solid #594b3c;display:flex;flex-direction:column;justify-content:space-between;gap:5px;z-index:10}.hud-top-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.round-coin-group{display:flex;align-items:center;gap:8px}.retro-badge{background:linear-gradient(180deg,#f3ebd9,#dcd0b8);color:var(--ink-dark);font-weight:800;font-size:.78rem;padding:2px 9px;border-radius:6px;border:1px solid #8a7962;letter-spacing:.03em}.coin-badge{background:#d9a44129;border:1px solid rgba(217,164,65,.45);color:var(--brass-light);font-size:.82rem;font-weight:700;padding:2px 8px;border-radius:6px}.hud-actions{display:flex;align-items:center;gap:6px}.icon-btn{appearance:none;background:linear-gradient(180deg,#4b4136,#362e26);color:var(--cream-paper);border:1px solid #756554;border-radius:7px;height:28px;min-width:28px;padding:0 7px;font-size:.82rem;font-weight:700;cursor:pointer}.icon-btn:active{transform:translateY(1px)}.score-gauge-block{display:flex;flex-direction:column;gap:3px}.score-labels{display:flex;align-items:baseline;justify-content:space-between;font-size:.82rem}.score-current-wrap strong{font-size:1.15rem;color:#fff;font-weight:900;margin-left:3px}.score-target-wrap{color:var(--cream-muted)}.score-target-wrap strong{font-size:.98rem;color:var(--brass-light);margin-left:3px}.score-bar-track{width:100%;height:9px;background:#14110e;border-radius:999px;border:1px solid #594c3e;overflow:hidden}.score-bar-fill{width:0%;height:100%;background:linear-gradient(90deg,#2563eb,#38bdf8 60%,#fbbf24);border-radius:999px;transition:width .25s ease-out}.score-bar-fill.cleared{background:linear-gradient(90deg,#10b981,#34d399 60%,#fde047)}.queue-relic-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.queue-with-count{display:flex;align-items:center;gap:7px;min-width:0}.balls-left-pill{background:#0f172ab8;border:1px solid rgba(148,163,184,.45);border-radius:999px;padding:2px 8px;font-size:.72rem;color:#cbd5e1;white-space:nowrap;flex-shrink:0}.balls-left-pill strong{color:#fff;font-size:.85rem;margin-left:2px}.ball-queue{display:flex;align-items:center;gap:5px;overflow:hidden}.queue-ball-dot{width:20px;height:20px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);box-shadow:inset -3px -3px 5px #00000073,inset 3px 3px 4px #ffffff80;display:flex;align-items:center;justify-content:center;font-size:.58rem;font-weight:900;color:#fff;flex-shrink:0}.queue-ball-dot.is-next{width:24px;height:24px;border-color:var(--brass-light);box-shadow:0 0 8px #f2cf7980,inset -3px -3px 5px #00000073,inset 3px 3px 4px #ffffffa6}.queue-more{font-size:.72rem;color:var(--cream-muted);font-weight:700}.relic-strip{display:flex;align-items:center;gap:4px}.relic-icon-badge{font-size:.85rem;background:#ffffff14;border:1px solid rgba(217,164,65,.45);border-radius:5px;padding:1px 4px;cursor:pointer}#board-stage{position:relative;flex:1 1 auto;min-height:0;background:#161412;overflow:hidden;touch-action:none}#board-canvas-container{width:100%;height:100%}#floating-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}.floating-score{position:absolute;transform:translate(-50%,-50%);font-weight:900;font-size:1.05rem;text-shadow:0 2px 6px rgba(0,0,0,.9),0 0 2px #000;pointer-events:none;white-space:nowrap;animation:floatUpFade .95s ease-out forwards}@keyframes floatUpFade{0%{opacity:0;transform:translate(-50%,-30%) scale(.75)}18%{opacity:1;transform:translate(-50%,-60%) scale(1.15)}to{opacity:0;transform:translate(-50%,-155%) scale(.95)}}.board-tooltip{position:absolute;left:50%;bottom:12px;transform:translate(-50%);width:calc(100% - 28px);max-width:340px;background:#181512f0;border:1.5px solid var(--brass-gold);border-radius:10px;padding:9px 12px;z-index:12;box-shadow:0 10px 26px #000000a6;pointer-events:none}.tooltip-title{font-size:.88rem;font-weight:900;color:var(--brass-light);margin-bottom:2px}.tooltip-body{font-size:.78rem;line-height:1.4;color:var(--cream-paper)}.customize-bar{position:absolute;bottom:8px;left:8px;right:8px;background:#191613f0;border:1.5px solid var(--brass-gold);border-radius:10px;padding:8px 10px;z-index:15;display:flex;flex-direction:column;gap:6px;box-shadow:0 8px 24px #0009}.customize-prompt{font-size:.84rem;font-weight:800;color:#fde68a}.customize-sub{font-size:.72rem;color:var(--cream-muted)}.customize-buttons{display:flex;justify-content:flex-end;gap:8px}.plunger-power-hud{position:absolute;right:14px;bottom:92px;background:#14110ee6;border:1.5px solid var(--brass-gold);color:var(--cream-paper);border-radius:999px;padding:4px 12px;font-size:.78rem;font-weight:800;pointer-events:none;z-index:9;box-shadow:0 6px 16px #0000008c}.plunger-power-hud strong{color:#fde047;font-size:.95rem;margin-left:3px}.plunger-hint{position:absolute;right:12px;bottom:132px;background:#181410db;border:1px solid rgba(250,204,21,.7);color:#fef08a;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:800;pointer-events:none;z-index:8;box-shadow:0 4px 12px #00000080;animation:hintBounce 1.1s ease-in-out infinite alternate}@keyframes hintBounce{0%{transform:translateY(0)}to{transform:translateY(5px)}}.overlay-backdrop{position:absolute;inset:0;background:#0a0806bd;backdrop-filter:blur(4px);z-index:20}.modal-screen{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:16px}.title-card,.result-card,.shop-card{width:100%;max-width:420px;background:linear-gradient(180deg,#2d251e,#1d1814);border:2px solid var(--brass-gold);border-radius:16px;box-shadow:0 22px 54px #000000d9;color:var(--cream-paper)}.title-card,.result-card{padding:24px 20px;text-align:center}.title-kicker{font-size:.82rem;font-weight:800;color:var(--brass-light);letter-spacing:.14em;margin-bottom:6px}.title-logo{margin:0 0 10px;font-size:2.25rem;font-weight:900;letter-spacing:.08em;color:#fff6e5;text-shadow:0 3px 0 #8f2a1d,0 8px 20px rgba(0,0,0,.65)}.title-sub{font-size:.88rem;line-height:1.6;color:var(--cream-muted);margin:0 0 18px}.title-features{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.feature-chip{background:#ffffff0f;border:1px solid rgba(217,164,65,.35);border-radius:8px;padding:7px 10px;font-size:.82rem;font-weight:700}.btn-retro-start{width:100%;padding:14px 18px;border-radius:10px;border:2px solid #f7d98e;background:linear-gradient(180deg,#d94330,#a52719);color:#fff;font-family:var(--font-main);font-size:1.05rem;font-weight:900;letter-spacing:.06em;cursor:pointer;box-shadow:0 6px 18px #a527198c;margin-bottom:10px}.btn-retro-ghost{width:100%;padding:10px 14px;border-radius:10px;border:1px solid #7c6b58;background:#ffffff0d;color:var(--cream-paper);font-family:var(--font-main);font-size:.88rem;font-weight:700;cursor:pointer}.btn-primary-sm{appearance:none;padding:8px 14px;border-radius:8px;border:1.5px solid #f7d98e;background:linear-gradient(180deg,#d94330,#a52719);color:#fff;font-family:var(--font-main);font-size:.84rem;font-weight:800;cursor:pointer}.btn-secondary-sm{appearance:none;padding:8px 12px;border-radius:8px;border:1px solid #8a7863;background:linear-gradient(180deg,#4b4034,#342c24);color:var(--cream-paper);font-family:var(--font-main);font-size:.82rem;font-weight:700;cursor:pointer}.btn-primary-sm:disabled,.btn-secondary-sm:disabled{opacity:.45;cursor:not-allowed}.result-badge{display:inline-block;background:var(--brass-gold);color:var(--ink-dark);font-weight:900;font-size:.8rem;padding:3px 12px;border-radius:999px;margin-bottom:8px}.result-title{margin:0 0 14px;font-size:1.5rem;font-weight:900}.result-stats{background:#00000047;border:1px solid #594b3b;border-radius:10px;padding:12px;margin-bottom:18px;display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:.84rem}.result-stat-item{display:flex;flex-direction:column;gap:2px}.result-stat-item span{font-size:.72rem;color:var(--cream-muted)}.result-stat-item strong{font-size:1.05rem;color:#fff}.result-actions{display:flex;flex-direction:column;gap:9px}.shop-card{height:min(86dvh,720px);display:flex;flex-direction:column;overflow:hidden}.shop-header{padding:12px 14px;border-bottom:1px solid #574939;display:flex;align-items:center;justify-content:space-between}.shop-title{margin:0;font-size:1.05rem;font-weight:900}.shop-sub{font-size:.8rem;color:var(--brass-light)}.shop-tabs{display:flex;border-bottom:1px solid #574939;background:#00000040}.shop-tab{flex:1;appearance:none;background:transparent;border:none;color:var(--cream-muted);font-family:var(--font-main);font-size:.8rem;font-weight:800;padding:9px 4px;cursor:pointer;border-bottom:2.5px solid transparent}.shop-tab.active{color:var(--brass-light);border-bottom-color:var(--brass-light);background:#d9a44114}.shop-scroll-body{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.shop-section-label{font-size:.76rem;font-weight:800;color:var(--brass-light);letter-spacing:.05em;margin-top:2px}.shop-item-card{background:#ffffff0a;border:1px solid #5c4e3e;border-radius:10px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.shop-item-info{flex:1}.shop-item-name{font-size:.88rem;font-weight:800;display:flex;align-items:center;gap:6px;margin-bottom:2px}.shop-item-desc{font-size:.74rem;line-height:1.38;color:var(--cream-muted)}.shop-item-actions{display:flex;flex-direction:column;gap:5px;flex-shrink:0}.deck-row{background:#ffffff0a;border:1px solid #55483a;border-radius:8px;padding:7px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.deck-row-left{display:flex;align-items:center;gap:8px;font-size:.84rem;font-weight:700}.deck-order-btns{display:flex;gap:4px}.mini-btn{appearance:none;background:#3d342a;color:var(--cream-paper);border:1px solid #756452;border-radius:5px;padding:3px 8px;font-size:.76rem;font-weight:800;cursor:pointer}.shop-footer{padding:10px 12px;border-top:1px solid #574939;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#00000040}.pending-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#10b981;color:#fff;font-size:.72rem;font-weight:900;margin-left:4px}
