/*! 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{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.grid{display:grid}.table{display:table}}:root{--cream:#fbf2df;--paper:#fffaf0;--navy:#17345d;--blue:#2f60ce;--blue-dark:#194bbd;--red:#f65045;--yellow:#ffc943;--green:#39b97e;--sky:#4aa9df;--purple:#7d5bd8;--ink-soft:#667089}*{box-sizing:border-box}html{background:var(--cream)}body{color:var(--navy);background:radial-gradient(circle at 7% 6%, #f650451f 0 96px, transparent 98px), radial-gradient(circle at 92% 4%, #ffc9432b 0 120px, transparent 122px), var(--cream);min-height:100vh;margin:0;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}button,a{font:inherit}button{color:inherit}.game-shell{min-height:100vh;overflow:hidden}.topbar{letter-spacing:.12em;border-bottom:2px solid #17345d1f;justify-content:space-between;align-items:center;height:68px;padding:0 clamp(20px,4vw,72px);font-size:12px;font-weight:800;display:flex}.brand{color:var(--navy);align-items:center;gap:10px;font-size:15px;text-decoration:none;display:flex}.brand-dot{background:var(--yellow);border:3px solid var(--navy);border-radius:50%;width:15px;height:15px}.top-label{color:var(--ink-soft)}.sound-button{cursor:default;background:0 0;border:0;font-size:10px;font-weight:800}.game-layout{grid-template-columns:minmax(240px,.82fr) minmax(410px,1.38fr) minmax(250px,.78fr);align-items:center;gap:clamp(24px,3.5vw,58px);width:min(1500px,100%);margin:0 auto;padding:34px clamp(20px,4vw,64px) 52px;display:grid}.intro-panel{align-self:center}.eyebrow{border:3px solid var(--navy);background:var(--yellow);box-shadow:3px 4px 0 var(--navy);letter-spacing:.15em;border-radius:999px;align-items:center;gap:9px;padding:10px 16px;font-size:11px;font-weight:900;display:inline-flex}.eyebrow span{background:var(--navy);border-radius:50%;width:10px;height:10px}.intro-panel h1{letter-spacing:-.09em;margin:25px 0 16px;font-size:clamp(56px,6.4vw,104px);font-weight:950;line-height:.78}.intro-panel h1 strong{color:var(--blue);text-shadow:8px 8px 0 var(--paper), 11px 11px 0 #17345d2e;font-weight:950}.tagline{margin:28px 0 20px;font-size:clamp(21px,2vw,31px);font-weight:900;line-height:1.35}.tagline span{color:var(--red)}.lede{max-width:420px;color:var(--ink-soft);font-size:14px;font-weight:650;line-height:1.7}.rule-list{gap:10px;margin:24px 0;display:grid}.rule-list div{color:var(--ink-soft);grid-template-columns:32px 1fr;gap:8px;font-size:12px;display:grid}.rule-list b{color:var(--blue)}.rule-list strong{color:var(--navy);margin-right:6px}.primary-button,.secondary-button{cursor:pointer;border:0;font-weight:900}.primary-button{background:var(--red);color:#fff;border-radius:22px;width:min(305px,100%);padding:20px 26px;font-size:20px;transition:transform .15s,box-shadow .15s;box-shadow:0 9px #c4322d,inset 0 3px #ffffff47}.primary-button:hover{transform:translateY(-2px);box-shadow:0 11px #c4322d,inset 0 3px #ffffff47}.primary-button:active{transform:translateY(6px);box-shadow:0 3px #c4322d}.primary-button span{margin-left:14px}.secondary-button{border:2px solid var(--navy);background:0 0;border-radius:12px;padding:11px 18px}.keyboard-hint{color:var(--ink-soft);margin-top:22px;font-size:11px;font-weight:700}kbd{background:var(--paper);color:var(--navy);border:2px solid #d2c9b6;border-bottom-width:4px;border-radius:7px;margin-right:3px;padding:4px 7px}.machine-column{min-width:0}.machine{--lane:3;aspect-ratio:8/10;background:linear-gradient(135deg, #3e6edf, var(--blue-dark));border:5px solid var(--navy);width:min(100%,560px);box-shadow:14px 16px 0 var(--navy), inset 8px 8px 0 #ffffff26;border-radius:76px;margin:0 auto;padding:56px 33px 24px;position:relative}.machine:before{content:"";border:5px solid var(--navy);background:#e5f2f7;border-radius:55px;position:absolute;inset:22px;box-shadow:inset 0 -16px #578cab21}.machine-topline{z-index:5;letter-spacing:.32em;color:#48617b;justify-content:space-between;align-items:center;font-size:10px;font-weight:900;display:flex;position:absolute;top:39px;left:62px;right:61px}.gravity-chip{letter-spacing:.05em;background:var(--yellow);color:var(--navy);border:2px solid var(--navy);border-radius:999px;padding:5px 9px}.gravity-chip.frozen{background:#e1f4ff}.board{z-index:3;grid-template-rows:repeat(10,1fr);grid-template-columns:repeat(8,1fr);place-items:center;width:100%;height:100%;padding:38px 4px 4px;display:grid;position:relative}.cell{place-items:center;width:100%;height:100%;display:grid}.orb{aspect-ratio:1;border:clamp(2px, .28vw, 4px) solid var(--navy);border-radius:50%;width:82%;transition:transform .24s cubic-bezier(.2,.8,.2,1);display:block;position:relative;box-shadow:0 5px #17345d59,inset 7px 8px #ffffff47}.orb:after{content:"";background:#ffffff9e;border-radius:50%;width:24%;height:17%;position:absolute;top:15%;left:20%;transform:rotate(-24deg)}.orb-red{background:var(--red)}.orb-yellow{background:var(--yellow)}.orb-green{background:var(--green)}.orb-blue{background:#3975e5}.orb-purple{background:var(--purple)}.piece-preview{z-index:6;width:108px;display:flex;position:absolute;top:85px;left:50%;transform:translate(-50%)}.piece-preview .orb{width:48px;margin-left:-8px}.lane-indicator{z-index:2;opacity:.45;pointer-events:none;position:absolute}.direction-0,.direction-2{top:95px;bottom:55px;left:calc(51px + (100% - 102px) / 8 * (var(--lane) + .5));border-left:3px dashed var(--blue)}.direction-1,.direction-3{left:48px;right:48px;top:calc(66px + (100% - 112px) / 10 * (var(--lane) + .5));border-top:3px dashed var(--blue)}.orbit-line{z-index:4;pointer-events:none;border:5px solid #fffffff0;border-color:#fffffff0 #fffffff0 #0000 #0000;border-radius:50%;position:absolute}.orbit-one{width:72%;height:25%;bottom:18%;left:13%;transform:rotate(12deg)}.orbit-two{opacity:.45;width:46%;height:18%;bottom:27%;left:26%;transform:rotate(-18deg)}.combo-sticker{z-index:8;background:var(--yellow);border:4px solid var(--navy);text-align:center;box-shadow:5px 6px 0 var(--navy);border-radius:18px;padding:11px 14px;font-weight:900;position:absolute;top:38%;right:-29px;transform:rotate(7deg)}.combo-sticker strong{color:var(--red);font-size:25px}.board-curtain{z-index:9;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#e5f2f7c7;border-radius:52px;place-items:center;font-size:25px;font-weight:900;line-height:1.35;display:grid;position:absolute;inset:26px}.board-curtain.gameover{background:#fbf2dfe6;align-content:center;gap:10px}.board-curtain.gameover b{color:var(--red);font-size:42px}.board-curtain.gameover button{border:3px solid var(--navy);background:var(--yellow);cursor:pointer;border-radius:999px;padding:10px 18px;font-weight:900}.touch-controls{grid-template-columns:repeat(5,1fr);gap:7px;width:min(100%,560px);margin:28px auto 0;display:grid}.touch-controls button{border:2px solid var(--navy);background:var(--paper);cursor:pointer;min-height:44px;box-shadow:0 3px 0 var(--navy);border-radius:11px;font-size:11px;font-weight:900}.touch-controls button:active:not(:disabled){box-shadow:none;transform:translateY(3px)}.touch-controls .drop-button{background:var(--red);color:#fff}.touch-controls button:disabled,.skills-card button:disabled{opacity:.4;cursor:not-allowed}.game-notice{text-align:center;min-height:20px;color:var(--ink-soft);margin:14px 0 0;font-size:12px;font-weight:800}.side-panel{gap:18px;display:grid}.stat-card{border:4px solid var(--navy);box-shadow:8px 9px 0 var(--navy);background:#fffaf0b8;border-radius:30px;padding:21px 24px}.stat-card>span{color:#747989;letter-spacing:.08em;font-size:11px;font-weight:900}.score-card strong{letter-spacing:-.06em;margin:7px 0 8px;font-size:clamp(40px,4vw,61px);display:block}.score-card small{color:var(--ink-soft);margin-top:7px;font-size:10px;display:block}.progress{background:#ddd6c7;border-radius:99px;height:10px;overflow:hidden}.progress i{background:var(--green);border-radius:inherit;height:100%;transition:width .2s;display:block}.next-orbs{justify-content:center;padding:19px 0 5px;display:flex}.next-orbs .orb{width:60px;margin-left:-9px}.skills-card{gap:11px;display:grid}.skills-card>button{text-align:left;cursor:pointer;background:#eee5d3;border:0;border-radius:17px;grid-template-columns:46px 1fr 28px;align-items:center;gap:12px;padding:9px 11px;transition:transform .15s;display:grid}.skills-card>button:hover:not(:disabled){transform:translate(3px)}.skill-icon{border:3px solid var(--navy);color:#fff;width:43px;height:43px;box-shadow:3px 3px 0 var(--navy);border-radius:12px;place-items:center;font-size:23px;font-style:normal;display:grid}.skill-icon.red{background:var(--red)}.skill-icon.blue{background:var(--sky)}.skill-icon.purple{background:var(--purple)}.skills-card b{font-size:13px}.skills-card b small{color:var(--ink-soft);margin-top:3px;font-size:9px;font-weight:600;display:block}.skills-card em{background:var(--navy);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:11px;font-style:normal;font-weight:900;display:grid}.tip{color:#77715f;text-align:center;font-size:11px;line-height:1.55}.tip b{color:var(--navy)}@media (width<=1050px){.game-layout{grid-template-columns:minmax(220px,.8fr) minmax(400px,1.4fr)}.side-panel{grid-column:1/-1;grid-template-columns:repeat(3,1fr);align-items:stretch}.tip{display:none}}@media (width<=720px){.top-label,.sound-button,.rule-list,.keyboard-hint{display:none}.topbar{height:56px}.game-layout{flex-direction:column;gap:28px;padding:26px 14px 42px;display:flex}.intro-panel{text-align:center;width:100%}.eyebrow{font-size:9px}.intro-panel h1{margin:20px 0 14px;font-size:63px;line-height:.78}.tagline{font-size:20px}.lede{margin:0 auto;font-size:12px}.primary-button{margin-top:20px}.machine-column{width:100%}.machine{width:calc(100% - 14px);box-shadow:8px 10px 0 var(--navy);border-radius:48px;padding:45px 24px 17px}.machine:before{border-radius:36px;inset:15px}.machine-topline{top:28px;left:42px;right:40px}.piece-preview{top:67px}.piece-preview .orb{width:37px}.board{padding-top:31px}.board-curtain{border-radius:33px;font-size:20px;inset:18px}.combo-sticker{padding:7px 9px;right:-11px}.touch-controls{grid-template-columns:repeat(3,1fr)}.touch-controls button:nth-child(2),.touch-controls button:nth-child(4){grid-row:2}.touch-controls .drop-button{grid-area:1/2/span 2}.side-panel{grid-template-columns:1fr 1fr;width:100%}.skills-card{grid-column:1/-1}.stat-card{box-shadow:5px 6px 0 var(--navy);border-radius:22px;padding:16px}.score-card strong{font-size:36px}.next-orbs .orb{width:45px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
