.software-shelf{min-width:0}.software-drawer-toggle{z-index:30;writing-mode:vertical-rl;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:0 5px 5px 0;align-items:center;gap:8px;padding:14px 10px;font-size:14px;display:flex;position:fixed;top:46%;left:0;box-shadow:2px 4px 14px #18181812}.software-drawer{border:0;border-right:1px solid var(--line);background:var(--paper);width:min(370px,100%);max-width:100%;height:100dvh;max-height:100dvh;color:var(--ink);margin:0;padding:0;position:fixed;inset:0 auto 0 0;box-shadow:8px 0 36px #18181820}.software-drawer[open]{flex-direction:column;display:flex}.software-drawer::backdrop{background:#181c186b}.launch-choice::backdrop{background:#181c186b}.software-drawer header{padding:max(18px, env(safe-area-inset-top)) 20px 16px;justify-content:space-between;align-items:center;gap:12px;display:flex}.software-drawer h2{font:600 23px/1.2 var(--body)}.software-drawer header p{color:var(--muted);margin-top:5px;font-size:12px}.software-drawer header button{border-radius:4px;place-items:center;min-width:44px;min-height:44px;display:grid}.drawer-tools{border-bottom:1px solid var(--line);padding:0 20px 14px}.drawer-tools .search{border:1px solid var(--line);border-radius:5px;align-items:center;gap:9px;width:100%;min-height:44px;margin:0 0 12px;padding:0 10px;display:flex}.drawer-tools input{background:0 0;border:0;width:100%;min-width:0;font-size:14px}.drawer-tools .search button{place-items:center;min-width:32px;padding:0;display:grid}.drawer-tools select{background:var(--paper);width:100%;color:var(--ink);border:1px solid var(--line);border-radius:4px;margin-top:6px;padding:10px;font-size:16px;display:block}.drawer-sources{border-bottom:1px solid var(--line);flex-wrap:nowrap;gap:16px;margin:8px -20px 12px;padding:0 20px;display:flex;overflow-x:auto}.drawer-sources button{min-height:44px;color:var(--muted);border-bottom:2px solid #0000;padding:8px 0;font-size:14px}.drawer-sources button[aria-pressed=true]{border-bottom-color:var(--orange);color:var(--orange)}.drawer-filters{color:var(--muted);font-size:12px}.drawer-filters summary{cursor:pointer;align-items:center;gap:8px;min-height:36px;list-style:none;display:flex}.drawer-filters summary::-webkit-details-marker{display:none}.drawer-filters label{margin-bottom:12px;display:block}.drawer-tools>p{color:var(--muted);margin-top:12px;font-size:12px}.drawer-shortcuts{flex-wrap:wrap;gap:8px;display:flex}.drawer-shortcuts button{border:1px solid var(--line);border-radius:4px;align-items:center;gap:5px;min-height:36px;padding:6px 9px;font-size:12px;display:flex}.drawer-shortcuts button[aria-pressed=true]{color:var(--orange);border-color:var(--orange)}.drawer-list,.drawer-archive{overscroll-behavior:contain;min-height:0;padding-bottom:max(20px, env(safe-area-inset-bottom));scrollbar-width:thin;scrollbar-color:var(--line) transparent;overflow-y:auto}.drawer-list{padding:8px 12px 20px}.drawer-program{text-align:left;width:100%;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:0;grid-template-columns:72px minmax(0,1fr) 16px;align-items:center;gap:14px;margin:0;padding:16px 10px;transition:background .15s ease-out;display:grid}.drawer-program-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 44px;align-items:center;display:grid}.drawer-program-row:not(:has(.drawer-favorite)){grid-template-columns:minmax(0,1fr)}.drawer-favorite{min-width:44px;min-height:44px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid}.drawer-favorite[aria-pressed=true]{color:var(--orange)}.drawer-program:hover:not(:disabled){color:var(--ink);background:var(--bg)}.drawer-box{background:#eeeae1;border:1px solid #25252520;border-radius:2px;place-items:center;width:72px;height:96px;display:grid;overflow:hidden;transform:perspective(400px)rotateY(-7deg);box-shadow:2px 3px 6px #18181820}.drawer-box img{object-fit:contain;width:100%;height:100%}.drawer-software-icon{color:var(--muted);justify-items:center;gap:10px;padding:10px;display:grid}.drawer-program .drawer-software-icon small{text-align:center;font:11px/1.25 var(--mono);letter-spacing:1px}.drawer-program strong{font:600 15px/1.3 var(--body);overflow-wrap:anywhere;display:block}.drawer-program small{color:var(--muted);margin-top:5px;font-size:12px;display:block}.drawer-program em{color:var(--orange);margin-top:8px;font-size:12px;font-style:normal;display:block}.drawer-program[aria-current=true]{background:var(--bg);border-color:var(--line);border-radius:4px}.drawer-empty{padding:28px 10px;font-size:14px}.drawer-empty button{color:var(--orange);margin-top:12px;padding:10px 0;text-decoration:underline}@media (min-width:1280px){.software-shelf-docked{width:52px;height:calc(100dvh - 64px);position:relative}.software-shelf-docked.is-open{width:100%}.software-shelf-docked .software-drawer{width:100%;height:calc(100dvh - 64px);box-shadow:none;position:sticky;top:64px}.software-shelf-docked .software-drawer-toggle{position:sticky;top:78px}.software-shelf-docked.is-open .software-drawer-toggle{display:none}}.launch-choice{border:1px solid var(--line);background:var(--paper);width:min(440px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border-radius:8px;margin:auto;padding:28px;overflow:auto;box-shadow:0 16px 40px #302f2933}.launch-choice h2{margin-bottom:18px;padding-right:24px}.launch-choice img{width:100%;height:auto;image-rendering:pixelated;background:#181c18;border-radius:4px}.launch-choice p{margin:12px 0;font-size:14px;line-height:1.5}.launch-actions{flex-wrap:wrap;gap:10px;margin:20px 0 12px;display:flex}.dialog-close{place-items:center;min-width:44px;min-height:44px;display:grid;position:absolute;top:12px;right:12px}.player-menu{font-size:14px;position:relative}.player-menu summary{cursor:pointer;border:1px solid var(--line);overflow-wrap:anywhere;border-radius:4px;max-width:180px;min-height:44px;padding:10px}.player-options{z-index:35;border:1px solid var(--line);background:var(--paper);border-radius:5px;width:min(300px,100vw - 32px);padding:20px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 24px #302f2926}.player-options label,.player-options select,.player-options input{width:100%;display:block}.player-options select,.player-options input{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--ink);border-radius:4px;margin:6px 0 12px;padding:10px;font-size:16px}.player-options p{color:var(--muted);margin:14px 0 0;font-size:14px}.input-routing{border-block:1px solid var(--line);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;margin:0 auto 16px;padding:12px;font-size:14px;display:flex}.input-routing strong{align-items:center;gap:8px;display:flex}.input-routing select{border:1px solid var(--line);background:var(--paper);border-radius:4px;max-width:100%;padding:8px;font-size:14px}.play-style-filter{flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0;font-size:14px;display:flex}.play-style-filter select{background:var(--paper);border:1px solid var(--line);min-height:44px;color:var(--ink);border-radius:4px;padding:10px;font-size:16px}@media (max-width:600px){.drawer-tools input{font-size:16px}.software-drawer-toggle{top:auto;bottom:max(16px, env(safe-area-inset-bottom));writing-mode:horizontal-tb;padding:12px}.player-menu{margin-left:auto;position:static}.player-options{width:min(300px,100%);left:0;right:auto}.masthead{flex-wrap:wrap;position:relative}}@media (prefers-reduced-motion:reduce){.drawer-program{transition:none}.drawer-program:hover:not(:disabled){transform:none}}.drawer-tools>.search{display:flex}.drawer-navigation{padding:12px 20px max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--line);flex-shrink:0;justify-content:space-between;gap:12px;margin-top:auto;display:flex}.drawer-navigation button,.drawer-navigation a{align-items:center;gap:8px;min-height:44px;font-size:13px;display:flex}.software-drawer>header,.software-drawer>.drawer-tools{flex-shrink:0}.search-computer{gap:8px;font-size:14px;display:grid}.search-computer select{width:100%;min-height:44px}.archive-browser{color:var(--ink);font:14px/1.55 var(--body)}.archive-filters{grid-template-columns:1fr 1fr;gap:12px;padding:16px 22px 0;display:grid}.archive-browser label{color:var(--muted);font-size:12px;display:block}.archive-browser select{border:1px solid var(--line);background:var(--paper);width:100%;min-height:42px;color:var(--ink);font:14px var(--body);border-radius:4px;margin:5px 0 12px;padding:8px;display:block}.archive-scope{color:var(--muted);margin:0;padding:0 22px 16px;font-size:12px}.archive-empty{color:var(--muted);padding:30px 22px}.archive-empty h3{color:var(--ink);font:500 20px/1.3 var(--body);margin:14px 0 8px}.archive-empty p+p{margin-top:20px;font-size:12px}.archive-result{border:0;border-block-end:1px solid var(--line);width:100%;color:inherit;text-align:left;background:0 0;grid-template-columns:72px minmax(0,1fr) 16px;align-items:center;gap:14px;padding:18px 22px;display:grid}.archive-result:hover{background:var(--paper)}.archive-result-image{place-items:center;min-height:54px;display:grid}.archive-result-image img{object-fit:contain;width:72px;height:54px;image-rendering:pixelated;background:#20221f;border-radius:3px}.archive-result strong{font:600 15px/1.35 var(--body);overflow-wrap:anywhere;display:block}.archive-result small{color:var(--muted);margin-top:5px;font-size:12px;display:block}.archive-detail{padding:8px 22px 28px}.archive-back{min-height:44px;color:var(--muted);font:14px var(--body);background:0 0;border:0;align-items:center;gap:8px;margin-bottom:12px;padding:0;display:flex}.archive-screen{scroll-snap-align:start;aspect-ratio:4/3;object-fit:contain;width:100%;min-width:0;height:auto;image-rendering:pixelated;background:#20221f;border-radius:4px;flex:0 0 100%}.archive-gallery-track{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;border-radius:4px;display:flex;overflow-x:auto}.archive-gallery-controls{color:var(--muted);justify-content:space-between;align-items:center;margin-top:8px;display:flex}.archive-gallery-controls button{border:1px solid var(--line);min-width:44px;min-height:44px;color:var(--ink);background:0 0;border-radius:4px;place-items:center;display:grid}.archive-gallery-controls button:disabled{opacity:.4}.archive-detail h3{font:500 24px/1.15 var(--body);margin:20px 0 8px}.archive-meta{color:var(--muted);margin:0 0 20px;font-size:12px}.archive-compatibility{margin-bottom:20px;font-size:13px}.archive-add{background:var(--orange);color:#fff;width:100%;min-height:46px;font:500 14px var(--body);border:0;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:12px;display:flex}.archive-add:hover:not(:disabled){filter:brightness(.92);color:#fff}.archive-local-note,.archive-file-hint{color:var(--muted);margin:10px 0 18px;font-size:12px;display:block}.archive-source{min-height:44px;color:var(--orange);align-items:center;gap:5px;display:flex}.archive-error,.archive-success,.archive-loading{overflow-wrap:anywhere;margin:14px 22px}.archive-error{color:#a12c1b}.archive-success{color:#315d40;display:block}.archive-loading{align-items:center;gap:8px;display:flex}.archive-pagination{justify-content:space-between;align-items:center;gap:8px;padding:16px 22px;display:flex}.archive-pagination button{min-height:44px;padding:8px}@media (max-width:760px){.archive-browser select{font-size:16px}}.archive-detail .archive-error,.archive-detail .archive-success{margin:14px 0}
