:root{--a:#39d7ff;--b:#ff4f7a;--acc:var(--a);--ink:#e9f3ff;--dim:#c8dcff8c;--glass:#080e1e85;--line:#8cc8ff2e;--en:"Orbitron", "Zen Kaku Gothic New", sans-serif;--jp:"Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;--prism:linear-gradient(90deg, #ff2a4d, #ffc81f, #2dff6e, #28dcff, #3a6dff, #dc34ff, #ff2a4d);--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--jp);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#03050c;margin:0;overflow:hidden}#app{position:fixed;inset:0}#gl{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}#ui{pointer-events:none;position:absolute;inset:0}.hud{position:absolute;inset:0}.hud[data-world="1"]{--acc:var(--b)}.hud button{pointer-events:auto;font:inherit;color:inherit;cursor:pointer}.hud button:disabled{cursor:default}.col{top:max(20px, var(--tt,40px));width:clamp(150px, calc(var(--tl,300px) - 56px), 250px);flex-direction:column;gap:14px;transition:opacity .4s;display:flex;position:absolute}.col.left{right:calc(100% - var(--tl,300px) + 30px);align-items:stretch}.col.right{left:calc(100% - var(--tr,300px) + 30px);width:clamp(150px, calc(var(--tr,300px) - 56px), 250px)}.brand{font-family:var(--en);letter-spacing:.08em;flex-direction:column;margin-bottom:6px;font-size:22px;font-weight:900;line-height:.95;display:flex}.brand span:first-child{background:var(--prism);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:8s linear infinite prism}.brand span:last-child{color:#ffffffd9;letter-spacing:.42em;font-size:15px}.stat label,.meter label,.next label,.final label,.grid label{font-family:var(--en);letter-spacing:.22em;color:var(--dim);margin-bottom:3px;font-size:10px;display:block}.stat b{font-family:var(--en);letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.stat.big b{color:#fff;text-shadow:0 0 18px color-mix(in srgb, var(--acc) 60%, transparent);font-size:30px}.stats2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.worldtag{border:1px solid color-mix(in srgb, var(--acc) 45%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--acc) 16%, transparent), transparent);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;transition:border-color .4s,background .4s;display:flex}.worldtag .glyph{color:var(--acc);text-shadow:0 0 14px var(--acc);text-align:center;width:30px;font-family:Times New Roman,serif;font-size:34px;line-height:1}.worldtag b{letter-spacing:.1em;font-size:18px;font-weight:900;display:block}.worldtag small{font-family:var(--en);letter-spacing:.25em;color:var(--dim);font-size:9px}.bar{background:#ffffff14;border-radius:3px;height:6px;display:block;position:relative;overflow:hidden}.bar i{transform-origin:0;border-radius:3px;transition:transform .15s;position:absolute;inset:0;transform:scaleX(0)}.meter .bar i{background:linear-gradient(90deg,#7a55ff,#ff3a6a)}.meter .bar.hot{animation:.5s steps(2,end) infinite blink;box-shadow:0 0 12px #ff3a6a}.next{border:1px solid var(--line);background:linear-gradient(#080e1e59,#080e1e1a);border-radius:12px;padding:10px 12px 12px}.next .slots{align-items:flex-end;gap:10px;display:flex}.next .slot{background:radial-gradient(#78b4ff14,#0000 70%);border-radius:8px;width:64px;height:110px}.next .slot.sub{opacity:.9;width:44px;height:76px}.act{text-align:left;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(6px);border-radius:12px;grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;gap:6px 10px;width:100%;padding:11px 12px;transition:border-color .2s,box-shadow .2s,opacity .2s,transform 80ms;display:grid;position:relative}.act:active:not(:disabled){transform:scale(.97)}.act .t{letter-spacing:.08em;font-size:14px;font-weight:700}.act kbd{grid-area:1/2}.act .pips,.act .bar,.act .sub{grid-column:1/3}.act:disabled{opacity:.45}.act.sing .pips,.tb.sing .pips{color:#ff8a3a;letter-spacing:.3em;text-shadow:0 0 10px #ff6a20;font-size:14px}.act.conv .bar i,.tb.conv .bar i{background:var(--prism);background-size:300% 100%;animation:3s linear infinite prism}.conv-ready .act.conv,.conv-ready .tb.conv{border-color:#fff;animation:1s ease-in-out infinite pulse;box-shadow:0 0 22px #ffffff59,inset 0 0 18px #ffffff1f}.act.shift{border-color:color-mix(in srgb, var(--acc) 50%, transparent)}.act.shift .sub{color:var(--dim);letter-spacing:.1em;font-size:11px}kbd{font-family:var(--en);letter-spacing:.1em;color:var(--dim);white-space:nowrap;border:1px solid #ffffff40;border-bottom-width:2px;border-radius:5px;padding:3px 6px;font-size:9px}.pausebtn{top:calc(14px + var(--safe-t));border:1px solid var(--line);background:var(--glass);letter-spacing:-.1em;border-radius:50%;width:42px;height:42px;font-size:14px;position:absolute;right:16px}.touchbar{display:none}.portrait .col.left{width:auto;padding:calc(10px + var(--safe-t)) 64px 0 14px;flex-flow:wrap;align-items:flex-start;gap:4px 14px;top:0;left:0;right:0}.portrait .brand{display:none}.portrait .stat b{font-size:15px}.portrait .stat.big b{font-size:21px}.portrait .stat label{margin-bottom:1px;font-size:8px}.portrait .stats2{display:contents}.portrait .stat:nth-child(3){display:none}.portrait .worldtag{border-radius:8px;gap:6px;margin-left:auto;padding:4px 8px}.portrait .worldtag .glyph{width:18px;font-size:20px}.portrait .worldtag b{font-size:12px}.portrait .worldtag small{display:none}.portrait .meter.unstable{flex-basis:100%}.portrait .meter label{margin-right:6px;font-size:8px;display:inline-block}.portrait .meter .bar{vertical-align:middle;width:calc(100% - 80px);height:4px;display:inline-block}.portrait .col.right{left:calc(100% - var(--tr,60px) + 4px);width:calc(var(--tr,60px) - 8px);top:calc(var(--tt,80px) + 4px)}.portrait .col.right .act{display:none}.portrait .next{border-radius:10px;padding:6px 4px}.portrait .next label{text-align:center;font-size:8px}.portrait .next .slots{flex-direction:column;align-items:center;gap:6px}.portrait .next .slot{width:100%;height:calc(var(--cell,40px) * 2.2);max-width:60px}.portrait .next .slot.sub{height:calc(var(--cell,40px) * 1.5);max-width:44px}.portrait .touchbar{left:12px;right:12px;bottom:calc(12px + var(--safe-b));grid-template-columns:1fr 1.35fr 1fr;gap:10px;height:88px;display:grid;position:absolute}.tb{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(8px);touch-action:manipulation;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;transition:transform 80ms,opacity .2s;display:flex}.tb:active:not(:disabled){transform:scale(.95)}.tb:disabled{opacity:.45}.tb .t{letter-spacing:.1em;font-size:14px;font-weight:900}.tb .bar{width:70%}.tb.shift{border-color:color-mix(in srgb, var(--acc) 70%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--acc) 22%, transparent), var(--glass))}.tb.shift .t{font-family:var(--en);font-size:17px}.tb.shift .sub{color:var(--dim);font-size:12px}.portrait .pausebtn{width:38px;height:38px;top:calc(10px + var(--safe-t));right:12px}.hud[data-state=title] .col,.hud[data-state=title] .touchbar,.hud[data-state=title] .pausebtn,.hud[data-state=tutcard] .col,.hud[data-state=tutcard] .touchbar,.hud[data-state=tutcard] .pausebtn,.hud[data-state=tutdone] .col,.hud[data-state=tutdone] .touchbar,.hud[data-state=tutdone] .pausebtn,.hud[data-state=over] .touchbar,.hud[data-state=over] .pausebtn{opacity:0;pointer-events:none;visibility:hidden}.hud[data-state=pause] .col,.hud[data-state=over] .col{opacity:.25}.ov{pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:none;position:absolute;inset:0}.hud[data-state=title] .ov.title,.hud[data-state=tutcard] .ov.tutcard,.hud[data-state=tutdone] .ov.tutdone,.hud[data-state=pause] .ov.pause,.hud[data-state=over] .ov.over{display:flex}.hud.howto-open .ov.howto,.hud.records-open .ov.records{z-index:10;display:flex}.hud.records-open .ov.title,.hud.records-open .ov.over,.hud.howto-open .ov.title,.hud.howto-open .ov.pause{visibility:hidden}.ov.title{text-align:center;background:radial-gradient(70% 55% at 50% 48%,#03050c9e 0%,#03050c59 60%,#03050ccc 100%)}.logo{flex-direction:column;align-items:center;animation:1s cubic-bezier(.2,.8,.2,1) both rise;display:flex}.logo .l1{font-family:var(--en);letter-spacing:.12em;background:var(--prism);color:#0000;filter:drop-shadow(0 0 22px #78c8ff73);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;margin-right:-.12em;font-size:clamp(54px,13vw,132px);font-weight:900;line-height:.9;animation:6s linear infinite prism}.logo .l2{font-family:var(--en);letter-spacing:.72em;color:#fff;text-shadow:0 0 20px #a0dcffcc;margin-top:6px;margin-right:-.72em;font-size:clamp(22px,5vw,50px);font-weight:700}.logo .sub{letter-spacing:.4em;color:#ffffffe6;margin-top:18px;font-size:clamp(14px,2.4vw,19px);font-weight:700}.logo .sub span{font-family:var(--en);letter-spacing:.3em;color:var(--dim);margin-left:.6em;font-size:.62em;font-weight:500}.story{color:#e1ebffc7;max-width:560px;margin:26px auto 0;font-size:clamp(12px,1.9vw,14px);line-height:2;animation:1s cubic-bezier(.2,.8,.2,1) .2s both rise}.story b{color:#fff;font-weight:700}.menu{flex-direction:column;gap:12px;min-width:240px;margin-top:30px;animation:1s cubic-bezier(.2,.8,.2,1) .35s both rise;display:flex}.btn{letter-spacing:.3em;-webkit-backdrop-filter:blur(6px);background:#0a122499;border:1px solid #b4dcff59;border-radius:999px;padding:14px 28px;font-size:14px;font-weight:700;transition:transform .12s,box-shadow .2s,background .2s;position:relative;font-family:var(--en)!important}.btn:hover{background:#1e325a99;box-shadow:0 0 22px #78c8ff59}.btn:active{transform:scale(.97)}.btn.primary{color:#04060d;background:linear-gradient(90deg,#7ff0ff,#fff 50%,#ff9ad0) 0 0/200% 100%;border:none;animation:5s linear infinite prism;box-shadow:0 0 30px #8cdcff73}.toggles{justify-content:center;gap:10px;margin-top:18px;display:flex}.tg{font-family:var(--en);letter-spacing:.2em;border:1px solid var(--line);background:#080e1e80;border-radius:999px;padding:7px 14px;font-size:10px}.tg.off{opacity:.45;text-decoration:line-through}.hi{font-family:var(--en);letter-spacing:.3em;color:var(--dim);margin-top:22px;font-size:11px}.hi b{color:#fff;margin-left:8px}.panel{-webkit-backdrop-filter:blur(14px);background:#060a16db;border:1px solid #a0d2ff38;border-radius:20px;flex-direction:column;width:min(760px,100%);max-height:100%;animation:.45s cubic-bezier(.2,.8,.2,1) both rise;display:flex;box-shadow:0 30px 80px #00000080}.panel.small{text-align:center;align-items:center;width:min(420px,100%);padding:30px 26px}.panel h2{font-family:var(--en);letter-spacing:.3em;margin:0;font-size:22px;font-weight:900}.panel h2 small{font-family:var(--jp);letter-spacing:.2em;color:var(--dim);margin-left:14px;font-size:12px;font-weight:500}.panel .menu{width:100%;min-width:0;margin-top:24px}.panel .head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 24px 14px;display:flex}.panel .x{color:var(--dim);background:0 0;border:none;font-size:18px}.panel .foot{border-top:1px solid var(--line);justify-content:center;padding:14px 24px 20px;display:flex}.howto-body{-webkit-overflow-scrolling:touch;padding:8px 24px 16px;overflow-y:auto}.howto-body section{border-bottom:1px dashed #a0d2ff24;padding:16px 0}.howto-body section:last-child{border-bottom:none}.howto-body h3{letter-spacing:.08em;margin:0 0 10px;font-size:16px;font-weight:900}.howto-body h3 em{font-style:normal;font-family:var(--en);color:var(--a);letter-spacing:.1em;margin-right:10px;font-size:11px}.howto-body p{color:#e1ebffdb;margin:6px 0;font-size:13.5px;line-height:1.9}.howto-body p.note{color:var(--dim);font-size:12.5px}.howto-body b{color:#fff}.howto-body b.beta{color:var(--b)}.eqs{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:12px 0;display:grid}.eqs>div{background:#ffffff08;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.eqs i{color:var(--dim);font-style:normal;font-family:var(--en)}.items{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.items li{color:#e1ebffdb;align-items:flex-start;gap:12px;font-size:13px;line-height:1.8;display:flex}.ico{border-radius:7px;flex:none;width:28px;height:28px;margin-top:2px}.ico.sing{background:radial-gradient(circle,#000 35%,#ff7a30 42%,#ff7a3000 62%);box-shadow:0 0 12px #ff6a20}.ico.conv{background:var(--prism);background-size:200% 100%;animation:3s linear infinite prism}.keys table{border-collapse:collapse;width:100%;font-size:12.5px}.keys th{text-align:left;white-space:nowrap;color:#e1ebffe6;padding:5px 10px 5px 0;font-weight:700}.keys td{color:var(--dim);padding:5px 8px}.keys kbd{margin-right:3px}.cube{--c:#fff;background:radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--c) 90%, white) 0%, var(--c) 35%, color-mix(in srgb, var(--c) 40%, black) 100%);width:30px;height:30px;box-shadow:0 0 14px color-mix(in srgb, var(--c) 60%, transparent), inset 0 0 0 1.5px color-mix(in srgb, var(--c) 60%, white);border-radius:7px;flex:none;display:inline-block;position:relative}.cube.c4{--c:#ff2a4d}.cube.c2{--c:#2dff6e}.cube.c1{--c:#3a6dff}.cube.c6{--c:#ffc81f}.cube.c3{--c:#28dcff}.cube.c5{--c:#dc34ff}.cube.c7{--c:#fff;background:conic-gradient(#ffd6e0,#fff6c8,#d6ffe0,#d0f6ff,#e2dcff,#ffd6e0)}.cube.dark{background:radial-gradient(circle,#05010a 40%,#2a0a52 100%);box-shadow:0 0 12px #6a2aff,inset 0 0 0 1.5px #7a45ff}.cube.core{--c:#ffd27a;background:radial-gradient(circle,#fff 0%,#ffd27a 30%,#6a4a10 100%)}.cube .dots{gap:3px;display:flex;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.cube .dots b{background:#0000008c;border-radius:50%;width:5px;height:5px;box-shadow:inset 0 0 0 1px #ffffff40}.cube .dots b.on:first-child{background:#ff5a6e;box-shadow:0 0 5px #ff5a6e}.cube .dots b.on:nth-child(2){background:#6dff9a;box-shadow:0 0 5px #6dff9a}.cube .dots b.on:nth-child(3){background:#7a9dff;box-shadow:0 0 5px #7a9dff}.collapse{letter-spacing:.2em;color:#fff;text-shadow:0 0 24px #ff2a5a,0 0 2px #fff;margin-right:-.2em;font-size:clamp(30px,7vw,42px);font-weight:900;animation:2.2s infinite glitch}.collapse-en{font-family:var(--en);letter-spacing:.5em;color:#ff7a9a;margin-top:4px;font-size:11px}.final{margin-top:22px}.final b{font-family:var(--en);font-variant-numeric:tabular-nums;font-size:40px;font-weight:900}.newbest{font-family:var(--en);letter-spacing:.3em;background:var(--prism);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;margin-top:4px;font-size:11px;animation:2s linear infinite prism;display:block}.grid{grid-template-columns:repeat(3,1fr);gap:12px 16px;width:100%;margin-top:20px;display:grid}.grid b{font-family:var(--en);font-size:17px}.toasts{top:calc(max(16px, var(--tt,40px) - 40px));flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.portrait .toasts{top:calc(80px + var(--safe-t))}.toast{font-family:var(--en);letter-spacing:.25em;border:1px solid var(--line);white-space:nowrap;background:#060a16bf;border-radius:999px;padding:7px 16px;font-size:12px;font-weight:700;animation:1.8s both toast}.toast.warn{color:#ff8aa6;border-color:#ff507880}.toast.sing{color:#ffb070;border-color:#ff8c3c80}.toast.core{color:#ffe0a0;border-color:#ffd27899}.toast.white{color:#fff;border-color:#fff9;box-shadow:0 0 16px #ffffff40}.toast.converge{color:#fff;border-image:var(--prism) 1;background:#140a28d9;border-style:solid;border-width:1px}.toast.level{color:var(--acc);border-color:color-mix(in srgb, var(--acc) 60%, transparent)}.pops{position:absolute;inset:0;overflow:hidden}.pop{text-align:center;white-space:nowrap;animation:1.4s cubic-bezier(.2,.9,.2,1) both pop;position:absolute;transform:translate(-50%,-50%)}.pop .ch{justify-content:center;align-items:baseline;gap:4px;display:flex}.pop .ch b{font-family:var(--en);background:linear-gradient(180deg, #fff, color-mix(in srgb, var(--acc) 80%, white));color:#0000;filter:drop-shadow(0 0 12px var(--acc));-webkit-background-clip:text;background-clip:text;font-size:52px;font-weight:900;line-height:1}.pop .ch span{letter-spacing:.1em;text-shadow:0 0 12px var(--acc);font-size:20px;font-weight:900}.pop.huge .ch b{background:var(--prism);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;font-size:76px;animation:1.2s linear infinite prism}.pop .pts{font-family:var(--en);letter-spacing:.1em;color:#fff;text-shadow:0 0 10px #fff9;margin-top:2px;font-size:15px;font-weight:700}.pop .tag{font-family:var(--en);letter-spacing:.25em;margin-top:4px;font-size:11px;font-weight:700;display:block}.pop .tag.res{color:#ff9ad0;text-shadow:0 0 10px #ff4f7a}.pop .tag.conv{color:#fff;text-shadow:0 0 10px #7ff0ff}@keyframes prism{to{background-position:200% 0}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes pulse{50%{box-shadow:0 0 34px #ffffff8c,inset 0 0 22px #fff3}}@keyframes blink{50%{opacity:.6}}@keyframes toast{0%{opacity:0;transform:translateY(-8px)}12%{opacity:1;transform:none}80%{opacity:1}to{opacity:0}}@keyframes pop{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}25%{transform:translate(-50%,-50%)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-95%)scale(.95)}}@keyframes glitch{0%,88%,to{transform:none}90%{transform:translate(-3px,1px)skew(-8deg)}93%{transform:translate(3px,-1px)skew(6deg)}96%{transform:translate(-1px)}}@media (max-height:560px) and (orientation:landscape){.col{gap:8px;top:12px}.stat.big b{font-size:22px}.next .slot{width:50px;height:80px}.next .slot.sub{width:36px;height:56px}.act{padding:7px 10px}.brand{display:none}}.cloudline{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}.cloudchip{letter-spacing:.04em;color:var(--dim);align-items:center;gap:8px;font-size:12px;display:inline-flex}.cloud-dot{background:var(--dim);flex:none;width:8px;height:8px;transform:rotate(45deg)}.cloud-dot[data-status=synced]{background:var(--a);box-shadow:0 0 10px var(--a)}.cloud-dot[data-status=syncing],.cloud-dot[data-status=idle]{background:#ffd070;animation:.8s steps(2,end) infinite blink;box-shadow:0 0 10px #ffd070}.cloud-dot[data-status=error]{background:var(--b);box-shadow:0 0 10px var(--b)}.title-cloud{animation:1s cubic-bezier(.2,.8,.2,1) .5s both rise}.over-cloud{margin-top:16px}.ov.records .panel{width:min(640px,100%)}.records-body{-webkit-overflow-scrolling:touch;padding:4px 24px 22px;overflow-y:auto}.records-body section{border-bottom:1px dashed #a0d2ff24;padding:14px 0}.records-body section:last-child{border-bottom:none}.records-body h3{letter-spacing:.08em;margin:0 0 12px;font-size:15px;font-weight:900}.records-body h4{color:#e1ebffe6;margin:16px 0 8px;font-size:12.5px;font-weight:700}.records-body p{color:#e1ebffd1;margin:6px 0;font-size:13px;line-height:1.8}.records-body .note{color:var(--dim);font-size:12px}.records-body .note.warn{color:#ffb0c0}.records-body .cloudline{justify-content:flex-start;margin-top:8px}.rgrid{grid-template-columns:repeat(3,1fr);gap:12px 16px;display:grid}.rgrid label{font-family:var(--en);letter-spacing:.2em;color:var(--dim);margin-bottom:3px;font-size:9px;display:block}.rgrid b{font-family:var(--en);font-variant-numeric:tabular-nums;font-size:17px}.toplist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.toplist li{background:#ffffff08;border-radius:10px;align-items:baseline;gap:12px;padding:8px 12px;display:flex}.toplist li:first-child{background:linear-gradient(90deg,#78dcff1f,#ff96d214)}.toplist .rk{font-family:var(--en);color:var(--a);width:16px;font-weight:900}.toplist b{font-family:var(--en);font-variant-numeric:tabular-nums;min-width:110px;font-size:17px}.toplist .meta{color:var(--dim);font-size:11.5px}.toplist .empty{color:var(--dim);font-size:13px}.trrow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.trcode{font-family:var(--en);letter-spacing:.12em;border:1px solid var(--line);-webkit-user-select:all;user-select:all;background:#00000059;border-radius:10px;padding:10px 14px;font-size:17px;font-weight:700}.trinput{min-width:200px;font-family:var(--en);letter-spacing:.1em;border:1px solid var(--line);color:#fff;pointer-events:auto;-webkit-user-select:text;user-select:text;background:#00000059;border-radius:10px;outline:none;flex:1;padding:11px 14px;font-size:15px}.trinput:focus{border-color:var(--a);box-shadow:0 0 16px #39d7ff40}.btn.small{letter-spacing:.15em;padding:10px 18px;font-size:12px;font-family:var(--jp)!important}.trmsg{min-height:1.4em;font-weight:700;color:#ffb0c0!important}.trmsg.ok{color:var(--a)!important}@media (max-width:480px){.rgrid{grid-template-columns:repeat(2,1fr)}.trcode{font-size:14px}}.btn small{font-family:var(--jp);letter-spacing:.2em;opacity:.75;margin-top:3px;font-size:10px;font-weight:700;display:block}.menu .btn.first{order:-1}.menu.row{flex-flow:wrap;justify-content:center}.btn.jp{letter-spacing:.14em;font-size:15px;font-weight:900;font-family:var(--jp)!important}.btn.ghost{letter-spacing:.12em;color:var(--dim);background:0 0;border-color:#0000;font-size:12px;font-family:var(--jp)!important}.btn.ghost:hover{box-shadow:none;color:#fff;background:0 0}.hud.tutorial .col.left,.tutpanel{display:none}.hud.tutorial[data-state=play] .tutpanel,.hud.tutorial[data-state=pause] .tutpanel{display:flex}.hud.tutorial[data-state=pause] .tutpanel{opacity:.25}.tutpanel{right:calc(100% - var(--tl,300px) + 30px);top:max(20px, var(--tt,40px));width:clamp(170px, calc(var(--tl,300px) - 56px), 280px);border:1px solid color-mix(in srgb, var(--acc) 40%, transparent);-webkit-backdrop-filter:blur(8px);background:#060a16b8;border-radius:14px;flex-direction:column;gap:10px;padding:16px;animation:.4s cubic-bezier(.2,.8,.2,1) both rise;position:absolute}.tp-head,.lesson-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.tp-no{font-family:var(--en);letter-spacing:.25em;color:var(--acc);font-size:10px;font-weight:700}.tp-dots{gap:4px;display:flex}.tp-dots i{background:#ffffff24;border-radius:50%;width:7px;height:7px}.tp-dots i.ok{background:var(--acc)}.tp-dots i.now{background:#fff;box-shadow:0 0 8px #fff}.tp-title{letter-spacing:.06em;font-size:17px;font-weight:900}.tp-goal,.lesson-goal{align-items:flex-start;gap:8px;font-size:13.5px;font-weight:700;line-height:1.6;display:flex}.tp-mark{letter-spacing:.1em;color:#04060d;background:linear-gradient(90deg,#7ff0ff,#ffe08a);border-radius:5px;flex:none;margin-top:1px;padding:3px 7px;font-size:10px;font-weight:900}.tp-hint{color:var(--dim);font-size:12px;line-height:1.7}.tp-btns{flex-wrap:wrap;gap:6px;display:flex}.tp-btns .tg{font-family:var(--jp);letter-spacing:.08em;padding:6px 11px;font-size:11px}.portrait .tutpanel{width:auto;left:10px;right:58px;top:calc(8px + var(--safe-t));border-radius:12px;gap:5px;padding:9px 11px}.portrait .tp-title{font-size:13px}.portrait .tp-head{display:none}.portrait .tp-goal{font-size:12px;line-height:1.5}.portrait .tp-hint{display:none}.portrait .tp-btns .tg{padding:4px 9px;font-size:10px}.tb{position:relative}.hud [data-act].focus{animation:1.1s ease-in-out infinite focusRing;opacity:1!important;border-color:#fff!important}.hud [data-act].focus:after{content:"ここ";letter-spacing:.1em;color:#04060d;background:#fff;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:900;position:absolute;top:-10px;right:10px}@keyframes focusRing{0%,to{box-shadow:0 0 0 1px #fff,0 0 18px #ffffff59}50%{box-shadow:0 0 0 3px #fff,0 0 36px #ffffffb3}}.ov.tutcard{background:radial-gradient(#03050c59,#03050cb3)}.panel.lesson{width:min(560px,100%);padding:24px 26px 20px}.lesson-title{font-family:var(--jp)!important;letter-spacing:.08em!important;margin:12px 0 6px!important;font-size:24px!important}.lesson-body{color:#e1ebffe0;font-size:14px;line-height:1.9;overflow-y:auto}.lesson-body p{margin:8px 0}.lesson-body b{color:#fff}.lesson-body .note{color:var(--dim);font-size:12.5px}.lesson-body .beta{color:var(--b)}.lesson-goal{background:#78dcff12;border:1px solid #78dcff33;border-radius:12px;margin-top:12px;padding:12px 14px}.panel.lesson .menu{margin-top:18px}.eq{background:#ffffff08;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.eq i{color:var(--dim);font-style:normal;font-family:var(--jp);font-size:12px}.eq .lbl{color:var(--dim);font-size:11px}.stackeq .stk{flex-direction:column;gap:2px;display:inline-flex}.stackeq .stk .cube{width:24px;height:24px}.flow{margin:10px 0;padding-left:1.4em;font-size:13px}.flow li{margin:3px 0}.flow li::marker{color:var(--a);font-family:var(--en);font-weight:700}table.ctl{border-collapse:collapse;width:100%;margin:10px 0;font-size:12.5px}table.ctl th{font-family:var(--en);letter-spacing:.2em;color:var(--dim);text-align:left;padding:4px 6px;font-size:9px;font-weight:500}table.ctl td{border-top:1px solid #a0d2ff1a;padding:5px 6px}table.ctl td:first-child{color:#fff;white-space:nowrap;font-weight:700}.tutok{opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.tutok b{font-family:var(--en);letter-spacing:.2em;background:var(--prism);color:#0000;filter:drop-shadow(0 0 18px #a0e6ffb3);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;margin-right:-.2em;font-size:clamp(44px,10vw,78px);font-weight:900;animation:1.5s linear infinite prism}.tutok span{letter-spacing:.2em;text-shadow:0 0 12px #000000e6, 0 0 20px var(--acc);font-size:15px;font-weight:900}.tutok.show{animation:1.7s cubic-bezier(.2,.9,.2,1) both tutok}@keyframes tutok{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}14%{opacity:1;transform:translate(-50%,-50%)scale(1.06)}24%{transform:translate(-50%,-50%)scale(1)}82%{opacity:1}to{opacity:0;transform:translate(-50%,-60%)scale(1)}}.done-mark{font-family:var(--en);letter-spacing:.4em;background:var(--prism);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;font-size:11px;font-weight:700;animation:3s linear infinite prism}.done-title{font-family:var(--jp)!important;letter-spacing:.12em!important;margin-top:8px!important}.done-tips{text-align:left;margin-top:16px}.tips{color:#e1ebffdb;margin:0;padding-left:1.2em;font-size:13px;line-height:1.8}.tips li{margin:6px 0}.tips b{color:#fff}.tips .cube{vertical-align:-4px;border-radius:4px;width:18px;height:18px}
