/*! 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{--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;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::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;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@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-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::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]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance: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{.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.inline-block{display:inline-block}.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)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#172c2d;--ink-soft:#496164;--paper:#f7f3ea;--card:#fffdfa;--line:#d8ddd4;--mint:#9ed8c1;--mint-dark:#1f6f61;--coral:#f07a61;--coral-soft:#ffe4da;--yellow:#f4cd6b;--key-held:#d95545;--key-held-dark:#98382d;--key-next:#2878d0;--key-next-dark:#18579a;--shadow:0 24px 70px #2844411c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 6% 10%, #9ed8c138, transparent 24rem), radial-gradient(circle at 95% 4%, #f07a6121, transparent 22rem), var(--paper);color:var(--ink);font-family:var(--font-jp), "Hiragino Sans", "Yu Gothic", sans-serif;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible{outline-offset:3px;outline:3px solid #1f6f6159}a:focus-visible{outline-offset:3px;outline:3px solid #1f6f6159}input:focus-visible+span{outline-offset:3px;outline:3px solid #1f6f6159}.app-shell{min-height:100vh}.title-screen,.home-guide-screen{background:linear-gradient(110deg,#ffffff42,#0000 42%),radial-gradient(circle at 86% 16%,#9ed8c147,#0000 30rem),radial-gradient(circle at 8% 90%,#f07a6124,#0000 24rem);min-height:100dvh;overflow:hidden}.title-topbar,.guide-topbar{border-bottom:1px solid #4961642e;justify-content:space-between;align-items:center;width:min(1320px,100% - 64px);height:82px;margin:0 auto;display:flex}.title-brand{align-items:center;gap:13px;display:inline-flex}.title-brand>span:last-child{display:grid}.title-brand strong{letter-spacing:.08em;font-size:17px}.title-brand small{color:var(--mint-dark);letter-spacing:.14em;font:700 8px/1.5 ui-monospace,monospace}.title-save{color:var(--ink-soft);font-size:11px}.title-save i{background:var(--mint-dark);border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.title-audio-actions{align-items:center;gap:14px;display:flex}.title-hero{grid-template-columns:minmax(370px,.88fr) minmax(550px,1.12fr);align-items:center;gap:clamp(42px,6vw,92px);width:min(1320px,100% - 64px);min-height:calc(100dvh - 82px);margin:0 auto;padding:clamp(28px,5vh,58px) 0;display:grid}.title-copy h1{letter-spacing:-.065em;margin:0;font-size:clamp(48px,5.6vw,82px);line-height:.98}.title-copy h1>span{color:var(--mint-dark);letter-spacing:.18em;margin-bottom:14px;font:800 13px/1 ui-monospace,monospace;display:block}.title-copy h1 em{color:var(--coral);font-style:normal;position:relative}.title-copy h1 em:after{content:"";z-index:-1;background:var(--yellow);border-radius:50%;height:7px;position:absolute;bottom:-6px;left:3%;right:1%;transform:rotate(-1deg)}.title-promise{color:var(--ink);letter-spacing:.025em;align-items:center;gap:.32em;margin:13px 0 12px;font-size:clamp(18px,1.8vw,25px);font-weight:900;line-height:1.25;display:flex}.title-promise span{background:var(--yellow);border-radius:7px 3px;padding:2px 8px 3px;transform:rotate(-1deg);box-shadow:3px 3px #f07a614d}.title-lead{max-width:580px;color:var(--ink-soft);margin:24px 0 0;font-size:14px;line-height:1.9}.title-actions{align-items:center;gap:18px;margin-top:27px;display:flex}.title-start,.guide-continue{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:15px;justify-content:space-between;align-items:center;width:min(370px,100%);padding:15px 17px 15px 20px;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:8px 9px #9ed8c19e}.title-start:hover,.guide-continue:hover{transform:translate(-2px,-2px);box-shadow:11px 12px #9ed8c19e}.title-start>span,.guide-continue>span{text-align:left;gap:3px;font-size:14px;font-weight:800;display:grid}.title-start small,.guide-continue small{color:var(--mint);letter-spacing:.14em;font:750 8px/1 ui-monospace,monospace}.title-start>b,.guide-continue>b{width:35px;height:35px;color:var(--ink);background:#fff;border-radius:50%;place-items:center;display:grid}.title-guide-start{border:0;border-bottom:1px solid var(--ink-soft);color:var(--ink-soft);cursor:pointer;background:0 0;padding:8px 2px;font-size:10px;font-weight:750}.title-current-stage{border:1px solid var(--line);width:min(520px,100%);color:var(--ink-soft);background:#ffffff80;border-radius:10px;align-items:center;gap:8px;margin:18px 0 0;padding:11px 13px;font:750 9px/1.4 ui-monospace,monospace;display:flex}.title-current-stage>span{background:var(--mint-dark);color:#fff;border-radius:999px;padding:4px 7px}.title-current-stage strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.title-current-stage small{color:var(--coral);white-space:nowrap;margin-left:auto;font-weight:850}.title-features{flex-wrap:wrap;gap:8px;margin-top:23px;display:flex}.title-features span{border:1px solid var(--line);color:var(--ink-soft);background:#ffffff7a;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:750}.title-features span:before{content:"✓";color:var(--mint-dark);margin-right:5px}.title-resume{color:var(--ink-soft);margin:15px 0 0;font-size:10px}.title-resume strong{color:var(--mint-dark)}.title-keyboard-card{min-width:0;box-shadow:var(--shadow), 17px 18px 0 #9ed8c133;background:#fffdfae0;border:1px solid #4961642e;border-radius:30px 6px 30px 30px;padding:clamp(25px,3.4vw,42px);position:relative}.title-card-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.title-card-head span{color:var(--mint-dark);letter-spacing:.16em;font:800 9px/1 ui-monospace,monospace}.title-card-head small{color:var(--ink-soft);font-size:9px}.title-home-row{gap:6px;margin-top:clamp(36px,5vh,58px);display:flex}.title-home-row>span{color:#667572;background:linear-gradient(#fff,#e8e9e5);border:1px solid #cad1cd;border-radius:9px;flex:1;place-items:center;min-width:0;height:clamp(45px,4.5vw,61px);font:800 clamp(10px,1.15vw,15px)/1 ui-monospace,monospace;display:grid;position:relative;box-shadow:0 5px #919b97}.title-home-row .home-anchor{color:#fff;background:var(--key-held);box-shadow:0 3px 0 var(--key-held-dark), 0 0 0 5px #d955451f;border-color:#be493b;transform:translateY(2px)}.title-home-row .home-anchor em{color:var(--key-held);font:950 23px/1 ui-monospace,monospace;animation:.8s ease-in-out infinite titlePressArrow;position:absolute;top:-34px}.title-home-row .home-anchor i{background:#ffffffd9;border-radius:99px;width:35%;height:2px;position:absolute;bottom:7px}@keyframes titlePressArrow{0%,to{transform:translateY(-3px)}50%{transform:translateY(3px)}}.title-fingers{color:var(--ink-soft);justify-content:center;align-items:center;gap:10px;margin:19px 0 0;font-size:9px;display:flex}.title-fingers i{background:var(--line);width:45px;height:1px}.title-fingers strong{color:var(--coral);font-size:10px}.title-card-rule{background:#f2f5ef;border-radius:16px;align-items:center;gap:14px;margin-top:clamp(27px,4vh,42px);padding:17px 19px;display:flex}.title-card-rule>span{background:var(--coral);color:#fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font:800 11px/1 ui-monospace,monospace;display:grid}.title-card-rule p{color:var(--ink-soft);margin:0;font-size:10px;line-height:1.6}.title-card-rule strong{color:var(--ink);font-size:12px;display:block}.title-card-float{background:var(--ink);color:#fff;border-radius:14px 4px 14px 14px;align-items:center;gap:7px;padding:10px 13px;display:flex;position:absolute;bottom:-20px;right:-19px;box-shadow:0 10px 24px #172c2d2e}.title-card-float b{background:var(--key-held);border-radius:6px;place-items:center;width:27px;height:27px;font:800 10px/1 ui-monospace,monospace;display:grid}.title-card-float>span{color:var(--mint)}.title-card-float small{color:var(--mint);margin-left:2px;font-size:8px;font-weight:750}.guide-topbar{height:72px}.guide-topbar>button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:8px 10px;font-size:10px}.guide-topbar>span{color:var(--mint-dark);letter-spacing:.16em;font:800 9px/1 ui-monospace,monospace}.guide-layout{grid-template-columns:minmax(350px,.78fr) minmax(580px,1.22fr);align-items:center;gap:clamp(40px,6vw,86px);width:min(1320px,100% - 64px);min-height:calc(100dvh - 72px);margin:0 auto;padding:clamp(24px,4vh,46px) 0;display:grid}.guide-copy h1{letter-spacing:-.055em;margin:0;font-size:clamp(39px,4.6vw,64px);line-height:1.08}.guide-copy>p:not(.eyebrow){color:var(--ink-soft);margin:18px 0 0;font-size:12px;line-height:1.8}.guide-steps{gap:8px;margin:22px 0 0;padding:0;list-style:none;display:grid}.guide-steps li{background:#ffffff80;border:1px solid #49616424;border-radius:13px;align-items:center;gap:12px;padding:10px 12px;display:flex}.guide-steps li>span{color:var(--coral);flex:0 0 29px;font:850 10px/1 ui-monospace,monospace}.guide-steps li>div{min-width:0}.guide-steps strong{font-size:11px;display:block}.guide-steps p{color:var(--ink-soft);margin:3px 0 0;font-size:9px;line-height:1.5}.guide-continue{margin-top:20px}.guide-media{min-width:0;box-shadow:var(--shadow), 14px 15px 0 #f07a611c;background:#fffdfae6;border:1px solid #49616433;border-radius:25px 5px 25px 25px;overflow:hidden}.guide-video-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:7px 12px;display:flex}.guide-video-head small{color:var(--ink-soft);letter-spacing:.08em;white-space:nowrap;font:750 8px/1 ui-monospace,monospace}.guide-video-selector{gap:5px;min-width:0;display:flex}.guide-video-selector button{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#f4f4ef;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:750}.guide-video-selector button[aria-pressed=true]{border-color:var(--mint-dark);background:var(--mint-dark);color:#fff;box-shadow:0 3px #172c2d26}.guide-video-frame{padding:12px 12px 0}.guide-video-frame video{aspect-ratio:16/9;background:var(--ink);object-fit:cover;border-radius:14px;width:100%;display:block}.guide-video-note{color:var(--ink-soft);margin:0;padding:11px 16px 15px;font-size:9px;line-height:1.6}.guide-video-note span{color:var(--mint-dark);font-size:7px}.gate-back{z-index:2;color:var(--ink-soft);cursor:pointer;background:#ffffff9e;border:1px solid #4961642e;border-radius:999px;padding:9px 12px;font-size:9px;position:fixed;top:24px;left:28px}.anchor-gate{z-index:100;background:radial-gradient(circle at 16% 18%, #9ed8c161, transparent 28rem), radial-gradient(circle at 88% 82%, #f07a6133, transparent 25rem), var(--paper);place-items:center;min-height:100vh;padding:32px;display:grid;position:fixed;inset:0;overflow:auto}.gate-content{text-align:center;width:min(780px,100%)}.gate-label{color:var(--mint-dark);letter-spacing:.18em;justify-content:center;align-items:center;gap:13px;margin:0 0 24px;font:800 11px/1 ui-monospace,monospace;display:flex}.gate-label span{background:var(--coral);width:36px;height:2px}.gate-content h1{letter-spacing:-.055em;margin:0;font-size:clamp(46px,7vw,88px);line-height:1.12}.gate-content h1 em{color:var(--coral);font-style:normal}.gate-copy{color:var(--ink-soft);margin:22px 0 30px;font-size:15px;line-height:1.9}.gate-keys{justify-content:center;align-items:center;gap:clamp(20px,5vw,54px);display:flex}.gate-key-wrap{color:var(--ink-soft);justify-items:center;gap:10px;transition:color .15s;display:grid}.gate-finger{font-size:11px;font-weight:700}.gate-key{aspect-ratio:1;width:clamp(105px,15vw,148px);color:var(--ink);background:#fffdfa;border:2px solid #cbd3ce;border-radius:24px;place-items:center;font:850 clamp(42px,7vw,68px)/1 ui-monospace,monospace;transition:transform .12s,background .12s,box-shadow .12s;display:grid;position:relative;box-shadow:0 12px #c7cec9,0 25px 60px #172c2d21}.gate-key i{background:#7f8d89;border-radius:999px;width:32%;height:4px;position:absolute;bottom:18%}.gate-key-wrap strong{color:#75827e;letter-spacing:.08em;background:#e8ebe7;border-radius:999px;min-width:58px;padding:6px 10px;font:800 10px/1 ui-monospace,monospace}.gate-key-wrap.held{color:var(--key-held-dark)}.gate-key-wrap.held .gate-key{color:#fff;background:var(--key-held);box-shadow:0 3px 0 var(--key-held-dark), 0 14px 35px #98382d33;border-color:#be493b;transform:translateY(10px)}.gate-key-wrap.held .gate-key i{background:#fff}.gate-key-wrap.held strong{background:var(--key-held);color:#fff}.gate-key-wrap.release{color:var(--key-held-dark)}.gate-key-wrap.release .gate-key{color:#fff;background:var(--key-held);box-shadow:0 8px 0 var(--key-held-dark), 0 0 0 7px #d9554526;border-color:#be493b;animation:.75s ease-in-out infinite alternate releasePulse}.gate-key-wrap.release .gate-key i{background:#fff}.gate-key-wrap.release strong{background:var(--coral-soft);color:var(--key-held-dark)}.gate-key-wrap.released{color:var(--mint-dark)}.gate-key-wrap.released .gate-key{border-color:var(--mint);background:#edf7f2;box-shadow:0 10px #bfdacd}.gate-key-wrap.released strong{background:var(--mint-dark);color:#fff}.gate-key-wrap.optional{opacity:.68}@keyframes releasePulse{0%{transform:translateY(0)}to{transform:translateY(7px)}}.gate-plus{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:23px;display:grid}.gate-status{color:#87928f;background:#ffffff8c;border:1px solid #4961642e;border-radius:999px;justify-content:center;align-items:center;gap:12px;width:min(590px,100%);margin:36px auto 0;padding:13px 18px;font-size:11px;font-weight:700;display:flex}.gate-status span.done{color:var(--mint-dark)}.gate-status.ready{color:var(--mint-dark);background:#edf7f2;border-color:#1f6f6152}.gate-status i{background:#c7cec9;width:24px;height:1px}.full-home-row-gate .gate-content{width:min(920px,100%)}.full-home-row-gate .gate-content h1{font-size:clamp(40px,5.6vw,70px)}.full-home-gate-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.full-home-hand-group{min-width:0}.full-home-gate-keys{grid-template-columns:repeat(4,minmax(66px,1fr));gap:8px;display:grid}.full-home-gate-keys>span{background:#fffdfa;border:2px solid #cbd3ce;border-radius:14px;align-content:center;place-items:center;gap:7px;min-width:0;min-height:102px;padding:11px 4px 8px;transition:transform .12s,background .12s,box-shadow .12s;display:grid;box-shadow:0 8px #c7cec9}.full-home-gate-keys b{font:850 clamp(20px,3.2vw,34px)/1 ui-monospace,monospace}.home-key-finger-label{color:var(--ink);white-space:nowrap;font-size:9px;font-style:normal;font-weight:850}.large-home-hand{min-width:0;margin-top:25px;position:relative}.large-home-fingers{z-index:1;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:8px;height:112px;display:grid;position:relative}.large-home-finger{height:var(--finger-height);place-items:stretch center;display:grid;position:relative}.large-home-finger.finger-pinky{--finger-height:72px}.large-home-finger.finger-ring{--finger-height:92px}.large-home-finger.finger-middle{--finger-height:106px}.large-home-finger.finger-index{--finger-height:98px}.large-home-finger>i{background:linear-gradient(90deg,#d5dcd8,#f0f3f1 48%,#cbd4cf);border:2px solid #aeb9b4;border-radius:999px 999px 18px 18px;place-items:start center;width:clamp(22px,58%,58px);height:100%;display:grid;position:relative;box-shadow:inset -5px 0 10px #4961641a,0 -5px 14px #172c2d14}.large-home-finger>i:before{content:"";background:#ffffff94;border:1px solid #49616440;border-radius:999px 999px 6px 6px;width:50%;height:16px;position:absolute;top:8px}.large-home-finger>i small{color:#64736f;margin-top:31px;font:850 9px/1 ui-monospace,monospace}.large-home-finger.required:before{content:"↑";color:var(--key-held);font:950 24px/1 ui-monospace,monospace;animation:.8s ease-in-out infinite titlePressArrow;position:absolute;top:-26px;left:50%;transform:translate(-50%)}.large-home-finger.required>i{border-color:var(--key-held-dark);background:linear-gradient(90deg,#e36a58,#f5957d 48%,#cd4d3e);box-shadow:0 0 0 5px #d955451f,0 -7px 20px #98382d33}.large-home-finger.required>i:before{background:#ffffff4d;border-color:#ffffff7a}.large-home-finger.required>i small{color:#fff}.full-home-gate-keys small{color:#75827e;font:800 8px/1 ui-monospace,monospace}.full-home-gate-keys>span.held{background:var(--key-held);color:#fff;box-shadow:0 2px 0 var(--key-held-dark), 0 10px 24px #98382d24;border-color:#be493b;transform:translateY(7px)}.full-home-gate-keys>span.held small,.full-home-gate-keys>span.held .home-key-finger-label{color:#fff}.full-home-gate-keys>span.required{color:#a33d31;background:#fff5f1;border-color:#e29687;box-shadow:0 8px #e1b3a9}.full-home-gate-keys>span.required small{color:#a33d31}.full-home-gate-keys>span.muted{color:#ffffff29;background:#0d1110;border-color:#0d1110;box-shadow:0 8px #000}.full-home-gate-keys>span.muted small,.full-home-gate-keys>span.muted .home-key-finger-label{color:#ffffffad}.full-home-gate-keys>span.muted-held{color:#111;background:#fff;border-color:#111;transform:translateY(7px);box-shadow:0 2px #111}.full-home-gate-keys>span.muted-held small,.full-home-gate-keys>span.muted-held .home-key-finger-label{color:#111}.full-home-gate-keys>span.optional{opacity:.45}.gate-rule{text-align:left;background:#ffffffb3;border:1px solid #2878d038;border-radius:16px;align-items:center;gap:15px;width:min(590px,100%);margin:0 auto 24px;padding:14px 17px;display:flex}.gate-next-key{background:var(--key-next);color:#fff;height:48px;box-shadow:0 3px 0 var(--key-next-dark);border-radius:11px;flex:0 0 48px;place-items:center;font:850 20px/1 ui-monospace,monospace;display:grid}.gate-rule>div{flex:1;min-width:0}.gate-rule strong{font-size:13px}.gate-rule p{color:var(--ink-soft);margin:3px 0 0;font-size:11px}.gate-rule-steps{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.gate-rule-steps span{align-items:center;gap:5px;font-size:9px;font-weight:750;display:inline-flex}.gate-rule-steps b{width:18px;height:18px;color:var(--mint-dark);background:#e4ebe8;border-radius:50%;place-items:center;font:800 8px/1 ui-monospace,monospace;display:grid}.warning-gate .gate-content h1{font-size:clamp(36px,5vw,64px)}.warning-gate .gate-copy{margin:13px 0 18px}.warning-gate .gate-key{border-radius:18px;width:clamp(82px,11vw,112px)}.warning-gate .gate-status{margin-top:22px}.stage-intro-screen{z-index:90;background:radial-gradient(circle at 14% 18%, #9ed8c159, transparent 28rem), radial-gradient(circle at 88% 80%, #f07a612e, transparent 24rem), var(--paper);place-items:center;min-height:100dvh;padding:28px;display:grid;position:fixed;inset:0;overflow:auto}.stage-intro-card{text-align:center;width:min(760px,100%);box-shadow:var(--shadow);background:#fffdfaeb;border:1px solid #4961642e;border-radius:30px;padding:clamp(30px,5vw,54px);position:relative}.stage-intro-back{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:7px 10px;font-size:10px;position:absolute;top:20px;left:22px}.stage-intro-label{color:var(--mint-dark);letter-spacing:.16em;justify-content:center;align-items:center;gap:11px;margin:0 0 20px;font:800 10px/1 ui-monospace,monospace;display:flex}.stage-intro-label span{background:var(--coral);width:28px;height:2px}.stage-intro-card h1{letter-spacing:-.05em;margin:0;font-size:clamp(38px,6vw,66px)}.stage-intro-kana{color:var(--coral);margin:5px 0 0;font-size:19px;font-weight:800}.stage-intro-description{width:min(540px,100%);color:var(--ink-soft);margin:16px auto 0;font-size:13px;line-height:1.8}.stage-intro-focus{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:19px;display:flex}.stage-intro-focus span{border:1px solid var(--line);background:#f0f3ee;border-radius:8px;place-items:center;min-width:31px;height:31px;padding:0 8px;font:800 10px/1 ui-monospace,monospace;display:grid}.stage-intro-preview{border:1px solid var(--line);background:#f8f6ef;border-radius:15px;gap:5px;width:min(500px,100%);margin:22px auto 0;padding:15px 18px;display:grid}.stage-intro-preview small{color:var(--ink-soft);font-size:9px}.stage-intro-preview strong{letter-spacing:.08em;font-size:clamp(26px,4vw,40px)}.stage-intro-preview span{color:var(--key-next);letter-spacing:.16em;font:750 12px/1 ui-monospace,monospace}.stage-intro-strict{width:min(500px,100%);color:var(--mint-dark);margin:12px auto -6px;font-size:11px;font-weight:750}.stage-intro-start{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:13px;justify-content:space-between;width:min(360px,100%);margin-top:22px;padding:14px 18px;font-size:12px;font-weight:800;display:inline-flex}.topbar{border-bottom:1px solid #4961642e;justify-content:space-between;align-items:center;width:min(1500px,100% - 48px);height:82px;margin:0 auto;display:flex}.brand{color:inherit;align-items:center;gap:13px;text-decoration:none;display:inline-flex}.brand-button{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.brand-mark{background:var(--ink);color:#fff;width:54px;height:39px;box-shadow:5px 5px 0 var(--mint);border-radius:11px 11px 15px;justify-content:center;align-items:center;gap:5px;display:flex;transform:rotate(-2deg)}.brand-mark b{font:750 14px/1 ui-monospace,monospace}.brand-mark i{background:#ffffff47;width:1px;height:17px}.brand>span:last-child{display:grid}.brand strong{letter-spacing:.08em;font-size:18px}.brand small{color:var(--mint-dark);letter-spacing:.16em;font:700 8px/1.5 ui-monospace,monospace}.top-actions{align-items:center;gap:16px;display:flex}.saved-progress{color:var(--ink-soft);font-size:12px}.saved-progress i{background:var(--mint-dark);border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.icon-button{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);cursor:pointer;background:#ffffff8c;border-radius:50%}.audio-controls{align-items:center;gap:6px;display:flex}.audio-toggle{border:1px solid var(--line);min-width:51px;height:34px;color:var(--ink-soft);cursor:pointer;background:#ffffff9e;border-radius:8px;place-items:center;gap:1px;padding:4px 8px;font:800 8px/1 ui-monospace,monospace;display:inline-grid}.audio-toggle small{color:var(--mint-dark);letter-spacing:.08em;font:750 6px/1 ui-monospace,monospace}.audio-toggle[aria-pressed=true]{color:var(--ink);background:#e8f5ef;border-color:#1f6f6180}.stage-select{width:min(1260px,100% - 48px);margin:0 auto 80px}.stage-hero{justify-content:space-between;align-items:end;gap:38px;padding:62px 0 36px;display:flex}.stage-hero h1{letter-spacing:-.045em;margin:0;font-size:clamp(34px,4.5vw,58px);line-height:1.14}.stage-hero>div:first-child>p:last-child{color:var(--ink-soft);margin:15px 0 0;font-size:13px;line-height:1.8}.stage-hero-actions{justify-items:stretch;gap:9px;display:grid}.stage-summary{border:1px solid var(--line);background:#ffffff8c;border-radius:18px 4px 18px 18px;justify-items:end;min-width:175px;padding:18px 20px;display:grid}.stage-summary strong{color:var(--mint-dark);font:800 34px/1 ui-monospace,monospace}.stage-summary strong span{color:#92a09b;font-size:17px}.stage-summary small{color:var(--ink-soft);margin-top:6px;font-size:9px}.stage-guide-button{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#ffffff8c;border-radius:10px;padding:9px 12px;font-size:9px}.stage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.stage-tile{background:var(--card);border:1px solid #4961642e;border-radius:22px;min-width:0;padding:23px 24px 21px;transition:transform .18s,box-shadow .18s;box-shadow:0 12px 36px #28444112}.stage-tile:hover{transform:translateY(-2px);box-shadow:0 18px 45px #2844411c}.stage-tile.completed{background:linear-gradient(145deg,#fffdfa,#f0f8f4);border-color:#1f6f616b}.stage-tile-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.stage-number{letter-spacing:.14em;color:var(--mint-dark);font:800 9px/1 ui-monospace,monospace}.stage-state{color:var(--ink-soft);background:#eff1ed;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:750}.stage-tile.completed .stage-state{color:var(--mint-dark);background:#dff0e8}.stage-tile h2{margin:16px 0 2px;font-size:22px}.stage-kana{color:var(--coral);margin:0;font-size:15px;font-weight:750}.stage-description{min-height:42px;color:var(--ink-soft);margin:11px 0 0;font-size:11px;line-height:1.75}.stage-focus{flex-wrap:wrap;gap:5px;min-height:25px;margin-top:14px;display:flex}.stage-focus span{border:1px solid var(--line);min-width:25px;height:25px;color:var(--ink-soft);background:#f0f1ec;border-radius:7px;place-items:center;padding:0 6px;font:750 9px/1 ui-monospace,monospace;display:grid}.stage-progress-row{align-items:center;gap:10px;margin-top:17px;display:flex}.stage-progress-bar{background:#e3e7e1;border-radius:999px;flex:1;height:7px;overflow:hidden}.stage-progress-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--mint-dark), var(--mint));height:100%;transition:width .25s;display:block}.stage-progress-row small{color:#82908c;text-align:right;width:28px;font:700 9px/1 ui-monospace,monospace}.stage-tile>button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:11px;justify-content:space-between;width:100%;margin-top:17px;padding:12px 15px;font-size:11px;font-weight:750;display:flex}.stage-tile.completed>button{background:var(--mint-dark)}.practice-screen{width:min(1160px,100% - 48px);margin:28px auto 80px}.practice-toolbar{border:1px solid var(--line);background:#fff9;border-radius:16px;grid-template-columns:auto auto minmax(90px,1fr) auto;align-items:center;gap:16px;min-height:60px;margin-bottom:14px;padding:10px 16px;display:grid}.practice-toolbar>button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;font-size:10px}.practice-toolbar>div:nth-child(2){white-space:nowrap;gap:2px;display:grid}.practice-toolbar>div:nth-child(2) span{color:var(--mint-dark);letter-spacing:.12em;font:750 8px/1 ui-monospace,monospace}.practice-toolbar>div:nth-child(2) strong{font-size:12px}.toolbar-progress{background:#e0e5df;border-radius:999px;height:6px;overflow:hidden}.toolbar-progress span{background:var(--mint-dark);height:100%;transition:width .2s;display:block}.practice-toolbar>small{color:var(--ink-soft);font:700 9px/1 ui-monospace,monospace}.focused-practice{width:min(1040px,100%);margin:0 auto}.stage-result-screen{place-items:center;width:min(760px,100% - 48px);min-height:calc(100vh - 180px);margin:0 auto;padding:48px 0 70px;display:grid}.result-card{text-align:center;background:var(--card);width:100%;box-shadow:var(--shadow);border:1px solid #1f6f6147;border-radius:30px;padding:clamp(30px,6vw,58px)}.result-kicker{letter-spacing:.16em;color:var(--mint-dark);font:800 10px/1 ui-monospace,monospace}.result-mark{background:var(--mint-dark);color:#fff;border-radius:50%;place-items:center;width:74px;height:74px;margin:23px auto 17px;font-size:38px;display:grid;box-shadow:0 0 0 10px #9ed8c140}.result-card h1{letter-spacing:-.04em;margin:0;font-size:clamp(30px,5vw,48px)}.result-card>p{color:var(--ink-soft);margin:10px 0 0;font-size:13px}.result-stats{border:1px solid var(--line);border-radius:16px;grid-template-columns:repeat(3,1fr);margin-top:30px;display:grid;overflow:hidden}.result-stats>div{padding:17px 10px}.result-stats>div+div{border-left:1px solid var(--line)}.result-stats small{color:var(--ink-soft);font-size:9px;display:block}.result-stats strong{margin-top:4px;font:800 25px/1 ui-monospace,monospace;display:block}.result-stats strong span{color:var(--ink-soft);font-size:9px}.result-actions{gap:8px;width:min(430px,100%);margin:28px auto 0;display:grid}.result-actions button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:12px;justify-content:space-between;padding:13px 17px;font-size:11px;font-weight:750;display:flex}.result-actions button.secondary{color:var(--mint-dark);border:1px solid var(--mint-dark);background:#fff;justify-content:center}.result-actions button.ghost{color:var(--ink-soft);background:0 0;justify-content:center}.practice-game-over{--game-paper:#fffdf7;--game-ink:#2a1f14;--game-sub:#6b5a47;--game-accent:#c73e1d;--game-border:#e6d5bc;z-index:120;min-height:100dvh;color:var(--game-ink);text-align:center;background:radial-gradient(circle at 18% 16%,#f4a26a3b,#0000 26rem),radial-gradient(circle at 88% 82%,#d2342b1f,#0000 24rem),#fff8eefa;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:auto}.game-over-scene{width:220px;height:220px;margin-bottom:3px;position:relative}.game-over-scene>img{object-fit:contain;filter:drop-shadow(0 4px 12px #4a321e2e);width:100%;height:100%;animation:2.4s ease-in-out infinite gameOverFailBob}.game-over-spill{pointer-events:none;position:absolute;inset:0}.game-over-spill span{opacity:0;font-size:26px;animation:1.4s ease-out forwards gameOverTumbleOut;display:inline-block;position:absolute}.game-over-spill .spill-1{animation-delay:50ms;bottom:6%;left:18%}.game-over-spill .spill-2{animation-delay:.15s;bottom:14%;left:35%}.game-over-spill .spill-3{animation-delay:.25s;bottom:4%;left:55%}.game-over-spill .spill-4{animation-delay:.1s;bottom:10%;left:72%}.game-over-spill .spill-5{animation-delay:.3s;bottom:22%;left:46%}.game-over-spill .spill-6{font-size:18px;animation-delay:.18s;bottom:28%;left:88%}.game-over-kicker{color:var(--game-accent);letter-spacing:.18em;margin:0 0 7px;font:850 9px/1 ui-monospace,monospace}.practice-game-over h1{color:var(--game-accent);letter-spacing:-.05em;margin:0;font-size:clamp(38px,5vw,58px);line-height:1}.game-over-message{color:var(--game-sub);margin:13px 0 16px;font-size:14px;line-height:1.7}.game-over-stats{gap:10px;margin-bottom:15px;display:flex}.game-over-stats>div{border:1px solid var(--game-border);background:var(--game-paper);border-radius:12px;gap:4px;min-width:132px;padding:12px 18px;display:grid}.game-over-stats strong{color:var(--game-accent);font:850 24px/1 ui-monospace,monospace}.game-over-stats small{color:var(--game-sub);font-size:9px}.game-over-retry{background:var(--game-accent);color:#fff;cursor:pointer;border:0;border-radius:12px;width:280px;padding:14px 22px;font-size:13px;font-weight:800;box-shadow:0 4px 16px #4a321e1f}.game-over-back{color:var(--game-sub);cursor:pointer;background:0 0;border:0;margin-top:8px;padding:8px 12px;font-size:10px}.game-over-stage{color:#9a8976;letter-spacing:.08em;margin-top:6px;font:750 8px/1 ui-monospace,monospace}@keyframes gameOverFailBob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-4px)rotate(2deg)}}@keyframes gameOverTumbleOut{0%{opacity:0;transform:translateY(-30px)rotate(0)}40%{opacity:1}to{opacity:1;transform:translateY(0)rotate(360deg)}}.intro{justify-content:space-between;align-items:end;gap:48px;width:min(1320px,100% - 48px);margin:0 auto;padding:66px 0 46px;display:flex}.eyebrow{letter-spacing:.16em;color:var(--mint-dark);align-items:center;gap:9px;margin:0 0 14px;font:750 11px/1 ui-monospace,monospace;display:flex}.eyebrow span{background:var(--coral);width:30px;height:2px}.intro h1{letter-spacing:-.045em;margin:0;font-size:clamp(40px,5.4vw,76px);font-weight:780;line-height:1.08}.intro h1 em{color:var(--coral);font-style:normal;position:relative}.intro h1 em:after{content:"";background:var(--yellow);z-index:-1;border-radius:50%;height:6px;position:absolute;bottom:-6px;left:4%;right:0;transform:rotate(-1deg)}.intro-copy{color:var(--ink-soft);margin:22px 0 0;font-size:15px;line-height:1.9}.anchor-rule-card{background:#ffffff8c;border:1px solid #4961642e;border-radius:3px 22px 22px;align-items:flex-start;gap:16px;max-width:400px;padding:20px 22px;display:flex;box-shadow:10px 12px #9ed8c12e}.rule-number{background:var(--coral);color:#fff;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-size:11px;font-weight:800;display:grid}.anchor-rule-card strong{margin-bottom:5px;font-size:15px;display:block}.anchor-rule-card p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.65}.workspace{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:22px;width:min(1500px,100% - 48px);margin:0 auto 90px;display:grid}.lesson-panel,.practice-card,.keyboard-card,.metrics{background:var(--card);box-shadow:var(--shadow);border:1px solid #4961642b}.lesson-panel{border-radius:26px;position:sticky;top:18px;overflow:hidden}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:24px 22px 19px;display:flex}.panel-heading span,.keyboard-head>span,.lesson-label{letter-spacing:.14em;color:var(--mint-dark);font:750 9px/1 ui-monospace,monospace}.panel-heading h2{margin:5px 0 0;font-size:20px}.total-badge{background:#edf7f2;border-radius:999px;padding:7px 9px;letter-spacing:.03em!important}.lesson-list{padding:9px;display:grid}.lesson-item{width:100%;min-height:61px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;padding:10px 12px;transition:background .18s,transform .18s;display:flex}.lesson-item:hover{background:#f2f5ef;transform:translate(2px)}.lesson-item.active{background:var(--ink);color:#fff}.lesson-number{border:1px solid var(--line);border-radius:50%;flex:0 0 31px;place-items:center;height:31px;font:700 10px/1 ui-monospace,monospace;display:grid}.lesson-item.active .lesson-number{background:var(--coral);border-color:#ffffff40}.lesson-name{flex:1;gap:2px;display:grid}.lesson-name strong{font-size:13px}.lesson-name small{color:currentColor;opacity:.62;font-size:10px}.lesson-arrow{opacity:.42}.lesson-note{background:var(--coral-soft);border-radius:13px;margin:4px 14px 16px;padding:14px 15px}.lesson-note span{color:#a64030;font-size:9px;font-weight:800}.lesson-note p{color:#754a42;margin:5px 0 0;font-size:10px;line-height:1.6}.practice-column{gap:16px;min-width:0;display:grid}.practice-card{border-radius:26px;transition:box-shadow .18s;position:relative;overflow:hidden}.practice-card.feedback-wrong,.practice-card.feedback-blocked{box-shadow:0 0 0 3px #f07a6147, var(--shadow)}.practice-card.feedback-complete{box-shadow:0 0 0 3px #1f6f6138, var(--shadow)}.practice-teacher{z-index:2;pointer-events:none;transform-origin:50% 100%;justify-items:center;width:104px;display:grid;position:absolute;bottom:3px;right:8px}.practice-teacher-art{place-items:end center;width:72px;height:84px;display:grid;position:relative}.practice-teacher-art img{object-fit:contain;filter:drop-shadow(0 2px 5px #4a321e26);width:100%;height:100%}.practice-teacher-art span{background:var(--coral);color:#fff;border-radius:999px;padding:3px 5px;font:900 10px/1 ui-monospace,monospace;animation:.42s ease-out both teacherDamageNumber;position:absolute;top:6px;left:0}.practice-lives{background:#fffdfae0;border-radius:999px;align-items:center;gap:1px;height:14px;padding:2px 5px;display:flex}.practice-lives i{color:var(--coral);font:900 10px/1 sans-serif;transition:opacity .18s,filter .18s,transform .18s}.practice-lives i.lost{opacity:.22;filter:grayscale();transform:scale(.75)}.practice-lives.danger{animation:.65s ease-in-out infinite alternate teacherLifeDanger}.practice-teacher.hit .practice-teacher-art{animation:.28s teacherHit}.practice-teacher.damage-3{transform:translateY(2px)rotate(-1deg)}.practice-teacher.damage-4{transform:translateY(4px)rotate(-2deg)}.practice-teacher.damage-5{animation:1.1s ease-in-out infinite alternate teacherCritical;transform:translateY(6px)rotate(-3deg)}.practice-teacher.damage-3 img{filter:saturate(.88)drop-shadow(0 2px 5px #4a321e26)}.practice-teacher.damage-4 img,.practice-teacher.damage-5 img{filter:saturate(.72)brightness(.92)drop-shadow(0 2px 5px #4a321e26)}@keyframes teacherHit{0%,to{transform:translate(0)}25%{transform:translate(-7px)rotate(-4deg)}55%{transform:translate(6px)rotate(4deg)}80%{transform:translate(-3px)}}@keyframes teacherDamageNumber{0%{opacity:0;transform:translateY(8px)scale(.7)}35%{opacity:1;transform:translateY(0)scale(1.15)}to{opacity:0;transform:translateY(-18px)scale(.9)}}@keyframes teacherLifeDanger{0%{opacity:1}to{opacity:.55}}@keyframes teacherCritical{0%{margin-bottom:0}to{margin-bottom:3px}}.practice-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding:25px 30px;display:flex}.practice-head h2{margin:7px 0 5px;font-size:22px}.practice-head p{color:var(--ink-soft);margin:0;font-size:12px}.session-actions{align-items:center;gap:10px;display:flex}.mode-switch{color:var(--ink-soft);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;font-size:11px;display:flex}.mode-switch input{opacity:0;pointer-events:none;position:absolute}.mode-switch>span{background:#cbd2ce;border-radius:999px;width:32px;height:18px;padding:2px;transition:background .2s}.mode-switch>span:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;display:block;box-shadow:0 1px 3px #0000002e}.mode-switch input:checked+span{background:var(--mint-dark)}.mode-switch input:checked+span:after{transform:translate(14px)}.reset-button{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:999px;padding:7px 11px;font-size:10px}.exercise-stage{text-align:center;background:linear-gradient(#f7f3ea4d,#0000);padding:26px 34px 30px}.stage-meta{letter-spacing:.09em;color:#879596;justify-content:space-between;font:650 9px/1 ui-monospace,monospace;display:flex}.kana-line{letter-spacing:.08em;flex-wrap:wrap;justify-content:center;align-items:center;min-height:106px;padding:22px 0 4px;font-size:clamp(39px,6vw,72px);font-weight:760;line-height:1.15;display:flex}.kana-line span{transition:color .15s,transform .15s;display:inline-block}.kana-line .waiting{color:#bac2bd}.kana-line .current{color:var(--ink);position:relative;transform:translateY(-3px)}.kana-line .current:after{content:"";background:var(--coral);border-radius:50%;height:5px;position:absolute;bottom:-7px;left:4%;right:12%;transform:rotate(-2deg)}.kana-line .done{color:var(--mint-dark)}.romaji-line{letter-spacing:.08em;justify-content:center;gap:1px;min-height:34px;font:700 20px/1.4 ui-monospace,SFMono-Regular,monospace;display:flex}.romaji-line span{border-bottom:2px solid #0000;min-width:.72em}.romaji-line .waiting{color:#b5bfba}.romaji-line .done{color:var(--mint-dark);opacity:.7}.romaji-line .current{color:var(--key-next);border-bottom-color:var(--key-next)}.instruction{text-align:left;border:1px solid var(--line);background:#ffffffd9;border-radius:14px;align-items:flex-start;gap:14px;width:min(570px,100%);margin:20px auto 0;padding:14px 16px;display:flex}.next-key{background:var(--key-next);color:#fff;height:42px;box-shadow:0 3px 0 var(--key-next-dark);border-radius:10px;flex:0 0 42px;place-items:center;font:800 18px/1 ui-monospace,monospace;display:grid}.instruction-left .next-key,.instruction-right .next-key{background:var(--key-next);box-shadow:0 3px 0 var(--key-next-dark)}.instruction-copy{flex:1;min-width:0}.instruction strong{font-size:11px;display:block}.instruction p{color:var(--ink-soft);margin:3px 0 0;font-size:11px}.motion-steps{flex-wrap:wrap;align-items:center;gap:5px;margin-top:9px;display:flex}.motion-steps span{color:var(--ink);white-space:nowrap;align-items:center;gap:5px;font-size:9px;font-weight:750;display:inline-flex}.motion-steps b{width:18px;height:18px;color:var(--ink-soft);background:#e8ece7;border-radius:50%;place-items:center;font:800 8px/1 ui-monospace,monospace;display:grid}.instruction-right .motion-steps b{color:var(--mint-dark);background:#dcefe9}.instruction-left .motion-steps b{background:var(--coral-soft);color:#a64030}.motion-steps i{color:#9ca7a3;margin-left:2px;font-style:normal}.lesson-progress{background:#e4e8e1;border-radius:999px;height:4px;margin-top:24px;overflow:hidden}.lesson-progress span{background:linear-gradient(90deg, var(--mint-dark), var(--mint));height:100%;transition:width .25s;display:block}.anchor-board{color:#fff;background:var(--ink);border-radius:18px;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;min-height:82px;padding:12px 18px;display:grid;box-shadow:0 14px 35px #172c2d2b}.anchor-status{opacity:.63;align-items:center;gap:12px;transition:opacity .15s;display:flex}.anchor-status.right{text-align:right;justify-content:flex-end}.anchor-status.held,.anchor-status.released{opacity:1}.anchor-key{width:46px;height:46px;color:var(--ink);background:#f3f0e9;border-radius:10px;place-items:center;font:800 18px/1 ui-monospace,monospace;display:grid;position:relative;box-shadow:0 4px #8d9995}.anchor-key i{background:#657471;border-radius:999px;width:17px;height:2px;position:absolute;bottom:7px}.anchor-status.held .anchor-key{color:#fff;background:var(--key-held);box-shadow:0 2px 0 var(--key-held-dark);transform:translateY(2px)}.anchor-status.released .anchor-key{color:var(--mint-dark);background:#e8f4ee;box-shadow:0 4px #a8cdbd}.anchor-status.release-needed .anchor-key{box-shadow:0 2px 0 var(--key-held-dark), 0 0 0 4px #d955452e}.anchor-status.optional strong{color:var(--mint)}.anchor-status div{gap:3px;display:grid}.anchor-status small{letter-spacing:.12em;color:var(--mint);font:700 8px/1 ui-monospace,monospace}.anchor-status strong{font-size:12px}.board-center{color:#ffffffb3;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:6px;padding:7px 11px;font-size:9px;display:flex}.board-center span{background:var(--coral);border-radius:50%;width:7px;height:7px}.board-center span.ready{background:var(--mint);box-shadow:0 0 0 4px #9ed8c11f}.keyboard-card{border-radius:22px;padding:21px 28px 24px;overflow:hidden}.keyboard-head{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.keyboard-head p{color:var(--ink-soft);align-items:center;gap:7px;margin:0;font-size:9px;display:flex}.dot{border-radius:50%;width:7px;height:7px;display:inline-block}.dot.next{background:var(--key-next)}.dot.hold{background:var(--key-held);margin-left:5px}.dot.release{background:#e2a536;margin-left:5px}.keyboard{background:linear-gradient(145deg,#cbd0ce,#aeb5b2);border:1px solid #aeb6b2;border-radius:13px;gap:6px;width:min(960px,100%);margin:0 auto;padding:10px;display:grid;box-shadow:inset 0 1px #ffffffa6,0 10px 24px #182b2a24}.key-row{justify-content:center;gap:5px;width:100%;display:flex}.key{color:#526564;text-align:center;white-space:nowrap;background:linear-gradient(#fbfaf7,#e7e8e4);border:1px solid #c8cfcb;border-radius:7px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;min-width:0;height:43px;padding:4px 3px;font:750 clamp(7px,1.08vw,12px)/1 ui-monospace,monospace;transition:transform .1s,background .1s,color .1s,box-shadow .1s;display:flex;position:relative;overflow:hidden;box-shadow:0 3px #89938f,0 4px 5px #1a2d2b29}.key b{font:inherit}.key small{color:currentColor;opacity:.76;min-height:10px;margin-bottom:2px;font:650 clamp(5px,.75vw,8px)/1 ui-monospace,monospace;display:block}.key-wide{flex-grow:1.48;font-size:clamp(5px,.84vw,9px)}.key-wider{flex-grow:1.9;font-size:clamp(5px,.84vw,9px)}.key-space{color:#0000;flex-grow:5.1}.function-row .key{border-radius:5px;height:24px;padding:2px;font-size:clamp(5px,.73vw,8px);box-shadow:0 2px #89938f,0 3px 4px #1a2d2b1f}.bottom-row .key{height:35px;font-size:clamp(5px,.75vw,8px)}.key-li,.key-ri{background:#eef7f2}.key-lp,.key-lr,.key-lm{border-top-color:#f07a6199}.key-rp,.key-rr,.key-rm{border-top-color:#1f6f6199}.key.anchor{color:#fff;background:var(--mint-dark);border-color:#185b50;box-shadow:0 3px #123f39}.key.anchor i{background:#fffc;border-radius:999px;width:38%;max-width:18px;height:2px;position:absolute;bottom:5px}.key.anchor-hold:not(.pressed){color:#a33d31;background:linear-gradient(#fff5f1,#f7d8d0);border-color:#e29687;box-shadow:0 3px #c97969}.key.anchor-release:not(.pressed){color:#8b5a08;background:linear-gradient(#fff9e9,#f5dfad);border-color:#dfb75c;box-shadow:0 3px #bf8b27}.key.anchor-hold:not(.pressed)>i{background:#a33d318c}.key.anchor-release:not(.pressed)>i{background:#8b5a088c}.anchor-motion{color:currentColor;font:950 14px/1 ui-monospace,monospace;position:absolute;top:3px;right:4px}.anchor-action-label{color:currentColor;letter-spacing:0;font:900 7px/1 sans-serif;position:absolute;bottom:3px;left:4px}.key.anchor-hold .anchor-motion{animation:.72s ease-in-out infinite anchorPressArrow}.key.anchor-release .anchor-motion{animation:.72s ease-in-out infinite anchorReleaseArrow}@keyframes anchorPressArrow{0%,to{transform:translateY(-2px)}50%{transform:translateY(2px)}}@keyframes anchorReleaseArrow{0%,to{transform:translateY(2px)}50%{transform:translateY(-2px)}}.key.next{z-index:2;color:#fff;background:var(--key-next);box-shadow:0 0 0 4px #2878d02b, 0 3px 0 var(--key-next-dark);border-color:#1d67b6;transform:translateY(-2px)}.key.pressed{color:#fff;background:var(--key-held);border-color:#be493b;transform:translateY(3px);box-shadow:0 0 #0000}.key.anchor.pressed{color:#fff;background:var(--key-held);border-color:#be493b}.key.anchor.pressed .anchor-motion,.key.anchor.pressed .anchor-action-label{color:#fff}.keyboard-card-strict .key.strict-muted{color:#ffffff21;filter:grayscale();background:#0d1110;border-color:#0d1110;box-shadow:0 3px #000}.keyboard-card-strict .key.strict-muted small{color:#ffffff21}.keyboard-card-strict .key.strict-muted.pressed{color:#111;filter:none;background:#fff;border-color:#111;transform:translateY(3px);box-shadow:0 0 #0000}.keyboard-card-strict .key.strict-muted.pressed small{color:#111}.finger-legend{color:var(--ink-soft);justify-content:center;gap:20px;margin-top:17px;font-size:9px;display:flex}.finger-legend span{align-items:center;gap:5px;display:flex}.finger-legend i{border-radius:999px;width:18px;height:3px}.left-hand{background:var(--coral)}.index-finger{background:var(--yellow)}.right-hand{background:var(--mint-dark)}.metrics{border-radius:20px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.metrics>div{padding:17px 22px;position:relative}.metrics>div+div{border-left:1px solid var(--line)}.metrics small{color:var(--ink-soft);font-size:10px;display:block}.metrics strong{margin-top:2px;font:760 29px/1.2 ui-monospace,monospace;display:block}.metrics strong span{color:var(--ink-soft);margin-left:3px;font-size:10px}.metrics p{color:#8a9693;margin:1px 0 0;font-size:9px}.title-taco-art{isolation:isolate;place-items:center;min-height:430px;display:grid;position:relative}.title-taco-art:before{content:"";aspect-ratio:1;z-index:-1;background:radial-gradient(circle at 35% 30%,#ffffffdb,#f4cd6b33 52%,#9ed8c14d);border:1px solid #49616421;border-radius:48% 52% 45% 55%;width:min(430px,33vw);position:absolute;transform:rotate(-5deg);box-shadow:22px 24px #9ed8c129}.title-taco-mascot{object-fit:contain;filter:drop-shadow(0 24px 22px #172c2d29);width:min(520px,38vw);height:auto;max-height:min(70vh,650px);display:block}.title-rule{background:var(--coral);width:54px;height:3px;margin-top:25px;display:block}.title-copy h1{letter-spacing:-.08em;font-size:clamp(58px,7vw,100px)}.mode-select,.lesson-select{width:min(1080px,100% - 48px);margin:0 auto;padding:clamp(42px,7vh,80px) 0 90px}.select-heading{justify-content:space-between;align-items:end;gap:30px;display:flex}.select-heading h1{letter-spacing:-.055em;margin:0;font-size:clamp(42px,5vw,66px)}.mode-lede{max-width:660px;color:var(--ink-soft);margin:16px 0 34px;font-size:13px;line-height:1.8}.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.mode-card{border:1px solid var(--line);width:100%;min-height:270px;color:var(--ink);text-align:left;cursor:pointer;background:#fffdfad1;border-radius:14px;flex-direction:column;align-items:stretch;gap:19px;padding:22px;transition:transform .18s,border-color .18s;display:flex;box-shadow:0 8px 24px #2844410f}.mode-card:hover{border-color:var(--mint-dark);transform:translateY(-2px)}.mode-number{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding-bottom:13px;display:flex}.mode-number small{color:var(--ink-soft);letter-spacing:.16em;font:750 8px/1 ui-monospace,monospace}.mode-number b{color:var(--mint-dark);letter-spacing:-.06em;font:850 29px/.8 ui-monospace,monospace}.mode-card-body{gap:4px;display:grid}.mode-card-body small{color:var(--mint-dark);letter-spacing:.14em;font:800 9px/1 ui-monospace,monospace}.mode-card-body strong{font-size:24px}.mode-card-body>span:not(.mode-key-strip){color:var(--ink-soft);font-size:11px}.mode-card-body .mode-resume{color:var(--coral);margin-top:7px;font-size:9px;font-weight:800}.mode-key-strip{align-items:center;gap:5px;min-height:38px;margin-top:15px;display:flex}.mode-key-strip i{min-width:31px;height:31px;color:var(--ink);background:linear-gradient(#fff,#eeefeb);border:1px solid #cbd2ce;border-radius:6px;place-items:center;padding:0 7px;font:800 10px/1 ui-monospace,monospace;display:grid;box-shadow:0 3px #aab3af}.mode-attack .mode-key-strip i{color:var(--coral-dark);border-color:#e2a393;box-shadow:0 3px #cf8b7b}.mode-card-progress{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:12px;margin-top:auto;padding-top:15px;display:flex}.mode-card-progress b{font:800 19px/1 ui-monospace,monospace}.mode-card-progress small{color:var(--ink-soft);font-size:9px}.inline-back{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;margin-bottom:18px;padding:0;font-size:10px}.lesson-card-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.lesson-choice{border:1px solid var(--line);min-height:112px;color:var(--ink);text-align:left;cursor:pointer;background:#fffdfad1;border-radius:10px;grid-template-columns:55px 1fr auto;align-items:center;gap:17px;padding:18px 20px;display:grid}.lesson-choice:hover{border-color:var(--mint-dark)}.lesson-choice-mark{border:1px dashed #aeb8b3;border-radius:50%;place-items:center;width:48px;height:48px;font:800 11px/1 ui-monospace,monospace;display:grid}.lesson-choice.completed .lesson-choice-mark{background:var(--mint-dark);color:#fff;border-style:solid}.lesson-choice-copy{gap:3px;min-width:0;display:grid}.lesson-choice-copy small{color:var(--mint-dark);letter-spacing:.12em;font:750 8px/1 ui-monospace,monospace}.lesson-choice-copy strong{font-size:17px}.lesson-choice-copy>span{color:var(--coral);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.lesson-choice-copy i{background:var(--line);border-radius:99px;height:4px;margin-top:7px;overflow:hidden}.lesson-choice-copy i b{background:var(--mint-dark);height:100%;display:block}.lesson-choice-arrow{color:var(--ink-soft)}.practice-anchor-line{background:var(--ink);color:#fff;border-radius:9px;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;height:34px;padding:0 16px;font-size:9px;display:grid}.practice-anchor-line>span:last-child{text-align:right}.practice-anchor-line b{color:var(--mint);font-weight:750}.practice-anchor-line i{color:var(--mint);font-style:normal;font-weight:800}.practice-anchor-line.attention i{color:var(--yellow)}.attack-intro{text-align:center;width:min(760px,100% - 40px);min-height:calc(100dvh - 82px);margin:0 auto;padding:45px 0 80px}.attack-intro>.inline-back{display:block}.attack-intro-art{justify-content:center;align-items:flex-end;gap:12px;height:126px;display:flex}.attack-intro-art>div{text-align:left;background:#fffdf7;border:2px solid #e6d5bc;border-radius:14px;gap:5px;min-width:230px;margin-bottom:14px;padding:13px 18px;display:grid;position:relative;box-shadow:0 8px 22px #4a321e17}.attack-intro-art>div:after{content:"";border-top:10px solid #0000;border-bottom:10px solid #0000;border-left:12px solid #e6d5bc;position:absolute;top:35px;right:-12px}.attack-intro-art small{color:#6b5a47;letter-spacing:.1em;font:800 8px/1 ui-monospace,monospace}.attack-intro-art strong{color:#2a1f14;font-size:20px}.attack-intro-art img{object-fit:contain;filter:drop-shadow(0 3px 9px #4a321e29);width:108px;height:108px}.attack-intro .eyebrow{justify-content:center;margin-top:20px}.attack-intro h1{letter-spacing:-.07em;margin:0;font-size:clamp(54px,7vw,86px);line-height:1.02}.attack-intro>p:not(.eyebrow){color:var(--ink-soft);margin:20px auto 0;font-size:13px}.attack-mode-grid{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.attack-mode-grid>button{border:1px solid var(--line);min-width:0;color:var(--ink);cursor:pointer;background:#fffdfadb;border-radius:12px;gap:8px;padding:22px;transition:transform .18s,border-color .18s;display:grid;box-shadow:0 10px 28px #2844410f}.attack-mode-grid>button:hover{border-color:var(--mint-dark);transform:translateY(-2px)}.attack-mode-grid small{color:var(--mint-dark);letter-spacing:.14em;font:800 8px/1 ui-monospace,monospace}.attack-mode-grid strong{font-size:25px}.attack-mode-grid span{min-height:38px;color:var(--ink-soft);font-size:11px;line-height:1.7}.attack-mode-grid b{margin-top:3px;font:850 20px/1.2 ui-monospace,monospace}.attack-mode-grid b i{color:var(--coral);font-size:9px;font-style:normal}.attack-mode-grid em{border-top:1px solid var(--line);color:var(--mint-dark);margin-top:8px;padding-top:10px;font-size:10px;font-style:normal;font-weight:800}.attack-rules{border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(3,1fr);margin:28px 0;display:grid}.attack-rules span{color:var(--ink-soft);padding:15px 8px;font-size:10px}.attack-rules span+span{border-left:1px solid var(--line)}.attack-rules b{color:var(--ink);font:800 22px/1.2 ui-monospace,monospace;display:block}.attack-start{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:space-between;width:min(380px,100%);padding:15px 18px;font-weight:800;display:inline-flex}.attack-game{grid-template-rows:48px clamp(166px,22dvh,190px) minmax(0,1fr);gap:7px;min-width:1024px;height:100dvh;min-height:660px;padding:8px 12px 10px;display:grid;overflow:hidden}.attack-hud{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(360px,1fr) auto auto;align-items:center;gap:16px;width:100%;display:grid}.attack-hud>button:first-child{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;justify-self:start}.attack-session-time{grid-template-columns:auto minmax(180px,1fr) auto;justify-self:center;align-items:center;gap:10px;width:min(720px,100%);display:grid}.attack-session-time>small{color:var(--ink-soft);white-space:nowrap;font-size:8px;font-weight:750}.attack-time-track{background:#dfe8e2;border:1px solid #1f6f6138;border-radius:999px;height:11px;overflow:hidden}.attack-time-track i{border-radius:inherit;background:linear-gradient(90deg, var(--mint-dark), var(--mint));height:100%;transition:width .1s linear;display:block}.attack-session-time>strong{min-width:50px;color:var(--coral);text-align:right;font:850 20px/1 ui-monospace,monospace}.attack-score{justify-self:end;align-items:center;gap:7px;font-size:11px;display:flex}.attack-score i{background:var(--line);width:1px;height:17px}.taco-lane{--rush-paper:#fffdf7;--rush-ink:#2a1f14;--rush-sub:#6b5a47;--rush-border:#e6d5bc;--rush-wood:#b8845a;--rush-wood-dark:#8b5e3c;border:1px solid var(--rush-border);background:#fff8ee;border-radius:14px;grid-template-rows:minmax(80px,1fr) 58px 5px;grid-template-columns:minmax(0,1fr) 122px;gap:3px 15px;min-height:0;padding:9px 20px 8px;display:grid;position:relative;overflow:hidden}.taco-customer{grid-area:1/2;place-self:end center;place-items:end center;width:112px;height:102px;transition:transform .15s;display:grid}.taco-customer img{object-fit:contain;filter:drop-shadow(0 2px 6px #4a321e2e);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%}.taco-customer.happy{animation:.65s tacoCustomerHappy}.taco-customer.angry{animation:.26s tacoCustomerAngry}.taco-order{border:2px solid var(--rush-border);background:var(--rush-paper);border-radius:14px;grid-area:1/1;grid-template-rows:auto auto 1fr;grid-template-columns:minmax(0,1fr);align-content:center;place-self:center end;row-gap:2px;width:min(850px,100%);min-width:0;height:82px;padding:9px 18px;display:grid;position:relative;box-shadow:0 4px 16px #4a321e14}.taco-order:after{content:"";border-top:10px solid #0000;border-bottom:10px solid #0000;border-left:12px solid var(--rush-border);position:absolute;top:29px;right:-12px}.taco-order small{color:var(--rush-sub);letter-spacing:.1em;font:800 7px/1 ui-monospace,monospace}.taco-order strong{color:var(--rush-ink);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(22px,2.35vw,34px);line-height:1.05;overflow:hidden}.taco-order>span{color:#9d9389;letter-spacing:.12em;text-align:left;white-space:nowrap;font:800 clamp(11px,1.2vw,15px)/1.15 ui-monospace,monospace;overflow:hidden}.taco-order i{font-style:normal}.taco-order i.done{color:var(--mint-dark)}.taco-order i.current{color:var(--key-next);border-bottom:2px solid}.taco-conveyor-wrap{grid-area:2/1/auto/-1;justify-self:end;width:min(780px,100% - 80px);height:58px;position:relative}.taco-conveyor{background:repeating-linear-gradient(90deg, var(--rush-wood) 0 16px, var(--rush-wood-dark) 16px 18px);border-radius:6px;height:30px;animation:2.1s linear infinite tacoConveyorRoll;position:absolute;top:18px;left:0;right:0;box-shadow:inset 0 2px 4px #0003,0 2px 4px #00000026}.taco-tortilla{z-index:1;filter:drop-shadow(0 2px 4px #4a321e4d);place-items:center;width:58px;height:58px;font-size:48px;line-height:1;display:grid;position:absolute;top:-2px;transform:translate(-50%)}.taco-lane.feedback-complete .taco-tortilla{animation:.65s cubic-bezier(.4,0,.6,1) forwards tacoServe}.taco-lane.feedback-wrong .taco-tortilla{animation:.26s ease-in forwards tacoDrop}.taco-lane.feedback-wrong .taco-order{border-color:#d2342b;animation:.26s tacoOrderWrong}.word-deadline{background:var(--rush-border);border-radius:99px;grid-area:3/1/auto/-1;justify-self:end;width:min(780px,100% - 80px);height:5px;overflow:hidden}.word-deadline span{background:var(--coral);height:100%;transition:width .1s linear;display:block}@keyframes tacoConveyorRoll{0%{background-position:0 0}to{background-position:18px 0}}@keyframes tacoCustomerHappy{0%,to{transform:translateY(0)scale(1)}35%{transform:translateY(-12px)scale(1.08)}65%{transform:translateY(0)scale(1.03)}}@keyframes tacoCustomerAngry{0%,to{transform:translate(0)}25%,75%{transform:translate(-6px)}50%{transform:translate(6px)}}@keyframes tacoServe{0%{opacity:1;transform:translate(-50%)rotate(0)scale(1)}28%{opacity:1;transform:translate(12vw,-25px)rotate(18deg)scale(1.05)}to{opacity:0;transform:translate(calc(100vw - 230px),-86px)rotate(58deg)scale(.48)}}@keyframes tacoDrop{0%{filter:brightness();opacity:1;transform:translate(-50%)rotate(0)}to{filter:brightness(.55)saturate(.6);opacity:0;transform:translate(-50%,55px)rotate(55deg)}}@keyframes tacoOrderWrong{0%,to{transform:translate(0)}25%,75%{transform:translate(-5px)}50%{transform:translate(5px)}}.attack-game .keyboard-card{border-radius:12px;flex-direction:column;min-height:0;padding:7px 10px;display:flex}.attack-game .keyboard-fit{flex:auto;place-items:center;width:100%;min-width:0;min-height:0;display:grid;container-type:size}.attack-game .keyboard{aspect-ratio:13/5;flex:none;grid-template-rows:.55fr repeat(4,1fr) .82fr;width:min(100cqw,260cqh);max-width:none;height:auto;min-height:0;max-height:100cqh}.attack-game .key-row,.attack-game .key{min-height:0}.attack-game .key{height:100%}.attack-result-screen{place-items:center;min-height:calc(100dvh - 82px);padding:40px 20px;display:grid}.attack-result-card{text-align:center;width:min(760px,100%)}.attack-grade{border:3px solid var(--coral);width:82px;height:82px;color:var(--coral);border-radius:50%;place-items:center;margin:22px auto 14px;font:850 48px/1 ui-monospace,monospace;display:grid}.attack-result-card h1{letter-spacing:-.05em;margin:0;font-size:clamp(40px,6vw,67px)}.attack-result-card>p{color:var(--ink-soft)}.attack-main-result{border-block:1px solid var(--line);grid-template-columns:1fr 1px 1fr;gap:20px;margin-top:28px;padding:18px;display:grid}.attack-main-result i{background:var(--line)}.attack-main-result span{color:var(--ink-soft);font-size:10px}.attack-main-result strong{color:var(--ink);font:850 48px/1.2 ui-monospace,monospace;display:block}.attack-main-result small{font-size:11px}.attack-sub-result{color:var(--ink-soft);justify-content:center;gap:24px;margin-top:16px;font-size:10px;display:flex}.result-stats{grid-template-columns:repeat(3,1fr)}footer{width:min(1500px,100% - 48px);min-height:98px;color:var(--ink-soft);border-top:1px solid #4961642e;align-items:center;gap:22px;margin:0 auto;display:flex}footer span{color:var(--ink);font-size:13px;font-weight:800}footer p{flex:1;margin:0;font-size:10px}footer a,footer button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;text-decoration:none}@media (min-width:600px){.view-practice{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.view-practice .topbar{display:none}.view-practice .practice-screen{flex-direction:column;flex:1;width:calc(100% - 24px);min-height:0;margin:0 auto;padding:8px 0 10px;display:flex}.view-practice .practice-toolbar{background:0 0;border-radius:9px;flex:0 0 38px;min-height:38px;margin-bottom:5px;padding:4px 12px}.view-practice .focused-practice{flex:1;grid-template-rows:clamp(108px,16vh,144px) 34px minmax(0,1fr);gap:5px;width:100%;min-height:0;display:grid}.view-practice .practice-card{min-height:0;box-shadow:none;border-radius:12px;flex-direction:column;display:flex}.view-practice .exercise-stage{flex:1;grid-template-rows:auto 1fr auto auto;min-height:0;padding:8px 18px 6px;display:grid}.view-practice .stage-meta{padding-right:102px}.view-practice .kana-line{min-height:44px;padding:1px 0;font-size:clamp(34px,5.2vh,52px)}.view-practice .kana-line .current:after{height:3px;bottom:-3px}.view-practice .romaji-line{min-height:21px;font-size:15px}.view-practice .lesson-progress{height:3px;margin-top:6px}.view-practice .keyboard-card{min-height:0;box-shadow:none;border-radius:12px;flex-direction:column;padding:6px 10px 8px;display:flex}.view-practice .keyboard-head{margin-bottom:5px}.view-practice .keyboard-fit{flex:auto;place-items:center;width:100%;min-width:0;min-height:0;display:grid;container-type:size}.view-practice .keyboard{aspect-ratio:13/5;border-radius:10px;flex:none;grid-template-rows:.55fr repeat(4,1fr) .82fr;gap:5px;width:min(100cqw,260cqh);max-width:none;height:auto;min-height:0;max-height:100cqh;padding:7px}.view-practice .key-row{gap:5px;min-height:0}.view-practice .key{border-radius:7px;height:100%;min-height:0;padding:3px;font-size:clamp(8px,1.15vw,15px);box-shadow:0 3px #89938f}.view-practice .key small{min-height:8px;margin-bottom:1px;font-size:clamp(5px,.7vw,9px)}.view-practice .function-row .key{height:100%;font-size:clamp(5px,.65vw,8px);box-shadow:0 2px #89938f}.view-practice .bottom-row .key{height:100%;font-size:clamp(5px,.7vw,9px)}.view-practice .key.anchor i{bottom:3px}.view-practice .anchor-motion{font-size:9px;top:1px;right:2px}.view-practice .anchor-action-label{font-size:5px;bottom:2px;left:2px}.view-practice .finger-legend,.view-practice footer{display:none}}@media (max-width:1100px) and (min-width:841px){.title-topbar,.guide-topbar,.title-hero,.guide-layout{width:min(100% - 36px,1320px)}.title-hero{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:28px}.title-copy h1{font-size:clamp(44px,5.8vw,63px)}.title-keyboard-card{padding:25px 20px}.title-home-row{gap:3px}.title-card-float{right:-8px}.guide-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:28px}.guide-copy h1{font-size:clamp(37px,4.4vw,48px)}}@media (max-width:840px){.title-screen,.home-guide-screen{overflow:auto}.title-topbar,.guide-topbar,.title-hero,.guide-layout{width:min(100% - 36px,720px)}.title-hero,.guide-layout{grid-template-columns:1fr;gap:45px;min-height:auto;padding:44px 0 70px}.title-keyboard-card,.guide-media{width:100%}.guide-copy{display:grid}.guide-continue{order:5}.title-taco-art{min-height:310px}.title-taco-art:before{width:min(410px,78vw)}.title-taco-mascot{width:min(480px,88vw);max-height:520px}.title-hero{flex-direction:column;display:flex}.title-copy{text-align:center}.title-copy .eyebrow,.title-promise{justify-content:center}.title-rule{margin-inline:auto}.title-actions{justify-content:center;display:flex}.mode-grid{grid-template-columns:1fr}.mode-card{min-height:220px}.lesson-card-grid,.attack-rules{grid-template-columns:1fr}.attack-rules span+span{border-left:0;border-top:1px solid var(--line)}.attack-mode-grid{grid-template-columns:1fr}}@media (max-width:980px){.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{grid-template-columns:1fr}.lesson-panel{position:static}.lesson-list{grid-template-columns:repeat(4,1fr);gap:5px}.lesson-item{padding:8px}.lesson-name small,.lesson-arrow,.lesson-note{display:none}.lesson-item{justify-content:center}.lesson-name{flex:0}.lesson-name strong{white-space:nowrap;font-size:11px}.intro{align-items:flex-start}}@media (max-width:599px){.stage-grid{grid-template-columns:1fr}.title-topbar,.guide-topbar,.title-hero,.guide-layout{width:min(100% - 28px,720px)}.title-topbar,.guide-topbar{height:68px}.title-save,.guide-topbar>span{display:none}.title-brand strong{font-size:14px}.title-hero,.guide-layout{gap:35px;padding:36px 0 58px}.title-copy h1{font-size:clamp(45px,15vw,66px)}.title-lead{font-size:12px}.title-start,.guide-continue{width:100%}.title-keyboard-card{border-radius:21px 5px 21px 21px;padding:24px 12px 30px}.title-card-head small,.title-card-float{display:none}.title-home-row{gap:2px;margin-top:42px}.title-home-row>span{border-radius:5px;height:38px;font-size:8px;box-shadow:0 3px #919b97}.title-home-row .home-anchor em{font-size:18px;top:-27px}.title-card-rule{margin-top:28px;padding:13px}.guide-topbar>button{padding-left:0}.guide-topbar .title-brand .brand-mark{display:none}.guide-copy h1{font-size:clamp(38px,12vw,54px)}.guide-media{border-radius:18px 4px 18px 18px}.guide-video-head{padding:7px}.guide-video-selector button{padding:7px 8px;font-size:8px}.guide-video-head small{font-size:7px}.guide-video-frame{padding:7px 7px 0}.gate-back{top:13px;left:13px}.anchor-gate{padding:24px 18px}.gate-content h1{font-size:clamp(43px,14vw,67px)}.full-home-row-gate .gate-content h1{font-size:clamp(34px,10vw,53px)}.full-home-gate-layout{grid-template-columns:1fr;gap:34px}.full-home-gate-keys{grid-template-columns:repeat(4,minmax(58px,1fr))}.large-home-hand{margin-top:22px}.gate-copy{font-size:13px}.gate-copy br{display:none}.gate-keys{gap:14px}.gate-key{border-radius:19px;width:clamp(94px,30vw,126px)}.gate-plus{width:34px;height:34px;font-size:19px}.gate-status{gap:7px;padding:12px;font-size:9px}.gate-status i{width:10px}.topbar,.intro,.workspace,.stage-select,.practice-screen,.stage-result-screen,footer{width:min(100% - 28px,1500px)}.topbar{height:70px}.saved-progress{display:none}.stage-hero{gap:20px;padding:40px 0 28px;display:grid}.stage-summary{justify-items:start;width:100%}.stage-tile{padding:20px}.stage-description{min-height:0}.practice-screen{margin-top:18px}.practice-toolbar{grid-template-columns:auto 1fr auto;gap:9px}.toolbar-progress{grid-area:2/1/auto/-1}.practice-toolbar>small{grid-area:1/3}.intro{gap:30px;padding:45px 0 33px;display:grid}.intro h1{font-size:clamp(39px,13vw,62px)}.intro-copy br{display:none}.anchor-rule-card{max-width:none}.workspace{margin-bottom:55px}.panel-heading{padding:18px}.lesson-list{padding-bottom:13px;display:flex;overflow-x:auto}.lesson-item{min-width:142px}.practice-head{padding:21px;display:grid}.session-actions{justify-content:space-between}.exercise-stage{padding:22px 17px 25px}.kana-line{letter-spacing:.035em;min-height:88px;font-size:clamp(34px,11vw,55px)}.instruction{padding:12px}.motion-steps{gap:4px}.motion-steps span{font-size:8px}.anchor-board{grid-template-columns:1fr 1fr;gap:12px;padding:12px}.board-center{grid-area:2/1/auto/-1;justify-content:center}.anchor-status div{display:none}.anchor-status.right{justify-content:flex-end}.keyboard-card{padding:18px 4px 20px}.keyboard-head{padding:0 10px}.keyboard{border-radius:8px;gap:4px;padding:5px}.key{border-radius:4px;height:31px;padding:2px 1px;font-size:clamp(5px,1.8vw,9px);box-shadow:0 2px #89938f}.key-row{gap:2px}.key small{min-height:6px;margin-bottom:1px;font-size:clamp(4px,1.2vw,6px)}.function-row .key{border-radius:3px;height:17px;font-size:clamp(4px,1.25vw,6px)}.bottom-row .key{height:25px;font-size:clamp(4px,1.2vw,6px)}.key.anchor i{bottom:3px}.metrics>div{padding:15px 12px}.metrics strong{font-size:22px}.result-stats strong{font-size:20px}footer p{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.taco-conveyor{animation:none!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}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
