*{box-sizing:border-box}[hidden]{display:none!important}body.ss{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}header.page{display:flex;align-items:center;gap:16px;padding-top:14px;width:100%}header.page .ss-home{white-space:nowrap;transition:color .2s}header.page .ss-home:hover{color:var(--ss-green)}.ss header.page h1{margin:0;white-space:nowrap;font:600 19px/1 var(--ss-nav);letter-spacing:0;color:var(--ss-ink)}header.page h1:before{content:"";display:inline-block;width:1px;height:18px;margin-right:16px;vertical-align:-3px;background:var(--ss-line)}header.page .spacer{flex:1}header.page .core-link{font-size:14px;color:var(--ss-muted);text-decoration:none;white-space:nowrap;padding:12px 0}header.page .core-link:hover{color:var(--ss-green);text-decoration:underline}@media(max-width:520px){header.page .core-link{display:none}}.shelf{width:100%;padding-top:20px}.shelf-card{padding:16px 20px 12px}.shelf-head{display:flex;align-items:baseline;gap:8px 16px;flex-wrap:wrap}.ss .shelf-head h2{font:600 19px/1.35 var(--ss-nav);letter-spacing:0;color:var(--ss-ink)}.shelf-head p{color:var(--ss-muted);font-size:14px}.shelf-head .spacer{flex:1}.shelf-head .ss-btn{min-height:44px;align-self:center}.shelf-row{display:flex;gap:12px;align-items:flex-start;overflow-x:auto;padding:12px 4px 8px;margin-inline:-4px}.shelf-row.dragging{outline:2px dashed var(--ss-green);outline-offset:2px;border-radius:var(--ss-radius)}.shelf-note{color:var(--ss-muted);font-size:14px;padding:6px 0}.shelf-note:empty{display:none}.stage{position:relative;height:540px;margin-top:12px;overflow:hidden;border-radius:var(--ss-radius);transition:height .7s var(--ss-ease);background:radial-gradient(80% 70% at 50% 12%,#fff,#fff0 72%),linear-gradient(180deg,#f6f6f4,#ecece9,#e2e2de);touch-action:pan-y}.stage canvas{display:block;width:100%;height:100%}.stage-wrap{position:relative}.stage-wrap .eject{position:absolute;right:12px;bottom:12px;min-height:40px}.now{display:none;position:absolute;left:20px;top:14px;bottom:14px;width:min(34%,320px);flex-direction:column;justify-content:center;gap:2px;pointer-events:none}body.playing .now{display:flex}.now b{font:800 26px/1.05 var(--ss-head);letter-spacing:-.02em;color:var(--ss-green-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now span{font:600 15px/1.35 var(--ss-nav);color:var(--ss-ink)}.now p{font-size:13px;line-height:1.4;color:var(--ss-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.now .now-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.now-tags i{font-style:normal;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--ss-card);border:1px solid var(--ss-line);color:var(--ss-ink)}.stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,#07070700 60%,#0707071a)}body.playing .shelf-head,body.playing .shelf-bar,body.playing .shelf-note{display:none}body.playing .shelf-card{padding:0;overflow:hidden}body.playing .stage{margin-top:0;border-radius:0}body.playing .stage{height:190px}body:not(.playing):not(.embed) main:not(.review){display:none}body.playing main:not(.review){animation:screen-out .6s var(--ss-ease) both}@keyframes screen-out{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.shelf-bar{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;padding-top:8px}.shelf-bar .shelf-act{flex:1;padding-top:0}.shelf-bar .ss-btn{min-height:44px}.shelf-bar .ss-btn:disabled{opacity:.45;cursor:default;transform:none}.shelf-row.sr{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.shelf-head .file{min-height:44px;align-self:center}label.file input{display:none}label.file:focus-within{outline:2px solid var(--ss-green);outline-offset:2px}.shelf-row{padding:20px 8px 10px;gap:0}.cart{position:relative;flex:none;margin-right:-34px;--d: 20px}.cart:hover,.cart:focus-within{z-index:90!important}.cart.selected{z-index:80!important}.cart-body{display:block;padding:12px 18px 10px 8px;border:0;background:none;cursor:pointer;font:inherit;color:inherit;text-align:left;perspective:560px;border-radius:var(--ss-radius)}.c3d{position:relative;display:block;width:112px;height:156px;transform-style:preserve-3d;transform:rotateX(-9deg) rotateY(-30deg);transition:transform .3s var(--ss-ease);filter:drop-shadow(0 10px 8px rgba(7,7,7,.22))}.cart-body:hover .c3d{transform:rotateX(-4deg) rotateY(-10deg) translateY(-6px)}.cart.selected .c3d{transform:rotateX(-5deg) rotateY(-14deg) translateY(-12px)}.c-front,.c-side,.c-top{position:absolute}.c-front{inset:0;transform:translateZ(calc(var(--d) / 2));display:flex;flex-direction:column;align-items:stretch;padding:5px 7px 0;border-radius:10px 10px 4px 4px;border:1px solid var(--shell-dark);background:linear-gradient(90deg,#ffffff42,#fff0 22%,#0000001a),repeating-linear-gradient(0deg,#ffffff09 0 1px,#00000009 1px 2px),linear-gradient(180deg,var(--shell-light),var(--shell) 14%,var(--shell) 84%,var(--shell-dark));box-shadow:inset 0 0 0 1px #ffffff38}.c-side{top:6px;bottom:2px;left:calc(50% - var(--d) / 2);width:var(--d);transform:rotateY(90deg) translateZ(56px);background:linear-gradient(90deg,var(--shell-dark),#000 140%);border:1px solid var(--shell-dark)}.c-top{left:6px;right:4px;top:calc(50% - var(--d) / 2);height:var(--d);transform:rotateX(90deg) translateZ(78px);background:linear-gradient(180deg,var(--shell-light),var(--shell));border:1px solid var(--shell-dark)}.c-grip{height:9px;margin:2px 26px 4px;background:repeating-linear-gradient(180deg,rgba(0,0,0,.32) 0 1.5px,rgba(255,255,255,.3) 1.5px 2.2px,transparent 2.2px 3px)}.c-label{display:block;padding:2px;border-radius:4px;background:#0006;box-shadow:0 1px #ffffff59}.c-label canvas{display:block;width:100%;aspect-ratio:176 / 200;image-rendering:pixelated;border-radius:2px}.c-front small{min-height:12px;margin-top:2px;font:600 9px/12px var(--ss-body);letter-spacing:.04em;text-transform:uppercase;text-align:center;color:var(--on-shell);white-space:nowrap;overflow:hidden}.cart-pins{margin:auto 16px 0;height:11px;padding:0 3px;border-radius:2px 2px 0 0;background-color:#00000073;background-image:repeating-linear-gradient(90deg,#ffe08a 0 1px,var(--ss-gold) 1px 4px,transparent 4px 7px);background-origin:content-box;background-clip:content-box,border-box;background-size:auto 9px;background-position:bottom;background-repeat:repeat-x}.cart.selected .c-front{box-shadow:inset 0 0 0 1px #ffffff38,0 0 0 2px var(--ss-card),0 0 0 4px var(--ss-green-dark)}.cart.add{margin-left:52px;margin-right:0;cursor:pointer}.cart.add .c3d{filter:none}.cart.add .c-front{background:transparent;box-shadow:none;border:1px dashed var(--ss-muted);justify-content:center;padding:10px;gap:4px}.cart.add .c-front b{font:600 13px/1.25 var(--ss-nav);color:var(--ss-ink)}.cart.add .c-front small{min-height:0;margin:0;white-space:normal;text-align:left;text-transform:none;letter-spacing:0;font:400 11px/1.3 var(--ss-body);color:var(--ss-muted)}.cart.add input{position:absolute;width:1px;height:1px;opacity:0}.cart.add:focus-within .cart-body{outline:2px solid var(--ss-green);outline-offset:2px}.shelf-act{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:44px;padding-top:8px;font-size:14px}.shelf-act:empty{display:none}.act-name{margin-right:auto;color:var(--ss-muted)}.act-name b{font:600 16px var(--ss-nav);color:var(--ss-ink)}.act-name small{margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--ss-bg-soft);color:var(--ss-ink);font-size:12px;font-weight:600}.shelf-act button{min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--ss-line);background:var(--ss-card);color:var(--ss-ink);cursor:pointer;font:600 13px var(--ss-body)}.shelf-act button:hover{background:var(--ss-bg-soft)}main{width:100%;display:grid;grid-template-columns:minmax(0,900px);justify-content:center;gap:20px;align-items:start;padding-block:16px 48px}body.debug main:not(.review){grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);justify-content:stretch}@media(max-width:760px){.console{grid-template-columns:1fr 1fr;grid-template-areas:"face face" "left right";gap:20px 8px;padding:16px 14px 22px;border-radius:30px 30px 44px 44px}.console .face{grid-area:face}.console .deck.left{grid-area:left}.console .deck.right{grid-area:right}.grille{display:none}}body.debug .console{grid-template-columns:1fr 1fr;grid-template-areas:"face face" "left right";gap:20px 8px}body.debug .console .face{grid-area:face}body.debug .console .deck.left{grid-area:left}body.debug .console .deck.right{grid-area:right}body.debug .grille{display:none}.keys .link{margin-left:8px;padding:6px 4px;border:0;background:none;cursor:pointer;color:var(--ss-muted);font:500 14px var(--ss-body);text-decoration:underline}.keys .link:hover{color:var(--ss-ink)}.panel .bar{margin-top:0}.play{min-width:0}.console{position:relative;z-index:1}.console{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,54%) minmax(150px,1fr);align-items:center;gap:8px;padding:44px 20px 30px;min-width:0;border-radius:44px 44px 60px 60px;border:1px solid rgba(7,7,7,.16);background:linear-gradient(90deg,#ffffffb3,#fff0 14% 86%,#0707070d),linear-gradient(180deg,#fbfbfa,#efefec 62%,#e1e1dd);box-shadow:var(--ss-shadow),0 18px 30px #0707071a,inset 0 1px #fff,inset 0 -6px 10px #0707070f}.console:before,.console:after{content:"";position:absolute;top:14px;height:15px;width:17%;background:repeating-linear-gradient(180deg,rgba(7,7,7,.16) 0 2px,rgba(255,255,255,.9) 2px 3px,transparent 3px 6px);border-radius:3px}.console:before{left:7%}.console:after{right:7%}.deck{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;user-select:none;touch-action:none}.face{min-width:0}.screen{position:relative;background:#17181a;border-radius:18px;padding:20px;box-shadow:inset 0 2px 6px #0009,0 1px #fff}.screen canvas{display:block;width:100%;aspect-ratio:160 / 128;image-rendering:pixelated;background:#000;border-radius:4px;outline:none}.screen canvas:focus-visible{outline:2px solid var(--ss-green);outline-offset:2px}.drop-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font:500 13px var(--ss-mono);pointer-events:none}.drop-hint[hidden]{display:none}.under{display:flex;align-items:center;gap:10px;margin-top:14px;padding:0 6px}.lamp{width:10px;height:10px;border-radius:50%;background:#c9c9c5;box-shadow:inset 0 1px 2px #00000059}body.on .lamp{background:var(--ss-gold);box-shadow:0 0 0 3px #ffba0038,inset 0 1px 1px #ffffffb3}.mark{margin-right:auto;font:800 17px/1 var(--ss-head);letter-spacing:-.02em;color:var(--ss-green-dark)}.dpad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);filter:drop-shadow(0 3px 0 rgba(7,7,7,.28))}.dpad button,.dpad .hub{background:#2b2e31;border:0;padding:0;cursor:pointer;position:relative}.dpad .hub{grid-column:2;grid-row:2;background:radial-gradient(circle at 50% 45%,#3a3e42 0 38%,#2b2e31 40%)}.dpad .up{grid-column:2;grid-row:1;border-radius:9px 9px 0 0}.dpad .left{grid-column:1;grid-row:2;border-radius:9px 0 0 9px}.dpad .right{grid-column:3;grid-row:2;border-radius:0 9px 9px 0}.dpad .down{grid-column:2;grid-row:3;border-radius:0 0 9px 9px}.dpad button:after{content:"";position:absolute;inset:0;margin:auto;width:0;height:0;border:7px solid transparent}.dpad .up:after{border-bottom-color:#6b7075;border-top-width:0}.dpad .down:after{border-top-color:#6b7075;border-bottom-width:0}.dpad .left:after{border-right-color:#6b7075;border-left-width:0}.dpad .right:after{border-left-color:#6b7075;border-right-width:0}.dpad button.on{background:var(--ss-green-dark)}.dpad button.on:after{filter:brightness(3)}.dpad button:focus-visible,.ab .round:focus-visible,.start:focus-visible{outline:2px solid var(--ss-green);outline-offset:3px}.ab{display:flex;gap:14px;align-items:flex-end;transform:rotate(-22deg)}.ab .round{width:62px;height:62px;border-radius:50%;border:0;cursor:pointer;padding:0;font:800 20px/1 var(--ss-head);transform:rotate(22deg);box-shadow:0 4px #0707074d,inset 0 2px #ffffff59;transition:transform .08s,box-shadow .08s}.ab .a{background:var(--ss-gold);color:#3a2a00}.ab .b{background:var(--ss-green-dark);color:#fff}.ab .round.on{transform:rotate(22deg) translateY(3px);box-shadow:0 1px #0707074d,inset 0 2px 4px #00000040}.grille{width:62px;height:34px;background:repeating-linear-gradient(115deg,rgba(7,7,7,.22) 0 3px,transparent 3px 9px);border-radius:6px}.start{min-height:30px;padding:0 18px;border-radius:999px;border:0;cursor:pointer;background:#2b2e31;color:#fdfdfd;font:600 12px var(--ss-body);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 3px #07070747}.start.on{transform:translateY(2px);box-shadow:0 1px #07070747;background:var(--ss-green-dark)}.keys{margin-top:14px;color:var(--ss-muted);font-size:14px;text-align:center}.panels{display:grid;gap:12px;min-width:0}.panel{padding:16px 20px;min-width:0}.ss .panel h2{display:flex;align-items:center;gap:12px;margin-bottom:8px;font:600 19px/1.35 var(--ss-nav);letter-spacing:0;color:var(--ss-ink)}.panel input{width:5.5em;padding:4px 10px;border:1px solid var(--ss-line);border-radius:999px;background:var(--ss-bg);color:var(--ss-ink);font:500 13px var(--ss-mono);text-transform:uppercase}.panel .small{margin-left:auto;padding:4px 14px;border-radius:999px;cursor:pointer;border:1px solid var(--ss-line);background:var(--ss-card);color:var(--ss-ink);font:600 13px var(--ss-body)}.panel .small:hover{background:var(--ss-bg-soft)}.ss .panel pre{margin:0;font-size:12px;line-height:1.5;white-space:pre;overflow-x:auto;color:var(--ss-fg)}#disasm{margin-top:8px;color:var(--ss-muted)}#disasm .pc{color:var(--ss-ink);background:var(--ss-bg-soft);border-radius:4px}#log{max-height:15em;overflow-y:auto}#log .fr{color:var(--ss-muted)}.library{width:min(980px,calc(100vw - 32px));max-height:min(88vh,940px);padding:20px;border:1px solid var(--ss-line);border-radius:var(--ss-radius-lg);background:var(--ss-card);color:var(--ss-fg);box-shadow:var(--ss-shadow);overscroll-behavior:contain}.library::backdrop{background:#07070773}.lib-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ss .lib-head h2{font:600 19px/1.35 var(--ss-nav);letter-spacing:0;color:var(--ss-ink)}.lib-tools{display:flex;gap:8px;margin-top:12px}.lib-tools input,.lib-tools select{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--ss-line);background:var(--ss-bg);color:var(--ss-ink);font:400 16px var(--ss-body)}.lib-tools input{flex:1;min-width:0}.lib-tools input:focus-visible,.lib-tools select:focus-visible{outline:2px solid var(--ss-green);outline-offset:2px}.lib-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.lib-tags button{padding:6px 12px;border-radius:999px;border:1px solid var(--ss-line);cursor:pointer;background:var(--ss-card);color:var(--ss-ink);font:500 13px var(--ss-body)}.lib-tags button small{color:var(--ss-muted);font-size:12px}.lib-tags button[aria-pressed=true]{background:var(--ss-green-dark);border-color:var(--ss-green-dark);color:#fff}.lib-tags button[aria-pressed=true] small{color:#fff}.lib-count{margin-top:12px;color:var(--ss-muted);font-size:14px}.lib-list{list-style:none;margin:8px 0 12px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.lib-list li{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--ss-line)}.lib-list li.lib-none{display:block;grid-column:1 / -1}.shop-cart{display:block;padding:9px 6px 10px;border-radius:9px 9px 4px 4px;border:1px solid var(--shell-dark);background:linear-gradient(90deg,#ffffff47,#fff0 24%,#0000001f),linear-gradient(180deg,var(--shell-light),var(--shell) 16%,var(--shell) 84%,var(--shell-dark));box-shadow:inset 0 0 0 1px #ffffff38,0 6px 10px #07070724;background-clip:padding-box}.shop-cart canvas{display:block;width:100%;aspect-ratio:176 / 200;image-rendering:pixelated;border-radius:2px;box-shadow:0 0 0 2px #00000061}.shop-cart:after{content:"";display:block;height:7px;margin:8px 12px 0;background:repeating-linear-gradient(90deg,var(--ss-gold) 0 3px,transparent 3px 6px)}.lib-main .shop-by{display:block;font:600 14px/1.3 var(--ss-nav);color:var(--ss-green-dark);margin:1px 0 3px}.lib-main b{display:block;font-size:18px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-main .now-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}@media(max-width:760px){.lib-list{grid-template-columns:minmax(0,1fr)}}.lib-main{flex:1;min-width:0}.lib-main b{font:600 16px/1.3 var(--ss-nav);color:var(--ss-ink);margin-right:8px}.lib-main span,.lib-main p{color:var(--ss-muted);font-size:14px}.lib-main .lib-game-tags{font-size:13px}.lib-act{display:flex;gap:8px;flex:none}.lib-act .ss-btn{min-height:44px}.lib-act .ss-btn[aria-pressed=true]{color:var(--ss-green-dark)}.lib-none{color:var(--ss-muted)}.publish{width:min(520px,calc(100vw - 32px))}.publish form,.review-login{display:grid;gap:12px}.pub-lede,.pub-note{color:var(--ss-muted);font-size:14px}.pub-note:empty{display:none}.publish label,.review-login label{display:grid;gap:4px;font-size:14px;font-weight:600;color:var(--ss-ink)}.publish input,.review-login input,.review-row input{min-height:44px;padding:0 14px;border-radius:var(--ss-radius);border:1px solid var(--ss-line);background:var(--ss-bg);color:var(--ss-ink);font:400 16px var(--ss-body)}.publish input:focus-visible,.review-login input:focus-visible,.review-row input:focus-visible{outline:2px solid var(--ss-green);outline-offset:2px}.pub-act{display:flex;justify-content:flex-end;gap:8px}.pub-act .ss-btn{min-height:44px}.pub-act .ss-btn:disabled{opacity:.45;cursor:default;transform:none}main.review{display:block}.review-login{max-width:420px;padding:20px}.review-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.review-list,.review-play{padding:20px;min-width:0}.ss .review h2{font:600 19px/1.35 var(--ss-nav);letter-spacing:0;color:var(--ss-ink)}.review h2 span{color:var(--ss-muted);font-weight:500}.review ul{list-style:none;margin:4px 0 24px;padding:0}.review-row{padding:12px 0;border-bottom:1px solid var(--ss-line)}.review-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.review-act .ss-btn{min-height:44px}.review-act input{flex:1;min-width:160px}.review-play iframe{width:100%;height:700px;border:0;margin-top:8px;border-radius:var(--ss-radius)}@media(max-width:820px){.review-cols{grid-template-columns:minmax(0,1fr)}}.ss-footer{margin-top:auto}body.embed header,body.embed .shelf,body.embed .panels,body.embed .keys,body.embed .ss-footer{display:none}body.embed main{grid-template-columns:minmax(0,1fr);padding:8px}@media(max-width:820px){main,body.debug main:not(.review){grid-template-columns:minmax(0,1fr)}}@media(max-width:480px){.lib-list li{grid-template-columns:72px minmax(0,1fr)}.lib-list .lib-act{grid-column:1 / -1}.now{width:52%;left:12px}.now b{font-size:19px}.now p:not(.now-tags){display:none}.stage{height:400px}body.playing .stage{height:150px}}@media(max-width:420px){header.page .ss-home span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}@media(prefers-reduced-motion:reduce){.stage{transition:none}body.playing main:not(.review){animation:none}}@media(prefers-reduced-motion:reduce){.c3d,.ab .round,header.page .ss-home{transition:none}}
