:root{font-family:var(--font-family);color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}html,body,#app,canvas,button,dialog{cursor:none}#app{background:var(--bg-deep);width:100%;height:100dvh;min-height:340px;position:relative;overflow:hidden}canvas{touch-action:none;display:block}.game-cursor{z-index:10000;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform;width:48px;height:48px;display:block;position:fixed;top:0;left:0}.hud,.status{position:absolute}.hud{grid-template-columns:auto 1fr auto;align-items:center;gap:6px 18px;display:grid}.hud header .eyebrow,.hud .subtitle{display:none}.hud h1{font-size:var(--score-size);white-space:nowrap;transform:translateY(7px)}header{grid-column:auto}.eyebrow{letter-spacing:.18em;color:var(--text-secondary);font-size:10px;font-weight:700}h1{color:var(--text);letter-spacing:-.055em;margin:1px 0;font-size:28px;font-weight:750;line-height:1.15}.title-dot{background:var(--accent);vertical-align:baseline;color:#0000;border-radius:50%;width:.22em;height:.22em;margin-left:.08em;line-height:0;display:inline-block;overflow:hidden}.subtitle{color:var(--text-secondary);margin:3px 0 0;font-size:12px}.stats{align-items:center;gap:var(--hud-gap);display:flex}.score-stat{text-align:center;min-width:42px}.next-stat{text-align:center;padding:0 10px 7px}.label{color:var(--text-secondary);font-size:var(--label-size);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-weight:600;display:block}.score{color:var(--text);font-size:var(--score-size);font-variant-numeric:tabular-nums;transform-origin:50%;font-weight:700;line-height:1;display:block}.preview{align-items:center;gap:8px;min-height:20px;display:flex}.next-stat .preview{transform:translateY(6px)}.preview-piece{width:var(--preview-size);height:var(--preview-size);border-radius:50%;display:block}.preview-piece.bomb,.preview-piece[class*=color-]{box-shadow:none}.preview-piece[class*=color-]:hover{box-shadow:0 0 calc(var(--piece-glow-inner) + var(--piece-glow-blur)) color-mix(in srgb, var(--piece-glow-color) 42%, transparent), 0 0 calc(var(--piece-glow-outer) + var(--piece-glow-blur)) color-mix(in srgb, var(--piece-glow-color) 20%, transparent)}button{border:1px solid var(--button-border);border-radius:var(--button-radius);color:var(--text);background:var(--button-bg);font:inherit;font-size:var(--button-size);cursor:none;min-height:var(--control-height);touch-action:manipulation;transition:background-color var(--control-transition) ease, border-color var(--control-transition) ease, transform var(--control-transition) ease;align-self:center;padding:10px 14px;font-weight:650}button:hover{background:var(--panel-active);border-color:var(--button-hover-border)}button:active{transform:translateY(1px)}button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hud>button{width:max(var(--cell-size), 112px);white-space:nowrap;padding-inline:4px}.restart-button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.restart-icon{flex:none;width:18px;height:18px;display:none}.rule{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6;display:none}.status{color:var(--text-secondary);pointer-events:none;margin:0;font-size:13px;line-height:1.5}.hud.wide{gap:var(--hud-gap);grid-template-columns:1fr auto auto}.hud.wide header{grid-column:auto}.hud.wide h1{font-size:var(--score-size)}.hud.wide button{padding-inline:15px}dialog{color:var(--text);background:var(--panel);border:1px solid var(--button-border);text-align:center;border-radius:14px;width:min(340px,100% - 32px);padding:32px}dialog::backdrop{background:var(--backdrop)}dialog h2{letter-spacing:-.04em;margin:14px 0;font-size:32px}dialog p{color:var(--text-secondary);font-size:13px}.final-score{margin:12px 0 24px;font-size:48px;display:block}dialog button{width:100%}dialog button:focus-visible{border-color:var(--button-border);outline:none}dialog,dialog button{cursor:url(data:image/png;base64,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) 6 6,auto}@media (pointer:coarse){.game-cursor{display:none}dialog,dialog button{cursor:none}}@media (width<=599px){.restart-button{gap:0}.restart-button>span{display:none}.restart-button .restart-icon{display:block}.hud>button{width:48px;padding-inline:0}}.tutorial{text-align:left}.tutorial .eyebrow{text-align:center;display:block}.tutorial h2{text-align:center}.tutorial-steps{color:var(--text-secondary);text-align:left;margin:0 0 24px;padding-left:24px;font-size:14px;line-height:1.55}.tutorial-steps li::marker{color:var(--accent);font-size:1.1em}.tutorial-steps li+li{margin-top:18px}.tutorial-steps strong{color:var(--text);font-weight:700}@media (width<=360px){.hud{gap:5px 10px}.stats{gap:10px}.next-stat{padding:0 7px 6px}.preview{gap:5px}.preview-piece{width:15px;height:15px}button{padding-inline:10px}}
