/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.grid{display:grid}.resize{resize:both}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--grid-blue:#a9d5f4;--grid-line:#ffffffad;--ink:#262421;--brand-ink:#153654;--blue:#246fa8;--blue-dark:#185780;--blue-hover:#12486d;--paper:#f7f4ee;--paper-dark:#ebe5d8;--line:#ded8ca;--board-light:#f4ecde;--board-dark:#c3a477;--selected:#d5a83f}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 0%, #ffffff8a, transparent 34rem), radial-gradient(circle at 90% 28%, #e6f7ff6b, transparent 30rem), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px), linear-gradient(180deg, var(--grid-line) 1px, transparent 1px), var(--grid-blue);min-width:320px;min-height:100vh;color:var(--ink);background-size:auto,auto,32px 32px,32px 32px;margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif}button{font:inherit;border:0}.game-shell{width:min(1040px,100vw - 28px);margin:0 auto;padding:18px 0 34px}.game-header{color:var(--brand-ink);justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.eyebrow,.section-label{color:var(--blue-dark);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:800}h1{letter-spacing:-.02em;margin:0;font-size:clamp(1.65rem,3vw,2.15rem);line-height:1}.header-actions{align-items:center;gap:10px;display:flex}.run-mode{min-height:30px;color:var(--brand-ink);white-space:nowrap;background:#f7f4eec7;border:1px solid #15365433;border-radius:999px;align-items:center;gap:7px;margin:0;padding:0 10px;font-size:.72rem;font-weight:850;display:flex}.run-mode span{background:#8d887e;border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 3px #8d887e24}.run-mode-starting span{background:var(--selected);box-shadow:0 0 0 3px #d5a83f2b}.run-mode-ranked span{background:#2b8665;box-shadow:0 0 0 3px #2b866529}.restart-button,.game-over-card button{background:var(--blue-dark);color:#fff;cursor:pointer;border-radius:8px;min-height:44px;padding:0 16px;font-size:.9rem;font-weight:800}.restart-button:hover,.restart-button:focus-visible,.game-over-card button:hover,.game-over-card button:focus-visible{background:var(--blue-hover)}.restart-button:focus-visible,.game-over-card button:focus-visible{outline-offset:2px;outline:3px solid #18578047}.score-strip{background:var(--paper);border:1px solid #0000001f;border-radius:8px;grid-template-columns:78px 104px 96px 64px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;margin-bottom:12px;padding:7px 10px;display:grid;box-shadow:0 12px 26px #0000001f}.score-strip div{border-right:1px solid var(--line);align-content:center;min-height:42px;padding-right:10px;display:grid}.score-strip span{color:#6b665c;text-transform:uppercase;font-size:.66rem;font-weight:900;line-height:1}.score-strip strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.35rem;line-height:1.08}.blue-king-stat strong,.game-over-summary .blue-king-stat dd{color:var(--blue-dark)}.score-strip p{color:#6b665c;text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:.82rem;font-weight:700;overflow:hidden}.game-layout{grid-template-columns:minmax(0,680px) minmax(250px,290px);justify-content:center;align-items:start;gap:14px;display:grid}.board-panel{width:100%;position:relative}.board-stage{aspect-ratio:1;contain:layout paint;border-radius:8px;width:100%;position:relative;overflow:hidden;box-shadow:0 22px 46px #00000040}.board{border-radius:inherit;grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(5,1fr);width:100%;height:100%;display:grid}.square{appearance:none;color:#fff;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;place-items:center;min-width:0;min-height:0;padding:0;display:grid;position:relative}.square-light{background:var(--board-light)}.square-dark{background:var(--board-dark)}.square:hover{filter:brightness(1.04)}.square:disabled{cursor:default}.square:disabled:hover{filter:none}.square:focus-visible{z-index:4;outline:4px solid var(--blue-dark);outline-offset:-4px}.square.is-selected{background:var(--selected)}.square.is-next-spawn{background:#f3d98f}.square.is-selected.is-next-spawn{background:var(--selected)}.piece{z-index:2;width:98%;height:98%;position:absolute;inset:1%}.piece-art{object-fit:contain;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 2px 1px #00000038);display:block}.blue-king-art{filter:drop-shadow(0 0 1px #f4ecdee6)drop-shadow(0 2px 1px #0000003d)}.cascade-layer{z-index:6;pointer-events:none;position:absolute;inset:0}.cascade-flight{will-change:transform, opacity;place-items:center;width:20%;height:20%;animation:.36s cubic-bezier(.22,.85,.3,1) both cascade-travel;display:grid;position:absolute}.cascade-flight .piece-art{width:98%;height:98%}.square.is-cascade-source .piece{opacity:0}.square.is-cascade-target:before{content:"";z-index:3;pointer-events:none;border:3px solid #d5a83fc7;border-radius:10%;animation:.36s ease-out both cascade-target-pulse;position:absolute;inset:5%;box-shadow:inset 0 0 0 2px #fff8e066}.square.is-cascade-result .piece{animation:.17s cubic-bezier(.2,.85,.3,1.25) both cascade-result-pop}@keyframes cascade-travel{0%{opacity:1;transform:translate(0)scale(1)}72%{opacity:1}to{opacity:.16;transform:translate(var(--cascade-x), var(--cascade-y)) scale(.72)}}@keyframes cascade-target-pulse{0%{opacity:.35;transform:scale(.9)}55%{opacity:1;transform:scale(1)}to{opacity:.7;transform:scale(.94)}}@keyframes cascade-result-pop{0%{opacity:.45;transform:scale(.7)}65%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.move-dot{z-index:3;aspect-ratio:1;pointer-events:none;background:#23232338;border-radius:999px;width:28%;position:absolute}.is-merge:after{content:"";z-index:3;aspect-ratio:1;pointer-events:none;border:5px solid #23232338;border-radius:999px;width:80%;position:absolute}.spawn-marker{z-index:4;color:#fff;background:#153654e6;border-radius:5px;place-items:center;width:21px;height:21px;font-size:.78rem;font-weight:900;display:grid;position:absolute;bottom:4px;left:5px;box-shadow:0 1px 3px #00000038}.game-over-dialog{inset:auto;left:var(--game-over-center-x,50%);top:var(--game-over-center-y,50%);width:min(350px,100vw - 24px);max-width:none;color:var(--ink);background:0 0;border:0;border-radius:10px;margin:0;padding:0;position:fixed;transform:translate(-50%,-50%);box-shadow:0 24px 64px #15365461}.game-over-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#153654a3}.game-over-card{border-radius:inherit;background:var(--paper);text-align:center;border:1px solid #0000001f;padding:20px}.game-over-card .game-over-kicker{color:var(--blue-dark);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:900}.game-over-card h2{color:var(--brand-ink);letter-spacing:-.02em;margin:0;font-size:1.35rem}.game-over-summary{background:var(--paper-dark);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0 12px;padding:12px 0;display:grid}.game-over-summary div+div{border-left:1px solid #d3cbbb}.game-over-summary dt{color:#6b665c;text-transform:uppercase;font-size:.66rem;font-weight:900}.game-over-summary dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:1.6rem;font-weight:900;line-height:1}.game-over-card #game-over-reason{color:#625c53;margin:0;font-size:.82rem;font-weight:700}.verification-status{text-align:left;background:#edf7fc;border:1px solid #15365429;border-radius:8px;gap:2px;margin-top:12px;padding:10px 11px;display:grid}.verification-status strong{color:var(--brand-ink);letter-spacing:.04em;text-transform:uppercase;font-size:.76rem}.verification-status span{color:#625c53;font-size:.75rem;font-weight:700;line-height:1.35}.verification-verified{background:#e8f6ef;border-color:#2b866547}.verification-verified strong{color:#20694f}.verification-not-submitted,.verification-unranked{background:#fbf2df;border-color:#9a702a42}.verification-not-submitted strong,.verification-unranked strong{color:#825a1e}.game-over-actions{grid-template-columns:1fr;gap:8px;margin-top:16px;display:grid}.game-over-card .game-over-actions button{width:100%;margin:0}.game-over-card .game-over-actions .secondary-button{color:var(--blue-dark);background:0 0;border:1px solid #18578047}.game-over-card .game-over-actions .secondary-button:hover,.game-over-card .game-over-actions .secondary-button:focus-visible{background:#e5f2fa}.rules-panel{gap:12px;display:grid}.rules-panel section{background:var(--paper);border:1px solid #0000001f;border-radius:8px;padding:14px;box-shadow:0 18px 40px #00000029}.rules-panel h2{margin:0 0 8px;font-size:1.05rem;line-height:1.16}.rules-panel p:not(.section-label){color:#625c53;margin:0;font-size:.82rem;font-weight:700;line-height:1.45}.panel-heading{justify-content:space-between;align-items:start;gap:10px;display:flex}.panel-heading h2{margin-bottom:0}.refresh-button{min-height:30px;color:var(--blue-dark);cursor:pointer;background:0 0;border:1px solid #1857803d;border-radius:6px;padding:0 8px;font-size:.7rem;font-weight:850}.refresh-button:hover,.refresh-button:focus-visible{background:#e5f2fa}.refresh-button:focus-visible{outline-offset:2px;outline:3px solid #18578038}.refresh-button:disabled{cursor:wait;opacity:.55}.leaderboard-list{border-top:1px solid var(--line);gap:0;margin:11px 0 0;padding:0;list-style:none;display:grid}.leaderboard-list li{border-bottom:1px solid var(--line);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:49px;display:grid}.leaderboard-rank{color:var(--blue-dark);font-variant-numeric:tabular-nums;font-size:.74rem;font-weight:900}.leaderboard-run{min-width:0;display:grid}.leaderboard-run strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.leaderboard-run small{color:#777066;text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;font-weight:750;overflow:hidden}.leaderboard-points{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;font-size:.94rem;line-height:1;display:grid}.leaderboard-points small{color:#777066;letter-spacing:.05em;text-transform:uppercase;margin-top:2px;font-size:.56rem;font-weight:850}.rules-panel p.leaderboard-empty{background:var(--paper-dark);color:#777066;text-align:center;border-radius:7px;margin-top:11px;padding:12px;font-size:.74rem}.rules-panel p.leaderboard-note{color:#777066;text-align:center;margin-top:8px;font-size:.67rem}.rules-disclosure summary{color:var(--blue-dark);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;font-size:.72rem;font-weight:850}.rules-disclosure summary:focus-visible{outline-offset:3px;border-radius:4px;outline:3px solid #18578047}.rules-disclosure[open]>summary{margin-bottom:10px}.rules-content{border-top:1px solid var(--line);padding-top:10px}.spawn-route{background:var(--paper-dark);border-radius:8px;grid-template-columns:repeat(4,1fr);gap:4px;min-height:42px;margin:12px 0 10px;padding:4px;display:grid}.spawn-route span{color:#625c53;border-radius:6px;place-items:center;min-width:0;font-size:.82rem;font-weight:850;display:grid;position:relative}.spawn-route span:not(:last-child):after{content:"›";z-index:1;color:#989186;font-size:.75rem;position:absolute;right:-4px}.spawn-route span.active{background:var(--blue-dark);color:#fff}.hint{color:#777066!important;font-size:.74rem!important}.merge-ladder{border-top:1px solid var(--line);gap:0;margin:12px 0 0;padding:0;list-style:none;display:grid}.merge-ladder li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 18px 36px 44px;align-items:center;min-height:43px;padding:4px 8px;display:grid}.merge-pair{align-items:center;gap:2px;display:flex}.merge-pair .piece-art,.merge-ladder strong .piece-art{width:36px;height:36px}.merge-ladder b{color:#7a746b;font-size:.78rem}.merge-ladder i{color:#989186;text-align:center;font-size:.85rem;font-style:normal}.merge-ladder strong{place-items:center;display:grid}.merge-points{color:var(--blue-dark);font-variant-numeric:tabular-nums;text-align:right;font-size:.74rem;font-weight:900}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rules-panel p.royal-cascade-rule{color:var(--brand-ink);background:#e7f6ff;border:1px solid #246fa847;border-radius:6px;margin-top:12px;padding:10px 11px}.royal-cascade-rule strong{color:var(--brand-ink);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;font-size:.72rem;display:block}@media (width<=900px){.game-shell{width:min(680px,100vw - 18px);padding-top:10px}.game-layout{grid-template-columns:1fr}.rules-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.game-header{align-items:flex-start;margin-bottom:10px}.header-actions{flex-direction:column-reverse;align-items:flex-end;gap:6px}.run-mode{min-height:25px;padding-inline:8px;font-size:.65rem}.restart-button{min-height:40px;padding-inline:12px}.score-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 6px;min-height:52px;padding:6px 8px 8px}.score-strip div{min-height:38px}.score-strip div:nth-of-type(4){border-right:0}.score-strip p{border-top:1px solid var(--line);text-align:left;white-space:normal;grid-column:1/-1;margin-top:5px;padding-top:6px;font-size:.7rem}.board-stage{border-radius:7px}.spawn-marker{width:18px;height:18px;font-size:.68rem;bottom:3px;left:4px}.rules-panel{grid-template-columns:1fr}.rules-panel section{padding:12px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.cascade-flight,.square.is-cascade-target:before,.square.is-cascade-result .piece{animation:none!important}}
