:root{--ink:#0d0f12;--panel:#16191f;--line:#2a2f38;--text:#e8eaee;--dim:#7d8592;--go:#ffd60a;--danger:#ff453a;--go-ink:var(--go);--content:560px;--sp-1:6px;--sp-2:10px;--sp-3:14px;--sp-4:18px;--sp-5:24px;--sp-6:32px;--sp-7:40px;--radius:16px}.stack{gap:var(--stack-gap,var(--sp-4));flex-direction:column;display:flex}.stack-sm{--stack-gap:var(--sp-2)}.stack-lg{--stack-gap:var(--sp-6)}.l-header{gap:var(--sp-2);flex-direction:column;align-items:flex-start;display:flex}.stack>.sec-label{margin-bottom:0}:root[data-theme=light]{--ink:#f4f6f9;--panel:#fff;--line:#e3e7ee;--text:#1b1e24;--dim:#5c6675;--go-ink:#8a6800}:root[data-theme=light] #topbar{background:#f4f6f9eb}:root[data-theme=light] .btn{background:#eceff4}:root[data-theme=light] .toggle button.on{background:#e4e8ef}:root[data-theme=light] select,:root[data-theme=light] input[type=text]{background:#eef1f6}:root[data-theme=light] .explain,:root[data-theme=light] .success,:root[data-theme=light] .static-content{color:#3b434f}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{height:100%}body{background:var(--ink);color:var(--text);font-family:-apple-system,SF Pro Text,Inter,Roboto,system-ui,sans-serif}.page{max-width:var(--content);padding:var(--sp-5) var(--sp-4) var(--sp-7);gap:var(--sp-4);flex-direction:column;margin:0 auto;display:none}.page.live{display:flex}html:has(.screen.live){overflow:hidden}.brand{letter-spacing:.28em;text-transform:uppercase;color:var(--dim);font-size:11px}h1{letter-spacing:-.02em;font-size:32px;font-weight:800;line-height:1.05}h1 em{color:var(--go-ink);font-style:normal}.lead{max-width:640px;color:var(--dim);margin:12px 0 4px;font-size:15px;line-height:1.6}.lead strong{color:var(--text);font-weight:700}.quickstart{width:100%;margin-top:var(--sp-4);cursor:pointer;background:var(--go);color:#111;font:inherit;border:none;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:13px 20px;transition:filter .15s,transform 50ms;display:flex}.quickstart:hover{filter:brightness(1.07)}.quickstart:active{transform:translateY(1px)}.quickstart-main{letter-spacing:-.01em;font-size:17px;font-weight:800}.quickstart-sub{opacity:.72;font-size:12px;font-weight:600}.mtitle{letter-spacing:-.02em;font-size:28px;font-weight:800}.sec-label{letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:10px;font-size:11px}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px}.bigcard{background:var(--panel);border:1px solid var(--line);cursor:pointer;color:inherit;border-radius:18px;align-items:center;gap:14px;margin-bottom:10px;padding:18px;text-decoration:none;display:flex}.bigcard:active{border-color:var(--go)}.bigcard .ico{border-radius:14px;flex:none;justify-content:center;align-items:center;width:52px;height:52px;font-size:26px;font-weight:800;display:flex}.bigcard .bn{margin-bottom:3px;font-size:17px;font-weight:800}.bigcard .bd{color:var(--dim);font-size:12.5px;line-height:1.45}.bigcard .arr{color:var(--dim);flex:none;margin-left:auto;font-size:20px}.backBtn{border:1px solid var(--line);color:var(--dim);cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;padding:8px 18px;font-size:13px;font-weight:600}.explain{color:#c6ccd6;font-size:14px;line-height:1.65}.explain b{color:var(--text)}.success{border-left:3px solid var(--go);color:#c6ccd6;padding:2px 0 2px 14px;font-size:13.5px;line-height:1.6}.success .sl{letter-spacing:.2em;text-transform:uppercase;color:var(--go-ink);margin-bottom:6px;font-size:11px;font-weight:700}.optwhy{color:var(--dim);margin:4px 0 12px;font-size:12px;line-height:1.5}.row{justify-content:space-between;align-items:center;gap:12px;min-height:34px;display:flex}.row label{flex-shrink:0;font-size:14px}.row .val{font-variant-numeric:tabular-nums;color:var(--go-ink);text-align:right;min-width:56px;font-size:13px;font-weight:600}input[type=range]{appearance:none;background:var(--line);border-radius:2px;flex:1;min-width:60px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--go);border:none;border-radius:50%;width:22px;height:22px}.ivl{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.ivl .ivl-slider{flex:1;min-width:50px}.ivl .ivl-slider:disabled{opacity:.4}.ivl .ivl-val{min-width:38px}.ivl-min{border:1px solid var(--line);width:58px;color:var(--text);text-align:center;-moz-appearance:textfield;background:#1d2027;border-radius:8px;flex-shrink:0;padding:6px;font-size:13px}.ivl-min::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ivl-min::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:root[data-theme=light] .ivl-min{background:#eef1f6}.toggle{border:1px solid var(--line);border-radius:10px;flex-shrink:0;display:flex;overflow:hidden}.toggle button{color:var(--dim);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:12px;font-weight:600}.toggle button.on{color:var(--text);background:#22262e}.switch{background:var(--line);cursor:pointer;border-radius:999px;flex-shrink:0;width:46px;height:26px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:left .15s;position:absolute;top:3px;left:3px}.switch.on{background:var(--go)}.switch.on:after{left:23px}select,input[type=text]{border:1px solid var(--line);color:var(--text);background:#1d2027;border-radius:10px;padding:8px 10px;font-size:13px}.btn{cursor:pointer;color:var(--text);background:#22262e;border:none;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:700}.btn.ghost{border:1px solid var(--line);color:var(--dim);background:0 0}.btn.gold{background:var(--go);color:#111}#startBtn{background:var(--go);color:#111;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;border-radius:16px;width:100%;padding:19px 0;font-size:18px;font-weight:800}#startBtn:disabled{opacity:.35}#chips{flex-wrap:wrap;gap:12px;display:flex}.chip{border-radius:12px;flex:none;width:52px}.chip .sw{cursor:pointer;border:2px solid #ffffff1f;border-radius:12px;width:52px;height:52px;position:relative}.chip .sw input[type=color]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.chip .x{background:var(--panel);border:1px solid var(--line);width:22px;height:22px;color:var(--dim);text-align:center;cursor:pointer;z-index:2;border-radius:50%;font-size:12px;line-height:20px;position:absolute;top:-8px;right:-8px}.chip .lbl{border:none;border-bottom:1px dashed var(--line);width:100%;color:var(--dim);text-align:center;background:0 0;margin-top:6px;padding:2px 0;font-size:10px}.chip .lbl:focus{color:var(--text);border-color:var(--go);outline:none}#addChip{border:2px dashed var(--line);width:52px;height:52px;color:var(--dim);cursor:pointer;background:0 0;border-radius:12px;font-size:24px}.hint{color:var(--dim);margin-top:8px;font-size:11px;line-height:1.4}.preset-row{align-items:center;gap:8px;margin-top:8px;display:flex}.preset-confirm{border:1px solid var(--line);background:var(--panel);color:var(--dim);border-radius:10px;flex-direction:column;gap:8px;margin-top:8px;padding:10px 12px;font-size:13px;display:flex}.preset-confirm-btns{gap:8px;display:flex}.preset-confirm-btns .btn{padding:9px 18px}.preset-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:9px 0;font-size:13px;display:flex}.preset-item:last-child{border-bottom:none}.plink{color:var(--go-ink);cursor:pointer;font-weight:600}.pdel{color:var(--dim);cursor:pointer;padding:0 4px}.stat-sess{border-bottom:1px solid var(--line);color:var(--dim);justify-content:space-between;padding:9px 0;font-size:12px;display:flex}.stat-sess b{color:var(--text);font-variant-numeric:tabular-nums}#chartWrap{align-items:flex-end;gap:4px;height:80px;margin-top:12px;display:flex}.bar{background:var(--go);opacity:.85;border-radius:3px 3px 0 0;flex:1;min-width:6px}.screen{justify-content:center;align-items:center;display:none;position:fixed;inset:0}.screen.live{display:flex}#countdown{background:var(--ink);color:var(--go-ink);font-variant-numeric:tabular-nums;z-index:60;font-size:110px;font-weight:800}#drill{z-index:55;background:#000;flex-direction:column}#endPill{top:calc(env(safe-area-inset-top,0px) + 14px);z-index:70;letter-spacing:.2em;text-transform:uppercase;color:#fff;cursor:pointer;background:#0000009e;border:1px solid #ffffff73;border-radius:999px;padding:8px 16px;font-size:11px;display:none;position:fixed;left:14px}#hud{top:calc(env(safe-area-inset-top,0px) + 16px);z-index:65;text-align:right;font-variant-numeric:tabular-nums;color:#ffffffd9;background:#00000059;border-radius:10px;padding:6px 12px;font-size:13px;display:none;position:fixed;right:16px}#bigWord{letter-spacing:-.02em;text-align:center;font-size:min(26vw,150px);font-weight:800;line-height:1}#subWord{letter-spacing:.2em;text-transform:uppercase;color:#ffffff80;margin-top:18px;font-size:15px}#fixDot{background:#fff;border-radius:50%;width:16px;height:16px}#periCue{z-index:56;border-radius:50%;width:110px;height:110px;display:none;position:fixed}#seqRow{flex-wrap:wrap;justify-content:center;gap:12px;padding:0 20px;display:flex}.seqChip{color:#fff;border-radius:14px;justify-content:center;align-items:center;width:64px;height:64px;font-size:34px;font-weight:800;display:flex}#summary{background:var(--ink);text-align:center;z-index:58;flex-direction:column;gap:8px;padding:30px}#summary h2{font-size:26px;font-weight:800}#sumStats{color:var(--dim);font-size:15px;line-height:1.9}#sumStats b{color:var(--go-ink);font-variant-numeric:tabular-nums}#topbar{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);height:48px;padding-top:env(safe-area-inset-top,0px);isolation:isolate;background:#0d0f12eb;display:none;position:fixed;top:0;left:0;right:0;transform:translateZ(0)}#topbar.show{display:block}.tb-account,.tb-theme,.tb-brand,.bigcard,button,a{touch-action:manipulation}.tb-inner{max-width:var(--content);justify-content:space-between;align-items:center;height:100%;margin:0 auto;padding:0 18px;display:flex}.tb-brand{letter-spacing:-.02em;color:var(--text);align-items:center;gap:8px;font-size:18px;font-weight:800;text-decoration:none;display:inline-flex}.tb-brand em{color:var(--go-ink);font-style:normal}.tb-mark{flex:none;width:24px;height:24px;display:block}.tb-account{border:1px solid var(--line);color:var(--dim);cursor:pointer;background:0 0;border-radius:999px;padding:7px 16px;font-size:12px;font-weight:600}.tb-account:active{border-color:var(--go);color:var(--text)}.tb-account:disabled{opacity:.45;cursor:default;border-color:var(--line)}.tb-account.avatar{color:#111;background:var(--go);border-color:#0000;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:14px;font-weight:800;display:flex}body.coarse .tb-account.avatar{width:40px;height:40px;padding:0;font-size:16px}.tb-actions{align-items:center;gap:10px;display:flex}.tb-theme{border:1px solid var(--line);cursor:pointer;width:34px;height:34px;color:var(--text);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:15px;line-height:1;display:flex}.tb-theme:active{border-color:var(--go)}body.coarse .tb-theme{width:44px;height:44px;font-size:17px}.update-toast{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:80;background:var(--panel);border:1px solid var(--line);border-radius:999px;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:7px 8px 7px 18px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #0006}.update-toast-txt{color:var(--text);white-space:nowrap;font-size:13px;font-weight:600}.update-toast-btn{background:var(--go);color:#111;cursor:pointer;border:none;border-radius:999px;min-height:36px;padding:8px 16px;font-size:13px;font-weight:700}.update-toast-btn:hover{filter:brightness(1.07)}.update-toast-x{color:var(--dim);cursor:pointer;background:0 0;border:none;padding:6px;font-size:14px;line-height:1}.update-toast-x:hover{color:var(--text)}body.coarse .update-toast-btn{min-height:44px}body.coarse .update-toast-x{padding:10px}.status-banner{z-index:78;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--panel);border-top:1px solid var(--line);color:var(--text);align-items:center;gap:12px;font-size:13px;font-weight:600;display:flex;position:fixed;bottom:0;left:0;right:0}.status-banner.warning{color:#ffdf9e;background:#3a2c12;border-top-color:#6b501f}.status-banner span{flex:1;line-height:1.4}.status-x{color:inherit;opacity:.65;cursor:pointer;background:0 0;border:none;padding:6px;font-size:15px;line-height:1}.status-x:hover{opacity:1}body.has-status .update-toast{bottom:calc(env(safe-area-inset-bottom,0px) + 62px)}body.has-status .page{padding-bottom:calc(var(--sp-7) + 52px)}.account-email{color:var(--text);word-break:break-all;margin-bottom:10px;font-size:16px;font-weight:700}.account-note{color:var(--dim);font-size:12.5px;line-height:1.55}.account-migrate{color:var(--go-ink);border-top:1px solid var(--line);margin-top:10px;padding-top:10px;font-size:12.5px;line-height:1.55}.home-migrate{color:var(--go-ink);background:#ffd60a14;border:1px solid #ffd60a40;border-radius:10px;margin-bottom:12px;padding:9px 12px;font-size:12px;line-height:1.5}.btn.danger-btn{color:var(--danger);background:#2a1518;border:1px solid #4a1f24}.btn.danger-btn.armed{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.danger-btn:disabled{opacity:.6}.account-signout{width:100%;color:var(--text);margin-top:16px}.account-delete{width:100%;margin-top:14px}.page.has-topbar{padding-top:calc(48px + env(safe-area-inset-top,0px) + 14px)}.home-footer{color:var(--dim);flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;padding-top:20px;font-size:11px;line-height:1.6;display:flex}.foot-link{color:var(--dim);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:11px;text-decoration:underline}.foot-link:active{color:var(--text)}.foot-sep{color:var(--line)}.foot-support{color:var(--dim)}.foot-donate{color:#111;background:var(--go);white-space:nowrap;vertical-align:middle;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;font-weight:800;text-decoration:none;transition:filter .12s,transform .12s;display:inline-flex}.foot-donate:hover{filter:brightness(1.07)}.foot-donate:active{transform:translateY(1px)}body.coarse .foot-donate{padding:10px 16px;font-size:13px}.foot-powered{color:var(--dim);white-space:nowrap;margin-left:auto;font-size:11px}.foot-aedifex{color:var(--text);font-weight:700;text-decoration:none}.foot-aedifex:hover{text-underline-offset:2px;color:var(--go-ink);text-decoration:underline}.static-content{color:#c6ccd6;font-size:14px;line-height:1.7}.static-content b{color:var(--text)}.static-content p{margin-bottom:12px}body.coarse #endPill{padding:14px 26px;font-size:14px}.drill-ctl{z-index:70;color:#fff;letter-spacing:.04em;cursor:pointer;background:#0000009e;border:1px solid #ffffff73;border-radius:999px;padding:11px 22px;font-size:13px;font-weight:700;position:fixed}.drill-skip{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 26px);transform:translate(-50%)}.drill-next{right:14px;bottom:calc(env(safe-area-inset-bottom,0px) + 26px)}body.coarse .drill-ctl{padding:14px 26px;font-size:14px}.drill-confirm{z-index:75;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.drill-confirm-card{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:16px;width:100%;max-width:340px;padding:22px}.drill-confirm-txt{letter-spacing:-.01em;color:var(--text);margin-bottom:16px;font-size:19px;font-weight:800}.drill-confirm-btns{justify-content:center;gap:10px;display:flex}.drill-confirm-btns .btn{flex:1;padding:12px 20px}body.coarse .toggle button{padding:15px 16px}body.coarse .tb-account{padding:13px 18px}body.coarse select,body.coarse input[type=text]{min-height:44px}body.coarse .btn{justify-content:center;align-items:center;min-height:44px;display:inline-flex}body.coarse .drill-link{align-items:center;min-height:44px;padding:0 8px;display:inline-flex}body.coarse .backBtn{min-height:44px}body.coarse .foot-link{align-items:center;min-height:44px;display:inline-flex}body.coarse input[type=range]{height:12px}body.coarse input[type=range]::-webkit-slider-thumb{width:30px;height:30px}body.coarse input[type=range]::-moz-range-thumb{width:30px;height:30px}#drillsList{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.drill-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:7px;padding:14px;display:flex}.drill-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.drill-name{letter-spacing:-.01em;font-size:15px;font-weight:800}.drill-age{letter-spacing:.04em;color:#111;background:var(--go);border-radius:999px;flex:none;padding:2px 8px;font-size:10px;font-weight:800}.drill-setup{color:var(--text);font-size:12.5px;line-height:1.45}.drill-notes{color:var(--dim);font-size:11.5px;line-height:1.45}.drill-actions{align-items:center;gap:14px;margin-top:5px;display:flex}.drill-play{padding:9px 24px}.drill-link{color:var(--dim);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.drill-link:active{color:var(--text)}#sessionsList{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.session-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;padding:14px 16px;display:flex}.session-info{flex:1;min-width:0}.session-name{letter-spacing:-.01em;font-size:15.5px;font-weight:800}.session-meta{color:var(--dim);margin-top:2px;font-size:12px}.session-right{flex:none;align-items:center;gap:12px;display:flex}.session-time{letter-spacing:.04em;color:var(--go-ink);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800}.session-play{padding:9px 22px}#sessionRest{background:var(--ink);text-align:center;z-index:58;flex-direction:column;padding:30px}.sess-next{letter-spacing:.28em;text-transform:uppercase;color:var(--dim);font-size:12px}.sess-name{letter-spacing:-.02em;color:var(--go-ink);margin-top:8px;font-size:min(11vw,44px);font-weight:800;line-height:1.1}.sess-setup{color:var(--text);max-width:440px;margin:14px auto 0;font-size:15px;line-height:1.5}.sess-count{font-variant-numeric:tabular-nums;margin-top:18px;font-size:min(20vw,88px);font-weight:800}#duel{z-index:57;background:#000;flex-direction:column;justify-content:stretch;align-items:stretch}.duel-half{background:var(--ink);touch-action:none;-webkit-user-select:none;user-select:none;flex:50%;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}#duelB{border-bottom:3px solid #000;transform:rotate(180deg)}#duelA{border-top:3px solid #000}.duel-score{text-align:center;pointer-events:none;font-variant-numeric:tabular-nums;color:#ffffff8c;font-size:min(15vw,64px);font-weight:800;position:absolute;bottom:6vh;left:0;right:0}.duel-main{pointer-events:none;text-align:center;color:#fff;padding:0 16px;font-size:min(16vw,110px);font-weight:800;line-height:1}.duel-half.cueAnim{animation:.18s ease-out duelFlash}@keyframes duelFlash{0%{filter:brightness(1.75)}to{filter:brightness()}}#duelWin{background:var(--ink);text-align:center;z-index:59;flex-direction:column;gap:24px;padding:30px}#duelWinText{letter-spacing:-.01em;font-size:min(11vw,48px);font-weight:800;line-height:1.1}.duel-win-btns{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}@media (width>=760px){:root{--content:860px}#modeCards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px;display:grid}#modeCards .bigcard{height:100%;margin-bottom:0}#home h1{font-size:38px}#detail,#account,#about,#privacy{max-width:640px;margin-left:max(18px, calc((100% - var(--content)) / 2));margin-right:auto}}@media (width>=900px){#detail.live{max-width:var(--content);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-areas:"back back""title title""config aside";align-content:start;align-items:start;gap:16px 32px;margin-left:auto;margin-right:auto;display:grid}#detail .backBtn{grid-area:back;justify-self:start}#detail .mtitle{grid-area:title}#detail .detail-config{grid-area:config;min-width:0}#detail .detail-aside{grid-area:aside;align-self:start;min-width:0;position:sticky;top:64px}}@media (width>=1120px){:root{--content:1040px}#modeCards{grid-template-columns:repeat(3,minmax(0,1fr))}}a.tb-account{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}
