:root{--bg:#edebe4;--surface:#fff;--surface-2:#f6f5f0;--surface-3:#efeee8;--ink:#16150f;--ink-2:#403e36;--muted:#8c887d;--line:#dcd9cf;--line-2:#c7c3b6;--accent:#ff4a00;--accent-hover:#ff5a14;--teal:#0e7c7b;--green:#1fa84c;--amber:#de9a2b;--red:#e23b2e;--charcoal:#1c1b18;--r-lg:18px;--r:13px;--r-sm:9px;--shadow:0 1px 2px #14130f0d, 0 14px 34px -18px #14130f47;--shadow-sm:0 1px 2px #14130f0f;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans:"Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;--display:"Space Grotesk", "Inter", -apple-system, sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{background-color:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:radial-gradient(1200px 600px at 70% -10%,#f7f6f1 0%,#0000 60%);background-repeat:no-repeat;background-attachment:fixed;margin:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit}.mono{font-family:var(--mono)}.eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.muted{color:var(--muted)}.grow{flex:1;min-width:0}.hspace{flex:1}.topbar{z-index:10;-webkit-backdrop-filter:saturate(180%)blur(14px);backdrop-filter:saturate(180%)blur(14px);border-bottom:1px solid var(--line);background:#ffffffd6;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:14px 28px;display:grid;position:sticky;top:0}.brand{font-family:var(--display);letter-spacing:-.03em;justify-self:start;font-size:21px;font-weight:600}.brand .dot{color:var(--accent)}.topbar .segmented{justify-self:center}.topright{justify-self:end}@media (width<=640px){.topbar{grid-template-columns:auto 1fr;gap:12px}.topbar .segmented{justify-self:end}}.segmented{background:var(--surface-3);border:1px solid var(--line);border-radius:11px;gap:2px;padding:3px;display:inline-flex}.seg{cursor:pointer;font-family:var(--sans);color:var(--ink-2);white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:7px 16px;font-size:13px;font-weight:500;transition:all .16s}.seg:hover{color:var(--ink)}.seg.on{color:var(--ink);box-shadow:var(--shadow-sm);background:#fff;font-weight:600}.btn{font-family:var(--sans);cursor:pointer;border:1px solid var(--line-2);color:var(--ink);box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13.5px;font-weight:600;transition:all .14s;display:inline-flex}.btn:hover{border-color:var(--ink-2)}.btn:active{box-shadow:none;transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.primary{background:var(--accent);color:#fff;border-color:#e23f00;box-shadow:0 1px 2px #e23f0040}.btn.primary:hover{background:var(--accent-hover)}.btn.ghost{box-shadow:none;color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-3)}.btn.sm{border-radius:9px;padding:7px 12px;font-size:12.5px}.btn.danger{color:var(--red);border-color:var(--line-2)}.content{max-width:960px;margin:0 auto;padding:30px 28px 80px}.section{margin-top:34px}.section-head{align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.section-head h2{font-family:var(--display);font-size:18px;font-weight:600}.section-head .sub{font-family:var(--mono);color:var(--muted);margin-left:auto;font-size:11px}.connect-wrap{flex-direction:column;align-items:center;gap:16px;padding:7vh 0 0;display:flex}.connect{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow);flex-direction:column;align-items:center;padding:10px 56px 32px;display:flex}.connect .hint{font-family:var(--mono);color:var(--muted);text-align:center;max-width:34ch;margin:0 0 18px;font-size:12.5px}.connect h1{font-family:var(--display);letter-spacing:-.02em;font-size:26px;font-weight:600}.error{font-family:var(--mono);color:var(--red);text-align:center;max-width:48ch;margin:0;font-size:12px}.usb{width:234px;height:118px;margin:6px auto 14px;position:relative;overflow:hidden}.usb-device{border:2px solid var(--ink);background:var(--surface);border-radius:16px;width:104px;height:86px;position:absolute;top:16px;right:4px}.usb-device .usb-slot{border:2px solid var(--ink);background:var(--bg);border-right:0;border-radius:7px 0 0 7px;width:14px;height:26px;position:absolute;top:30px;left:-8px}.usb-device .usb-led{background:var(--line-2);border-radius:50%;width:7px;height:7px;animation:2.8s ease-in-out infinite usb-led;position:absolute;top:13px;right:13px}.usb-plug{border:2px solid var(--ink);background:var(--surface);border-radius:7px 3px 3px 7px;width:52px;height:30px;animation:2.8s ease-in-out infinite usb-move;position:absolute;top:44px;right:104px}.usb-plug:before,.usb-plug:after{content:"";background:var(--ink);border-radius:1px;width:10px;height:6px;position:absolute;right:-11px}.usb-plug:before{top:6px}.usb-plug:after{bottom:6px}.usb-cable{background:var(--line-2);border-radius:3px;width:150px;height:6px;animation:2.8s ease-in-out infinite usb-move;position:absolute;top:56px;left:-30px}@keyframes usb-move{0%,24%{transform:translate(0)}46%,62%{transform:translate(11px)}84%,to{transform:translate(0)}}@keyframes usb-led{0%,42%{background:var(--line-2);box-shadow:none}52%,72%{background:var(--green);box-shadow:0 0 0 4px #1fa84c29}88%,to{background:var(--line-2);box-shadow:none}}.hero{padding:4px 0 0}.hero h1{font-family:var(--display);letter-spacing:-.025em;margin:10px 0;font-size:32px;font-weight:600;line-height:1.08}.lede{color:var(--ink-2);max-width:56ch;margin:0;font-size:14.5px;line-height:1.6}.lede .serial{font-family:var(--mono);background:var(--surface-3);border:1px solid var(--line);border-radius:6px;padding:2px 7px;font-size:12.5px}.actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);overflow:hidden}.panel+.panel{margin-top:16px}.panel-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 16px;display:flex}.panel-head .t{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.panel-head .right{align-items:center;gap:8px;margin-left:auto;display:flex}.panel-body{padding:16px}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-2 .panel+.panel{margin-top:0}@media (width<=700px){.grid-2{grid-template-columns:1fr}}.fw-top{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.version{font-family:var(--display);letter-spacing:-.02em;font-size:26px;font-weight:700}.fw-top .actions{margin:0 0 0 auto}.fw-top .actions .btn{margin:0}.changelog{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.changelog summary{cursor:pointer;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px;list-style:none}.changelog summary::-webkit-details-marker{display:none}.cl-entry{margin-top:14px}.cl-entry .cl-head{font-family:var(--mono);color:var(--ink-2);font-size:11.5px}.cl-entry ul{color:var(--ink-2);margin:6px 0 0;padding-left:18px;font-size:13.5px;line-height:1.6}.kv{font-family:var(--mono);color:var(--ink-2);justify-content:space-between;margin-bottom:8px;font-size:12px;display:flex}.kv .k{color:var(--muted)}.bar{background:var(--surface-3);border-radius:6px;height:6px;overflow:hidden}.bar i{background:var(--green);border-radius:6px;height:100%;transition:width .25s;display:block}.bar.thin{height:4px}.bar.acc i{background:var(--accent)}.bar.teal i{background:var(--teal)}.bar.red i{background:var(--red)}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=620px){.cards{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);transition:all .18s}.card:hover{border-color:var(--line-2)}.card .body{padding:16px}.row1{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.gtitle{font-family:var(--display);letter-spacing:-.01em;font-size:16px;font-weight:600}.by{font-family:var(--mono);color:var(--muted);font-size:11px}.row2{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.stars{color:var(--amber);letter-spacing:1px;font-size:12px}.rating,.size{font-family:var(--mono);color:var(--muted);font-size:11px}.size{margin-left:auto}.desc{color:var(--ink-2);margin:10px 0 0;font-size:13.5px;line-height:1.55}.card .body .btn{width:100%;margin-top:14px}.installed{font-family:var(--mono);color:#127a36;align-items:center;gap:6px;font-size:11px;display:inline-flex}.rows{flex-direction:column;display:flex}.game-row{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:14px 16px;display:flex}.game-row:last-child{border-bottom:0}.game-row .meta{flex:1;min-width:0}.metrics{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:5px 0 8px;font-size:11.5px;display:flex}.metrics .dot{color:var(--line-2)}.store-list{flex-direction:column;gap:16px;display:flex}.store-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);padding:20px}.sc-head{align-items:flex-start;gap:16px;display:flex}.sc-title{flex:1;min-width:0}.sc-actions{flex:none}.sc-desc{color:var(--ink-2);margin:12px 0 0;font-size:14.5px;line-height:1.6}.sc-tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.sc-reviews{border-top:1px solid var(--line);flex-direction:column;gap:12px;margin-top:16px;padding-top:14px;display:flex}.sc-empty{color:var(--muted);font-family:var(--mono);margin:0;font-size:12.5px}.review-head{align-items:center;gap:8px;display:flex}.review-author{font-size:13.5px;font-weight:600}.review-time{font-family:var(--mono);color:var(--muted);margin-left:auto;font-size:11px}.review-body{color:var(--ink-2);margin:4px 0 0;font-size:13.5px;line-height:1.55}.link{cursor:pointer;color:var(--teal);font-family:var(--mono);text-align:left;background:0 0;border:0;padding:0;font-size:11.5px}.sc-form{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding-top:14px;display:flex}.review-input{min-width:160px;font-family:var(--sans);border:1px solid var(--line-2);color:var(--ink);background:#fff;border-radius:9px;flex:1;padding:8px 12px;font-size:13.5px}.sc-hint{font-family:var(--mono);color:var(--muted);margin:12px 0 0;font-size:11.5px}.callout{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);align-items:center;gap:14px;margin-bottom:16px;padding:14px 16px;display:flex}.callout .t{font-size:14px;font-weight:600}.callout .d{color:var(--muted);margin-top:2px;font-size:12.5px}.chips{flex-wrap:wrap;gap:7px;margin-bottom:18px;display:flex}.chip{font-family:var(--mono);color:var(--ink-2);background:var(--surface-3);border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:5px 11px;font-size:11px}.chip.on{background:var(--charcoal);color:#f6f5f0;border-color:var(--charcoal)}.res{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-sm);align-items:center;gap:14px;padding:16px;display:flex}.res+.res{margin-top:12px}.res .t{font-family:var(--display);font-size:15px;font-weight:600}.res .d{color:var(--ink-2);margin-top:3px;font-size:13px}.res .meta{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.transfer{background:var(--charcoal);color:#f3f2ec;border-radius:var(--r);align-items:center;gap:14px;margin-bottom:16px;padding:12px 16px;display:flex}.transfer .nm{font-size:13px;font-weight:600}.transfer .pc{font-family:var(--mono);color:#b7b3a4;font-size:11.5px}.transfer .bar{background:#ffffff24;margin-top:8px}.badge{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:6px;padding:4px 8px;font-size:10px}.badge.g{color:#127a36;background:#1fa84c1f}.badge.o{color:#c23a00;background:#ff4a001f}.badge.t{color:#0b5f5e;background:#0e7c7b1f}.badge.n{background:var(--surface-3);color:var(--ink-2)}.empty{text-align:center;color:var(--muted);font-family:var(--mono);padding:40px 20px;font-size:12.5px}.steps{color:var(--ink-2);margin:16px 0 0;padding-left:20px;font-size:14px;line-height:1.7}.steps li{margin:2px 0}.steps li::marker{font-family:var(--mono);color:var(--muted)}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:72px 20px;display:flex}.empty-state h2{font-size:24px}.empty-state p{color:var(--muted);margin:0}.empty-state .btn{margin-top:8px}.form{gap:14px;max-width:560px;display:grid}.field{gap:6px;display:grid}.field label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.field input,.field textarea,.field select{font-family:var(--sans);border:1px solid var(--line-2);color:var(--ink);background:#fff;border-radius:10px;width:100%;padding:10px 12px;font-size:14px}.field textarea{resize:vertical;min-height:84px}.field input[type=file]{font-family:var(--mono);padding:8px;font-size:12px}.foot{max-width:960px;color:var(--muted);font-size:12.5px;font-family:var(--mono);margin:0 auto;padding:0 28px 60px}
