/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@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}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}:root{--ink:#172226;--cream:#fff8e8;--red:#ef4f3f;--yellow:#ffd54a;--blue:#4cb9cf}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:#f4e6c8;margin:0}body{font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif;overflow:hidden}button{font:inherit}.game{background:var(--cream);grid-template-rows:70px 1fr 110px;min-height:100dvh;display:grid;position:relative;overflow:hidden}.topbar{border-bottom:3px solid var(--ink);background:var(--cream);z-index:20;justify-content:space-between;align-items:center;padding:0 clamp(20px,4vw,64px);display:flex}.brand{letter-spacing:.08em;align-items:center;gap:12px;font-size:22px;font-weight:950;display:flex}.brand-dot{border:3px solid var(--ink);background:var(--red);width:24px;height:24px;box-shadow:5px 4px 0 var(--yellow);border-radius:50%}.top-stats{letter-spacing:.1em;gap:30px;font-size:13px;display:flex}.top-stats b{font-family:var(--font-geist-mono);margin-left:7px;font-size:18px}.session-label{border:2px solid var(--ink);background:var(--yellow);letter-spacing:.12em;padding:7px 16px;font-size:12px;font-weight:950;position:absolute;left:50%;transform:translate(-50%)}.stage{-webkit-user-select:none;user-select:none;touch-action:manipulation;background:linear-gradient(#8eddec 0 59%,#f6ce58 59%);position:relative;overflow:hidden}.stage:after{content:"";border-top:4px solid var(--ink);background:repeating-linear-gradient(90deg,#ef4f3f 0 60px,#ffd957 60px 120px,#56bfd1 120px 180px);height:19%;position:absolute;bottom:0;left:0;right:0}.sunburst{background:repeating-conic-gradient(#ffffff3b 0 8deg,transparent 8deg 20deg);border-radius:50%;width:760px;height:760px;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.cloud{border:3px solid var(--ink);opacity:.9;background:#fffbe9;border-radius:40px;width:130px;height:42px;position:absolute}.cloud:before,.cloud:after{content:"";background:inherit;border:3px solid var(--ink);border-bottom:0;border-radius:50% 50% 0 0;position:absolute}.cloud:before{width:48px;height:35px;top:-27px;left:20px}.cloud:after{width:62px;height:48px;top:-39px;right:16px}.cloud-a{top:19%;left:8%}.cloud-b{top:14%;right:8%;transform:scale(.72)}.sign{background:var(--cream);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);letter-spacing:.08em;z-index:4;padding:9px 20px;font-weight:900;position:absolute;top:5%;left:50%;transform:translate(-50%)rotate(-1deg)}.audio-notice{z-index:40;background:var(--red);color:#fff;border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);white-space:nowrap;padding:9px 16px;font-size:13px;font-weight:950;position:absolute;top:12px;left:50%;transform:translate(-50%)}.conductor{z-index:5;width:190px;height:285px;transition:filter .15s;position:absolute;bottom:15%;left:50%;transform:translate(-50%)}.head{border:4px solid var(--ink);z-index:3;background:#f8f0d1;border-radius:46% 46% 42% 42%;width:142px;height:126px;position:absolute;top:26px;left:24px;box-shadow:inset 0 -12px #eadba7}.head:before{content:"";opacity:.65;background:#fff;border-radius:50%;height:27px;position:absolute;top:13px;left:18px;right:18px}.eye{background:var(--ink);border-radius:50%;width:13px;height:18px;position:absolute;top:55px}.eye.left{left:37px}.eye.right{right:37px}.mouth{border:4px solid var(--ink);border-top:0;border-radius:0 0 30px 30px;width:31px;height:14px;position:absolute;top:88px;left:52px}.antenna{background:var(--ink);z-index:2;width:4px;height:39px;position:absolute;top:0;left:91px}.antenna i{background:var(--red);border:3px solid var(--ink);border-radius:50%;width:16px;height:16px;position:absolute;top:-7px;left:-6px}.body{background:var(--red);border:4px solid var(--ink);border-radius:24px 24px 38px 38px;width:114px;height:106px;position:absolute;top:141px;left:38px}.body:before{content:"♪";color:var(--cream);font-size:54px;font-weight:900;position:absolute;top:17px;left:39px}.arm{border:4px solid var(--ink);transform-origin:10px 12px;background:#f8f0d1;border-radius:20px;width:67px;height:24px;transition:transform .16s cubic-bezier(.2,.8,.2,1);position:absolute;top:16px}.arm-left{left:-57px;transform:rotate(25deg)}.arm-right{right:-57px;transform:rotate(155deg)}.baton{background:var(--ink);transform-origin:top;border-radius:4px;width:6px;height:82px;position:absolute;top:8px;right:-5px;transform:rotate(-8deg)}.baton:after{content:"";background:var(--yellow);border:2px solid var(--ink);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-5px;left:-3px}.raised .arm-left{transform:rotate(-35deg)}.raised .arm-right{transform:rotate(225deg)}.raised .head{animation:.42s infinite alternate nod}.striking .arm-left{transform:rotate(22deg)}.striking .arm-right{transition-duration:80ms;transform:rotate(115deg)}.striking .body{animation:.18s ease-out body-hit}.oops .eye{border-radius:0;height:4px;top:64px}.oops .mouth{top:95px;transform:rotate(180deg)}.shadow{background:#1722263d;border-radius:50%;width:146px;height:24px;position:absolute;bottom:11px;left:22px}.overlay-card{z-index:15;border:4px solid var(--ink);width:min(480px,100% - 48px);box-shadow:10px 10px 0 var(--ink);background:#fff8e8f7;padding:clamp(24px,4vw,46px);position:absolute;top:50%;left:clamp(24px,8vw,120px);transform:translateY(-50%)rotate(-1deg)}.eyebrow{color:#c93e32;letter-spacing:.13em;margin:0 0 12px;font-size:13px;font-weight:950}h1{letter-spacing:-.055em;margin:0;font-size:clamp(36px,5vw,66px);font-weight:950;line-height:1.03}.intro{color:#475054;margin:20px 0;font-weight:700;line-height:1.7}button{background:var(--red);color:#fff;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);cursor:pointer;justify-content:space-between;align-items:center;width:100%;padding:13px 16px 13px 22px;font-weight:950;transition:all .12s;display:flex}button:hover{box-shadow:7px 7px 0 var(--ink);transform:translate(-2px,-2px)}button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(4px,4px)}kbd,.key{background:var(--cream);color:var(--ink);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);font:800 11px var(--font-geist-mono);border-radius:4px;padding:5px 11px}.overlay-card small{text-align:center;opacity:.65;margin-top:18px;font-weight:700;display:block}.result{text-align:center;max-width:440px;left:50%;transform:translate(-50%,-50%)rotate(1deg)}.result h1{color:var(--red);font-size:74px}.result h1 small{color:var(--ink);font-size:22px;display:inline}.result-stamp{background:var(--yellow);border:3px solid var(--ink);margin:3px 0 14px;padding:8px 17px;font-weight:950;display:inline-block;transform:rotate(-4deg)}.cue-word{z-index:12;color:var(--cream);-webkit-text-stroke:3px var(--ink);text-shadow:5px 6px 0 var(--red);opacity:0;font-size:clamp(42px,7vw,78px);font-weight:950;transition:all .12s;position:absolute;top:18%;left:50%;transform:translate(-50%)scale(.7)}.cue-word.visible{opacity:1;transform:translate(-50%)scale(1)rotate(-3deg)}.feedback{z-index:13;background:var(--cream);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);color:#5b6264;opacity:0;padding:8px 18px;font-size:27px;font-weight:950;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)scale(.65)}.feedback.show{animation:.65s ease-out feedback-pop}.feedback.perfect{color:var(--red);background:var(--yellow)}.count-guide{z-index:11;align-items:center;gap:9px;display:flex;position:absolute;bottom:5%;left:50%;transform:translate(-50%)}.count-guide span,.phrase-map span{border:3px solid var(--ink);background:var(--cream);place-items:center;width:52px;height:45px;font-weight:950;transition:all .12s;display:grid}.count-guide span.active{background:var(--yellow);box-shadow:4px 5px 0 var(--ink);transform:translateY(-8px)rotate(-4deg)}.count-guide span:last-child.active{background:var(--red);color:#fff;transform:translateY(-10px)scale(1.12)}.listen-note{z-index:12;background:var(--cream);border:3px solid var(--ink);white-space:nowrap;padding:9px 20px;font-weight:900;position:absolute;bottom:6%;left:50%;transform:translate(-50%)}.transition-card{z-index:14;background:var(--yellow);border:4px solid var(--ink);box-shadow:8px 8px 0 var(--ink);text-align:center;padding:20px 34px;animation:.7s infinite alternate transition-bob;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)rotate(-2deg)}.transition-card b{font-size:30px;display:block}.transition-card span{margin-top:7px;font-weight:800;display:block}.variation-card{background:var(--blue);min-width:min(520px,100% - 50px)}.control-panel{z-index:20;background:var(--cream);border-top:3px solid var(--ink);align-items:center;gap:28px;padding:25px clamp(20px,4vw,64px);display:flex;position:relative}.progress-track{background:#d7cdb8;height:7px;position:absolute;top:0;left:0;right:0}.progress-track i{background:var(--red);height:100%;transition:width 80ms linear;display:block}.phrase-map{gap:5px;display:flex}.phrase-map span{color:#9c9383;border-width:2px;width:40px;height:34px;font-size:12px}.phrase-map span.on{background:var(--blue);color:var(--ink);transform:translateY(-4px)}.phrase-map span.waiting{background:var(--yellow);color:var(--ink)}.phrase-map span.hit{background:var(--red);color:#fff;transform:translateY(-5px)scale(1.1)}.instructions{color:#4c5355;align-items:center;gap:14px;font-size:13px;font-weight:800;display:flex}.divider{background:#b9ad97;width:1px;height:25px}@keyframes nod{to{transform:translateY(6px)rotate(2deg)}}@keyframes body-hit{50%{transform:translateY(9px)scaleY(.94)}}@keyframes feedback-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)rotate(-5deg)}25%{opacity:1;transform:translate(-50%,-50%)scale(1.1)rotate(2deg)}75%{opacity:1;transform:translate(-50%,-60%)scale(1)}to{opacity:0;transform:translate(-50%,-90%)scale(.9)}}@keyframes transition-bob{to{transform:translate(-50%,-56%)rotate(2deg)}}@media (width<=760px){.game{grid-template-rows:58px 1fr 82px}.topbar{padding:0 16px}.brand{font-size:17px}.brand-dot{width:19px;height:19px}.top-stats span:first-child{display:none}.top-stats{gap:8px}.top-stats b{font-size:15px}.overlay-card{max-width:390px;padding:25px;top:48%;left:50%;transform:translate(-50%,-50%)rotate(-1deg)}.overlay-card h1{font-size:39px}.intro{margin:14px 0;font-size:14px}.overlay-card small{margin-top:12px;font-size:11px}.session-label{z-index:30;padding:5px 9px;font-size:10px;top:58px}.conductor{transform-origin:bottom;bottom:12%;transform:translate(-50%)scale(.72)}.sign{font-size:12px;top:5%}.cloud{display:none}.cue-word{top:19%}.feedback{font-size:22px;top:33%}.count-guide{bottom:3%}.count-guide span{width:42px;height:38px;font-size:12px}.transition-card{width:calc(100% - 60px);padding:18px}.control-panel{justify-content:center;padding:18px}.phrase-map{display:none}.instructions{gap:8px;font-size:11px}.instructions span:last-child,.divider{display:none}}@media (height<=650px){.game{grid-template-rows:52px 1fr 70px}.overlay-card{padding:18px 25px}.overlay-card h1{font-size:35px}.overlay-card .intro{margin:10px 0}.overlay-card small{display:none}.conductor{transform:translate(-50%)scale(.65)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
