:root{--ink:#000;--page:#ffe14d;--dots:#ff2d9552;--magenta:#ff2d95;--cyan:#00c2ff;--paper:#fffdf6;--rule:#b8dcf2;--pop:#ffe14d;--page-text:#000;--bg-dot-a:#ff2d9561;--bg-dot-b:#00c2ff42;--comic:"Bangers", "Impact", sans-serif;--pixel:"Silkscreen", "Courier New", monospace;--type:"Courier Prime", "Courier New", monospace;--ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}:root[data-palette=signal]{--page:#1d2a78;--magenta:#ff6b1a;--cyan:#7cffc4;--pop:#ffd23f;--page-text:#fff;--dots:#ff6b1a80;--bg-dot-a:#ff6b1a9e;--bg-dot-b:#7cffc44d}:root[data-palette=riso]{--page:#e4efe7;--magenta:#ff48b0;--cyan:#3255a4;--pop:#ffe800;--page-text:#000;--dots:#ff48b066;--bg-dot-a:#ff48b080;--bg-dot-b:#3255a452}*{box-sizing:border-box}.bg-canvas{z-index:-1;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}html,body{margin:0;overflow-x:clip}body{min-height:100vh;color:var(--ink);background-color:var(--page);background-image:radial-gradient(var(--dots) 1.4px, transparent 1.8px);font-family:var(--ui);background-size:10px 10px;overflow-x:clip}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--magenta);outline-offset:3px}.stage{max-width:1520px;margin:0 auto;padding:14px 16px 40px;overflow-x:clip}.masthead{justify-content:space-between;align-items:center;gap:12px;margin:0;display:flex}.logo{font-family:var(--comic);letter-spacing:.02em;color:#fff;-webkit-text-stroke:.035em var(--ink);paint-order:stroke fill;text-shadow:var(--mx1,-5px) var(--my1,-2px) 0 var(--cyan), var(--mx2,6px) var(--my2,4px) 0 var(--magenta), .1em .1em 0 var(--ink);transform:rotate(var(--tilt,-3deg));margin:0;font-size:clamp(38px,6vw,64px);font-weight:400;line-height:.9}.desk{grid-template-columns:minmax(300px,clamp(460px,36vw,720px)) minmax(0,680px);justify-content:center;align-items:start;gap:48px;display:grid}.device{flex-direction:column;align-items:center;min-width:0;display:flex}.panel{flex-direction:column;gap:16px;min-width:0;display:flex}.settings{border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#fff;flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px;display:flex}.settings h2{font-family:var(--comic);letter-spacing:.04em;margin:0;font-size:22px;font-weight:400}.settings .picker,.settings .inks{box-shadow:none;background:0 0;border:0;flex-wrap:wrap;padding:0}.inks{border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:#fff;gap:4px;padding:4px;display:flex}.ink-chip{font-family:var(--type);cursor:pointer;background:0 0;border:2px solid #0000;align-items:center;gap:6px;padding:4px 9px;font-size:14px;font-weight:700;display:flex}.ink-chip i{border:2px solid var(--ink);width:30px;height:14px}.ink-chip[data-palette-chip=signal] i{background:linear-gradient(90deg,#1d2a78 0 34%,#ff6b1a 34% 67%,#7cffc4 67%)}.ink-chip[data-palette-chip=comic] i{background:linear-gradient(90deg,#ffe14d 0 34%,#ff2d95 34% 67%,#00c2ff 67%)}.ink-chip[data-palette-chip=riso] i{background:linear-gradient(90deg,#e4efe7 0 34%,#ff48b0 34% 67%,#3255a4 67%)}.ink-chip[aria-checked=true]{border-color:var(--ink);background:var(--pop)}.issue{border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);font-family:var(--comic);letter-spacing:.04em;cursor:pointer;background:#fff;padding:6px 12px;font-size:19px}.issue span{background:var(--magenta);color:#fff;font-family:var(--type);vertical-align:2px;margin-left:6px;padding:1px 6px;font-size:12px;font-weight:700}.issue:active{box-shadow:none;transform:translate(4px,4px)}.picker{border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:#fff;gap:8px;padding:5px;display:flex}.swatch{font-family:var(--type);cursor:pointer;background:0 0;border:2px solid #0000;align-items:center;gap:7px;padding:6px 10px;font-size:14px;font-weight:700;display:flex}.swatch i{border:2px solid var(--ink);border-radius:3px 3px 7px;width:16px;height:20px}.swatch[data-design=classic] i{background:#d3cfdc}.swatch[data-design=card] i{box-shadow:0 0 0 1px var(--ink);background:#10161d;border-color:#c9ccd1}.swatch[data-design=ink] i{background:#fff radial-gradient(var(--magenta) 1px, transparent 1.4px) 0 0 / 4px 4px}.swatch[aria-checked=true]{border-color:var(--ink);background:var(--pop)}.console-wrap{flex:none;align-self:center;position:relative}.console-scale,.console-jolt{width:max-content}.console-jolt>.handheld,.console-jolt>.card{width:340px}.bursts{pointer-events:none;z-index:3;height:120px;position:absolute;top:54%;left:0;right:0;overflow:visible}.burst{width:calc(var(--size) * 4.2);height:calc(var(--size) * 2.6);margin-left:calc(var(--size) * -1.2);rotate:var(--tilt);place-items:center;animation:.95s cubic-bezier(.2,.9,.3,1) forwards burst-in;display:grid;position:absolute}.burst>*{grid-area:1/1}.burst-lines{background:repeating-conic-gradient(var(--ink) 0deg 2.2deg, transparent 2.2deg 13deg);opacity:.85;width:150%;height:170%;animation:.5s ease-out forwards lines-out;-webkit-mask:radial-gradient(closest-side,#0000 52%,#000 56% 78%,#0000 82%);mask:radial-gradient(closest-side,#0000 52%,#000 56% 78%,#0000 82%)}.burst-shape{width:100%;height:100%;filter:drop-shadow(5px 5px 0 var(--ink));position:relative}.burst-ink,.burst-fill{position:absolute;inset:0}.burst-ink{background:var(--ink);transform:scale(1.09)}.burst-fill{background:var(--pop) radial-gradient(#0000001f 1.2px, transparent 1.6px) 0 0 / 6px 6px}.burst.dash .burst-shape{transform:scaleX(1.18)}.burst.dash .burst-fill{background-color:var(--cyan)}.burst-word{font-family:var(--comic);font-size:var(--size);letter-spacing:.02em;color:#fff;-webkit-text-stroke:2.5px var(--ink);paint-order:stroke fill;text-shadow:-3px -2px 0 var(--cyan), 3px 3px 0 var(--magenta), 5px 5px 0 var(--ink);white-space:nowrap;line-height:1;display:flex;position:relative}.burst.dot .burst-word{color:var(--magenta);text-shadow:3px 3px 0 var(--ink)}.burst-word span{animation:.42s cubic-bezier(.3,1.8,.5,1) both letter-bounce;animation-delay:calc(var(--i) * 28ms);display:inline-block}.particle{background:var(--ink);border-radius:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;animation:.7s cubic-bezier(.1,.8,.3,1) forwards fly;position:absolute;top:50%;left:50%}.burst.dash .particle{background:var(--magenta);outline:2px solid var(--ink);border-radius:2px;width:20px;height:6px;margin:-3px 0 0 -10px}@keyframes burst-in{0%{opacity:0;transform:scale(.15)rotate(-25deg)}14%{opacity:1;transform:scale(1.32)rotate(6deg)}26%{transform:scale(.9)rotate(-3deg)}38%{transform:scale(1.06)rotate(1deg)}50%{transform:scale(1)}78%{opacity:1;transform:scale(1)translateY(-6px)}to{opacity:0;transform:scale(.96)translateY(-26px)}}@keyframes lines-out{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(1.35)}}@keyframes letter-bounce{0%{transform:translateY(18px)scale(.4)}60%{transform:translateY(-8px)scale(1.15)}to{transform:none}}@keyframes fly{0%{transform:rotate(var(--a)) translateX(10px) rotate(0deg) scale(1.3);opacity:1}to{transform:rotate(var(--a)) translateX(var(--d)) rotate(var(--s)) scale(.4);opacity:0}}.mascot{transition:transform .17s cubic-bezier(.3,1.5,.5,1)}.mascot-body{transform-box:fill-box;transform-origin:50% 100%}.mascot-body.hop{animation:.24s ease-out m-hop}.mascot-body.zip{animation:.28s ease-out m-zip}.mascot-body.cheer{animation:.55s ease-out m-cheer}.mascot-body.oops{animation:.45s ease-in-out m-oops}.mascot-body.idle{animation:1.6s ease-in-out infinite m-idle}.mascot .sparks{stroke-width:1.6px;stroke-linecap:round;fill:none}.tree .m-body{fill:var(--gb-0)}.tree .m-eye{fill:var(--gb-3)}.tree .sparks{stroke:var(--gb-0)}.card-tree .m-body{fill:#fff1b8}.card-tree .m-eye{fill:#10161d}.card-tree .sparks{stroke:#fff1b8}.card-tree .mascot-body{filter:drop-shadow(0 0 3px #fff1b8cc)}@keyframes m-hop{0%{transform:scale(1.15,.8)}40%{transform:translateY(-9px)scale(.9,1.15)}75%{transform:translateY(0)scale(1.15,.85)}to{transform:none}}@keyframes m-zip{0%{transform:skew(-25deg)scale(1.5,.75)}55%{transform:skew(12deg)scale(.9,1.1)}to{transform:none}}@keyframes m-cheer{0%{transform:scale(1.2,.8)}30%{transform:translateY(-12px)rotate(-12deg)scale(1.1)}60%{transform:translateY(-4px)rotate(10deg)}to{transform:none}}@keyframes m-oops{0%,to{transform:none}20%{transform:rotate(-18deg)}40%{transform:rotate(14deg)}60%{transform:rotate(-9deg)}80%{transform:rotate(5deg)}}@keyframes m-idle{0%,to{transform:none}50%{transform:translateY(-1.5px)}}.arrow{--a:5px;border:var(--a) solid transparent;vertical-align:middle;width:0;height:0;display:inline-block}.arrow.up{border-top-width:0;border-bottom-color:currentColor}.arrow.down{border-top-color:currentColor;border-bottom-width:0}.arrow.left{border-left-width:0;border-right-color:currentColor}.arrow.right{border-left-color:currentColor;border-right-width:0}.handheld{--shell:#d3cfdc;--shell-shade:#b9b4c6;--shell-bg:linear-gradient(160deg, var(--shell) 70%, var(--shell-shade));--bezel:#4b4a63;--bezel-text:#c9c6dc;--brand:#26238f;--btn:var(--magenta);--btn-text:#fff;--dpad:#222;--pill:#77738a;--gb-0:#0f380f;--gb-1:#306230;--gb-2:#8bac0f;--gb-3:#9bbc0f;--shadow:10px 10px 0 var(--ink);background:var(--shell-bg);border:4px solid var(--ink);width:100%;box-shadow:var(--shadow);border-radius:16px 16px 70px;padding:22px 22px 36px;position:relative}.handheld[data-skin=ink]{--shell:#fff;--shell-shade:#fff;--shell-bg:#fff radial-gradient(#00000029 1.1px, transparent 1.5px) 0 0 / 7px 7px;--bezel:#000;--bezel-text:#fff;--brand:var(--ink);--btn:#fff;--btn-text:var(--ink);--dpad:#000;--pill:#000;--gb-0:#000;--gb-1:var(--magenta);--gb-2:#ffb3d3;--gb-3:#fff;--shadow:-5px -3px 0 var(--cyan), 6px 5px 0 var(--magenta), 11px 11px 0 var(--ink)}.bezel{background:var(--bezel);border:3px solid var(--ink);border-radius:10px 10px 34px;padding:10px 18px 14px}.bezel-label{color:var(--bezel-text);letter-spacing:.04em;align-items:center;gap:8px;margin-bottom:8px;font-size:9px;font-style:italic;display:flex}.led{border:1px solid var(--ink);background:#5c1f2e;border-radius:50%;flex:none;width:8px;height:8px}.led[data-on]{background:#ff3b3b;box-shadow:0 0 6px #ff3b3b}.screen{aspect-ratio:10/9;background:var(--gb-3);border:3px solid var(--ink);color:var(--gb-0);font-family:var(--pixel);flex-direction:column;gap:4px;padding:6px 8px;font-size:10px;display:flex;overflow:hidden}.screen-top{border-bottom:2px solid var(--gb-1);justify-content:space-between;padding-bottom:3px;display:flex}.tree{flex:1;width:100%;min-height:0}.tree .edge{stroke:var(--gb-2);stroke-width:1.4px}.tree .edge.hint{stroke:var(--gb-1);stroke-dasharray:2 2}.tree .edge.lit{stroke:var(--gb-0);stroke-width:2.4px}.tree .slot{fill:var(--gb-2)}.tree .node-root{fill:var(--gb-0)}.tree .node rect{fill:var(--gb-3)}.tree .node text{fill:var(--gb-1);font-family:var(--pixel);font-size:11px}.tree .node.lit rect{fill:var(--gb-2)}.tree .node.lit text,.tree .node.here rect{fill:var(--gb-0)}.tree .node.here text{fill:var(--gb-3)}.match{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;min-height:0;display:flex}.match-code{letter-spacing:.15em;font-size:20px}.diamond{grid-template-rows:repeat(3,26px);grid-template-columns:repeat(3,44px);place-items:center;display:grid}.choice{align-items:center;gap:4px;font-size:16px;display:flex}.choice.up{grid-area:1/2}.choice.left{grid-area:2/1}.choice.right{grid-area:2/3}.choice.down{grid-area:3/2}.choice .arrow{--a:4px;color:var(--gb-1)}.screen-bottom{border-top:2px solid var(--gb-1);padding-top:3px}.readout{white-space:nowrap;align-items:center;gap:4px;min-height:14px;display:flex;overflow:hidden}.readout b{font-size:13px}.dim{color:var(--gb-1)}.cursor{vertical-align:middle;background:currentColor;width:7px;height:11px;margin-left:2px;animation:1.1s step-end infinite blink;display:inline-block}.code{letter-spacing:.1em;min-height:18px;font-size:15px}.code .ok,.code .bad{font-size:11px}.brand{color:var(--brand);font-family:var(--comic);letter-spacing:.06em;margin:12px 0 0 4px;font-size:26px;font-style:italic}.controls{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.dpad{filter:drop-shadow(3px 3px 0 var(--ink));grid-template-rows:repeat(3,34px);grid-template-columns:repeat(3,34px);display:grid}.dpad .d{background:var(--dpad);color:#8d8a9c;cursor:pointer;border:0;place-items:center;padding:0;display:grid}.dpad .d .arrow{--a:6px}.dpad>.up{border-radius:5px 5px 0 0;grid-area:1/2}.dpad>.left{border-radius:5px 0 0 5px;grid-area:2/1}.dpad>.mid{background:var(--dpad);grid-area:2/2}.dpad>.right{border-radius:0 5px 5px 0;grid-area:2/3}.dpad>.down{border-radius:0 0 5px 5px;grid-area:3/2}.dpad .d[data-pressed]{color:#fff;background:#4a4a4a}.ab{width:138px;height:104px;position:relative}.ab-btn{flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute}.ab-btn.a{top:26px;left:0}.ab-btn.b{top:0;right:0}.ab-btn button{border:3px solid var(--ink);background:var(--btn);width:56px;height:56px;color:var(--btn-text);box-shadow:3px 3px 0 var(--ink);font-family:var(--comic);cursor:pointer;touch-action:manipulation;border-radius:50%;font-size:24px;transition:transform 60ms,box-shadow 60ms}.ab-btn button[data-pressed],.ab-btn button:active{box-shadow:0 0 0 var(--ink);transform:translate(3px,3px)}.ab-btn span{color:var(--brand);font-family:var(--type);font-size:12px;font-weight:700}.pills{justify-content:center;gap:26px;margin-top:14px;display:flex}.pill{flex-direction:column;align-items:center;gap:5px;display:flex}.pill button{border:2px solid var(--ink);background:var(--pill);cursor:pointer;border-radius:8px;width:48px;height:14px;transform:rotate(-20deg)}.pill button[data-pressed]{filter:brightness(.7)}.pill span{color:var(--brand);font-family:var(--type);font-size:12px;font-weight:700}.grille{gap:6px;display:flex;position:absolute;bottom:22px;right:26px;transform:rotate(-28deg)}.grille i{background:var(--shell-shade);border-radius:3px;width:5px;height:40px;box-shadow:inset 1px 1px #00000059}.handheld[data-skin=ink] .grille i{box-shadow:none;background:#000}.card{--pcb:#10161d;--gold:#d9c68b;--gold-dim:#6d6446;--gold-hot:#fff1b8;background:var(--pcb);width:100%;box-shadow:0 0 0 3px var(--ink), 10px 10px 0 3px var(--ink);color:var(--gold);border:5px solid #c9ccd1;border-radius:18px;padding:16px 16px 20px;position:relative}.card-hole{background:var(--page);border:4px solid #c9ccd1;border-radius:50%;width:22px;height:22px;position:absolute;top:10px;right:10px;box-shadow:inset 0 0 0 2px #8f6a2c}.card-head{font-family:var(--ui);letter-spacing:.06em;color:#e9e3cf;justify-content:space-between;padding:0 44px 0 14px;font-size:20px;display:flex}.card-tree{width:100%;margin-top:-2px;display:block}.card-tree .trace{stroke:var(--gold-dim);stroke-width:2.5px}.card-tree .trace.hint{stroke:var(--gold);stroke-dasharray:3 3}.card-tree .trace.lit{stroke:var(--gold-hot);stroke-width:3.5px}.card-tree .antenna{stroke:var(--gold);stroke-width:2px;fill:none}.card-tree .pad rect,.card-tree .pad circle{fill:var(--gold-dim);stroke:var(--gold);stroke-width:1.5px}.card-tree .pad text{fill:#e9e3cf;font-family:var(--ui);font-size:11px}.card-tree .pad.lit rect,.card-tree .pad.lit circle{fill:var(--gold)}.card-tree .pad.here rect,.card-tree .pad.here circle{fill:var(--gold-hot);stroke:#fff;filter:drop-shadow(0 0 4px var(--gold-hot))}.card-tree .pad.here text{fill:var(--gold-hot);font-weight:700}.card-tree[data-dim]{opacity:.35}.card-strip{border:2px solid var(--gold-dim);font-family:var(--pixel);background:#05080b;border-radius:4px;margin-top:6px;padding:8px 10px;font-size:11px}.strip-top{color:var(--gold-dim);justify-content:space-between;align-items:center;display:flex}.strip-top .led{border-color:var(--gold-dim)}.strip-main{min-height:22px;color:var(--gold-hot);white-space:nowrap;margin-top:4px;font-size:14px;overflow:hidden}.strip-choices{gap:14px;display:flex}.strip-choices span{align-items:center;gap:4px;display:flex}.strip-choices .arrow{--a:4px;color:var(--gold)}.strip-code{letter-spacing:.12em;min-height:18px;color:var(--gold);font-size:15px}.strip-main .bad{color:#ff8c8c}.card-controls{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:16px;display:grid}.card-dpad{filter:none;grid-template-rows:repeat(3,30px);grid-template-columns:repeat(3,30px)}.card-dpad .d{color:var(--gold);border:2px solid var(--gold);background:0 0}.card-dpad .mid{background:0 0;border:0}.card-dpad .d[data-pressed]{background:var(--gold);color:var(--pcb)}.card-mid{flex-direction:column;align-items:center;gap:8px;display:flex}.card-small{align-items:center;gap:6px;display:flex}.card-small button{border:2px solid var(--gold);cursor:pointer;background:0 0;border-radius:6px;width:30px;height:12px}.card-small button[data-pressed]{background:var(--gold)}.card-small span,.card-key span{font-family:var(--ui);color:#e9e3cf;font-size:11px}.card-keys{align-items:flex-end;gap:12px;display:flex}.card-key{flex-direction:column;align-items:center;gap:6px;display:flex}.card-key button{border:3px solid var(--gold);background:var(--gold-dim);cursor:pointer;touch-action:manipulation}.card-key .key-dot{border-radius:50%;width:50px;height:50px}.card-key .key-dash{border-radius:3px;width:58px;height:26px;margin-bottom:12px}.card-key button[data-pressed],.card-key button:active{background:var(--gold-hot);box-shadow:0 0 10px var(--gold-hot)}.modes{border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#fff;display:flex}.modes button{border:0;border-left:3px solid var(--ink);font-family:var(--comic);letter-spacing:.05em;cursor:pointer;background:#fff;flex:1;padding:7px 6px;font-size:20px}.modes button:first-child{border-left:0}.modes button[aria-pressed=true]{background:var(--magenta);color:#fff;-webkit-text-stroke:1px var(--ink);paint-order:stroke fill}.mode-hint{font-family:var(--type);color:#444;margin:-2px 0 8px;font-size:15px}.guide{border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#fff;padding:14px 16px}.guide h2{font-family:var(--comic);letter-spacing:.04em;margin:0 0 8px;font-size:22px;font-weight:400}.guide dl{margin:0}.guide .row{font-family:var(--type);border-top:2px dashed #d9d4c4;grid-template-columns:64px 1fr auto;align-items:center;gap:10px;padding:6px 0;font-size:15px;display:grid}.guide .row:first-child{border-top:0}.guide dt,.guide dd{margin:0}.dirs{flex-wrap:wrap;gap:4px 14px;display:flex}.dirs span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.keyhint{gap:3px;display:flex}.chip{border:2px solid var(--ink);height:30px;font-family:var(--comic);place-items:center;font-size:17px;display:inline-grid}.chip.round{background:var(--magenta);color:#fff;border-radius:50%;width:30px}.chip.pad{color:#fff;background:#222;border-radius:5px;padding:0 6px;font-size:14px}.chip.pill-chip{color:#fff;height:22px;font-family:var(--type);background:#77738a;border-radius:11px;padding:0 6px;font-size:12px;font-weight:700}kbd{border:2px solid var(--ink);min-width:22px;font-family:var(--type);text-align:center;background:#fff;border-bottom-width:4px;padding:0 5px;font-size:13px;display:inline-block}.paper{background-color:var(--paper);background-image:repeating-linear-gradient(transparent 0 37px, var(--rule) 37px 38px);border:4px solid var(--ink);box-shadow:10px 10px 0 var(--ink);background-position:0 50px;padding:44px 20px 14px;position:relative;transform:rotate(.8deg)}.caption{background:var(--pop);border:4px solid var(--ink);font-family:var(--comic);letter-spacing:.04em;padding:6px 12px;font-size:22px;position:absolute;top:-4px;left:-4px}.typed{min-height:38px;font-family:var(--type);word-break:break-word;margin:0;font-size:28px;line-height:38px}.typed .empty{color:#6b6b6b;font-size:17px}.ch{display:inline-block}.ch.stamp{animation:.25s ease-out stamp}.morse-line{font-family:var(--type);color:#6b6b6b;word-break:break-word;margin:6px 0 0;font-size:15px}.paper-actions{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.ink-btn{background:var(--magenta);color:#fff;border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);font-family:var(--comic);letter-spacing:.05em;cursor:pointer;padding:7px 14px;font-size:18px}.ink-btn.ghost{color:var(--ink);background:#fff}.ink-btn:active:not(:disabled){box-shadow:none;transform:translate(4px,4px)}.ink-btn:disabled{opacity:.45;cursor:not-allowed}.race-stats{font-family:var(--type);color:#555;flex-wrap:wrap;align-items:baseline;gap:4px 18px;font-size:15px;display:flex}.race-stats b{color:var(--ink);margin-right:3px;font-size:22px}.race-stats .best{background:var(--pop);border:2px solid var(--ink);color:var(--ink);margin-left:auto;padding:1px 8px}.phrase{font-family:var(--type);letter-spacing:.06em;margin:8px 0 0;font-size:25px;line-height:34px}.race-word{white-space:nowrap;margin-right:.6em;display:inline-block}.rl{display:inline-block;position:relative}.rl.done,.rl.now{color:var(--ink)}.rl.now:after{content:"";background:var(--magenta);height:4px;animation:1.1s step-end infinite blink;position:absolute;bottom:2px;left:0;right:0}.rl.miss{color:#d1001f;animation:.25s shake}.race-now{min-height:32px;font-family:var(--type);align-items:baseline;gap:12px;margin:6px 0 0;font-size:15px;display:flex}.race-now b{font-size:26px}.typed-code{letter-spacing:.1em;min-width:60px;color:var(--magenta);font-size:24px}.hint-code{letter-spacing:.1em;color:#9a978d;font-size:18px}.race-result{font-family:var(--type);margin-top:10px;font-size:16px}.big-wpm{font-family:var(--comic);letter-spacing:.02em;margin:0;font-size:56px;line-height:1}.big-wpm small{font-size:28px}.new-best{background:var(--magenta);border:3px solid var(--ink);color:#fff;font-family:var(--comic);letter-spacing:.04em;margin:8px 0 0;padding:3px 10px;font-size:20px;display:inline-block;transform:rotate(-2deg)}@keyframes blink{50%{opacity:0}}@keyframes fade-hold{0%,70%{opacity:1}to{opacity:0}}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes stamp{0%{opacity:0;filter:blur(2px);transform:scale(1.8)}to{opacity:1;filter:none;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.ch.stamp,.cursor,.rl.miss,.rl.now:after,.mascot-body{animation:none!important}.burst{animation:.95s forwards fade-hold}.burst-lines,.particle,.burst-word span{animation:none;display:none}.burst-word span{display:inline-block}.mascot{transition:none}}@media (width<=639px),(width<=900px) and (orientation:portrait){.desk{flex-direction:column;align-items:stretch;gap:12px;max-width:560px;margin:0 auto;display:flex}.panel{display:contents}.masthead{order:0}.modes{order:1}.paper{order:2}.device{order:3}}@media (width>=640px) and (width<=900px) and (orientation:landscape){.stage{padding:8px 12px 24px}.desk{grid-template-columns:minmax(240px,45%) minmax(0,1fr);gap:20px}.logo{font-size:34px}.modes button{padding:5px 2px;font-size:16px}.typed{min-height:34px;font-size:26px;line-height:34px}.phrase{font-size:21px;line-height:29px}}@media (hover:none) and (pointer:coarse){.keyhint{display:none}.guide .row{grid-template-columns:64px 1fr}}@media (width<=520px){.stage{padding:10px 12px 32px}.masthead{margin-bottom:10px}.paper{padding:38px 12px 10px;transform:none}.caption{padding:4px 10px;font-size:18px}.typed{min-height:30px;font-size:23px;line-height:30px}.modes button{padding:6px 2px;font-size:16px}.phrase{margin-top:4px;font-size:19px;line-height:26px}.race-stats{gap:2px 12px;font-size:13px}.race-stats b{font-size:18px}.race-now{min-height:28px;margin-top:2px}.race-now b{font-size:22px}.typed-code{font-size:20px}.morse-line{font-size:13px}.play{gap:10px}.ink-btn{padding:5px 10px;font-size:16px}.swatch{padding:6px 7px;font-size:13px}}@media (height<=700px) and (width<=520px){.race .paper-actions,.race-stats .best{display:none}.race .phrase{font-size:17px;line-height:23px}}.paper{background:color-mix(in srgb, var(--page) 80%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:none;color:var(--page-text);background-image:none;border:0;border-radius:18px;padding:16px 22px;transform:none}.caption{color:var(--magenta);font-family:var(--type);letter-spacing:.02em;background:0 0;border:0;margin:0 0 4px;padding:0;font-size:14px;font-weight:700;display:block;position:static}.typed{min-height:48px;color:var(--page-text);font-size:38px;line-height:48px}.typed .empty{color:var(--page-text);opacity:.7;font-size:18px;line-height:26px}.morse-line{color:var(--page-text);opacity:.6}.race-stats,.race-stats b{color:var(--page-text)}.race-stats{opacity:.9}.phrase{font-size:32px;line-height:44px}.rl.done,.rl.now{color:var(--page-text)}.rl.todo{color:color-mix(in srgb, var(--page-text) 38%, transparent)}.rl.miss{color:#ff4d4d}.race-now,.race-result,.big-wpm{color:var(--page-text)}.hint-code{color:color-mix(in srgb, var(--page-text) 55%, transparent)}.tkey{--metal:linear-gradient(180deg, #f1f1f4, #9d9daa 60%, #d9d9e0);flex:none;width:156px;height:118px;position:relative}.tkey-base{border:3px solid var(--ink);height:22px;box-shadow:3px 3px 0 var(--ink);background:#1d1d22;border-radius:6px;position:absolute;inset:auto 0 22px}.tkey-post{background:var(--metal);border:2px solid var(--ink);border-radius:3px 3px 0 0;width:16px;height:26px;position:absolute;bottom:18px;left:8px}.tkey-spring{background:repeating-linear-gradient(170deg, #c9c9d2 0 2px, var(--ink) 2px 4px);border-left:2px solid var(--ink);border-right:2px solid var(--ink);width:12px;height:20px;position:absolute;bottom:18px;left:52px}.tkey-lever{background:var(--metal);border:2px solid var(--ink);transform-origin:6px;border-radius:5px;width:104px;height:9px;transition:transform 50ms ease-out;position:absolute;bottom:38px;left:14px}.tkey-knob{border:3px solid var(--ink);width:66px;height:66px;box-shadow:0 6px 0 var(--ink);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 36% 30%,#6a6a70,#18181b 58%);border-radius:50% 50% 46% 46%;padding:0;transition:transform 50ms ease-out,box-shadow 50ms ease-out;position:absolute;bottom:36px;right:4px}.tkey-ring{pointer-events:none;width:calc(100% + 22px);height:calc(100% + 22px);position:absolute;inset:-11px;transform:rotate(-90deg)}.tkey-ring circle{fill:none;stroke:var(--magenta);stroke-width:6px;stroke-linecap:round;stroke-dasharray:289;stroke-dashoffset:289px}.tkey-label{text-align:center;color:var(--brand);font-family:var(--type);font-size:11px;position:absolute;bottom:0;left:0;right:0}.tkey-label b{font-family:var(--comic);letter-spacing:.04em;font-size:14px;font-weight:400}.tkey[data-phase=down] .tkey-knob,.tkey[data-phase=dash] .tkey-knob{box-shadow:0 0 0 var(--ink);transform:translateY(6px)}.tkey[data-phase=down] .tkey-lever,.tkey[data-phase=dash] .tkey-lever{transform:rotate(3.5deg)}.tkey[data-phase=down] .tkey-ring circle{animation:charge var(--hold) linear forwards}.tkey[data-phase=dash] .tkey-ring circle{stroke-dashoffset:0;stroke:var(--pop);filter:drop-shadow(0 0 4px var(--pop))}@keyframes charge{to{stroke-dashoffset:0}}.tkey.on-card{--metal:linear-gradient(180deg, #fff1b8, #b9a463 60%, #e7d79c);width:140px}.tkey.on-card .tkey-base{box-shadow:none;background:#1b232c;border-color:#d9c68b}.tkey.on-card .tkey-post,.tkey.on-card .tkey-lever{border-color:#6d6446}.tkey.on-card .tkey-spring{background:repeating-linear-gradient(170deg,#d9c68b 0 2px,#10161d 2px 4px);border-color:#6d6446}.tkey.on-card .tkey-knob{background:radial-gradient(circle at 36% 30%,#fff1b8,#8f7d44 62%);border-color:#d9c68b;box-shadow:0 6px #05080b}.tkey.on-card .tkey-ring circle{stroke:#fff1b8}.tkey.on-card .tkey-label{color:#e9e3cf}.card-controls:has(.tkey){grid-template-columns:auto 1fr auto}.chip.keychip{color:#fff;background:#18181b;border-radius:14px;padding:0 9px;font-size:15px}.choice-row{grid-template-columns:86px 1fr;align-items:center;gap:8px;width:100%;display:grid}.choice-label{font-family:var(--type);color:#555;font-size:13px;font-weight:700}.choice-opts{flex-wrap:wrap;gap:4px;display:flex}.opt{font-family:var(--type);cursor:pointer;background:0 0;border:2px solid #0000;align-items:center;gap:6px;padding:4px 9px;font-size:13px;font-weight:700;display:inline-flex}.opt small{opacity:.6;font-weight:400}.opt[aria-checked=true]{border-color:var(--ink);background:var(--pop)}.opt i{border:2px solid var(--ink);width:16px;height:18px}.opt[data-swatch=design-classic] i{background:#d3cfdc;border-radius:3px 3px 7px}.opt[data-swatch=design-card] i{background:#10161d;border-radius:3px;box-shadow:inset 0 0 0 1px #c9ccd1}.opt[data-swatch=design-ink] i{background:#fff radial-gradient(var(--magenta) 1px, transparent 1.4px) 0 0 / 4px 4px;border-radius:3px 3px 7px}.opt[data-swatch^=palette] i{width:28px;height:14px}.opt[data-swatch=palette-signal] i{background:linear-gradient(90deg,#1d2a78 0 34%,#ff6b1a 34% 67%,#7cffc4 67%)}.opt[data-swatch=palette-comic] i{background:linear-gradient(90deg,#ffe14d 0 34%,#ff2d95 34% 67%,#00c2ff 67%)}.opt[data-swatch=palette-riso] i{background:linear-gradient(90deg,#e4efe7 0 34%,#ff48b0 34% 67%,#3255a4 67%)}@media (width<=520px){.paper{border-radius:14px;padding:10px 14px 12px}.typed{min-height:36px;font-size:28px;line-height:36px}.typed .empty{font-size:15px;line-height:21px}.phrase{font-size:22px;line-height:30px}.choice-row{grid-template-columns:1fr;gap:2px}}@media (prefers-reduced-motion:reduce){.tkey[data-phase=down] .tkey-ring circle{animation-duration:var(--hold)}}.tkey.on-card{width:122px;height:108px}.tkey.on-card .tkey-knob{width:56px;height:56px;right:8px}.tkey.on-card .tkey-lever{width:86px}.rig{--light:#fff1c2;--light-soft:#fff1c2b3;--light-faint:#fff1c242;width:380px;height:420px;position:relative}.beam{z-index:1;opacity:.6;mix-blend-mode:screen;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.projection{z-index:2;width:360px;height:236px;color:var(--light);background:radial-gradient(72% 62% at 50% 46%,#fff1c224,#0000 78%),#090918d6;border-radius:6px;flex-direction:column;padding:8px 12px;display:flex;position:absolute;top:0;left:10px;overflow:hidden;box-shadow:0 0 0 1px #fff1c229,0 0 46px #fff1c224}.projection .tree{flex:1;min-height:0}.projection .tree .edge{stroke:var(--light-faint);stroke-width:1.4px}.projection .tree .edge.hint{stroke:var(--light-soft);stroke-dasharray:2 3}.projection .tree .edge.lit{stroke:var(--light);stroke-width:2.6px;filter:drop-shadow(0 0 3px #ffecaae6)}.projection .tree .slot{fill:var(--light-faint)}.projection .tree .node-root{fill:var(--light)}.projection .tree .node rect{fill:#0000}.projection .tree .node text{fill:var(--light-soft)}.projection .tree .node.lit rect{fill:#fff1c229}.projection .tree .node.lit text{fill:var(--light)}.projection .tree .node.here rect{fill:var(--light);filter:drop-shadow(0 0 4px #ffecaae6)}.projection .tree .node.here text{fill:#191433}.projection .tree .m-body{fill:var(--light)}.projection .tree .m-eye{fill:#191433}.projection .tree .sparks{stroke:var(--light)}.projection .tree .mascot-body{filter:drop-shadow(0 0 3px #ffecaad9)}.subtitle{font-family:var(--type);text-shadow:0 0 6px #ffecaa8c;white-space:nowrap;justify-content:space-between;align-items:baseline;gap:12px;padding-top:4px;font-size:15px;display:flex}.sub-line{text-overflow:clip;overflow:hidden}.sub-code{letter-spacing:.12em;font-size:18px}.subtitle .ok{color:#b6ffcf}.subtitle .bad{color:#ffa3a3}.proj-corner{font-family:var(--pixel);opacity:.6;font-size:10px;position:absolute;top:7px;right:12px}.projection .match{gap:4px}.projection .match-code{color:var(--light);text-shadow:0 0 8px #ffecaab3;font-size:28px}.projection .diamond{grid-template-rows:repeat(3,40px);grid-template-columns:repeat(3,70px)}.projection .choice{border:1.5px solid var(--light-soft);min-width:56px;min-height:36px;color:var(--light);font-family:var(--pixel);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:18px;display:inline-flex}.projection .choice:hover,.projection .choice:focus-visible{background:#fff1c229}.projection .choice .arrow{color:var(--light-soft)}.desk-row{z-index:2;height:172px;position:absolute;bottom:0;left:0;right:0}.projector{width:172px;height:140px;position:absolute;bottom:10px;left:6px;overflow:visible}.pj-body{fill:#2a2b36;stroke:var(--ink);stroke-width:3px}.pj-vent{fill:#454760}.pj-name{fill:#cfcbe0;font-family:var(--comic);letter-spacing:.08em;font-size:13px}.pj-arm{stroke:var(--ink);stroke-width:5px;stroke-linecap:round}.pj-reel{fill:#3b3c4a;stroke:var(--ink);stroke-width:3px}.pj-hole{fill:#15161d}.pj-hub{fill:#cfcfd8;stroke:var(--ink);stroke-width:1.5px}.pj-lens{fill:#a9a9b6;stroke:var(--ink);stroke-width:2.5px}.pj-glass{fill:var(--light,#fff1c2);filter:drop-shadow(0 0 5px #fff1c2)}.pj-foot{fill:var(--ink)}.projector .reel{transform-box:view-box;animation:2.6s linear infinite paused spin}.projector .reel.slow{animation-duration:1.9s}.projector[data-running] .reel{animation-play-state:running}@keyframes spin{to{transform:rotate(360deg)}}.cable{width:70px;height:36px;position:absolute;bottom:16px;left:150px;overflow:visible}.cable path{fill:none;stroke:var(--ink);stroke-width:4px;stroke-linecap:round}.tkey.on-rig{width:186px;height:146px;position:absolute;bottom:0;right:4px}.tkey.on-rig .tkey-knob{width:84px;height:84px;bottom:40px}.tkey.on-rig .tkey-lever{width:128px;bottom:46px}.tkey.on-rig .tkey-label{color:var(--page-text);font-size:12px}.tkey.on-rig .tkey-ring{width:calc(100% + 24px);height:calc(100% + 24px);inset:-12px}.actions{flex-wrap:wrap;justify-content:center;gap:6px;max-width:440px;margin-top:10px;display:flex}.action{border:2px solid var(--ink);min-height:40px;box-shadow:3px 3px 0 var(--ink);font-family:var(--type);cursor:pointer;background:#fff;align-items:center;gap:7px;padding:6px 12px;font-size:14px;font-weight:700;display:inline-flex}.action:active{box-shadow:none;transform:translate(3px,3px)}@media (prefers-reduced-motion:reduce){.projector .reel{animation:none}}.projection.tap-wall{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}@media (pointer:coarse){.modes button,.action{min-height:44px}}@media (height<=700px) and (orientation:portrait){.logo{font-size:28px}.paper{padding:6px 12px 8px}.typed{min-height:30px;font-size:24px;line-height:30px}.morse-line{margin-top:2px}.paper-actions{margin-top:6px}}@media (height<=520px){.logo{font-size:26px}.stage{padding-top:8px}.modes button{padding:4px 2px;font-size:16px}.paper{padding:6px 12px 8px}.caption{font-size:12px}.typed{min-height:30px;font-size:24px;line-height:30px}.race .paper-actions,.race-stats .best{display:none}.phrase{margin-top:2px;font-size:18px;line-height:25px}.race-stats b{font-size:17px}.race-now{min-height:26px;margin-top:0}.race-now b{font-size:20px}}@media (width<=400px){.action{gap:5px;padding:4px 9px;font-size:13px}}@media (width>=640px) and (orientation:landscape),(width>=901px){.stage{justify-content:center;align-items:center;min-height:100dvh;padding:12px 24px;display:flex}.desk{align-items:center;width:100%}}.toolbar{flex:none;gap:8px;display:flex}.tool{border:2px solid var(--ink);min-height:40px;box-shadow:3px 3px 0 var(--ink);font-family:var(--type);cursor:pointer;background:#fff;align-items:center;gap:7px;padding:5px 12px 5px 8px;font-size:14px;font-weight:700;display:inline-flex}.tool:active{box-shadow:none;transform:translate(3px,3px)}.tool-icon{background:var(--ink);color:#fff;width:24px;height:24px;font-family:var(--comic);border-radius:50%;place-items:center;font-size:17px;line-height:1;display:grid}.tool-icon.gear{fill:var(--ink);background:0 0}.tool-icon.gear circle{fill:#fff}@media (width<=520px){.tool-text{display:none}.tool{justify-content:center;min-width:40px;padding:5px 7px}}.sheet{border:0;border-left:4px solid var(--ink);width:min(460px,100vw);max-width:none;height:100dvh;max-height:none;box-shadow:-8px 0 0 var(--ink);color:var(--ink);background:#fff;margin:0;padding:0;position:fixed;inset:0 0 0 auto}.sheet[open]{animation:.22s ease-out sheet-in}.sheet::backdrop{background:#00000061}@keyframes sheet-in{0%{transform:translate(100%)}}.sheet-inner{height:100%;padding:18px 20px 24px;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.sheet-tabs{border:3px solid var(--ink);display:flex}.sheet-tabs button{font-family:var(--comic);letter-spacing:.04em;cursor:pointer;background:#fff;border:0;padding:6px 12px;font-size:19px}.sheet-tabs button+button{border-left:3px solid var(--ink)}.sheet-tabs button[aria-selected=true]{background:var(--magenta);color:#fff;-webkit-text-stroke:1px var(--ink);paint-order:stroke fill}.sheet-close{border:2px solid var(--ink);cursor:pointer;background:#fff;width:40px;height:40px;font-size:26px;line-height:1}.sheet .guide,.sheet .settings{box-shadow:none;background:0 0;border:0;padding:0}.sheet .mode-hint{color:var(--ink);margin:0 0 10px}.sheet-note{font-family:var(--type);color:#555;margin:14px 0 0;font-size:13px}.opt[data-swatch=design-projector] i{background:radial-gradient(circle at 70% 32%,#fff1c2 0 28%,#2a2b36 31%);border-radius:3px}@media (width<=639px){.sheet{border-left:0;border-top:4px solid var(--ink);width:100vw;height:auto;max-height:86dvh;box-shadow:0 -6px 0 var(--ink);border-radius:16px 16px 0 0;inset:auto 0 0}.sheet-inner{max-height:86dvh}@keyframes sheet-in{0%{transform:translateY(100%)}}.sheet[open]{animation-name:sheet-up}@keyframes sheet-up{0%{transform:translateY(100%)}}}@media (prefers-reduced-motion:reduce){.sheet[open]{animation:none}}.choice-row .issue{justify-self:start}.typed:has(.empty){min-height:0;line-height:26px}.solo{flex-direction:column;align-items:center;gap:6px;padding-right:8px;display:flex;position:relative}.solo-btn{border:3px solid var(--ink);background:var(--btn,var(--magenta));width:72px;height:72px;box-shadow:3px 4px 0 var(--ink);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;padding:0;transition:transform 50ms ease-out,box-shadow 50ms ease-out;position:relative}.solo-label{color:var(--brand);font-family:var(--type);white-space:nowrap;font-size:11px}.solo-label b{font-family:var(--comic);letter-spacing:.04em;font-size:14px;font-weight:400}.solo[data-phase=down] .solo-btn,.solo[data-phase=dash] .solo-btn{box-shadow:0 0 0 var(--ink);transform:translate(3px,4px)}.solo[data-phase=down] .tkey-ring circle{animation:charge var(--hold) linear forwards}.solo[data-phase=dash] .tkey-ring circle{stroke-dashoffset:0;stroke:var(--pop);filter:drop-shadow(0 0 4px var(--pop))}.handheld[data-skin=ink] .solo-btn{background:#fff}.solo.on-card .solo-btn{width:62px;height:62px;box-shadow:none;background:#6d6446;border-color:#d9c68b}.solo.on-card .tkey-ring circle{stroke:#fff1b8}.solo.on-card[data-phase=down] .solo-btn,.solo.on-card[data-phase=dash] .solo-btn{background:#fff1b8;transform:none;box-shadow:0 0 10px #fff1b8}.solo.on-card .solo-label{color:#e9e3cf;white-space:normal;text-align:center;max-width:92px;line-height:1.25}.telegram{border:4px solid var(--ink);background-color:var(--paper);background-image:repeating-linear-gradient(transparent 0 33px, var(--rule) 33px 34px);width:min(560px,100vw - 24px);max-height:calc(100dvh - 24px);box-shadow:10px 10px 0 var(--ink);color:var(--ink);padding:0}.telegram::backdrop{background:#00000073}.telegram[open]{animation:.25s cubic-bezier(.2,.9,.3,1.2) tg-in}@keyframes tg-in{0%{opacity:0;transform:translateY(18px)rotate(-1.5deg)}}@media (prefers-reduced-motion:reduce){.telegram[open]{animation:none}}.tg-inner{max-height:calc(100dvh - 32px);padding:18px 22px 20px;overflow-y:auto}.tg-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tg-head h2{font-family:var(--comic);letter-spacing:.03em;margin:0;font-size:28px;font-weight:400;line-height:1.1}.tg-message{font-family:var(--type);word-break:break-word;margin:14px 0 0;font-size:30px;line-height:40px}.tg-morse{font-family:var(--type);color:#666;word-break:break-word;white-space:pre-wrap;margin:4px 0 0;font-size:16px}.tg-note{font-family:var(--type);color:#555;margin:8px 0 0;font-size:14px}.tg-note.warn{color:#b3261e;font-weight:700}.tg-note.small{margin-top:12px;font-size:12px}.tg-when{border:0;margin:16px 0 0;padding:0}.tg-when legend{font-family:var(--type);margin-bottom:6px;padding:0;font-size:14px;font-weight:700}.tg-field{font-family:var(--type);flex-direction:column;gap:4px;margin-top:14px;font-size:14px;font-weight:700;display:flex}.tg-input{border:2px solid var(--ink);width:100%;font-family:var(--type);background:#fff;margin-top:6px;padding:8px 10px;font-size:15px}.tg-link{color:#444;font-size:13px}.telegram .paper-actions{margin-top:16px}.telegram a.ink-btn{align-items:center;text-decoration:none;display:inline-flex}.sealed{text-align:center;flex-direction:column;align-items:center;padding:18px 0 6px;display:flex}.seal{border:4px solid var(--ink);background:var(--magenta);width:92px;height:92px;box-shadow:4px 4px 0 var(--ink);color:#fff;font-family:var(--comic);border-radius:50%;place-items:center;font-size:30px;display:grid;transform:rotate(-8deg)}.opens-in{font-family:var(--type);margin:16px 0 0;font-size:18px}.opens-in b{font-family:var(--comic);letter-spacing:.03em;font-size:34px;font-weight:400;display:block}.reveal .rv{color:#b9b5aa;min-width:.6em;transition:color .1s;display:inline-block}.reveal .rv.on{color:var(--ink)}.reveal .rv.now{color:var(--magenta);transform:translateY(-3px)}.reveal .gap{width:.6em;display:inline-block}.link-notice{border:3px solid var(--ink);font-family:var(--type);background:#fff;margin:0;padding:8px 12px;font-size:14px}.link-notice button{border:2px solid var(--ink);background:var(--pop);font:inherit;cursor:pointer;margin-left:6px;font-weight:700}@media (width<=520px){.tg-message{font-size:24px;line-height:32px}.tg-head h2{font-size:23px}}.tkey .tkey-label{white-space:nowrap;left:-14px;right:-14px}.tkey.on-rig .tkey-label{text-align:right;font-size:11px;left:auto;right:0}.voice-row{align-items:start}.voice{flex-direction:column;gap:8px;display:flex}.voice-help,.voice-status{font-family:var(--type);color:#444;margin:0;font-size:13px}.voice-status.warn{color:#b3261e;font-weight:700}.voice-actions{flex-wrap:wrap;gap:8px;display:flex}.voice .ink-btn{padding:5px 12px;font-size:16px}.voice .ink-btn.rec{background:#d1001f;animation:1s ease-in-out infinite rec-pulse}.voice .opt{border-color:var(--ink);background:#fff}.voice .opt.use{background:var(--pop)}@keyframes rec-pulse{50%{box-shadow:4px 4px 0 var(--ink), 0 0 0 6px #d1001f40}}@media (prefers-reduced-motion:reduce){.voice .ink-btn.rec{animation:none}}
