:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:var(--lightningcss-light,#e7edf2)var(--lightningcss-dark,#0e1319);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#293440);--surface-2:var(--lightningcss-light,#edf1f5)var(--lightningcss-dark,#333f4c);--sunken:var(--lightningcss-light,#dde4ea)var(--lightningcss-dark,#1a222b);--line:var(--lightningcss-light,#aebecd)var(--lightningcss-dark,#4e5c68);--border-strong:var(--lightningcss-light,#26313a)var(--lightningcss-dark,#5d6b76);--grid-strong:var(--line);--graphite:var(--lightningcss-light,#26313a)var(--lightningcss-dark,#e7edf3);--graphite-soft:var(--lightningcss-light,#4a5a68)var(--lightningcss-dark,#a6b5c1);--ink:var(--lightningcss-light,#12395f)var(--lightningcss-dark,#7fb0e6);--digit:var(--lightningcss-light,#12395f)var(--lightningcss-dark,#dce8f5);--eq:var(--lightningcss-light,#8494a3)var(--lightningcss-dark,#7c8d9b);--maru:var(--lightningcss-light,#e0392f)var(--lightningcss-dark,#ff8a78);--maru-strong:var(--lightningcss-light,#a82a22)var(--lightningcss-dark,#ff8a78);--maru-fill:var(--lightningcss-light,#e0392f)var(--lightningcss-dark,#b84438);--maru-deep:var(--lightningcss-light,#a82a22)var(--lightningcss-dark,#7e2c23);--maru-soft:var(--lightningcss-light,#fbe7e4)var(--lightningcss-dark,#3b2320);--on-maru:var(--lightningcss-light,#fff)var(--lightningcss-dark,#fff1ee);--accent-bg:var(--lightningcss-light,#12395f)var(--lightningcss-dark,#23394f);--accent-fg:var(--lightningcss-light,#fff)var(--lightningcss-dark,#e7edf3);--accent-soft:var(--lightningcss-light,#a8c4dc)var(--lightningcss-dark,#93aabd);--accent-warm:#ff8a7a;--shadow:var(--lightningcss-light,#12395f1f)var(--lightningcss-dark,#00000073);--shadow-soft:var(--lightningcss-light,#12395f12)var(--lightningcss-dark,#00000052);--radius:14px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{height:100%}html{background:var(--paper)}body{color:var(--graphite);background:var(--paper);overscroll-behavior:none;font-family:"M PLUS Rounded 1c",system-ui,sans-serif;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none}button:focus-visible,a:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.screen{background:var(--paper);padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));flex-direction:column;max-width:560px;margin:0 auto;display:flex;position:fixed;inset:0}.home-scroll>*,.result-scroll>*,.parent-body>*{flex-shrink:0}.home-scroll{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.masthead{text-align:center;margin:10px 0 18px}.masthead h1{letter-spacing:.06em;color:var(--graphite);font-family:Zen Maru Gothic,sans-serif;font-size:clamp(2rem,9vw,2.8rem);font-weight:900;line-height:1.1}.masthead h1 .accent{color:var(--maru)}.masthead p{letter-spacing:.08em;color:var(--graphite-soft);margin-top:8px;font-family:"M PLUS 1 Code",monospace;font-size:.8rem;font-weight:700}.setup{flex-direction:column;flex:1 0 auto;gap:16px;padding-bottom:14px;display:flex}.field{background:var(--surface);border:2px solid var(--border-strong);border-radius:var(--radius);padding:12px 12px 14px}.field>.label{align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.field>.label b{font-size:.95rem;font-weight:800}.field>.label span{letter-spacing:.06em;color:var(--graphite-soft);font-family:"M PLUS 1 Code",monospace;font-size:.72rem;font-weight:700}.choices{gap:8px;display:grid}.choices.cols-3{grid-template-columns:repeat(3,1fr)}.choices.cols-2{grid-template-columns:repeat(2,1fr)}.choice{border:2px solid var(--grid-strong);background:var(--surface);text-align:center;border-radius:10px;min-height:48px;padding:11px 6px;font-size:.92rem;font-weight:700;line-height:1.3;transition:transform .12s,border-color .12s,background .12s}.choice small{color:var(--graphite-soft);margin-top:3px;font-size:.72rem;font-weight:700;display:block}.choice[aria-pressed=true]{border-color:var(--maru);background:var(--maru-soft);color:var(--maru-strong)}.choice[aria-pressed=true] small{color:var(--maru-strong)}.choice:active{transform:scale(.96)}.start-row{z-index:2;background:var(--paper);align-items:stretch;gap:10px;padding:10px 0 6px;display:flex;position:sticky;bottom:0}.start-row:before{content:"";background:linear-gradient(to top, var(--paper), transparent);pointer-events:none;height:20px;position:absolute;bottom:100%;left:0;right:0}.btn-primary{background:var(--maru-fill);color:var(--on-maru);border-radius:var(--radius);letter-spacing:.14em;box-shadow:0 4px 0 var(--maru-deep);flex:1;padding:18px 0;font-family:Zen Maru Gothic,sans-serif;font-size:1.35rem;font-weight:900;transition:transform .1s,box-shadow .1s}.btn-primary:active{box-shadow:0 1px 0 var(--maru-deep);transform:translateY(3px)}.btn-icon{border:2px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:58px;font-size:1.4rem}.btn-icon[aria-pressed=false]{background:var(--sunken);color:var(--graphite-soft)}.parent-link{letter-spacing:.1em;color:var(--graphite-soft);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:20px;margin:26px auto 6px;padding:8px 14px;font-size:.76rem;font-weight:700;display:block;position:relative;overflow:hidden}.parent-link .fill{background:var(--ink);opacity:.14;transform-origin:0;pointer-events:none;width:100%;position:absolute;top:0;bottom:0;left:0;transform:scaleX(0)}.parent-link.is-holding .fill{transition:transform 1.2s linear;transform:scaleX(1)}.rest-card .parent-link{color:var(--accent-soft)}.rest-card .parent-link .fill{background:var(--accent-fg)}.hud,.pad{flex-shrink:0}.hud{background:var(--surface);box-shadow:0 2px 10px var(--shadow-soft);border-radius:14px;flex-direction:column;gap:9px;margin-bottom:6px;padding:10px 12px 12px;display:flex}.hud-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.counter{letter-spacing:.04em;color:var(--graphite);align-items:baseline;gap:.25em;font-family:"M PLUS 1 Code",monospace;font-size:.95rem;font-weight:700;display:flex}.counter b{color:var(--ink);font-size:1.75rem;font-weight:700}.clock{letter-spacing:.02em;font-variant-numeric:tabular-nums;text-align:right;min-width:3.2em;font-family:"M PLUS 1 Code",monospace;font-size:1.5rem;font-weight:700}.clock.is-urgent{color:var(--maru)}.hud-actions{gap:6px;display:flex}.mini{border:2px solid var(--grid-strong);background:var(--surface);border-radius:9px;padding:5px 9px;font-size:.9rem;line-height:1}.dots{flex-wrap:wrap;gap:4px;display:flex}.dot{border:1.5px solid var(--grid-strong);background:var(--surface-2);border-radius:3px;width:11px;height:11px;transition:background .2s,border-color .2s}.dot.is-ok{background:var(--maru);border-color:var(--maru)}.dot.is-miss{background:var(--surface);border-color:var(--maru)}.dot.is-now{background:var(--ink);border-color:var(--ink)}.gauge{background:var(--sunken);border-radius:4px;height:7px;overflow:hidden}.gauge.is-hidden{visibility:hidden}.gauge-fill{background:var(--ink);transform-origin:0;width:100%;height:100%}.gauge-fill.is-urgent{background:var(--maru)}.stage{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.panel{background:var(--surface);width:100%;box-shadow:0 5px 0 var(--shadow-soft), 0 3px 18px var(--shadow);border-radius:22px;padding:clamp(22px,7vw,42px) clamp(12px,4vw,26px);position:relative}.card.is-enter{animation:.42s cubic-bezier(.25,.6,.35,1) cardIn}.card.is-shake{animation:.38s shake}@keyframes cardIn{0%{opacity:0;transform:translateY(38px)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:none}20%{transform:translate(-11px)}40%{transform:translate(9px)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}.card{letter-spacing:.02em;color:var(--digit);justify-content:center;align-items:center;gap:.16em;font-family:Zen Maru Gothic,sans-serif;font-size:clamp(2.4rem,13vw,4.6rem);font-weight:900;line-height:1;display:flex}.card .sign{color:var(--maru)}.card .eq{color:var(--eq)}.slot{border:3px dashed var(--grid-strong);min-width:1.9em;height:1.35em;color:var(--ink);background:var(--surface-2);border-radius:10px;justify-content:center;align-items:center;padding:0 .12em;display:flex}.slot.is-filled{border-style:solid;border-color:var(--ink)}.caret{background:var(--ink);width:.07em;height:.72em;animation:1s steps(2,start) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.mark{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mark svg{width:min(56vw,215px);height:auto;overflow:visible}.mark path,.mark ellipse{fill:none;stroke:var(--maru);stroke-width:9px;stroke-linecap:round;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:.34s cubic-bezier(.4,0,.2,1) forwards draw}.mark.is-maru{--len:560}.mark.is-batsu{--len:210}.mark.is-batsu path:nth-child(2){animation-delay:.16s}@keyframes draw{to{stroke-dashoffset:0}}.retry-note{text-align:center;letter-spacing:.1em;color:var(--maru-strong);font-size:1rem;font-weight:800;position:absolute;bottom:2px;left:0;right:0}.pad{grid-template-columns:repeat(4,1fr);gap:8px;padding-top:10px;display:grid}.key{border:2px solid var(--border-strong);background:var(--surface);min-height:48px;box-shadow:0 3px 0 var(--grid-strong);border-radius:12px;padding:14px 0;font-family:Zen Maru Gothic,sans-serif;font-size:1.7rem;font-weight:700;transition:transform 80ms,box-shadow 80ms}.key:active{box-shadow:0 1px 0 var(--grid-strong);transform:translateY(2px)}.key.zero{grid-column:1/span 3}.key.del{background:var(--sunken);font-size:1.1rem;font-weight:800}.key.enter{background:var(--maru-fill);color:var(--on-maru);border-color:var(--maru-fill);box-shadow:0 3px 0 var(--maru-deep);letter-spacing:.1em;writing-mode:vertical-rl;text-orientation:upright;grid-area:2/4/span 3;justify-content:center;align-items:center;font-size:1.15rem;display:flex}.key.enter:active{box-shadow:0 1px 0 var(--maru-deep)}.key:disabled{cursor:default}.key.enter:disabled{background:var(--sunken);border-color:var(--line);color:var(--graphite-soft);box-shadow:none}.result-scroll{flex-direction:column;flex:1;gap:14px;display:flex;overflow-y:auto}.verdict{text-align:center;letter-spacing:.1em;color:var(--maru);padding:14px 0 4px;font-family:Zen Maru Gothic,sans-serif;font-size:1.7rem;font-weight:900}.time-card{border:3px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);text-align:center;padding:16px}.time-card .cap{letter-spacing:.18em;color:var(--graphite-soft);font-family:"M PLUS 1 Code",monospace;font-size:.7rem}.time-big{font-variant-numeric:tabular-nums;margin-top:2px;font-family:Zen Maru Gothic,sans-serif;font-size:clamp(2.4rem,14vw,3.6rem);font-weight:900;line-height:1.1}.time-big small{margin:0 .12em 0 .04em;font-size:.4em}.stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat{border:2px solid var(--grid-strong);background:var(--surface);text-align:center;border-radius:12px;padding:11px}.stat .cap{letter-spacing:.12em;color:var(--graphite-soft);font-family:"M PLUS 1 Code",monospace;font-size:.65rem}.stat b{margin-top:2px;font-family:Zen Maru Gothic,sans-serif;font-size:1.6rem;font-weight:900;display:block}.miss-list{border:2px dashed var(--maru);border-radius:var(--radius);background:var(--maru-soft);padding:12px}.miss-list h3{letter-spacing:.06em;color:var(--maru-strong);margin-bottom:9px;font-size:.9rem;font-weight:800}.miss-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:7px;display:grid}.miss-item{background:var(--surface);text-align:center;border-radius:9px;padding:8px 6px;font-family:"M PLUS 1 Code",monospace;font-size:.95rem;font-weight:700}.miss-item i{color:var(--maru-strong);font-style:normal}.result-actions{flex-direction:column;gap:9px;padding-top:12px;display:flex}.btn-retry{flex:none;padding:13px 0;font-size:1.15rem;line-height:1.5}.btn-secondary{border:2px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);letter-spacing:.08em;padding:15px 0;font-size:1.05rem;font-weight:800;transition:transform .1s}.btn-secondary:active{transform:scale(.98)}.gate-wrap{flex:1;justify-content:center;align-items:center;display:flex}.gate-card{background:var(--surface);text-align:center;width:100%;box-shadow:0 4px 16px var(--shadow);border-radius:20px;padding:26px 20px}.gate-card h2{margin-bottom:4px;font-size:1rem;font-weight:800}.gate-card .sub{color:var(--graphite-soft);font-size:.8rem;font-weight:700;line-height:1.6}.gate-q{color:var(--ink);margin:20px 0 14px;font-family:Zen Maru Gothic,sans-serif;font-size:clamp(2rem,10vw,2.8rem);font-weight:900}.gate-q .sign{color:var(--maru)}.gate-input{width:100%;font:inherit;text-align:center;border:2px solid var(--grid-strong);background:var(--surface-2);color:var(--ink);border-radius:12px;padding:12px;font-family:"M PLUS 1 Code",monospace;font-size:1.6rem;font-weight:700}.gate-input::placeholder{color:var(--graphite-soft);opacity:1}.gate-input.is-wrong{border-color:var(--maru);background:var(--maru-soft)}.gate-actions{gap:9px;margin-top:14px;display:flex}.gate-actions>*{flex:1}.gate-ok{padding:15px 0;font-size:1.05rem}.parent-head{justify-content:space-between;align-items:center;padding:4px 2px 14px;display:flex}.parent-head h2{letter-spacing:.06em;color:var(--graphite);font-size:1.05rem;font-weight:800}.parent-body{flex-direction:column;flex:1;gap:14px;display:flex;overflow-y:auto}.status-card{background:var(--accent-bg);color:var(--accent-fg);border-radius:16px;padding:16px}.status-card .cap{letter-spacing:.16em;color:var(--accent-soft);font-family:"M PLUS 1 Code",monospace;font-size:.66rem;font-weight:700}.status-row{justify-content:space-between;align-items:baseline;margin-top:5px;display:flex}.status-row span{color:var(--accent-soft);font-size:.88rem;font-weight:700}.status-row b{font-family:Zen Maru Gothic,sans-serif;font-size:1.3rem;font-weight:900}.status-card .locked{color:var(--accent-warm)}.range{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.range.cols-4{grid-template-columns:repeat(4,1fr)}.range.cols-3{grid-template-columns:repeat(3,1fr)}.range button{border:2px solid var(--grid-strong);background:var(--surface);border-radius:10px;min-height:48px;padding:12px 2px;font-family:"M PLUS 1 Code",monospace;font-size:.92rem;font-weight:700}.range button[aria-pressed=true]{border-color:var(--maru);background:var(--maru-soft);color:var(--maru-strong)}.note{color:var(--graphite-soft);background:var(--surface);border-radius:12px;padding:11px 13px;font-size:.76rem;font-weight:700;line-height:1.7}.rest-wrap{flex:1;justify-content:center;align-items:center;display:flex}.rest-card{background:var(--accent-bg);width:100%;color:var(--accent-fg);text-align:center;box-shadow:0 5px 18px var(--shadow);border-radius:22px;padding:34px 22px 30px}.rest-card .cap{letter-spacing:.18em;color:var(--accent-soft);font-family:"M PLUS 1 Code",monospace;font-size:.68rem;font-weight:700}.rest-card h2{letter-spacing:.06em;margin:10px 0 8px;font-family:Zen Maru Gothic,sans-serif;font-size:clamp(1.5rem,7vw,2rem);font-weight:900}.rest-card p{color:var(--accent-soft);font-size:.92rem;font-weight:700;line-height:1.7}.rest-clock{color:var(--accent-warm);font-variant-numeric:tabular-nums;margin:18px 0 6px;font-family:Zen Maru Gothic,sans-serif;font-size:clamp(3rem,17vw,4.4rem);font-weight:900;line-height:1.1}.moved-wrap{text-align:center;flex-direction:column;flex:1;justify-content:center;min-height:0;display:flex;overflow-y:auto}.moved-wrap>*{flex-shrink:0}.moved-title{letter-spacing:.06em;color:var(--graphite);font-family:Zen Maru Gothic,sans-serif;font-size:clamp(1.7rem,8vw,2.4rem);font-weight:900;line-height:1.3}.moved-lead{color:var(--graphite-soft);margin-top:14px;font-size:.95rem;font-weight:700;line-height:1.8}.moved-go{text-align:center;touch-action:manipulation;margin:30px 0 26px;text-decoration:none;display:block}.moved-note{text-align:left}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (height<=640px){.field{padding:10px}.key{padding:11px 0;font-size:1.45rem}}@media (height<=520px){.masthead{margin:4px 0 10px}.masthead h1{font-size:clamp(1.5rem,6vw,2rem)}.hud{gap:6px;margin-bottom:4px;padding:6px 10px 8px}.counter b{font-size:1.3rem}.clock{font-size:1.2rem}.panel{border-radius:14px;padding:8px 12px}.card{font-size:clamp(1.4rem,8vh,2.4rem)}.pad{gap:6px;padding-top:6px}.key{padding:6px 0;font-size:1.25rem}.key.enter{font-size:1rem}}
