:root{--ys-bg: #101216;--ys-bg2: #171a21;--ys-ink: #dfe6ef;--ys-dim: #93a0b4;--ys-acc: #9ce85c;--ys-acc2: #39d5ff;--ys-danger: #ff6a6a;--ys-phone-scale: 1;--ph-shell-a: #43474f;--ph-shell-b: #24262c;--ph-shell-edge: #131519;--ph-face-a: #dfe3e9;--ph-face-b: #aab1bb;--ph-key-a: #34373e;--ph-key-b: #202329;--ph-key-text: #d6dbe2;--ph-keylight: #8ef27c;--ph-logo: #3a4048;--ph-lcd-glow: rgba(170, 205, 80, .55)}html,body{margin:0;padding:0;height:100%}.ys-body{background:radial-gradient(1200px 600px at 70% -10%,#1c2230 0%,transparent 60%),radial-gradient(900px 500px at 10% 110%,#16241a 0%,transparent 55%),var(--ys-bg);color:var(--ys-ink);font-family:Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden}#ys-root{position:fixed;inset:0;display:flex;flex-direction:column}#ys-boot{position:fixed;inset:0;background:var(--ys-bg);display:flex;align-items:center;justify-content:center;z-index:90;transition:opacity .4s ease}#ys-boot.gone{opacity:0;pointer-events:none}.ys-boot-logo{font-size:2rem;font-weight:800;letter-spacing:.3em;color:var(--ys-acc);text-align:center}.ys-boot-logo span{display:block;color:var(--ys-dim);font-size:1rem;letter-spacing:.6em}.ys-boot-hint{margin-top:12px;color:var(--ys-dim);font-size:.85rem;text-align:center}.ys-noscript{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;color:var(--ys-ink);background:var(--ys-bg);z-index:99}.ys-topbar{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;gap:14px;padding:8px 14px;background:#0a0c10d1;border-bottom:1px solid #262b36;backdrop-filter:blur(6px);z-index:30}.ys-home{color:var(--ys-acc2);text-decoration:none;font-weight:600;font-size:.9rem;white-space:nowrap}.ys-home:hover,.ys-home:focus-visible{text-decoration:underline}.ys-title{font-weight:800;letter-spacing:.18em;font-size:.95rem;color:var(--ys-ink);white-space:nowrap}.ys-title em{font-style:normal;color:var(--ys-acc)}.ys-topnav{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.ys-topnav button{background:#1d222c;color:var(--ys-ink);border:1px solid #2c3342;border-radius:8px;padding:6px 11px;font-size:.82rem;font-family:inherit}.ys-topnav button:hover{border-color:var(--ys-acc);color:var(--ys-acc)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ys-acc2);outline-offset:2px}#ys-stage{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:52px 6px 10px}.ys-phone{position:relative;width:calc(min(98vw,(100dvh - 62px) * .47368) * var(--ys-phone-scale));max-width:calc(520px * var(--ys-phone-scale));aspect-ratio:360 / 760;filter:drop-shadow(0 24px 40px rgba(0,0,0,.55));user-select:none;touch-action:manipulation}.ph-svg{position:absolute;inset:0;width:100%;height:100%}.ph-logo-text{font-family:Segoe UI,system-ui,sans-serif;font-size:19px;font-weight:700;letter-spacing:8px;fill:var(--ph-logo)}.ph-wear{display:none}.ys-phone[data-wear="1"] .ph-wear{display:block}.ph-lcd{position:absolute;image-rendering:pixelated;border-radius:2px;box-shadow:inset 0 2px 6px #00000080,0 0 22px var(--ph-lcd-glow);touch-action:none}.ph-sheen{position:absolute;pointer-events:none;border-radius:6px;background:linear-gradient(112deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,.05) 22%,transparent 34%),linear-gradient(292deg,rgba(255,255,255,.05) 0%,transparent 18%)}.ph-key{position:absolute;border:none;padding:0;color:var(--ph-key-text);font-family:inherit;background:linear-gradient(180deg,var(--ph-key-a),var(--ph-key-b));border-radius:26%/44%;box-shadow:inset 0 1.5px 1px #ffffff38,inset 0 -2px 3px #00000073,0 3px 4px #00000080;transition:box-shadow .35s ease,filter .35s ease,transform .06s ease;touch-action:manipulation}.ph-key.pressed,.ph-key:active{transform:translateY(1.5%) scale(.985);box-shadow:inset 0 2px 5px #0000008c,inset 0 -1px 1px #ffffff14,0 1px 1px #0006;filter:brightness(.94)}.ph-key.lit{transition:box-shadow .05s ease,filter .05s ease,transform .06s ease;box-shadow:inset 0 1.5px 1px #ffffff38,inset 0 -2px 3px #00000073,0 0 4px var(--ph-keylight),0 0 16px var(--ph-keylight),0 3px 6px #00000080;color:var(--ph-keylight);filter:brightness(1.12)}.ph-key.lit-fade{transition:box-shadow .45s ease,color .45s ease,filter .45s ease}.ph-num{display:block;font-size:clamp(11px,2.6cqw,19px);font-weight:700;line-height:1.1;margin-top:5%}.ph-sub{display:block;font-size:clamp(7px,1.5cqw,11px);letter-spacing:.14em;opacity:.62;text-transform:lowercase}.ys-phone{container-type:inline-size}.wedge{background:transparent;border-radius:50%;box-shadow:none;color:color-mix(in srgb,var(--ph-key-text) 60%,#000)}.wedge svg{position:absolute;width:17%;height:17%}.wedge-up{clip-path:polygon(50% 46%,14% 12%,50% 0%,86% 12%)}.wedge-down{clip-path:polygon(50% 54%,14% 88%,50% 100%,86% 88%)}.wedge-left{clip-path:polygon(46% 50%,12% 14%,0% 50%,12% 86%)}.wedge-right{clip-path:polygon(54% 50%,88% 14%,100% 50%,88% 86%)}.wedge-up svg{top:7%;left:41.5%}.wedge-down svg{bottom:7%;left:41.5%}.wedge-left svg{left:7%;top:41.5%}.wedge-right svg{right:7%;top:41.5%}.wedge{background:radial-gradient(circle at 50% 42%,var(--ph-key-a) 0%,var(--ph-key-b) 78%)}.wedge.pressed,.wedge:active{transform:none;filter:brightness(.88)}.wedge.lit{color:var(--ph-keylight);filter:brightness(1.2) drop-shadow(0 0 8px var(--ph-keylight))}.okbtn{border-radius:50%;background:radial-gradient(circle at 50% 34%,var(--ph-key-a),var(--ph-key-b) 82%);font-weight:800;font-size:clamp(10px,2.4cqw,16px);letter-spacing:.12em;z-index:3}.ph-ok-ring{position:absolute;inset:8%;border-radius:50%;border:1.5px solid rgba(255,255,255,.18);pointer-events:none}.ph-ok-label{position:relative}.sidekey{border-radius:40%/32%}.ph-icon{width:52%;height:52%}.callkey{color:#7edc6a}.endkey{color:#e86a5f}.symkey .ph-num{font-size:clamp(13px,3cqw,22px)}@keyframes ys-buzz{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-2px,1px) rotate(-.5deg)}40%{transform:translate(2px,-1px) rotate(.5deg)}60%{transform:translate(-2px,-1px) rotate(-.4deg)}80%{transform:translate(2px,1px) rotate(.4deg)}}.ys-phone.buzzing{animation:ys-buzz .32s linear}.ys-full-board .ys-phone{width:min(96vw,calc((100dvh - 150px)*1.28));aspect-ratio:96 / 72}.ys-full-board .ph-svg,.ys-full-board .ph-key,.ys-full-board .ph-sheen{display:none}.ys-full-board .ph-lcd{left:0!important;top:0!important;width:100%!important;height:100%!important;border-radius:10px}.ys-excanvas{display:none;position:fixed;inset:0;width:100vw;height:100vh;z-index:5;touch-action:none}.ys-expanded-view .ys-excanvas{display:block}.ys-expanded-view #ys-stage{visibility:hidden}.ys-hud{display:none;position:fixed;top:52px;left:10px;right:10px;z-index:12;pointer-events:none;font-family:Consolas,Menlo,monospace}.ys-hud.show{display:block}.ys-hud-row{display:flex;gap:10px;align-items:center}.ys-hud-stat{background:#080a08b3;border:1px solid rgba(156,232,92,.35);border-radius:8px;padding:4px 10px;display:flex;gap:8px;align-items:baseline}.ys-hud-stat .lbl{font-size:.62rem;color:var(--ys-dim);letter-spacing:.1em}.ys-hud-stat span:not(.lbl){color:var(--ys-acc);font-weight:700}.ys-hud-spacer{flex:1}.ys-hud-btn{pointer-events:auto;background:#080a08bf;color:var(--ys-ink);border:1px solid #3a4252;border-radius:8px;width:36px;height:32px;font-family:inherit}.ys-hud-sub{margin-top:8px}.ys-stored{pointer-events:auto;display:flex;gap:8px;align-items:center;background:#080a08bf;border:1px dashed #3a4252;color:var(--ys-dim);border-radius:8px;padding:4px 10px;font-family:inherit;font-size:.72rem;letter-spacing:.08em}.ys-stored.full{border-style:solid;border-color:var(--ys-acc);color:var(--ys-acc);box-shadow:0 0 12px #9ce85c59}.ys-effects{display:flex;gap:6px;flex-wrap:wrap}.ys-chip{background:#9ce85c29;border:1px solid rgba(156,232,92,.4);color:var(--ys-acc);font-size:.66rem;border-radius:20px;padding:3px 9px;letter-spacing:.06em}.ys-missions{margin-top:8px;display:flex;flex-direction:column;gap:3px;max-width:300px}.ys-mission{background:#080a0899;border-radius:6px;font-size:.68rem;padding:3px 8px;color:var(--ys-dim);display:flex;justify-content:space-between;gap:8px}.ys-mission.done{color:var(--ys-acc)}.ys-banner{position:fixed;top:16%;left:50%;transform:translate(-50%) translateY(-8px);background:#080c08d9;border:1px solid var(--ys-acc);color:var(--ys-acc);font-family:Consolas,monospace;letter-spacing:.14em;padding:8px 18px;border-radius:8px;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none;z-index:14;max-width:86vw;text-align:center}.ys-banner.show{opacity:1;transform:translate(-50%) translateY(0)}.ys-dpad{display:none;position:fixed;right:14px;bottom:16px;z-index:13;grid-template-columns:repeat(3,54px);grid-template-rows:repeat(3,54px);gap:4px;grid-template-areas:". up ." "left ok right" ". down ."}@media(pointer:coarse){.ys-dpad.show{display:grid}}.ys-left-handed .ys-dpad{right:auto;left:14px}.ys-dpad button{background:#141a14b3;border:1px solid rgba(156,232,92,.4);color:var(--ys-acc);border-radius:12px;font-size:1.15rem;touch-action:manipulation}.ys-dpad button:nth-child(1){grid-area:up}.ys-dpad button:nth-child(2){grid-area:left}.ys-dpad button:nth-child(3){grid-area:ok;border-radius:50%}.ys-dpad button:nth-child(4){grid-area:right}.ys-dpad button:nth-child(5){grid-area:down}.ys-dpad button.on{background:#9ce85c66}.ys-exoverlay{position:fixed;inset:0;z-index:20;background:#040604b8;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(3px)}.ys-hidden{display:none}.ys-exmodal{background:#10150f;border:1px solid #2c3a24;border-radius:14px;padding:22px 26px;min-width:260px;max-width:min(480px,92vw);max-height:86vh;overflow:auto;display:flex;flex-direction:column;gap:10px;text-align:center}.ys-exmodal h2{margin:0 0 4px;letter-spacing:.2em;color:var(--ys-acc);font-family:Consolas,monospace}.ys-exmodal button{background:#1a2416;border:1px solid #34462a;color:var(--ys-ink);border-radius:9px;padding:10px;font-family:inherit;font-size:.92rem}.ys-exmodal button:hover{border-color:var(--ys-acc);color:var(--ys-acc)}.ys-over-mode{color:var(--ys-dim);letter-spacing:.1em;font-size:.8rem}.ys-over-score{font-size:2.3rem;font-weight:800;color:var(--ys-acc);font-family:Consolas,monospace}.ys-over-score em{font-style:normal;font-size:.8rem;color:#ffd166;display:block;letter-spacing:.3em}.ys-over-grid{display:grid;grid-template-columns:auto auto auto auto;gap:4px 14px;justify-content:center;color:var(--ys-dim);font-size:.78rem}.ys-over-grid b{color:var(--ys-ink)}.ys-over-missions{list-style:none;margin:0;padding:0;font-size:.8rem;color:var(--ys-dim);text-align:left}.ys-over-missions .done{color:var(--ys-acc)}.ys-exmodal-btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.ys-panelhost{display:none;position:fixed;inset:0;z-index:40;background:#05070aa8;backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:20px}.ys-panelhost.show{display:flex}.ys-panel{background:#14171e;border:1px solid #2a3040;border-radius:16px;width:min(640px,100%);max-height:min(84vh,900px);display:flex;flex-direction:column;overflow:hidden}.ys-panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #262c3a}.ys-panel-head h2{margin:0;font-size:1.05rem;letter-spacing:.06em}.ys-close{background:transparent;border:1px solid #333b4c;color:var(--ys-dim);width:32px;height:32px;border-radius:8px}.ys-panel-body{padding:14px 18px 22px;overflow-y:auto}.ys-group{margin-bottom:18px}.ys-group h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ys-acc2);margin:0 0 8px}.ys-row{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:.88rem}.ys-row>span:first-child{flex:0 0 46%;color:var(--ys-ink)}.ys-row input[type=range]{flex:1;accent-color:var(--ys-acc)}.ys-row select,.ys-row input[type=text]{flex:1;background:#1c212c;color:var(--ys-ink);border:1px solid #2f374a;border-radius:7px;padding:6px 8px;font-family:inherit}.ys-val{min-width:38px;text-align:right;color:var(--ys-dim);font-size:.8rem;font-family:Consolas,monospace}.ys-row-check{gap:10px}.ys-row-check input{width:17px;height:17px;accent-color:var(--ys-acc)}.ys-note{color:var(--ys-dim);font-size:.84rem;line-height:1.5;margin:6px 0}.ys-btn{background:#1d2430;border:1px solid #313a4e;color:var(--ys-ink);border-radius:9px;padding:8px 14px;font-family:inherit;font-size:.86rem;margin-top:6px}.ys-btn:hover{border-color:var(--ys-acc);color:var(--ys-acc)}.ys-btn-primary{background:#24351c;border-color:var(--ys-acc);color:var(--ys-acc);font-weight:700}.ys-btn-danger{border-color:#5c2c2c;color:var(--ys-danger)}.ys-remap{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.ys-remap-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.82rem;color:var(--ys-dim)}.ys-remap-key{background:#1c212c;border:1px solid #2f374a;color:var(--ys-acc2);border-radius:6px;padding:4px 8px;font-family:Consolas,monospace;font-size:.74rem;min-width:92px}.ys-remap-key.waiting{border-color:#ffd166;color:#ffd166}.ys-shellgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.ys-shell{display:flex;flex-direction:column;gap:5px;align-items:flex-start;background:#191e28;border:1px solid #2b3242;border-radius:10px;padding:9px;text-align:left;font-family:inherit;color:var(--ys-ink)}.ys-shell .sw{width:100%;height:26px;border-radius:6px;border:1px solid rgba(255,255,255,.12)}.ys-shell .nm{font-size:.8rem;font-weight:600}.ys-shell .un{font-size:.68rem;color:var(--ys-dim)}.ys-shell.active{border-color:var(--ys-acc);box-shadow:0 0 10px #9ce85c40}.ys-shell.locked{opacity:.55}.ys-swatches{display:flex;gap:8px;flex-wrap:wrap}.ys-swatch{width:32px;height:32px;border-radius:50%;border:2px solid transparent}.ys-swatch.active{border-color:#fff;box-shadow:0 0 10px currentColor}.ys-stats{display:grid;grid-template-columns:auto auto;gap:4px 18px;font-size:.86rem;color:var(--ys-dim)}.ys-stats b{color:var(--ys-ink);text-align:right}.ys-table{width:100%;border-collapse:collapse;font-size:.82rem}.ys-table th{text-align:left;color:var(--ys-dim);font-weight:600;padding:4px 8px;border-bottom:1px solid #2a3040}.ys-table td{padding:4px 8px;border-bottom:1px solid #1e2430}.ys-table tr:nth-child(1) td{color:#ffd166;font-weight:700}.ys-complist{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.ys-initials{width:74px;text-align:center;font-size:1.1rem;letter-spacing:.2em;background:#1c212c;color:var(--ys-acc);border:1px solid #2f374a;border-radius:8px;padding:8px 4px;font-family:Consolas,monospace;text-transform:uppercase}.ys-testgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;margin:10px 0}.ys-testkey{background:#191e28;border:1px solid #2b3242;color:var(--ys-dim);border-radius:8px;text-align:center;padding:10px 4px;font-family:Consolas,monospace;font-size:.78rem;transition:background .15s ease}.ys-testkey.seen{border-color:var(--ys-acc);color:var(--ys-acc)}.ys-testkey.hit{background:#9ce85c59;color:#fff}.ys-testlog{font-family:Consolas,monospace;color:var(--ys-acc2);font-size:.82rem}.ys-exmode{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;text-align:left;background:#171d15;border:1px solid #2c3a24;color:var(--ys-ink);border-radius:10px;padding:11px 13px;margin-bottom:7px;font-family:inherit}.ys-exmode:hover{border-color:var(--ys-acc)}.ys-exmode b{color:var(--ys-acc);letter-spacing:.06em}.ys-exmode span{font-size:.8rem;color:var(--ys-dim)}.ys-exmode em{font-size:.72rem;font-style:normal;color:var(--ys-acc2)}.ys-themegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.ys-theme{display:flex;flex-direction:column;gap:3px;text-align:left;background:linear-gradient(160deg,var(--th-b, #101812),#0b0e0a 70%);border:1px solid #2b3242;color:var(--ys-ink);border-radius:10px;padding:10px;font-family:inherit}.ys-theme:hover{border-color:var(--th-a, var(--ys-acc))}.ys-theme b{color:var(--th-a, var(--ys-acc));font-size:.84rem}.ys-theme span{font-size:.7rem;color:var(--ys-dim);line-height:1.35}.ys-theme em{font-size:.68rem;font-style:normal;color:var(--ys-acc2)}.ys-powgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px}.ys-pow{display:flex;gap:9px;align-items:center;background:#151a13;border:1px solid #253020;border-radius:8px;padding:7px 9px}.ys-pow canvas{image-rendering:pixelated;flex:0 0 21px}.ys-pow b{display:block;font-size:.76rem;color:var(--ys-acc)}.ys-pow span{font-size:.68rem;color:var(--ys-dim);line-height:1.3}.ys-toasts{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none}.ys-toast{background:#0c100aeb;border:1px solid var(--ys-acc);color:var(--ys-acc);border-radius:9px;padding:8px 16px;font-size:.84rem;letter-spacing:.06em;opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease}.ys-toast.show{opacity:1;transform:translateY(0)}.ys-reduced-motion .ys-phone.buzzing{animation:none}.ys-reduced-motion .ph-key,.ys-reduced-motion .ys-toast,.ys-reduced-motion .ys-banner{transition:none}@media(max-width:680px){.ys-topbar{gap:8px;padding:6px 8px}.ys-title{display:none}.ys-topnav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ys-topnav::-webkit-scrollbar{display:none}.ys-topnav button{padding:5px 8px;font-size:.76rem;white-space:nowrap;flex:0 0 auto}.ys-panelhost{padding:0}.ys-panel{width:100%;height:100%;max-height:none;border-radius:0}.ys-hud{top:46px}.ys-missions{display:none}.ys-remap{grid-template-columns:1fr}}@media(max-height:560px)and (orientation:landscape){.ys-topbar{position:fixed;top:0;left:0;right:0}#ys-stage{padding-top:46px}.ys-phone{width:calc(min(96vw,(100dvh - 54px) * .47368) * var(--ys-phone-scale));max-width:none}}
