.px-root{background:radial-gradient(ellipse 120% 60% at 50% -10%,var(--nebula-glow,#6b4e7133),transparent 60%),var(--void,#0a0a0f);min-height:100vh;color:var(--moon,#e8e8e8)}.px-main{max-width:var(--max-w,1400px);padding:calc(var(--nav-h,60px) + var(--s5,24px))var(--s5,24px)var(--s7,48px);margin:0 auto}.px-shelf-head{text-align:center;padding:var(--s6,32px)0 var(--s5,24px);position:relative}.px-shelf-title{letter-spacing:.04em;margin:0;font-size:clamp(2rem,5vw,3.2rem)}.px-shelf-title-x{color:var(--circuit,#4ecdc4);text-shadow:0 0 24px var(--circuit-glow,#4ecdc466)}.px-shelf-sub{color:var(--moon-dim,#9b9b9b);margin:var(--s2,8px)0 0}.px-version-chip{right:0;top:var(--s4,16px);border:1px solid var(--moon-faint,#3a3a4a);color:var(--moon-dim,#9b9b9b);cursor:pointer;transition:color var(--dur-fast,.12s),border-color var(--dur-fast,.12s);-webkit-user-select:none;user-select:none;background:0 0;border-radius:999px;padding:3px 10px;font-size:.72rem;position:absolute}.px-version-chip:hover{color:var(--moon,#e8e8e8)}.px-version-chip--dev{border-color:var(--amber,#ff8c42);color:var(--amber,#ff8c42)}.px-shelf-loading,.px-shelf-error{text-align:center;padding:var(--s7,48px)0;color:var(--moon-dim,#9b9b9b)}.px-shelf-error{color:#e07070}.px-blink{color:var(--circuit,#4ecdc4);animation:1s steps(2,end) infinite px-blink}@keyframes px-blink{50%{opacity:0}}.px-cart-grid{gap:var(--s5,24px);padding:var(--s4,16px)0;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.px-cart{--cart-accent:var(--circuit,#4ecdc4);text-align:left;background:linear-gradient(165deg,var(--void-3,#14141f),var(--void-2,#0f0f18));border:1px solid var(--moon-faint,#3a3a4a);border-top:3px solid var(--cart-accent);padding:var(--s4,16px);cursor:pointer;color:inherit;opacity:0;animation:px-cart-in var(--dur-slow,.6s)var(--ease-out,ease)forwards;transition:transform var(--dur-mid,.28s)var(--ease-out,ease),box-shadow var(--dur-mid,.28s);border-radius:10px 10px 14px 14px;flex-direction:column;display:flex;position:relative}@keyframes px-cart-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.px-cart:hover,.px-cart:focus-visible{box-shadow:0 18px 40px #00000080,0 0 0 1px var(--cart-accent),0 0 32px color-mix(in srgb,var(--cart-accent)22%,transparent);outline:none;transform:translateY(-6px)rotate(-.4deg)}.px-cart-notch{background:var(--void,#0a0a0f);border:1px solid var(--moon-faint,#3a3a4a);border-top:none;border-radius:0 0 8px 8px;width:38%;height:10px;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.px-cart-ridges{background:repeating-linear-gradient(180deg,var(--moon-faint,#3a3a4a)0 2px,transparent 2px 7px);opacity:.5;width:4px;position:absolute;top:14px;bottom:14px;left:5px}.px-cart-label{border:1px solid var(--moon-faint,#3a3a4a);aspect-ratio:16/9;margin-bottom:var(--s3,12px);background:var(--void-2,#0f0f18);border-radius:6px;display:block;position:relative;overflow:hidden}.px-cart-cover{object-fit:cover;width:100%;height:100%;display:block}.px-cart-cover--text{letter-spacing:.3em;color:var(--cart-accent);background:repeating-linear-gradient(0deg,transparent 0 3px,#ffffff05 3px 4px),radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--cart-accent)16%,transparent),transparent 70%),var(--void-2,#0f0f18);justify-content:center;align-items:center;font-size:2rem;display:flex}.px-cart-shine{transition:transform .7s var(--ease-out,ease);pointer-events:none;background:linear-gradient(115deg,#0000 30%,#ffffff24 48%,#0000 62%);position:absolute;inset:0;transform:translate(-120%)}.px-cart:hover .px-cart-shine{transform:translate(120%)}.px-cart-name{font-size:1.1rem;font-weight:700;display:block}.px-cart-name-en{color:var(--moon-dim,#9b9b9b);margin-top:2px;font-size:.8rem;display:block}.px-cart-badges{gap:var(--s2,8px);margin:var(--s2,8px)0;flex-wrap:wrap;display:flex}.px-badge{border:1px solid var(--moon-faint,#3a3a4a);color:var(--moon-dim,#9b9b9b);border-radius:999px;padding:2px 8px;font-size:.68rem}.px-badge--level{border-color:var(--cart-accent);color:var(--cart-accent)}.px-badge--rating{opacity:.8}.px-cart-desc{color:var(--moon-dim,#9b9b9b);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.55;display:-webkit-box;overflow:hidden}.px-cart-play{margin-top:var(--s3,12px);color:var(--cart-accent);opacity:0;transition:opacity var(--dur-fast,.12s),transform var(--dur-fast,.12s);font-size:.82rem;font-weight:600;transform:translateY(4px)}.px-cart:hover .px-cart-play,.px-cart:focus-visible .px-cart-play{opacity:1;transform:none}.px-shelf-foot{text-align:center;color:var(--moon-faint,#6a6a7a);margin-top:var(--s7,48px);font-size:.78rem}.px-shelf-foot a{color:var(--moon-dim,#9b9b9b)}.px-stage{justify-content:center;display:flex}.px-console{--cart-accent:var(--circuit,#4ecdc4);background:linear-gradient(180deg,var(--void-3,#14141f),var(--void-2,#0f0f18));border:1px solid var(--moon-faint,#3a3a4a);border-radius:18px;width:min(100%,1040px);overflow:hidden;box-shadow:0 24px 60px #0000008c,inset 0 1px #ffffff0d}.px-console-top{align-items:center;gap:var(--s3,12px);padding:var(--s3,12px)var(--s4,16px);border-bottom:1px solid var(--moon-faint,#3a3a4a);display:flex}.px-console-title{text-align:center;flex:1;min-width:0}.px-console-title strong{letter-spacing:.06em;font-size:.95rem}.px-console-title-en{color:var(--moon-dim,#9b9b9b);margin-left:var(--s2,8px);font-size:.72rem}.px-eject{border:1px solid var(--moon-faint,#3a3a4a);color:var(--moon-dim,#9b9b9b);cursor:pointer;min-height:34px;transition:color var(--dur-fast,.12s),border-color var(--dur-fast,.12s),transform var(--dur-fast,.12s);background:0 0;border-radius:8px;padding:6px 12px}.px-eject:hover{color:var(--moon,#e8e8e8);border-color:var(--moon-dim,#9b9b9b);transform:translateY(-1px)}.px-led{color:var(--moon-dim,#9b9b9b);align-items:center;gap:6px;font-size:.72rem;display:flex}.px-led-dot{background:var(--moon-faint,#3a3a4a);border-radius:50%;width:9px;height:9px}.px-led--pending .px-led-dot{background:var(--amber,#ff8c42);animation:1s infinite px-led-pulse}.px-led--hosted .px-led-dot{background:var(--circuit,#4ecdc4);box-shadow:0 0 8px var(--circuit-glow,#4ecdc480)}.px-led--standalone .px-led-dot{background:var(--moon-dim,#9b9b9b)}.px-led--error .px-led-dot{background:#e05050;animation:.5s infinite px-led-pulse}@keyframes px-led-pulse{50%{opacity:.35}}.px-screen{aspect-ratio:16/10;background:#000;position:relative;overflow:hidden}.px-screen:fullscreen{aspect-ratio:auto}.px-iframe{width:100%;height:100%;animation:px-power-on .55s var(--ease-out,ease);background:#000;border:0;display:block}@keyframes px-power-on{0%{filter:brightness(6);transform:scaleY(.004)scaleX(.6)}45%{filter:brightness(4);transform:scaleY(.012)scaleX(1)}to{filter:none;transform:none}}.px-scanlines{pointer-events:none;opacity:.18;mix-blend-mode:multiply;background:repeating-linear-gradient(0deg,#0000 0 2px,#00000080 2px 3px);position:absolute;inset:0}.px-screen-error{justify-content:center;align-items:center;gap:var(--s3,12px);color:var(--moon-dim,#9b9b9b);text-align:center;padding:var(--s5,24px);flex-direction:column;display:flex;position:absolute;inset:0}.px-screen-error-icon{margin:0;font-size:2rem}.px-boot{background:var(--void,#0a0a0f);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.px-boot-cart{text-align:center;width:200px;position:relative}.px-boot-cart-cover{aspect-ratio:16/10;object-fit:cover;border:2px solid var(--cart-accent);width:180px;animation:px-insert 1.05s var(--ease-io,ease)forwards;border-radius:8px 8px 3px 3px;box-shadow:0 8px 30px #0009}.px-boot-cart-cover--blank{background:var(--void-3,#14141f);width:180px;display:inline-block}@keyframes px-insert{0%{opacity:0;transform:translateY(-90px)rotate(-2deg)}35%{opacity:1;transform:translateY(-20px)rotate(0)}70%{transform:translateY(28px)}82%{transform:translateY(22px)}to{opacity:1;transform:translateY(30px)}}.px-boot-slot{border:1px solid var(--moon-faint,#3a3a4a);background:linear-gradient(180deg,#000,var(--void-2,#0f0f18));border-radius:4px;width:210px;height:14px;margin:44px auto 0;box-shadow:inset 0 3px 8px #000}.px-boot-crt{text-align:center;animation:.9s steps(6,end) px-crt-flicker}.px-boot-logo{letter-spacing:.12em;color:var(--cart-accent);text-shadow:0 0 30px color-mix(in srgb,var(--cart-accent)60%,transparent);font-size:2.4rem;font-weight:800;display:block}.px-boot-sub{color:var(--moon-dim,#9b9b9b);letter-spacing:.2em;font-size:.8rem}@keyframes px-crt-flicker{0%{opacity:0}30%{opacity:1}45%{opacity:.3}60%{opacity:1}}.px-deck{padding:var(--s3,12px)var(--s4,16px)var(--s4,16px);gap:var(--s3,12px);flex-direction:column;display:flex}.px-deck-row{align-items:center;gap:var(--s3,12px);flex-wrap:wrap;display:flex}.px-deck-spacer{flex:1}.px-btn{background:var(--void-2,#0f0f18);border:1px solid var(--moon-faint,#3a3a4a);color:var(--moon,#e8e8e8);cursor:pointer;min-height:44px;transition:border-color var(--dur-fast,.12s),transform var(--dur-fast,.12s);border-radius:8px;padding:8px 14px;font-size:.85rem}.px-btn:hover{border-color:var(--cart-accent);transform:translateY(-1px)}.px-btn:active{transform:translateY(1px)}.px-btn--sm{min-height:30px;padding:3px 10px;font-size:.75rem}.px-presets{gap:var(--s2,8px);flex-wrap:wrap;display:flex}.px-preset{border:1px solid var(--moon-faint,#3a3a4a);color:var(--moon-dim,#9b9b9b);cursor:pointer;min-height:40px;transition:all var(--dur-fast,.12s);background:0 0;border-radius:999px;padding:7px 16px;font-size:.82rem}.px-preset:hover{color:var(--moon,#e8e8e8);border-color:var(--moon-dim,#9b9b9b)}.px-preset.is-active{color:var(--void,#0a0a0f);background:var(--cart-accent);border-color:var(--cart-accent);font-weight:700}.px-chapters{position:relative}.px-chapter-now{align-items:center;gap:var(--s2,8px);color:var(--moon-dim,#9b9b9b);cursor:pointer;min-height:40px;transition:border-color var(--dur-fast,.12s);background:0 0;border:1px solid #0000;border-radius:8px;padding:7px 10px;font-size:.82rem;display:flex}.px-chapter-now:hover{border-color:var(--moon-faint,#3a3a4a)}.px-chapter-no{color:var(--cart-accent);font-weight:700}.px-chapter-name{color:var(--moon,#e8e8e8)}.px-chapter-caret{opacity:.6}.px-chapter-strip{z-index:30;gap:var(--s2,8px);background:var(--void-2,#0f0f18);border:1px solid var(--moon-faint,#3a3a4a);max-width:78vw;padding:var(--s3,12px);animation:px-pop var(--dur-fast,.12s)var(--ease-out,ease);border-radius:10px;flex-wrap:wrap;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 12px 30px #00000080}@keyframes px-pop{0%{opacity:0;transform:translateY(4px)}}.px-chapter-chip{border:1px solid var(--moon-faint,#3a3a4a);color:var(--moon-dim,#9b9b9b);cursor:pointer;background:0 0;border-radius:999px;min-height:32px;padding:5px 12px;font-size:.76rem}.px-chapter-chip.is-seen:hover{color:var(--moon,#e8e8e8);border-color:var(--cart-accent)}.px-chapter-chip.is-active{color:var(--void,#0a0a0f);background:var(--cart-accent);border-color:var(--cart-accent);cursor:default}.px-chapter-chip.is-locked{opacity:.45;cursor:not-allowed}.px-root[data-dev="1"] .px-main{padding-bottom:46vh}.px-dev{z-index:80;border-top:1px solid var(--amber-dim,#cc6e2e);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0ff5;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;position:fixed;bottom:0;left:0;right:0}.px-dev-bar{align-items:center;gap:var(--s3,12px);padding:6px var(--s4,16px);flex-wrap:wrap;display:flex}.px-dev-toggle{color:var(--amber,#ff8c42);cursor:pointer;background:0 0;border:none;padding:6px 0;font-weight:700}.px-dev-stat{color:var(--moon-dim,#9b9b9b)}.px-dev-body{border-top:1px solid var(--moon-faint,#3a3a4a)}.px-dev-tabs,.px-dev-filters{gap:var(--s2,8px);padding:6px var(--s4,16px);flex-wrap:wrap;align-items:center;display:flex}.px-dev-tabbtn{border:1px solid var(--moon-faint,#3a3a4a);color:var(--moon-dim,#9b9b9b);cursor:pointer;background:0 0;border-radius:6px;padding:3px 10px;font-size:.74rem}.px-dev-tabbtn.is-active{color:var(--amber,#ff8c42);border-color:var(--amber,#ff8c42)}.px-dev-pane{max-height:34vh;padding:var(--s2,8px)var(--s4,16px)var(--s4,16px);overflow:auto}.px-dev-log{flex-direction:column;gap:2px;display:flex}.px-dev-empty{color:var(--moon-faint,#6a6a7a);padding:var(--s4,16px)0}.px-logline{gap:var(--s2,8px);line-height:1.5;display:flex}.px-logsrc{color:var(--moon-faint,#8a8a9a);flex:0 0 52px}.px-logline--src-asset .px-logsrc{color:var(--circuit-dim,#2fa39b)}.px-logline--src-bridge .px-logsrc{color:var(--nebula,#9b7ea1)}.px-logline--warn .px-logtext{color:var(--amber,#ff8c42)}.px-logline--error .px-logtext{color:#e05050}.px-logtext{white-space:pre-wrap;word-break:break-all}.px-dev-params{gap:var(--s4,16px);flex-wrap:wrap;display:flex}.px-param-group{border:1px solid var(--moon-faint,#3a3a4a);padding:var(--s3,12px);border-radius:8px;min-width:240px}.px-param-group legend{color:var(--amber,#ff8c42);padding:0 6px}.px-param{align-items:center;gap:var(--s2,8px);padding:4px 0;display:flex}.px-param>span{color:var(--moon-dim,#9b9b9b);flex:0 0 110px}.px-param input[type=range]{accent-color:var(--amber,#ff8c42);flex:1}.px-param select,.px-param input[type=text]{background:var(--void-2,#0f0f18);border:1px solid var(--moon-faint,#3a3a4a);color:var(--moon,#e8e8e8);border-radius:4px;padding:3px 6px}.px-param code{text-align:right;min-width:46px;color:var(--moon,#e8e8e8)}.px-dev-table{border-collapse:collapse;width:100%}.px-dev-table th,.px-dev-table td{border-bottom:1px solid var(--moon-faint,#2a2a3a);text-align:left;vertical-align:top;padding:6px 8px}.px-dev-table tr.is-active td{background:#ff8c4212}.px-dim{color:var(--moon-faint,#8a8a9a);font-size:.72rem}.px-dev-info p{margin:var(--s2,8px)0;line-height:1.6}.px-toasts{bottom:calc(var(--s6,32px) + 52px);gap:var(--s2,8px);z-index:90;pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.px-toast{background:var(--void-2,#0f0f18);border:1px solid var(--moon-faint,#3a3a4a);animation:px-pop var(--dur-mid,.28s)var(--ease-out,ease);border-radius:10px;max-width:min(86vw,480px);padding:10px 18px;font-size:.84rem;box-shadow:0 10px 30px #00000080}.px-toast--success{border-color:var(--circuit-dim,#2fa39b)}.px-toast--warn{border-color:var(--amber-dim,#cc6e2e)}.px-toast--error{border-color:#a04040}@media (max-width:1024px){.px-main{padding-left:var(--s4,16px);padding-right:var(--s4,16px)}.px-cart-grid{gap:var(--s4,16px);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media (max-width:768px){.px-main{padding:calc(var(--nav-h,60px) + var(--s3,12px))var(--s3,12px)var(--s6,32px)}.px-cart-grid{grid-template-columns:1fr}.px-console{border-radius:12px}.px-screen{aspect-ratio:3/4}.px-console-title-en,.px-led-text,.px-eject-text{display:none}.px-deck{padding:var(--s2,8px)var(--s3,12px)var(--s3,12px)}.px-deck-row{gap:var(--s2,8px)}.px-presets{flex-wrap:nowrap;max-width:100%;padding-bottom:2px;overflow-x:auto}.px-preset{flex:none}.px-chapter-strip{left:var(--s3,12px);right:var(--s3,12px);max-width:none;position:fixed;bottom:120px}.px-dev-pane{max-height:46vh}.px-toasts{bottom:var(--s5,24px)}}@media (prefers-reduced-motion:reduce){.px-cart,.px-iframe,.px-boot-cart-cover,.px-boot-crt,.px-cart-shine,.px-toast,.px-chapter-strip{transition:none!important;animation:none!important}.px-cart{opacity:1}}
