:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background-color:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--card-w:clamp(80px, 12vw, 140px);--card-h:clamp(110px, 16vw, 180px);--gap:clamp(4px, 1vw, 12px);--zone-w-idle:8px;--zone-w-active:clamp(40px, 7vw, 90px);--bg-page:#0d1117;--text:#f3f3f5;--bg-panel:#161b22;--bg-panel-2:#1f2630;--border:#2a313c;--accent:#58a6ff;--line:#e94560;--green:#36d57a;--red:#f15a5a;--gold:#f5a623;--muted:#8b949e;--primary-fg:#0d1117;--shadow-strong:0 12px 28px #00000080;--shadow-modal:0 20px 60px #0009;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.4}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-page:#f6f8fa;--text:#1f2328;--bg-panel:#fff;--bg-panel-2:#eef1f4;--border:#d0d7de;--accent:#0969da;--line:#e94560;--green:#1a7f37;--red:#cf222e;--gold:#f5a623;--muted:#656d76;--primary-fg:#fff;--shadow-strong:0 12px 28px #0f172a2e;--shadow-modal:0 20px 60px #0f172a38}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}button{cursor:pointer;font-family:inherit}.app-root{flex-direction:column;max-width:100%;height:100%;display:flex}.app-header{border-bottom:1px solid var(--border);background:var(--bg-panel);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.logo{color:var(--line);letter-spacing:2px;text-shadow:0 0 20px #e9456080;font-family:Boogaloo,cursive;font-size:clamp(26px,7vw,38px);line-height:1}.logo span{color:var(--gold)}.app-title{letter-spacing:.5px;margin:0;font-size:clamp(20px,3vw,28px);font-weight:600}.header-actions{gap:8px;display:flex}.icon-btn{color:inherit;border:1px solid var(--border);background:0 0;border-radius:8px;width:36px;height:36px;font-size:18px}.icon-btn:hover{background:var(--bg-panel-2)}.app-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.game-pane{flex-direction:column;flex:0 0 100%;min-height:0;transition:flex-basis .45s;display:flex}.game-pane--ended{flex-basis:62%}.end-stats-section{border-top:1px solid var(--border);background:linear-gradient(180deg, var(--bg-panel) 0%, var(--bg-page) 100%);flex:none;justify-content:center;padding:28px 20px 40px;display:flex}.end-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:14px;width:100%;max-width:460px;margin:24px auto;padding:28px 24px;display:flex}.end-title{text-align:center;margin:0;font-size:26px;font-weight:700}.end-deck{text-align:center;color:var(--accent);margin:0;font-weight:600}.end-unit{color:var(--muted);font-weight:500}.end-stats{grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;display:grid}.end-share{background:var(--bg-panel-2);white-space:pre-wrap;border-radius:8px;margin:0;padding:10px;font-family:ui-monospace,Consolas,monospace;font-size:13px}.end-countdown{text-align:center;color:var(--muted);margin:0;font-size:13px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:48px 24px;display:flex}.empty-state h2{margin:0;font-size:20px}.primary-btn,.secondary-btn,.danger-btn{text-align:center;border:1px solid #0000;border-radius:8px;margin-top:8px;padding:10px 18px;font-size:15px;font-weight:500;text-decoration:none;display:inline-block}.primary-btn{background:var(--accent);color:var(--primary-fg)}.primary-btn:hover{filter:brightness(1.1)}.secondary-btn{border-color:var(--border);color:inherit;background:0 0}.secondary-btn:hover{background:var(--bg-panel-2)}.danger-btn{border-color:var(--red);color:var(--red);background:0 0}.danger-btn:hover{background:#f15a5a1a}.muted{color:var(--muted)}.game-view{flex-direction:column;flex:1;min-height:0;display:flex}.game-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.game-header-info{flex-direction:column;gap:4px;display:flex}.game-deck-name{font-size:15px;font-weight:600}.game-unit{color:var(--muted);font-size:12px}.game-header-score{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.score{font-size:18px;font-weight:700}.remaining{color:var(--muted);font-size:12px}.number-line-wrap{flex:1;min-height:0;display:flex;position:relative}.number-line-axis{background:var(--border);pointer-events:none;z-index:0;border-radius:2px;width:calc(100% - 44px);height:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.number-line-axis:before,.number-line-axis:after{content:"";border-top:9px solid #0000;border-bottom:9px solid #0000;width:0;height:0;position:absolute;top:50%;transform:translateY(-50%)}.axis-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);pointer-events:none;z-index:0;font-size:12px;font-weight:600;position:absolute;top:calc(50% + 14px)}.axis-label--left{left:14px}.axis-label--right{right:14px}.number-line-axis:before{border-right:14px solid var(--border);left:-13px}.number-line-axis:after{border-left:14px solid var(--border);right:-13px}.number-line{z-index:0;flex:1;justify-content:safe center;align-items:center;padding:20px;display:flex;position:relative;overflow:auto hidden}.number-line-track{align-items:center;gap:clamp(8px,1.6vw,18px);height:100%;margin:0 auto;display:flex}.placed-card-slot{flex-shrink:0;display:flex}.insert-indicator{width:4px;height:var(--card-h);background:var(--accent);border-radius:3px;flex-shrink:0;animation:.12s ease-out indicator-in;box-shadow:0 0 10px #58a6ffcc}@keyframes indicator-in{0%{opacity:0;transform:scaleY(.6)}to{opacity:1;transform:scaleY(1)}}.placed-card{width:var(--card-w);height:var(--card-h);background:var(--bg-panel);border:1px solid var(--border);text-align:center;border-radius:10px;flex-direction:column;flex-shrink:0;gap:6px;padding:8px;display:flex}.placed-card--correct{border-color:var(--green);background:#1f5f3d}.placed-card--wrong{border-color:var(--red);background:#6b2b2b}.placed-card--pop{animation:.45s ease-out card-pop}.placed-card--overlay{box-shadow:var(--shadow-strong);cursor:grabbing;transform:scale(1.05)}@keyframes card-pop{0%{opacity:.4;transform:scale(.78)}55%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.placed-card-image{background:var(--bg-panel-2);border-radius:6px;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.placed-card-image img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;max-height:100%}.placed-card-image-placeholder{background:linear-gradient(135deg, var(--bg-panel-2), var(--bg-panel));width:100%;height:100%}.placed-card-name{word-break:break-word;font-size:12px;font-weight:600;line-height:1.2}.placed-card-value{color:var(--muted);font-size:11px}.game-footer{border-top:1px solid var(--border);background:var(--bg-panel);perspective:900px;justify-content:center;align-items:center;padding:16px 20px 24px;display:flex}.drag-card{width:var(--card-w);height:var(--card-h);background:var(--bg-panel-2);border:1px solid var(--accent);text-align:center;cursor:grab;transform-style:preserve-3d;backface-visibility:hidden;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:10px;flex-direction:column;gap:6px;padding:8px;animation:.45s ease-out card-flip-in;display:flex}.drag-card:active{cursor:grabbing}.drag-card--blank{border-style:dashed;border-color:var(--border);background:0 0}@keyframes card-flip-in{0%{opacity:0;transform:rotateY(90deg)}55%{opacity:1}to{opacity:1;transform:rotateY(0)}}.drag-card-image{background:var(--bg-panel);border-radius:6px;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.drag-card-image img{object-fit:contain;pointer-events:none;max-width:100%;max-height:100%}.drag-card-image-placeholder{background:linear-gradient(135deg, var(--bg-panel-2), var(--bg-panel));width:100%;height:100%}.drag-card-name{font-size:13px;font-weight:700}.drag-card-hint{color:var(--muted);font-size:10px}.finished{color:var(--muted);font-style:italic}.modal-backdrop{z-index:50;background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-panel);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow-modal);border-radius:14px;flex-direction:column;gap:12px;padding:28px;display:flex}.modal-title{text-align:center;margin:0;font-size:24px;font-weight:700}.modal-deck{text-align:center;color:var(--accent);margin:0;font-weight:600}.modal-stats{grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;display:grid}.stat{background:var(--bg-panel-2);text-align:center;border-radius:10px;padding:12px}.stat--wide{grid-column:1/-1}.stat-num{font-size:22px;font-weight:700}.stat-label{color:var(--muted);margin-top:4px;font-size:11px}.modal-share{background:var(--bg-panel-2);white-space:pre-wrap;border-radius:8px;margin:0;padding:10px;font-family:ui-monospace,Consolas,monospace;font-size:13px}.modal-countdown{text-align:center;color:var(--muted);margin:0;font-size:13px}.instructions-image{object-fit:contain;background:var(--bg-panel-2);border-radius:10px;width:100%;max-height:35vh;display:block}.instructions-list{color:var(--text);flex-direction:column;gap:8px;margin:0;padding-left:22px;font-size:14px;line-height:1.5;display:flex}.ins-correct{color:var(--green);font-weight:600}.ins-wrong{color:var(--red);font-weight:600}.toggle-row{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:8px 4px;font-size:14px;font-weight:500;display:flex}.toggle{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.toggle input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.toggle-track{background:var(--bg-panel-2);border:1px solid var(--border);border-radius:999px;transition:background-color .2s,border-color .2s;position:absolute;inset:0}.toggle-thumb{background:var(--muted);border-radius:50%;width:18px;height:18px;transition:transform .2s,background-color .2s;position:absolute;top:2px;left:2px}.toggle input:checked~.toggle-track{background:var(--accent);border-color:var(--accent)}.toggle input:checked~.toggle-track .toggle-thumb{background:#fff;transform:translate(20px)}.toggle input:focus-visible~.toggle-track{outline:2px solid var(--accent);outline-offset:2px}.confetti-layer{pointer-events:none;z-index:100;position:fixed;inset:0;overflow:hidden}.confetti-particle{border-radius:2px;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.25,.4,.4,1);animation-fill-mode:forwards;position:absolute;top:-20px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{transform:translateY(110vh) rotate(var(--rotate,360deg));opacity:.6}}
