:root{--border:var(--ink);color-scheme:dark;--bg:#111716;--panel:#1a2320;--line:#344039;--muted:#9dac9f;--ink:#eef4e8;--accent:#c8f581;--gold:#ecd6a1;font:15px Inter,ui-sans-serif,system-ui,sans-serif;background:var(--bg);color:var(--ink)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,.button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 14px;border:1px solid #49544a;border-radius:8px;background:#263129;color:var(--ink);cursor:pointer;text-decoration:none;line-height:1.3}button:hover,.button:hover{border-color:var(--accent);background:#35442c}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--accent);color:#172311;border-color:var(--accent);font-weight:700}.primary:hover{background:#ddffa9;color:#172311}input,select,textarea{width:100%;background:#101813;border:1px solid #49544a;border-radius:6px;color:var(--ink);padding:10px}textarea{resize:vertical}input[type=color]{padding:3px;height:42px}label{display:block;color:var(--muted);font-size:13px}label input,label textarea,label select{margin:6px 0 12px;color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,5vw,54px);line-height:1.07;letter-spacing:-.045em;margin-bottom:18px}h2{font-size:20px;letter-spacing:-.02em}h3{font-size:16px}p{line-height:1.65}hr{border:0;border-top:1px solid var(--line);margin:28px 0}.muted,small,.key-help{color:var(--muted);font-size:13px}.eyebrow{font-size:11px;letter-spacing:.17em;color:var(--accent);font-weight:700}.site-header{display:flex;align-items:center;gap:40px;padding:20px 4vw;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-size:20px;font-weight:750}.brand b{background:var(--accent);color:#14240b;padding:9px;border-radius:10px;letter-spacing:-3px;padding-right:12px}.brand small{font-size:10px;letter-spacing:.13em}.site-header nav{display:flex;gap:7px}.site-header nav a{padding:10px 16px;text-decoration:none;border-radius:7px}.site-header nav a.active{background:#34432c;color:var(--accent)}.local-badge{margin-left:auto;color:var(--muted);font-size:12px}.app-main{max-width:1500px;padding:0 4vw 40px;margin:auto}.hero{padding:64px 0 38px;max-width:650px}.hero h1{font-size:clamp(46px,7vw,86px);font-weight:600}.hero em{font-style:normal;color:var(--accent)}.hero>p:not(.eyebrow){max-width:490px;color:var(--muted)}.actions,.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:24px;margin-bottom:20px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.panel-heading h2{margin:0}.play-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:24px}.empty{text-align:center;padding:70px 20px;color:var(--muted)}.empty>span{display:inline-block;font-size:60px;color:var(--accent);margin-bottom:20px}.empty h3{color:var(--ink)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:42px 0 18px}.section-heading p{color:var(--muted)}#save-status{font-size:12px;color:var(--muted)}.toolbar{margin-bottom:24px}.builder-grid{display:grid;grid-template-columns:250px minmax(310px,1fr) minmax(300px,.85fr);gap:20px;align-items:start}.builder-grid>.panel{padding:18px}.tag{padding:4px 8px;background:#35432e;color:var(--accent);border-radius:21px;font-size:11px}.game-list{margin:16px -6px;max-height:620px;overflow:auto}.game-row{width:100%;display:flex;text-align:left;justify-content:start;border:1px solid transparent;background:transparent;padding:10px 7px;margin-bottom:4px}.game-row.selected{background:#35432e;border-color:#68814b}.game-row img,.game-thumb{width:42px;height:42px;object-fit:contain;image-rendering:pixelated;border-radius:5px;background:#0d140f;flex:none}.game-thumb{display:grid;place-items:center;color:var(--accent)}.game-row span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.folder-row{width:100%;justify-content:start;background:transparent;border:0;color:var(--gold);font-size:12px;padding-left:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .wide{grid-column:1/-1}.details label{margin-bottom:10px}.details h3{margin:26px 0 14px;padding-top:18px;border-top:1px solid var(--line)}.details .toolbar{margin:16px 0}.asset-image{width:128px;height:128px;object-fit:contain;image-rendering:pixelated;background:#0c110d;border:1px solid var(--line);border-radius:5px}.asset-row{display:flex;align-items:center;gap:12px;margin:12px 0;flex-wrap:wrap}.file-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;word-break:break-all;margin:8px 0}.file-row button{min-height:28px;padding:4px 8px}.issue{border-left:3px solid #d77b69;padding:8px 12px;margin:8px 0;background:#302821;font-size:12px;overflow-wrap:anywhere}.issue.warning{border-color:var(--gold)}.issue strong{display:block}.success{color:var(--accent)}iframe.player-frame{width:100%;height:735px;border:0;background:#111716;border-radius:9px}#preview-host iframe{height:680px}.device-panel{max-width:750px}.device-panel li{margin:15px 0;color:var(--muted)}.notice{padding:15px;border:1px solid #79643c;border-radius:var(--radius-inset);background:#302b20;color:var(--gold)}progress{display:block;width:100%;margin-top:24px;accent-color:var(--accent)}pre{white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.6}.site-footer{padding:25px 4vw;border-top:1px solid var(--line);display:flex;gap:25px;flex-wrap:wrap;color:var(--muted);font-size:12px}.site-footer span{margin-left:auto}.app-status{white-space:pre-line;overflow-wrap:anywhere;margin-top:20px;color:var(--gold)}#working{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#35432e;border:1px solid var(--accent);border-radius:var(--radius-inset);z-index:20}dialog{max-width:650px;width:95%;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-dialog);padding:25px}dialog::backdrop{background:#000a}.art-pair{display:flex;gap:24px;justify-content:center}.art-pair figure{margin:0;max-width:45%}.art-pair img{width:256px;max-width:100%;height:256px;object-fit:contain;image-rendering:pixelated;background:#0c110d}.art-pair figcaption{margin:8px 0;color:var(--muted);font-size:12px}.player-page main{max-width:700px;margin:auto;padding:12px}.player-toolbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.player-toolbar>a{font-weight:700;margin-right:auto}.player-toolbar button,.player-toolbar .button{font-size:12px;min-height:32px;padding:7px 9px}.boot-choice{margin:12px 0;display:flex;align-items:center;gap:10px}.boot-choice select{width:auto;max-width:75%;font-size:12px;padding:6px}.screen{background:#090e0a;border-radius:9px;border:1px solid var(--line);padding:12px;display:flex;justify-content:center}.screen canvas{width:100%;max-width:512px;height:auto;aspect-ratio:512/544;image-rendering:pixelated;display:block}.player-page #status{font-size:13px;margin:10px 0 3px}.player-page #storage-status{font-size:11px;min-height:16px}.touch-controls{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.touch-controls button{touch-action:none;user-select:none;padding:8px 4px;min-height:40px;font-size:12px}.key-help{text-align:center;line-height:1.6;margin:12px 0}.player-page footer{text-align:center;color:var(--muted);font-size:10px}.drop-target.drag-over{border-color:var(--accent)}
@media(max-width:1150px){.builder-grid{grid-template-columns:220px minmax(310px,1fr)}.builder-grid>aside:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px}.local-badge{display:none}}@media(max-width:700px){.site-header{gap:16px;flex-wrap:wrap;padding:15px 5vw}.brand small{display:none}.site-header nav{margin-left:auto}.site-header nav a{padding:8px}.app-main{padding:0 5vw 30px}.hero{padding-top:40px}.play-layout,.builder-grid,.builder-grid>aside:last-child{display:block}.game-list{max-height:300px}.section-heading{display:block}.panel{padding:18px}.site-footer span{margin:0}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}#preview-host iframe{height:730px}.touch-controls{grid-template-columns:repeat(4,1fr)}}
.file-input{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.button:focus-within{outline:2px solid var(--accent);outline-offset:3px}
/* Shared document and console presentation */
fieldset{border:0;padding:0;margin:0;min-width:0}details{border-top:1px solid var(--line);margin:18px 0;padding-top:16px}summary{cursor:pointer;color:var(--ink);font-weight:600;padding:5px 0;min-height:32px}details[open]>summary{margin-bottom:15px}.document-bar{display:flex;align-items:center;gap:20px;border:1px dashed #617552;border-radius:var(--radius-panel);margin:28px 0;padding:32px;background:linear-gradient(120deg,#202d20,#18201b)}.document-bar.has-document{padding:16px 22px;border-style:solid;border-color:var(--line)}.document-info{flex:1;min-width:0}.document-info h2{margin:0 0 5px;overflow-wrap:anywhere}.document-info p{margin:0;color:var(--muted);font-size:13px}.document-bar img{width:58px;height:58px;border-radius:8px;image-rendering:pixelated}.document-bar.drag-over{outline:3px solid var(--accent)}.console-shell{max-width:660px;width:100%;margin:auto}.play-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start}.cart-actions{margin-top:40px}.cart-actions .actions{gap:12px}.friendly-help{text-align:center;max-width:780px;margin:38px auto 50px;color:var(--muted);font-size:13px}.friendly-help h3{font-size:18px;color:var(--ink);font-weight:500}.control-guide{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin:20px 0}kbd{display:inline-block;background:#243027;border:1px solid #485642;border-bottom-width:3px;border-radius:6px;padding:4px 7px;color:var(--ink);font:12px inherit}.builder-grid{grid-template-columns:240px minmax(300px,1fr) 260px}.folder-line{display:flex;align-items:center}.folder-line button{min-height:34px}.folder-toggle{padding:5px;border:0;background:transparent}.folder-line .folder-row{flex:1;text-align:left}.folder-line.selected{background:#35432e;border-radius:8px}.toolbar-more{position:relative;margin:0;padding:0;border:0}.toolbar-more[open]{display:flex;gap:8px}.toolbar-more button{margin:4px}.advanced{background:#151e18;border-radius:var(--radius-inset);padding:12px;margin-top:22px}.sd-file-list{max-height:55vh;overflow:auto}.device-panel{max-width:850px;margin-inline:auto}.device-panel .primary{font-size:17px;padding:16px 24px}.device-panel .destination{font-size:20px;color:var(--accent)}#device-activity{margin:30px 0}#device-stage{font-weight:500}.progress-track{height:9px;border-radius:9px;background:#344039;overflow:hidden}.progress-track>span{display:block;height:100%;width:0;background:var(--accent);transition:width .25s ease;border-radius:9px}.progress-track.indeterminate>span{width:30%!important;animation:progress-slide 1.4s infinite ease-in-out}@keyframes progress-slide{from{transform:translateX(-110%)}to{transform:translateX(450%)}}.device-game{display:flex;align-items:center;gap:12px;margin:12px 0}.device-game input{width:auto}.device-game img{width:42px;height:42px;image-rendering:pixelated}.player-page{overflow-x:hidden}.player-page main{max-width:680px;padding:10px}.player-page .player-toolbar{justify-content:flex-end;position:relative;z-index:5;margin-bottom:8px}.player-toolbar .player-brand{margin-right:auto}.player-toolbar details{margin:0;border:0;padding:0}.player-toolbar summary{list-style:none;border:1px solid var(--line);border-radius:8px;min-width:38px;text-align:center;padding:7px 10px}.player-toolbar summary::-webkit-details-marker{display:none}.player-options{position:absolute;right:0;top:42px;width:265px;padding:16px;background:#1a2320;border:1px solid #617552;border-radius:var(--radius-panel);box-shadow:0 12px 35px #0008;max-height:75vh;overflow:auto;display:flex;flex-direction:column;gap:8px}.player-options label{margin-top:6px}.player-options label select{margin-bottom:0}.screen{padding:0;border:0;border-radius:5px;overflow:hidden;background:#18181c}.screen canvas{max-width:none;aspect-ratio:512/536}.compact .screen canvas{aspect-ratio:1}.compact .player-brand,.compact footer{display:none}.compact main{padding:0}.compact #status{margin:8px 0;min-height:0;font-size:12px;text-align:center}.compact .screen{border:1px solid var(--line);border-radius:13px}.no-instructions .player-instructions{display:none}.player-page .friendly-help{margin:20px auto}.touch-controls{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(3,45px);gap:5px;margin:18px auto 8px;max-width:460px;touch-action:none}.touch-controls button{border-radius:11px;font-size:16px;font-weight:600;background:#2b382d;border-color:#546549;box-shadow:0 3px 0 #0b100c;touch-action:none}.touch-controls button:active{transform:translateY(2px);box-shadow:none;background:#637b45}.touch-controls [data-control="↑"]{grid-area:1/2}.touch-controls [data-control="←"]{grid-area:2/1}.touch-controls [data-control="↓"]{grid-area:3/2}.touch-controls [data-control="→"]{grid-area:2/3}.touch-controls [data-control="A"]{grid-area:1/7/3/8;border-radius:calc(50% + 1px);align-self:center;aspect-ratio:1;background:var(--accent);color:#172311}.touch-controls [data-control="B"]{grid-area:2/6/4/7;border-radius:calc(50% + 1px);align-self:center;aspect-ratio:1}.touch-controls [data-control="Start"]{grid-area:3/5;font-size:10px;min-height:25px;align-self:end}.touch-controls [data-control="Select"]{grid-area:3/4;font-size:10px;min-height:25px;align-self:end}iframe.player-frame{height:560px;border-radius:1px}.player-page:fullscreen main{height:100vh;max-width:min(100vw,calc(100vh - 60px))}.player-page:fullscreen .player-instructions,.player-page:fullscreen footer{display:none}
@media(max-width:1150px){.builder-grid{grid-template-columns:220px minmax(0,1fr)}}@media(max-width:760px){.document-bar{padding:22px 18px;gap:12px;flex-wrap:wrap}.document-bar.has-document{padding:14px}.document-bar .button{margin-left:auto}.document-bar img{width:42px;height:42px}.document-info{min-width:170px}.play-layout,.builder-grid{display:block}.cart-actions{margin-top:25px}.friendly-help{margin:30px auto}.control-guide{gap:12px;font-size:12px}.device-panel .actions{align-items:stretch;flex-direction:column}.device-panel .primary{width:100%}.player-page main{padding:5px}.compact main{padding:0}}
@media(prefers-reduced-motion:reduce){.progress-track>span{transition:none}.progress-track.indeterminate>span{animation:none}}

.new-cart{float:right;margin-bottom:12px}.system-art{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.system-art .asset-image{width:96px;height:96px}.folder-line>.folder-row{min-width:0}.folder-line{margin:5px 0}.sd-file-list{max-height:45vh;overflow:auto}@media(pointer:coarse){.friendly-help{display:flex;flex-direction:column}.friendly-help>p{order:1}.friendly-help>.control-guide{order:2}}
.connection-menu{position:relative;margin:0 0 0 auto;padding:0;border:0;z-index:30;flex-shrink:0}.connection-menu>summary{display:flex;align-items:center;gap:9px;padding:10px 13px;list-style:none;border:1px solid var(--line);border-radius:25px;font-size:12px;font-weight:500;background:#19231c;margin:0!important}.connection-menu>summary::-webkit-details-marker{display:none}.connection-menu>summary:hover{border-color:#728961}.connection-dot{width:7px;height:7px;border-radius:calc(50% + 1px);background:#788579;flex-shrink:0}.connection-menu[data-state=connected] .connection-dot{background:var(--accent);box-shadow:0 0 0 4px #c8f58112}.connection-menu[data-state=connected]>summary{color:var(--accent)}.connection-menu:is([data-state=connecting],[data-state=reconnecting],[data-state=busy]) .connection-dot{background:var(--gold);animation:connection-pulse 1.3s ease-in-out infinite}.connection-menu[data-state=error] .connection-dot{background:#ec8264}.connection-chevron{color:var(--muted)}.connection-panel{position:absolute;right:0;top:calc(100% + 12px);width:min(330px,calc(100vw - 32px));padding:22px;background:var(--panel);border:1px solid #52634a;box-shadow:0 16px 45px #0008;border-radius:var(--radius-panel)}.connection-panel h2{font-size:17px;margin-bottom:10px}.connection-panel p{font-size:13px;color:var(--muted);margin-bottom:16px}.connection-panel .actions{gap:8px}.connection-panel button{font-size:12px}.connection-toggle{display:flex;align-items:center;gap:10px;margin:22px 0 12px;color:var(--ink)}.connection-toggle input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.connection-forget{background:transparent;border:0;text-decoration:underline;text-underline-offset:3px;padding:4px 0;min-height:32px;color:var(--muted)}@keyframes connection-pulse{50%{opacity:.35}}@media(max-width:950px){.site-header{gap:16px;flex-wrap:wrap}.brand small{display:none}.site-header nav{order:3;width:100%;justify-content:center}.connection-menu{margin-left:auto}}@media(max-width:400px){.connection-menu>summary{font-size:11px;padding:9px;gap:7px}.site-header{column-gap:8px}}@media(prefers-reduced-motion:reduce){.connection-dot{animation:none!important}}
/* Connected collection workspace */
.document-dock{display:flex;align-items:stretch;gap:16px;margin:28px 0}.document-dock>.document-bar{flex:1;margin:0;min-width:0}.icon-button{font-size:23px;padding:5px 10px;min-width:40px;background:transparent}.device-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #72964c;border-radius:var(--radius-panel);background:#2a3c23;box-shadow:0 0 24px #c8f5810a;animation:device-arrive .25s ease-out}.device-card h2{font-size:16px;margin:0 0 5px}.device-card p{font-size:12px;color:var(--muted);margin:0}.device-symbol{display:grid;place-items:center;font-size:22px;color:var(--accent);width:40px;height:40px;border:1px solid currentColor;border-radius:10px}.device-card.unscanned,.device-cart-panel.unscanned{border:1px dashed #667568;background:#19201c;box-shadow:none}.unscanned .device-symbol,.unscanned .device-question{color:var(--muted);border-style:dashed}.device-cart-panel{animation:device-arrive .25s ease-out}.device-question{font-size:45px;text-align:center;padding:20px;color:var(--muted)}.device-cart-panel.unscanned p{color:var(--muted);text-align:center}.device-cart-panel:not(.unscanned){border-color:#6b854c}.builder-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.builder-grid.has-device{grid-template-columns:minmax(0,1fr) 290px}.builder-editor{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}.builder-editor>.panel{padding:18px}.builder-grid>.device-cart-panel{display:block;grid-column:auto;padding:18px}.contents-tools{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.contents-tools>.button{font-size:15px}.contents-tools #cart-details{margin-top:5px}.validation-panel{margin-top:0}.builder-toolbar #new-cart{float:none;margin:0}.builder-toolbar #backup-device{margin-left:auto}.device-game-row{display:flex;gap:8px;align-items:center;margin:5px 0}.device-game-row>button{flex:1;justify-content:flex-start;text-align:left;background:transparent;border-color:transparent;font-size:13px;min-width:0;overflow-wrap:anywhere}.device-game-row>button:hover{border-color:var(--accent)}.device-game-row img{width:38px;height:38px;image-rendering:pixelated}.device-folder-row{display:block;width:100%;text-align:left;justify-content:flex-start;color:var(--gold);background:transparent;border-style:dashed;margin:12px 0 4px;overflow-wrap:anywhere}.drop-ready{outline:2px dashed var(--accent);outline-offset:-3px;background:#35432e!important}.device-cart-panel .actions>button{width:100%;font-size:13px}.device-panel{max-width:none}.device-table{width:100%;border-collapse:collapse;font-size:14px}.device-table th{text-align:left;color:var(--muted);font-weight:500}.device-table th,.device-table td{padding:13px 10px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.device-table td:first-child{width:50%}.device-title{color:var(--accent);background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;text-align:left;justify-content:start;padding:0;min-height:30px}.device-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:18px}.device-tile{display:flex;flex-direction:column;align-items:start;text-align:left;background:#141d17;padding:14px;border:1px solid var(--line);border-radius:11px}.device-tile img,.device-tile .art-placeholder{width:100%;aspect-ratio:1;image-rendering:pixelated;object-fit:contain;border-radius:7px;margin-bottom:12px;background:#101510}.art-placeholder{display:grid;place-items:center;color:var(--muted);font-size:30px}.device-tile small{margin-top:6px}.device-tile .device-title{font-size:14px}.device-collection-art{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:25px}.device-collection-art figure{margin:0;width:100px}.device-collection-art img{width:100px;height:100px;image-rendering:pixelated}.device-collection-art figcaption{font-size:12px;color:var(--muted);margin-top:7px}.device-detail-meta{color:var(--muted);font-size:13px;overflow-wrap:anywhere}#device-games{margin-top:32px}#device-asset-list{max-height:260px;overflow:auto}.builder-toolbar~.builder-grid .details{min-height:350px}
/* Fit the iframe to its content, including the last child's margins. */
#player-root{display:flow-root}.player-page.compact{overflow:hidden}.player-page.compact .player-brand{display:block;font-size:13px;font-weight:500;text-decoration:none;color:var(--muted)}.player-page .player-toolbar{height:36px;margin-bottom:8px;flex-wrap:nowrap}.player-toolbar details>summary{margin:0!important}.player-frame{display:block}.cart-actions{margin-top:44px}.compact .screen canvas{width:100%;height:auto}.player-page.compact .screen{box-sizing:border-box}.player-page.compact #touch{margin-bottom:8px}
@keyframes device-arrive{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
@media(max-width:1150px){.builder-editor{grid-template-columns:200px minmax(0,1fr)}.builder-grid.has-device{grid-template-columns:minmax(0,1fr) 240px}.document-dock{flex-wrap:wrap}.document-dock>.device-card{flex:1;min-width:260px}.document-dock>.document-bar{flex-basis:60%}}
@media(max-width:850px){.builder-grid.has-device{grid-template-columns:minmax(0,1fr)}.device-cart-panel .game-list{max-height:320px}.builder-grid>.device-cart-panel{display:block}.device-table th,.device-table td{padding:10px 6px;font-size:12px}}
@media(max-width:760px){.cart-actions{margin-top:24px}.document-dock{display:block}.device-card{margin-top:12px;justify-content:space-between}.builder-toolbar #backup-device{margin-left:0}.builder-editor{display:block}.builder-grid{display:block}.device-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.document-info{min-width:130px}.document-bar .icon-button{margin-left:0}}
@media(prefers-reduced-motion:reduce){.device-card,.device-cart-panel{animation:none}}
.device-task{display:flex;gap:15px;align-items:center;flex-wrap:wrap;padding:12px 18px;margin:-12px 0 24px;border:1px solid #687f4e;border-radius:var(--radius-panel);background:#24341f;font-size:13px}.device-task>span{flex:1}.device-task button{min-height:30px;font-size:12px}
.builder-grid>aside.device-cart-panel{display:block;grid-column:auto}
.brand b{user-select:none}
/* Native file drops work across the app. */
.site-header{position:relative}
.drop-bubble{position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);z-index:20;white-space:nowrap;min-height:36px;padding:8px 15px;border-radius:25px;font-size:12px;font-weight:600;color:var(--accent);background:#202c22;border-color:#617552;box-shadow:0 3px 12px #0003;transition:background .15s,border-color .15s,box-shadow .15s}
.drop-bubble>span{font-size:17px;line-height:1}
.drop-bubble:hover,.drop-bubble:focus-visible{background:#34452b;border-color:var(--accent);box-shadow:0 0 16px #c8f58120}
.drop-bubble.file-over{background:var(--accent);color:#172311;border-color:#e7ffc6;box-shadow:0 0 0 5px #c8f58122,0 0 28px #c8f58150}
body.file-dragging::after{content:"";position:fixed;inset:0;z-index:19;pointer-events:none;background:#c8f58105;box-shadow:inset 0 0 0 2px #c8f58150,inset 0 0 35px #c8f5810c}
body.file-dragging iframe.player-frame{pointer-events:none}
.document-dock:not(:has(>:not([hidden]))){display:none}
#drop-help{max-height:85dvh;overflow:auto;line-height:1.6}
#drop-help h2{margin-bottom:12px}#drop-help h3{margin-bottom:8px}#drop-help p{font-size:14px}#drop-help .actions{margin-top:22px}
.file-formats{margin:24px 0}.file-formats>div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:10px 0;border-top:1px solid var(--line)}.file-formats dt{font-weight:600;color:var(--accent);font-size:13px}.file-formats dd{margin:0;color:var(--muted);font-size:13px}
@media(max-width:450px){.file-formats>div{grid-template-columns:90px 1fr;gap:10px}#drop-help{padding:20px}}
@media(prefers-reduced-motion:reduce){.drop-bubble{transition:none}}

.magic-cover-preview{display:block;width:256px;max-width:100%;height:auto;aspect-ratio:1;image-rendering:pixelated;margin:16px auto}#magic-cover-dialog{max-width:380px}

/* One persistent cart target, with details revealed on demand. */
.site-header{gap:clamp(12px,2vw,32px);flex-wrap:wrap;padding-bottom:34px}.app-main{padding-top:32px}.drop-bubble{position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);margin-left:0;border:1px solid #617552;display:flex;align-items:center;gap:7px;padding:7px 10px;min-height:56px;min-width:310px;border-radius:19px;cursor:pointer;flex-shrink:0;z-index:21}.drop-bubble .drop-open{flex:1;background:transparent;border:0;padding:2px 6px;font-size:13px;min-height:40px}.drop-bubble .drop-icon{width:34px;height:34px;min-height:34px;min-width:34px;padding:0;border-radius:9px;font-size:20px}.drop-bubble.has-document{min-width:310px}.cart-icon{font-size:30px;line-height:1}.cart-stats{display:none;position:absolute;top:100%;right:0;padding:20px;width:320px;max-width:88vw;text-align:left;border:1px solid var(--line);border-radius:13px;background:var(--panel);box-shadow:0 14px 35px #0009;cursor:default;white-space:normal}.cart-stats h2{font-size:16px;margin-bottom:10px;overflow-wrap:anywhere}.cart-stats p{font-size:12px;color:var(--muted);margin-bottom:8px}.cart-stats #document-mode{color:var(--accent)}
.contents-tools #cart-details{margin:0;width:100%}.contents-add{display:grid;grid-template-columns:1fr 1fr;gap:8px}.contents-add>.button,.contents-add>button{aspect-ratio:1;border-radius:8px;padding:8px;margin:0;font-size:14px}.game-assets{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.game-assets>section{min-width:0}.game-sd-section{border-left:1px solid var(--line);padding-left:24px}.game-assets h3{margin-top:8px}.game-cover-section .asset-row{align-items:center;gap:8px}.game-cover-section .asset-row .asset-image{flex-basis:100%;object-fit:contain;object-position:left;background:transparent;border:0}.asset-row>.button,.asset-row>button{margin:0;min-height:40px;font-size:13px}.game-sd-section>.button{margin:8px 8px 0 0}.game-sd-section .file-row{flex-wrap:wrap}.game-sd-section .file-row input{min-width:0;flex:1 1 100px}.dialog-close{position:absolute;right:12px;top:12px;width:34px;height:34px;min-height:34px;padding:0;font-size:23px;background:transparent}#magic-cover-heading{padding-right:30px}.cover-hint{margin-top:18px;color:var(--muted)}#device-install,#device-browse{font-size:17px;padding:16px 24px;min-width:220px;min-height:56px}
/* Player controls and ownership state stay inside the screen. */
.player-stage{position:relative}.player-page .player-toolbar{position:absolute;top:10px;right:10px;z-index:5;margin:0;opacity:0;pointer-events:none;transition:opacity .16s;gap:7px}.player-stage:hover .player-toolbar,.player-toolbar:focus-within,.player-toolbar:has(details[open]){opacity:1;pointer-events:auto}.player-toolbar .player-brand{display:none}.player-toolbar>button,.player-toolbar>details>summary{box-sizing:border-box;display:grid;place-items:center;width:38px;height:38px;min-width:38px;min-height:38px;padding:0;font-size:19px;line-height:1;border:1px solid #687661;border-radius:9px;background:#18211eeb;box-shadow:0 2px 10px #0005}.player-options{top:46px;max-height:min(420px,70vh)}.canvas-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#0b120b88;pointer-events:none;border-radius:inherit}.canvas-overlay>p,.handoff-card{width:min(80%,340px);padding:24px;border:1px solid #617552;border-radius:var(--radius-panel);background:#152019f2;text-align:center;box-shadow:0 10px 30px #0006;font-size:14px}.handoff-card p{margin:0 0 16px}.handoff-card .progress-track{height:10px}#handoff-overlay{z-index:4}#remote-overlay{z-index:3}#remote-overlay p{margin:0}.toast-region{position:fixed;right:20px;bottom:20px;width:min(380px,calc(100vw - 40px));display:flex;flex-direction:column;gap:10px;z-index:1000;pointer-events:none}.toast{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid #708b58;border-radius:var(--radius-inset);background:#263429;color:var(--ink);box-shadow:0 12px 35px #0007;font-size:13px;line-height:1.5;pointer-events:auto;animation:toast-in .18s ease-out}.toast span{flex:1;overflow-wrap:anywhere}.toast button{width:28px;min-height:28px;padding:0;background:transparent;border:0;font-size:20px}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(hover:none){.player-page .player-toolbar{opacity:1;pointer-events:auto}}
@media(max-width:900px){.game-assets{grid-template-columns:1fr}.game-sd-section{border-left:0;padding-left:0}}
@media(max-width:700px){.drop-bubble,.drop-bubble.has-document{width:min(360px,calc(100% - 32px));min-width:0}.cart-stats{width:100%;max-width:none}.site-header{gap:12px}.contents-add>.button,.contents-add>button{aspect-ratio:1;min-height:64px}.contents-add{max-width:240px}}
@media(prefers-reduced-motion:reduce){.toast{animation:none}.player-page .player-toolbar{transition:none}}

/* Artwork anchors the editor; metadata and supporting assets follow it. */
.detail-overview{display:grid;grid-template-columns:210px minmax(0,1fr);gap:30px;align-items:start}.detail-art-column,.detail-info-column{min-width:0}.detail-art-column>.artwork-card{margin-top:0}.detail-info-column>.form-grid{grid-template-columns:1fr}.detail-info-column .form-grid .wide{grid-column:auto}.detail-info-column textarea{min-height:112px}.detail-art-column>label{margin-top:22px}.artwork-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}.artwork-card>.asset-image,.game-cover-section .artwork-card>.asset-image{flex-basis:auto;width:128px;height:128px;object-fit:contain;background:#0c110d;border:1px solid var(--line);border-radius:7px}.cover-placeholder{display:grid;place-items:center;width:128px;height:128px;border:1px dashed var(--line);border-radius:7px;background:#111913;color:var(--muted);font-size:40px}.art-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.art-actions>.button,.art-actions>button{margin:0!important;font-size:13px}.detail-art-column .art-actions{flex-direction:column;align-items:flex-start}.detail-art-column .art-actions>.button,.detail-art-column .art-actions>button{width:100%;justify-content:flex-start}.detail-art-column .art-actions{width:100%}.game-overview .game-sd-section{border-left:0;padding-left:0}.game-overview .game-sd-section h3{margin-top:10px}.appearance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:24px 18px;margin:18px 0 28px;align-items:start}.appearance-grid .artwork-card{margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.appearance-grid .art-actions{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.appearance-grid .button,.appearance-grid button{background:none;border:0;box-shadow:none;padding:3px 0;min-height:28px;max-width:100%;color:var(--accent);text-decoration:underline;text-underline-offset:4px;text-align:left;justify-content:flex-start;cursor:pointer;font-size:12px;line-height:1.5;border-radius:3px}.appearance-grid .button:hover,.appearance-grid button:hover{color:var(--ink)}.appearance-grid label{margin:0}.appearance-grid .system-art{border:0}.menu-color-layout{display:grid;grid-template-columns:minmax(200px,280px) minmax(170px,1fr);gap:28px;align-items:start}.menu-preview{margin:0;min-width:0}.menu-preview canvas{display:block;width:256px;height:auto;max-width:100%;aspect-ratio:1;image-rendering:pixelated;background:#000;border:1px solid var(--line);border-radius:5px;cursor:pointer}.menu-preview figcaption{font-size:12px;color:var(--muted);line-height:1.6;margin:10px 0}.menu-preview>label{max-width:256px}.menu-swatches{display:grid;grid-template-columns:1fr;gap:14px}.menu-swatches>label{display:flex;align-items:center;gap:14px;margin:0}.menu-swatches input[type=color]{width:44px;height:44px;min-width:44px;aspect-ratio:1;border-radius:6px;padding:3px;margin:0;cursor:pointer}.menu-swatches input[type=color]::-webkit-color-swatch-wrapper{padding:0}.menu-swatches input[type=color]::-webkit-color-swatch{border:0;border-radius:3px}.menu-swatches p{font-size:12px;margin-top:4px}.form-error{color:#ffb5ad;font-size:13px;line-height:1.5}.form-error:empty{display:none}#folder-dialog{max-width:420px}#folder-heading{padding-right:30px}
.toast-status{background:#142b49;border-color:#5799e8;color:#e5f2ff}.toast-alert{background:#433716;border-color:#e7bd43;color:#fff4c2}.toast-warning{background:#481f24;border-color:#e36b77;color:#ffe5e8}.toast .toast-icon{display:grid;place-items:center;flex:none;width:23px;height:23px;border:1px solid currentColor;border-radius:calc(50% + 1px);font-size:14px}.toast button{color:inherit}
@media(max-width:1050px){.detail-overview{grid-template-columns:170px minmax(0,1fr);gap:20px}.menu-color-layout{grid-template-columns:minmax(170px,230px) minmax(150px,1fr);gap:20px}}
@media(max-width:700px){.detail-overview,.menu-color-layout{grid-template-columns:minmax(0,1fr)}.detail-art-column{display:grid;grid-template-columns:128px minmax(0,1fr);gap:16px;align-items:start}.detail-art-column>label{margin-top:0}.detail-art-column .art-actions>.button,.detail-art-column .art-actions>button{font-size:12px;padding:7px 8px}.appearance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.appearance-grid .asset-image{max-width:100%;height:auto;aspect-ratio:1}.menu-swatches{grid-template-columns:1fr 1fr}.menu-swatches>label{flex-direction:column;align-items:flex-start;gap:8px}.menu-swatches p{grid-column:1/-1}}
@media(max-width:360px){.detail-art-column{grid-template-columns:1fr}.menu-swatches{grid-template-columns:1fr 1fr}}

.detail-art-column .artwork-card{align-items:flex-start}

/* Keep artwork at exact native or doubled pixel dimensions. */
.builder-editor>.details{container:detail-pane / inline-size}
.detail-art-column .artwork-card>.asset-image{width:128px;height:128px;min-width:128px;max-width:none;flex:none;border:0;border-radius:1px;outline:1px solid var(--line);image-rendering:pixelated;object-fit:fill}
@container detail-pane (min-width:600px){
 .detail-overview{grid-template-columns:256px minmax(0,1fr);gap:30px}
 .detail-art-column{display:block}
 .detail-art-column .artwork-card>.asset-image,.detail-art-column .cover-placeholder{width:256px;height:256px}
}
.game-actions .export-game{margin-left:auto}
.game-actions .danger{background:var(--coral);border-color:var(--border);color:var(--on-accent,#252628)}
.game-actions .danger:hover{background:#FCE3DB;border-color:var(--border)}
.builder-toolbar #backup-device{margin-left:0}
.builder-toolbar #test-cart{margin-left:auto}

dialog>h2{padding-right:34px}.confirm-dialog,#zip-dialog{max-width:510px}.dialog-checkbox{display:flex;align-items:center;gap:10px;margin:24px 0;color:var(--ink);font-size:14px}.dialog-checkbox input{width:18px;height:18px;margin:0;accent-color:var(--accent);cursor:pointer}.confirm-dialog .danger{background:var(--coral);border-color:var(--border);color:var(--on-accent,#252628)}.confirm-dialog .danger:hover{background:#FCE3DB;border-color:var(--border)}.connection-panel>h2{padding-right:34px}#zip-dialog .actions{margin-top:22px}

/* The bubble covers the tray as it slides out beneath it. */
.drop-bubble{isolation:isolate;background:transparent}
.drop-bubble::before{content:'';position:absolute;inset:0;z-index:0;background:#202c22;border-radius:inherit;pointer-events:none;transition:background .15s}
.drop-bubble:hover::before{background:#34452b}.drop-bubble.file-over::before{background:var(--accent)}
.drop-bubble>button{position:relative;z-index:1}.drop-bubble .drop-open{gap:9px;justify-content:flex-start}
#drop-kind{font-size:13px;color:var(--ink);font-weight:650}
.drop-bubble :is(#drop-add,#drop-info){padding:0;background:transparent;border-color:transparent}
.drop-bubble :is(#drop-add,#drop-info):hover{background:#35442c;border-color:var(--accent)}
.drop-bubble #unload-cart{position:absolute;right:-11px;top:-11px;width:27px;height:27px;min-width:27px;min-height:27px;border-radius:calc(50% + 1px);border:2px solid var(--bg);background:var(--accent);color:#172311;font-size:21px;line-height:1;padding:0;box-shadow:0 2px 7px #0004}
.drop-bubble #unload-cart:hover{background:#ddffa9}
.cart-stats-slot{position:absolute;left:-1px;top:calc(100% - 1px);width:calc(100% + 2px);z-index:-1;overflow:clip;border-color:#617552;pointer-events:none}
.cart-stats{display:block;position:relative;inset:auto;width:100%;max-width:none;padding:18px 20px;border-radius:1px 1px 19px 19px;border:1px solid;border-color:inherit;border-top:0;background:#202c22;box-shadow:none;visibility:hidden;pointer-events:none}
.drop-bubble .cart-stats,.drop-bubble:hover .cart-stats{background:var(--panel)}.drop-bubble:hover .cart-stats-slot,.drop-bubble:has(>button:focus-visible) .cart-stats-slot{border-color:var(--accent)}

.drop-bubble.show-stats .cart-stats,.drop-bubble:has(>button:focus-visible) .cart-stats{visibility:visible;pointer-events:auto}
#drop-help .actions{justify-content:space-between}#drop-help-close{margin-left:auto}
#drop-help[data-flight=in]::backdrop{animation:help-backdrop-in .3s both}
#drop-help[data-flight=out]::backdrop{animation:help-backdrop-out .3s both}
@keyframes help-backdrop-in{from{background:#0000}to{background:#000a}}
@keyframes help-backdrop-out{from{background:#000a}to{background:#0000}}
@media(prefers-reduced-motion:reduce){.cart-stats{transition:none}#drop-help::backdrop{animation:none!important}}

.drop-bubble{border-radius:1000px;padding-left:16px;padding-right:12px}
.drop-bubble .drop-icon{border-radius:calc(50% + 1px)}
.cart-stats-slot{left:-1px;top:calc(100% - 26px);width:calc(100% + 2px)}
.cart-stats{padding-top:40px;border-radius:1px 1px 27px 27px}
.picker-notice{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px;border:0;border-radius:1px;background:transparent;overflow:auto}
.picker-notice[open]{display:grid;place-items:center}
.picker-notice-card{width:min(100%,580px);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-dialog);padding:32px;box-shadow:0 24px 90px #0006}
.picker-notice h2{font-size:28px;margin-bottom:12px;outline:none}
.picker-notice-card>p:not(.eyebrow){color:var(--muted);font-size:14px}








@media(max-width:500px){.picker-notice{padding:16px}.picker-notice-card{padding:24px}.picker-notice h2{font-size:24px}}

select,option,summary,[role=combobox]{cursor:pointer}
select:disabled,[role=combobox][aria-disabled=true]{cursor:not-allowed}
.player-page .player-toolbar{left:10px;right:10px}
.player-toolbar #player-menu{margin-right:auto}
.player-page .player-toolbar .player-brand{display:block;position:absolute;left:50%;transform:translateX(-50%);max-width:calc(100% - 180px);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;text-decoration:none;color:var(--ink);text-shadow:0 1px 4px #000}
.player-toolbar #player-menu>summary{transition:background .12s,border-color .12s,color .12s}
.player-toolbar #player-menu[open]>summary{background:var(--accent);border-color:var(--accent);color:#172311;box-shadow:inset 0 1px 3px #17231130}
.player-options{left:0;right:auto;max-width:calc(100vw - 44px);padding:16px}
#mute .sound-off{display:none}#mute[aria-pressed=true] .sound-on{display:none}#mute[aria-pressed=true] .sound-off{display:block}

.picker-notice-card{width:min(100%,650px)}
.picker-single{margin-top:24px}.picker-single h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.picker-format-rows{margin:0}.picker-format-rows>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}
.picker-format-rows dt{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;align-content:flex-start}
.picker-format-rows code,.picker-archive h3 code{display:inline-block;padding:5px 9px;border-radius:8px;background:#273625;color:var(--accent);font-size:14px}
.picker-format-rows dd{margin:0;font-size:13px;line-height:1.55}.picker-format-rows dd strong{display:block;color:var(--ink);margin-bottom:3px}.picker-format-rows dd span{color:var(--muted)}
.picker-elf dt small{flex-basis:100%;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--gold)}.picker-elf dt code{color:var(--gold);background:#302b20}
.picker-archive{margin-top:22px;padding:18px;background:#202d21;border:1px solid #617552;border-radius:var(--radius-panel)}
.picker-archive-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.picker-archive-heading h3{margin:0}.picker-archive-heading>span{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--accent)}
.picker-archive>p{font-size:13px;color:var(--muted);margin:12px 0}.picker-archive>p:last-child{margin-bottom:0}
.picker-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.picker-capabilities>div{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;padding:12px 5px;background:#172019;border-radius:var(--radius-inset)}.picker-capabilities span{font-size:25px}.picker-capabilities strong{font-size:12px;font-weight:600}
.picker-notice-card .picker-import-behavior{margin:18px 0 0;font-size:12px;line-height:1.65}.picker-import-behavior strong{color:var(--ink)}
@media(max-width:500px){.picker-format-rows>div{grid-template-columns:92px minmax(0,1fr);gap:12px}.picker-format-rows dt{gap:4px}.picker-format-rows code{font-size:12px;padding:5px 6px}.picker-archive{padding:14px}.picker-capabilities strong{font-size:11px}.picker-notice-card{padding:22px}.picker-notice h2{font-size:23px}}
@media(max-width:500px){.picker-notice-card{padding:20px}.picker-single{margin-top:16px}.picker-format-rows>div{padding:10px 0}.picker-format-rows dd{font-size:12px;line-height:1.45}.picker-archive{margin-top:16px;padding:12px}.picker-archive>p{font-size:12px;margin:10px 0}.picker-capabilities>div{padding:9px 4px}.picker-notice-card .picker-import-behavior{margin-top:12px;font-size:11px;line-height:1.5}.picker-notice-card>p:not(.eyebrow){font-size:12px}.picker-notice-card>.eyebrow{margin-bottom:12px}}

.contents-add>.button,.contents-add>button{flex-direction:column;gap:8px}.contents-action-icon{font-size:28px;line-height:1.15}

/* Artwork also opens its image picker, with native keyboard and disabled behavior. */
.art-picker{padding:0;display:block;overflow:hidden;cursor:pointer}.art-picker img{display:block;width:100%;height:100%;object-fit:inherit;image-rendering:pixelated}.art-picker:hover{outline:2px solid var(--accent)}

.device-question{border-radius:var(--radius-panel)}.backup-resource-list{max-height:35vh;overflow:auto;margin:16px 0}

.device-warning-icon{font-size:80px;line-height:1.1;text-align:center;color:var(--accent);margin:8px 0 24px}.device-art-placeholder{border-style:dotted;border-radius:13px}.device-cart-tools{display:grid;gap:8px;margin-bottom:10px}#backup-device{width:100%;margin-bottom:12px}#device-pending:empty{display:none}.device-task{flex-wrap:wrap}#device-task-progress{width:140px;margin:0}#device-task-estimate{font-size:12px}.contents-tools>#test-cart{width:100%}.device-warning-icon+p{font-size:16px}
.device-header-dock{position:absolute;top:100%;right:4vw;width:300px;max-width:calc(50% - 32px);z-index:19}
.device-header-dock .device-card{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 16px;margin:0;border:1px solid #617552;border-top:0;border-radius:0 0 var(--radius-panel) var(--radius-panel);background:var(--panel);box-shadow:0 8px 20px #0003;animation:none}
.device-header-dock .device-symbol{display:none}.device-header-dock .device-card h2{font-size:13px;margin-bottom:3px}.device-header-dock .device-card p{font-size:11px}.device-header-dock .device-card button{font-size:11px;padding:7px 9px;min-height:32px}
.device-task-slot{overflow:clip}.device-header-dock:has(.device-task:not([hidden])) .device-card{border-radius:1px}
.device-header-dock .device-task{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px 16px;margin:0;border:1px solid #617552;border-top:0;border-radius:0 0 var(--radius-panel) var(--radius-panel);background:var(--panel);animation:device-task-reveal .18s ease-out}
.device-header-dock #device-task-status,.device-header-dock #device-task-progress,.device-header-dock #device-task-estimate{grid-column:1/-1;width:100%;margin:0}.device-header-dock #device-task-estimate:empty{display:none}.device-header-dock .device-task a{font-size:12px}.device-header-dock #device-task-progress{height:6px}
@keyframes device-task-reveal{from{transform:translateY(-100%)}to{transform:translateY(0)}}
@media(max-width:1000px){.drop-bubble,.drop-bubble.has-document{left:4vw;transform:translateY(50%);width:44%;min-width:0}.device-header-dock{width:44%;max-width:none}}
@media(max-width:550px){.device-header-dock .device-card{grid-template-columns:1fr;padding:10px 12px;gap:6px}.device-header-dock .device-card button{justify-self:start}.device-header-dock .device-task{padding:12px;grid-template-columns:1fr}.device-header-dock .device-task a{justify-self:center}.drop-bubble,.drop-bubble.has-document{padding:5px 8px;gap:0}.drop-bubble .drop-open{font-size:11px;min-width:0;overflow:hidden}.drop-bubble .drop-icon{width:27px;min-width:27px}.drop-bubble #drop-label{overflow:hidden;text-overflow:ellipsis}.drop-bubble .cart-icon{font-size:22px}}
@media(prefers-reduced-motion:reduce){.device-header-dock .device-task{animation:none}}


/* Device collection: folder column and wrapping, native-pixel game grids. */
.device-cart-cover{padding:18px 0 24px;border-bottom:1px solid var(--line)}
.device-cart-cover>img,.device-cart-cover>.art-placeholder,.device-folder-heading>img,.device-folder-heading>.art-placeholder{display:block;width:256px;height:256px;max-width:100%;object-fit:contain;image-rendering:pixelated;background:#101510;border-radius:7px}
.device-cart-cover>.art-placeholder,.device-folder-heading>.art-placeholder{display:grid;place-items:center}
.device-folder-group{display:grid;grid-template-columns:256px minmax(0,1fr);align-items:start;gap:24px;padding:24px 16px;border-bottom:1px solid var(--line)}
.device-folder-group:nth-child(even){background:#c8f58107}.device-folder-group:nth-child(odd){background:#0002}
.device-folder-heading{min-width:0}.device-folder-heading h3{margin:0 0 14px;overflow-wrap:anywhere}
.device-folder-group .device-gallery{display:grid;grid-template-columns:repeat(auto-fill,154px);gap:14px;align-items:start;min-width:0}
.device-folder-group .device-tile{padding:12px;width:154px;min-width:0}
.device-folder-group .device-tile>img,.device-folder-group .device-tile>.art-placeholder{width:128px;height:128px;max-width:none;aspect-ratio:1;flex:none}
.device-title{text-decoration:none;overflow-wrap:anywhere}.device-title:hover,.device-title:focus-visible{text-decoration:underline}
.device-system-art{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:18px;margin:20px 0}
.device-system-art figure{margin:0;min-width:0}.device-system-art img{width:128px;height:128px;image-rendering:pixelated;object-fit:contain}.device-system-art figcaption{font-size:12px;color:var(--muted);margin-top:8px}
@media(max-width:760px){.device-folder-group{grid-template-columns:1fr;padding:20px 0;gap:18px}.device-folder-group .device-gallery{gap:10px;grid-template-columns:repeat(auto-fill,140px)}.device-folder-group .device-tile{width:140px;padding:5px}.device-folder-heading>img,.device-folder-heading>.art-placeholder,.device-cart-cover>img,.device-cart-cover>.art-placeholder{height:auto;aspect-ratio:1}}

@media(max-width:550px){.app-main{padding-top:70px}}

/* Clickable native-size artwork, with a floating preview outside the layout. */
.device-folder-group{grid-template-columns:128px minmax(0,1fr)}
.device-art-button{display:block;position:relative;width:128px;height:128px;min-height:0;flex:none;padding:0;border:0;border-radius:7px;background:#101510;margin:0 0 12px}
.device-art-button>img,.device-art-button>.art-placeholder{display:block;width:128px;height:128px;max-width:none;margin:0;image-rendering:pixelated;object-fit:contain;border-radius:7px}
.device-art-button>.art-placeholder{display:grid;place-items:center}.device-art-button:hover{outline:1px solid var(--accent)}
.device-art-zoom{position:fixed;z-index:80;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:0 8px 28px #0009;pointer-events:none}
.device-art-zoom img{display:block;width:256px;height:256px;image-rendering:pixelated;object-fit:contain}
@media(max-width:760px){.device-folder-group{grid-template-columns:1fr}}

.device-header-dock #device-card-scan{background:transparent;border-color:transparent;box-shadow:none;padding:6px;gap:7px}
.device-header-dock #device-card-scan:hover{color:var(--accent);background:#c8f5810a}
.scan-icon{position:relative;display:inline-block;width:12px;height:12px;border:1.5px solid currentColor;border-radius:calc(50% + 1px);margin:0 3px 3px 0;flex:none}
.scan-icon::after{content:'';position:absolute;width:6px;height:1.5px;background:currentColor;transform:rotate(45deg);transform-origin:left center;left:8px;top:9px}
.drop-bubble #unload-cart{top:-11px;transform:none;display:grid;place-items:center;line-height:1}
.drop-bubble #unload-cart svg{display:block;width:12px;height:12px}
.device-table th,.device-table td{padding:4px 8px;border:0;line-height:1.3}.device-table .device-title{min-height:22px;font-size:13px;padding:0}
.device-table tbody tr:nth-child(odd){background:#0002}.device-table tbody tr:nth-child(even){background:#c8f58107}

body:has(>.site-header){padding-bottom:calc(var(--site-footer-height,76px) + 20px)}
.site-header{position:sticky;top:0;z-index:60;background:var(--bg)}
.site-footer{position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--bg);padding-top:16px;padding-bottom:16px}
html:has(.site-header){scroll-padding-top:calc(var(--site-header-height,100px) + 90px);scroll-padding-bottom:calc(var(--site-footer-height,76px) + 20px)}
.device-overview{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-bottom:20px}
.device-overview>.panel{min-width:0;margin:0;padding:24px 24px 104px}
.device-install-layout{display:grid;grid-template-columns:128px minmax(0,1fr);gap:20px;align-items:start}.device-install-copy{min-width:0}.device-install-copy h3{overflow-wrap:anywhere}.device-install-copy p:last-child{margin-bottom:0}
.device-current-preview img,.device-current-preview span{width:128px;height:128px;display:block;object-fit:contain;image-rendering:pixelated;border-radius:11px}.device-current-preview span{display:grid;place-items:center;border:2px dashed var(--line);font-size:40px;color:var(--muted)}
.device-scan-actions{display:flex;flex-wrap:wrap;gap:10px}
#device-install,#device-browse,#device-deep{min-width:220px;min-height:56px;font-size:17px;padding:16px 24px}
#device-install.device-install-bridge{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:1;width:max-content;display:flex;gap:16px;box-shadow:0 0 0 8px var(--bg)}
.device-install-bridge svg{width:24px;height:24px;flex:none}
.device-details-panel>details{margin:0;padding:0;border:0}.device-details-panel>.actions:has(>button:not([hidden])){margin-bottom:16px}#device-support:empty{display:none}
.installation-help>summary{font-size:18px;font-weight:500}
@media(max-width:900px){.device-overview{grid-template-columns:minmax(0,1fr);gap:0}.device-overview>.device-current-cart{padding-bottom:56px}.device-overview>.device-scan-column{padding-top:56px;padding-bottom:24px}#device-install.device-install-bridge{position:relative;grid-row:2;justify-self:center;left:auto;bottom:auto;transform:none;margin:-16px 0;align-self:center}.device-install-bridge svg{transform:rotate(90deg)}}
@media(max-width:550px){.device-install-layout{grid-template-columns:80px minmax(0,1fr);gap:16px}.device-current-preview img,.device-current-preview span{width:80px;height:80px;image-rendering:auto}.device-overview>.panel{padding-inline:18px}.device-scan-actions{display:grid}#device-browse,#device-deep{width:100%;min-width:0}#device-install.device-install-bridge{min-width:0;max-width:calc(100% - 32px)}.site-footer{gap:8px 16px;font-size:11px;padding-top:10px;padding-bottom:10px}.site-footer span{width:100%}}

.site-footer a{text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{text-decoration:underline}
.sample-cart{display:flex;flex-direction:column;background:transparent;border:0;padding:12px 24px;gap:8px;cursor:grab;touch-action:none;user-select:none}.sample-cart:hover{background:transparent}.sample-package{font-size:112px;line-height:1.2}.sample-label{font-size:17px;color:var(--accent)}.sample-picked{visibility:hidden}
.sample-cart-ghost{position:fixed;transform:translate(-50%,-50%);font-size:112px;line-height:1.2;z-index:92;pointer-events:none;user-select:none}
.sample-cart-guide{position:fixed;inset:0;width:100%;height:100%;z-index:90;pointer-events:none;overflow:visible}.sample-cart-arc{animation:sample-march .8s linear infinite}
.drop-bubble.sample-target{animation:sample-breathe 1s ease-in-out infinite;border-color:var(--accent)}
.sample-puff{position:fixed;width:18px;height:18px;border-radius:calc(50% + 1px);background:#d8e3c9;z-index:93;pointer-events:none}
@keyframes sample-march{to{stroke-dashoffset:-36}}@keyframes sample-breathe{50%{scale:1.12;box-shadow:0 0 18px 8px #c8f58180,0 0 60px 22px #c8f58140}}
@media(prefers-reduced-motion:reduce){.sample-cart-arc,.drop-bubble.sample-target{animation:none}.drop-bubble.sample-target{outline:3px solid var(--accent);box-shadow:0 0 16px #c8f58180}}

.sample-package{position:relative;animation:sample-float 2.6s ease-in-out infinite;transition:filter .25s}.sample-cart{position:relative;padding-bottom:24px;gap:18px}.sample-cart::after{content:'';position:absolute;left:50%;top:139px;width:68px;height:12px;border-radius:calc(50% + 1px);background:#0007;transform:translateX(-50%);animation:sample-shadow 2.6s ease-in-out infinite;pointer-events:none}
.sample-cart:hover .sample-package,.sample-cart:focus-visible .sample-package{filter:drop-shadow(0 0 12px #c8f581a0) drop-shadow(0 0 25px #c8f58150)}
.sample-picked .sample-package,.sample-picked::after{animation:none}
.sample-cart-guide{opacity:0;visibility:hidden;transition:opacity .6s ease,visibility 0s .6s}.sample-cart-guide.guide-on{opacity:1;visibility:visible;transition-delay:0s}
.sample-puff{z-index:91}
@keyframes sample-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes sample-shadow{0%,100%{transform:translateX(-50%) scaleX(1);opacity:.6}50%{transform:translateX(-50%) scaleX(.72);opacity:.3}}
@media(prefers-reduced-motion:reduce){.sample-package,.sample-cart::after{animation:none}.sample-cart-guide,.sample-package{transition:none}}

#welcome h1 em{font-size:.5em;letter-spacing:-.025em;white-space:nowrap}

/* Keep centered layouts steady when switching between short and long tabs. */
html:has(.site-header){scrollbar-gutter:stable}
@supports not (scrollbar-gutter:stable){html:has(.site-header){overflow-y:scroll}}

.toast{cursor:pointer;animation:toast-pop-up .28s cubic-bezier(.2,.8,.3,1)}
.toast-slide-out{animation:toast-slide-down .28s ease-in forwards}.toast-fade-out{animation:toast-fade-away .28s ease-out forwards}
@keyframes toast-pop-up{from{opacity:0;transform:translateY(calc(100% + 24px)) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes toast-slide-down{to{opacity:0;transform:translateY(calc(100% + 24px))}}
@keyframes toast-fade-away{to{opacity:0}}
@media(prefers-reduced-motion:reduce){.toast,.toast-slide-out,.toast-fade-out{animation:none}}

@media(min-width:761px){#player-area .play-layout{padding-top:44px;align-items:start}#player-area .cart-actions{margin-top:0}}

.game-row img,.device-game-row img{image-rendering:auto}
.appearance-grid .artwork-card{position:relative;align-items:center;text-align:center}
.appearance-grid .art-actions{align-items:center;width:100%}
.appearance-grid .button,.appearance-grid button{color:var(--ink);text-decoration:none;text-align:center;justify-content:center}
.appearance-grid .button:hover,.appearance-grid button:hover,.appearance-grid .button:focus-within,.appearance-grid button:focus-visible{color:var(--accent)}
.appearance-grid .art-remove{position:absolute;top:-8px;left:calc(50% + 50px);width:24px;height:24px;min-height:24px;padding:0;border-radius:calc(50% + 1px);border:1px solid var(--line);background:var(--panel);font-size:19px;line-height:1;display:grid;place-items:center;z-index:1}

/* Keep controls with the screen, and give folder editing a compact visual hierarchy. */
.emulator-column{min-width:0}.emulator-column>.friendly-help{max-width:660px;margin:24px auto 32px}.emulator-column .control-guide{gap:10px 16px}
.folder-line .folder-toggle{flex:none;width:20px;min-height:34px;padding:0;border:0;border-radius:3px;background:transparent;color:var(--muted);font-size:14px}.folder-line .folder-toggle:hover{color:var(--accent);background:transparent}
.folder-line .folder-row{gap:8px;padding:7px 6px}.folder-row img{flex:none;width:42px;height:42px;object-fit:contain;image-rendering:auto;border-radius:5px}.folder-row span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.folder-settings-grid{display:grid;grid-template-columns:minmax(128px,.85fr) minmax(150px,1fr) max-content;gap:20px;align-items:start}.folder-art-column,.folder-info-column{min-width:0}.folder-art-column .artwork-card{margin:0}.folder-art-column .art-actions{flex-direction:column;align-items:flex-start;gap:8px}
.folder-order-actions{display:flex;flex-direction:column;gap:10px;padding-top:23px}.folder-order-actions button{white-space:nowrap}
.folder-removal-actions{justify-content:flex-start;margin-top:24px}.folder-removal-actions .danger{background:var(--coral);border-color:var(--border);color:var(--on-accent,#252628)}.folder-removal-actions .danger:hover{background:#FCE3DB;border-color:var(--border)}
@container detail-pane (max-width:460px){.folder-settings-grid{grid-template-columns:128px minmax(0,1fr);gap:16px}.folder-art-column{grid-row:span 2}.folder-order-actions{grid-column:2;padding-top:0;align-items:flex-start}.folder-info-column label:last-child,.folder-info-column label:last-child select{margin-bottom:0}}
@container detail-pane (max-width:300px){.folder-settings-grid{grid-template-columns:minmax(0,1fr)}.folder-art-column{grid-row:auto}.folder-order-actions{grid-column:1;flex-direction:row;flex-wrap:wrap}}

/* Embedded player sizing follows its host without a second inset or rounded screen. */
.player-page.compact.no-instructions #player-root{max-width:none;width:100%;padding:0}
.player-page.compact.no-instructions .player-stage,.player-page.compact.no-instructions .screen{border:0;border-radius:0;background:#000}
.player-page.compact.no-instructions .screen canvas{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:0}


/* Cart checks keep the affected field and the next step in one readable row. */
.validation-panel{container-type:inline-size}
#issues{display:grid;gap:12px}
#issues .issue{display:grid;grid-template-columns:30px minmax(170px,.32fr) minmax(0,1fr);align-items:center;gap:16px;min-height:76px;margin:0 3px 3px 0;padding:14px 18px;border:2px solid var(--border);border-radius:var(--radius-inset);background:#FCE3DB;box-shadow:3px 3px 0 #000;color:var(--ink);font-size:14px;line-height:1.45}
#issues .issue.warning{background:#FFF6CC}
#issues .issue-symbol{display:grid;place-items:center;align-self:center;width:30px;height:30px;border:2px solid var(--border);border-radius:50%;background:var(--coral);font-size:18px;font-weight:800;line-height:1}
#issues .warning .issue-symbol{background:var(--yellow)}
#issues .issue-context{display:grid;gap:3px;min-width:0}
#issues .issue-location{font-family:'Space Grotesk',system-ui,sans-serif;font-size:16px;line-height:1.3}
#issues .issue-kind{font-size:11px;font-weight:600;color:var(--muted);line-height:1.4}
#issues .issue-message{min-width:0;margin:0;padding-left:20px;border-left:1px solid color-mix(in srgb,var(--border) 30%,transparent);font-size:14px;line-height:1.5}
#issues>.success{margin:0;padding:14px 18px;border:2px solid var(--border);border-radius:var(--radius-inset);background:var(--mint);color:var(--ink);box-shadow:3px 3px 0 #000;font-size:14px;font-weight:600}
@container (max-width:620px){#issues .issue{grid-template-columns:30px minmax(0,1fr);gap:8px 12px;padding:14px}#issues .issue-symbol{grid-column:1;grid-row:1/3;align-self:start}#issues .issue-context,#issues .issue-message{grid-column:2}#issues .issue-message{padding-left:0;border-left:0}}
