/* CHGame brand: original logos, exact palette, flat fills and hard ink shadows. */
@font-face{font-family:'Space Grotesk';src:url('assets/brand/fonts/space-grotesk.ttf') format('truetype');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/brand/fonts/dm-sans.ttf') format('truetype');font-weight:100 1000;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('assets/brand/fonts/jetbrains-mono.ttf') format('truetype');font-weight:100 800;font-style:normal;font-display:swap}
:root{color-scheme:light;--line:#252628;--muted:#535653;--ink:#252628;--border:#252628;--accent:#9cefcd;--gold:#252628;--yellow:#F9D84A;--mint:#9cefcd;--sage:#9cefcd;--lavender:#c9a1ff;--blue:#8ed0fb;--soft-grey:#f2f0e8;--hover-fill:var(--soft-grey);--coral:#F4A28C;font-family:'DM Sans',system-ui,sans-serif;background:var(--bg);color:var(--ink)}
body{background-color:var(--bg);background-image:var(--page-pattern);accent-color:var(--ink)}
h1,h2,h3,h4,legend,.brand{font-family:'Space Grotesk',system-ui,sans-serif}h4{font-size:15px;margin:0 0 12px}h1,h2,h3{font-weight:700;letter-spacing:-.035em}h1{line-height:1.08}p{line-height:1.6}code,pre,kbd{font-family:'JetBrains Mono',monospace}a{color:var(--ink);text-decoration-color:var(--sage);text-decoration-thickness:3px}a:hover{text-decoration-color:var(--yellow)}
button,.button{border:2px solid var(--border);border-radius:7px;background:var(--panel);color:var(--ink);box-shadow:3px 3px 0 #000;font-weight:600;transition:background .1s,transform .1s,box-shadow .1s;min-height:42px}button:hover,.button:hover{background:var(--sage);border-color:var(--border);color:var(--ink)}button:active,.button:active{transform:translate(3px,3px);box-shadow:none}button:disabled,.button[aria-disabled=true]{opacity:1!important;background:#E3E3DE!important;color:#676963!important;border-color:#92958E!important;box-shadow:none;transform:none;cursor:not-allowed}.primary{background:var(--sage);border-color:var(--border);color:var(--ink)}.primary:hover{background:var(--mint);color:var(--ink)}button.danger,.danger{background:var(--coral);color:var(--ink);border-color:var(--border)}button.danger:hover{background:#FCE3DB}
input,textarea,select{color:var(--ink);background:var(--panel);border:2px solid var(--border);border-radius:6px;box-shadow:none}input::placeholder,textarea::placeholder{color:#696A64}label{color:var(--ink);font-weight:600}label small{font-weight:400}input[type=checkbox]{accent-color:var(--ink)}select[multiple]{min-height:98px}input[type=date]{min-width:0;max-width:100%}:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.button:focus-within{outline:3px solid var(--ink)}
.site-header{background:var(--panel);border-bottom:2px solid var(--border);gap:18px;padding:16px 4vw 36px}.brand{gap:10px;flex-wrap:nowrap}.brand-badge{width:43px;height:40px;object-fit:contain}.brand-wordmark{width:146px;height:36px;object-fit:contain;image-rendering:pixelated}.brand small{max-width:85px;line-height:1.6;font-size:9px;color:var(--ink);font-weight:700}.site-header nav{gap:5px}.site-header nav a{border:2px solid transparent;font-weight:700;padding:10px 12px;background:color-mix(in srgb,var(--lavender) 25%,var(--panel))}.site-header nav a:hover{background:color-mix(in srgb,var(--lavender) 75%,var(--panel))}.site-header nav a.active{background:var(--lavender);color:var(--ink);border-color:var(--border);box-shadow:3px 3px 0 #000}.community-account{margin-left:auto;max-width:220px;overflow-wrap:anywhere;font-size:13px}.connection-menu{margin-left:0}.connection-menu>summary{background:var(--panel);color:var(--ink);border:2px solid var(--border);border-radius:7px;box-shadow:3px 3px 0 #000;min-height:42px}.connection-menu>summary:hover{background:var(--sage);border-color:var(--border)}.connection-menu[data-state=connected]>summary{color:var(--ink);background:var(--mint)}.connection-menu[data-state=connected] .connection-dot{background:var(--ink);box-shadow:none}.connection-dot{background:#535653}.connection-panel{border:2px solid var(--border);border-radius:var(--radius-panel);background:var(--panel);box-shadow:5px 5px 0 #000}.connection-forget{box-shadow:none}.connection-panel .actions{gap:10px}
.drop-bubble,.drop-bubble.has-document{border:2px solid var(--border);background:var(--sage);color:var(--ink);box-shadow:4px 4px 0 #000;border-radius:9px}.drop-bubble::before{background:var(--sage)}.drop-bubble:hover,.drop-bubble:focus-visible{border-color:var(--border);box-shadow:4px 4px 0 #000;background:var(--mint)}.drop-bubble:hover::before{background:var(--mint)}.drop-bubble.file-over,.drop-bubble.community-drop-ready{border-color:var(--border);box-shadow:4px 4px 0 #000;outline:3px dashed var(--border);outline-offset:6px}.drop-bubble.file-over::before{background:var(--yellow)}.drop-bubble .drop-open,.drop-bubble .drop-icon{box-shadow:none;color:var(--ink)}.drop-bubble :is(#drop-add,#drop-info):hover{background:var(--yellow);border-color:var(--border)}.drop-bubble #unload-cart{background:var(--coral);border-color:var(--border);color:var(--ink);box-shadow:2px 2px 0 #000}.drop-bubble #unload-cart:hover{background:#FCE3DB}.cart-stats-slot,.drop-bubble:hover .cart-stats-slot,.drop-bubble:has(>button:focus-visible) .cart-stats-slot{border-color:var(--border)}.cart-stats{border-width:2px;border-color:var(--border);border-radius:1px 1px 9px 9px;background:var(--panel);color:var(--ink)}.cart-stats #document-mode{color:var(--ink)}
.panel,.document-bar,.picker-notice-card,.device-card,.device-header-dock .device-card,.device-header-dock .device-task{background:var(--panel);background-image:none;border:2px solid var(--border);border-radius:var(--radius-panel);box-shadow:4px 4px 0 #000}.device-header-dock .device-card,.device-header-dock .device-task{border-top:0;border-radius:0 0 var(--radius-panel) var(--radius-panel)}.panel-heading{gap:14px}.panel{padding:24px}dialog{background:var(--panel);border:2px solid var(--border);border-radius:var(--radius-dialog);box-shadow:6px 6px 0 #000;color:var(--ink)}dialog::backdrop{background:#25262899}.picker-notice{box-shadow:none;background:transparent;border:0}.picker-notice-card{border-radius:var(--radius-dialog);box-shadow:6px 6px 0 #000}.notice{border:2px solid var(--border);border-radius:var(--radius-inset);background:#FFF6CC;color:var(--ink)}.issue{background:#FCE3DB;border-color:var(--border);color:var(--ink)}.issue.warning{background:#FFF6CC;border-color:var(--border)}.success,.success-note{color:var(--ink)}.success-note{background:color-mix(in srgb,var(--mint) 25%,var(--panel))}.app-status{color:var(--ink)}.advanced{background:color-mix(in srgb,var(--lavender) 25%,var(--panel));border:2px solid var(--border)}kbd{background:var(--panel);border-color:var(--border);color:var(--ink)}
.tag{background:var(--mint);color:var(--ink);border:1px solid var(--border);font-weight:700}.game-row,.folder-row,.folder-toggle{box-shadow:none;background:transparent;color:var(--ink)}.game-row.selected,.folder-line.selected{background:var(--yellow);border-color:var(--border)}.game-row:hover,.folder-row:hover,.folder-toggle:hover{background:var(--sage);border-color:var(--border)}.game-row img,.game-thumb,.asset-image,.art-pair img,.device-art-placeholder{background:color-mix(in srgb,var(--lavender) 25%,var(--panel));border-color:var(--border);color:var(--ink)}.folder-row{font-weight:700}.contents-tools>#test-cart{background:var(--yellow)}.device-question,.device-warning-icon{color:var(--ink)}.device-current-preview{background:transparent}.device-current-preview img{background:#000}.device-panel .destination{color:var(--ink)}.device-panel li{color:var(--ink)}.progress-track{background:var(--panel);border:1px solid var(--border)}.progress-track>span{background:var(--sage)}
.picker-format-rows code,.picker-archive h3 code{background:var(--mint);color:var(--ink);border:1px solid var(--border);border-radius:6px}.picker-elf dt code{background:#FFF6CC;color:var(--ink)}.picker-elf dt small{color:var(--ink)}.picker-archive{background:color-mix(in srgb,var(--mint) 25%,var(--panel));border:2px solid var(--border);border-radius:var(--radius-panel)}.picker-archive-heading>span{color:var(--ink)}.picker-capabilities>div{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-inset)}
.site-footer{background:var(--panel);color:var(--ink);border-top:2px solid var(--border)}#working{background:var(--mint);color:var(--ink);border:2px solid var(--border);box-shadow:4px 4px 0 #000}.hero em{color:var(--ink)}.community-welcome{max-width:none;position:relative;margin:32px 0 42px;padding:36px 210px 32px 34px;border:2px solid var(--border);border-radius:var(--radius-panel);background:var(--sage);box-shadow:6px 6px 0 #000}.community-welcome h1{font-size:clamp(36px,4.6vw,64px);line-height:1.08;margin-bottom:18px}.community-welcome h1 em{font-size:1em!important;white-space:normal!important;letter-spacing:-.035em!important}.community-welcome>p:not(.eyebrow){color:var(--ink);max-width:620px;margin-bottom:0}.community-welcome .sample-cart{position:absolute;right:35px;top:50%;transform:translateY(-50%);margin:0;background:var(--yellow);border:2px solid var(--border);border-radius:var(--radius-panel);box-shadow:5px 5px 0 #000;color:var(--ink);padding:20px}.community-welcome .sample-label{color:var(--ink);font-weight:700}.community-welcome .sample-cart:hover{background:var(--mint)}
#player-area{margin:32px 0 12px;scroll-margin-top:40px}.cart-actions{margin-top:24px}.cart-actions h2{font-size:28px}.cart-actions .actions>*{flex-grow:1}.console-shell{border:2px solid var(--border);border-radius:var(--radius-panel);background:var(--sage);box-shadow:6px 6px 0 #000;overflow:hidden}.friendly-help{color:var(--muted)}
#community-panel{margin:40px 0 64px;min-width:0}.community-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px}.community-heading h1{font-size:clamp(30px,4vw,46px);margin-bottom:12px}.community-heading p:last-child{color:var(--muted);margin:0}.community-heading>.community-tag{white-space:nowrap;transform:rotate(3deg);padding:10px 15px;box-shadow:3px 3px 0 #000}.eyebrow{color:var(--ink);font-weight:700;font-size:10px;letter-spacing:.14em;margin-bottom:12px}.community-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:18px 0;margin-bottom:20px;border-top:2px solid var(--border);border-bottom:2px solid var(--border)}.community-toolbar button[aria-pressed=true],.community-toolbar button[aria-expanded=true]{background:var(--yellow)}#catalog-count{margin-left:auto}.browse-filters{background:var(--soft-grey)}.community-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.community-filter-grid label{min-width:0}.community-filter-grid .filter-wide{grid-column:span 2}.community-filter-grid input,.community-filter-grid select{margin-bottom:0}.community-filter-grid .community-check{align-self:center}.browse-filters>.actions{margin-top:22px}.community-check{display:flex;align-items:center;gap:10px;line-height:1.5}.community-check input{width:18px;height:18px;flex:none;margin:0}.community-check small{font-weight:400}
.arcade-group{margin-bottom:42px}.arcade-group-heading{display:flex;gap:12px;align-items:center;margin:0 0 18px}.arcade-group-heading h2{font-size:22px;margin:0}.arcade-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:24px}.arcade-card{min-width:0;display:flex;flex-direction:column;background:var(--panel);border:2px solid var(--border);border-radius:9px;box-shadow:5px 5px 0 #000;overflow:hidden;transition:transform .12s,box-shadow .12s}.arcade-card:focus-within{outline:3px solid var(--sage);outline-offset:6px}.arcade-cover{width:100%;aspect-ratio:1.18;min-height:0;display:grid;place-items:center;border:0;border-radius:1px;border-bottom:2px solid var(--border);padding:22px;background:var(--lavender);box-shadow:none;position:relative;overflow:hidden}.arcade-cover:hover{background:var(--sage)}.arcade-cover:active{transform:none}.arcade-cover img{width:100%;height:100%;max-height:228px;aspect-ratio:1;object-fit:contain;image-rendering:pixelated}.cover-placeholder{display:grid;place-items:center;width:128px;height:128px;background:var(--yellow);font:700 52px 'Space Grotesk',sans-serif;border:3px solid var(--border);border-radius:9px;box-shadow:5px 5px 0 #000}.cover-play{position:absolute;bottom:12px;left:12px;background:var(--panel);padding:5px 9px;border:2px solid var(--border);border-radius:5px;font-size:10px;letter-spacing:.08em;box-shadow:2px 2px 0 #000;opacity:0}.arcade-cover:hover .cover-play,.arcade-cover:focus-visible .cover-play{opacity:1}.cover-count{position:absolute;top:12px;right:12px;background:var(--yellow);border:2px solid var(--border);border-radius:21px;padding:4px 9px;font-size:11px;box-shadow:2px 2px 0 #000}.arcade-card-copy{padding:18px;display:flex;flex:1;flex-direction:column;gap:0}.arcade-card-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:16px;letter-spacing:1px}.arcade-card-meta small{font-size:9px;letter-spacing:.12em;font-weight:700}.arcade-card h3{font-size:23px;margin:10px 0 4px;line-height:1.2}.arcade-card h3 button{font:inherit;padding:0;border:0;background:transparent;box-shadow:none;text-align:left;justify-content:flex-start;min-height:0}.arcade-card h3 button:hover{text-decoration:underline;text-decoration-color:var(--sage);text-decoration-thickness:3px}.arcade-byline{font-size:12px;font-weight:600;margin:0 0 12px;color:var(--muted)}.arcade-description{font-size:13px;line-height:1.5;margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:3em}.arcade-categories{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.arcade-social{display:flex;align-items:center;gap:9px;margin-top:auto;padding-top:8px}.arcade-social>.muted{font-size:10px;margin-left:auto;white-space:nowrap}.small-button{font-size:11px;min-height:32px;padding:6px 8px;box-shadow:2px 2px 0 #000}.small-button.is-selected{background:var(--mint)}.arcade-card-actions{margin-top:14px;gap:9px}.arcade-card-actions button{flex:1;font-size:12px;padding:8px 9px;min-height:38px}.arcade-card-actions [data-action=curate]{flex:0;font-size:10px;padding:6px}.community-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border:1px solid var(--border);border-radius:21px;background:var(--panel);font-size:11px;font-weight:700;line-height:1.3;color:var(--ink)}.community-tag.mint{background:var(--mint)}.community-tag.sage{background:var(--sage)}.community-tag.lavender{background:var(--lavender)}.community-tag.yellow{background:var(--yellow)}.community-tag.coral{background:var(--coral)}
.community-empty{text-align:center;background:var(--panel);border:2px dashed var(--border);border-radius:var(--radius-panel);padding:40px 25px;color:var(--muted);grid-column:1/-1}.community-empty h2,.community-empty h3{color:var(--ink)}.community-empty p{margin-bottom:0}.community-toast{position:fixed;left:50%;bottom:calc(var(--site-footer-height,76px) + 22px);transform:translateX(-50%);z-index:100;max-width:min(640px,90vw);background:var(--mint);border:2px solid var(--border);box-shadow:4px 4px 0 #000;border-radius:var(--radius-inset);padding:15px 20px;color:var(--ink);font-size:14px;overflow-wrap:anywhere}.community-toast.error{background:#FCE3DB}.community-dialog{max-height:85dvh;overflow-y:auto;width:min(92vw,690px);padding:30px}.community-dialog h2{padding-right:24px;font-size:27px}.community-dialog .actions{margin:14px 0}.persona-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}.account-preference{padding:20px 0}.community-notification-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:28px}.community-notification-heading h3{margin:0}.community-notification{border-bottom:1px solid var(--border);padding:16px 12px;overflow-wrap:anywhere}.community-notification.unread{border-left:4px solid var(--border);background:#FFF6CC}.community-notification p{white-space:pre-wrap;margin:7px 0;font-size:14px}.community-notification small{font-size:11px}
.community-page-title{display:flex;gap:20px;align-items:center;justify-content:space-between;margin:26px 0}.community-page-title h2{font-size:30px;margin-bottom:10px}.community-page-title p{margin-bottom:0}.community-page-title>.actions{justify-content:flex-end}.submission-list{display:grid;gap:20px}.submission-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;padding:20px;background:var(--panel);border:2px solid var(--border);border-radius:var(--radius-panel);box-shadow:4px 4px 0 #000;min-width:0}.submission-card>img,.submission-cover-placeholder{width:96px;height:96px;object-fit:contain;image-rendering:pixelated;background:var(--lavender);border:2px solid var(--border);border-radius:6px}.submission-cover-placeholder{display:grid;place-items:center;font:700 32px 'Space Grotesk',sans-serif}.submission-card h3{font-size:21px;margin:12px 0 8px;overflow-wrap:anywhere}.submission-card .actions button{font-size:12px}.submission-card .actions small{font-size:10px}.submission-card .muted{font-size:12px}.submission-reason{white-space:pre-wrap;background:#FFF6CC;padding:12px;border-left:3px solid var(--border);font-size:13px}.owned-heading{margin-top:38px;font-size:24px}.submission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.admin-status-filter{display:flex;align-items:center;gap:24px;margin:20px 0}.admin-status-filter label{width:min(250px,100%)}.admin-status-filter select{margin-bottom:0}
.review-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 25px}.review-metrics>div{background:var(--sage);border:2px solid var(--border);border-radius:var(--radius-inset);padding:15px;display:flex;flex-direction:column;gap:4px}.review-metrics strong{font-family:'Space Grotesk',sans-serif;font-size:25px}.review-metrics span{font-size:11px}.report-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:30px}.report-breakdown ul{padding:0;list-style:none;margin:0}.report-breakdown li{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #E6E2D3;padding:7px 0;font-size:12px}.report-breakdown li code{overflow-wrap:anywhere;min-width:0}.report-breakdown li strong{white-space:nowrap;font-size:11px}.review-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.review-game{min-width:0;background:color-mix(in srgb,var(--mint) 25%,var(--panel));border:2px solid var(--border);border-radius:var(--radius-panel);padding:20px}.review-game h4{font-size:21px;margin:0}.review-properties{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;font-size:12px}.review-properties dt{font-weight:700}.review-properties dd{margin:0;overflow-wrap:anywhere}.review-properties code{font-size:10px}.table-scroll{max-width:100%;overflow:auto;overscroll-behavior-x:contain}.table-scroll table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.table-scroll th{background:var(--sage);font-size:11px}.table-scroll th,.table-scroll td{padding:10px;border:1px solid var(--border);vertical-align:top}.table-scroll td small{display:block;font-size:10px;margin-top:4px}.table-scroll td code{font-size:10px;overflow-wrap:anywhere}.table-scroll td details{margin:0;padding:0;border:0}.table-scroll td summary{padding:0;min-height:0;font-weight:400}.table-scroll td details[open]>summary{margin-bottom:8px}.inventory-table{min-width:760px}.hash-full{overflow-wrap:anywhere;word-break:break-all;font-size:11px}.review-warning{color:#7A2816}.review-issues{padding-left:22px;font-size:13px}.review-issues li{margin-bottom:10px;overflow-wrap:anywhere}.report-checks pre,.review-game pre{max-height:440px;overflow:auto;background:var(--panel);border:1px solid var(--border);padding:15px;border-radius:var(--radius-inset)}
.review-resolution{border:2px solid var(--border);border-radius:var(--radius-panel);padding:22px;margin:28px 0;background:var(--bg)}.review-resolution legend{background:var(--lavender);border:2px solid var(--border);border-radius:6px;padding:8px 12px;font-size:18px;max-width:100%;overflow-wrap:anywhere}.review-resolution>p{font-size:13px}.resolution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.resolution-grid label{min-width:0}.resolution-override,.resolution-carts{margin-top:24px}.resolution-carts .community-check{padding:10px 0;border-top:1px solid #E6E2D3}.review-comparison-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:15px 0}.review-comparison-heading button{font-size:12px}.review-diff{margin:16px 0}.review-diff>.muted{font-size:12px}.review-diff .table-scroll{max-height:340px}.review-diff table{min-width:480px}.review-diff details{padding-top:10px;margin-top:10px}.staged-artifact{border:2px solid var(--border);border-radius:var(--radius-panel);padding:22px;margin:20px 0;background:color-mix(in srgb,var(--mint) 25%,var(--panel))}.staged-artifact h4{font-size:19px;margin:0}.staged-artifact>.panel-heading button{font-size:12px}.staged-artifact>.panel-heading{flex-wrap:wrap}.staged-artifact .panel{margin-top:20px;box-shadow:none}.staged-artifact .report-breakdown{grid-template-columns:1fr}.category-row{padding:18px 0;border-top:1px solid var(--border)}#category-create{border-top:2px solid var(--border);padding-top:24px;margin-top:24px}#community-draft-target{margin-bottom:25px}#community-offline{margin-bottom:20px}#community-offline button{margin:10px}
@media(min-width:1450px){.arcade-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1350px){.brand small{display:none}.site-header{gap:15px}.brand-wordmark{width:146px;height:36px}.brand-badge{width:34px;height:32px}.community-account{max-width:170px;font-size:12px}.site-header nav a{padding:9px}.connection-menu>summary{font-size:11px}}
@media(max-width:1000px){.site-header nav{order:3;width:auto;justify-content:flex-start}.site-header .connection-menu{margin-left:auto}.community-account{margin-left:auto}.site-header nav{width:100%;justify-content:center}.community-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.review-games{grid-template-columns:1fr}.submission-grid{grid-template-columns:1fr}.community-heading>.community-tag{display:none}.community-welcome{padding-right:200px}.community-welcome .sample-cart{right:25px}.community-welcome .sample-package{font-size:48px}.drop-bubble,.drop-bubble.has-document{width:44%;left:4vw;transform:translateY(50%)}.review-metrics strong{font-size:21px}}
@media(max-width:700px){.site-header{padding:12px 5vw 36px;gap:12px}.site-header nav{margin:0;gap:8px}.brand-wordmark{width:146px;height:36px}.brand-badge{width:30px;height:28px}.brand{gap:6px}.community-account{margin-left:auto;max-width:145px}.site-header .connection-menu{margin-left:0;order:2}.site-header nav{order:3;width:auto;flex:1;justify-content:flex-end;gap:3px}.site-header nav a{font-size:12px;padding:7px}.connection-menu>summary{padding:8px;font-size:11px}.connection-panel{left:0;right:auto}.community-welcome{margin-top:25px;padding:25px 24px}.community-welcome h1{font-size:39px}.community-welcome .sample-cart{position:static;transform:none;margin-top:22px;padding:12px 18px;flex-direction:row;gap:14px;display:inline-flex}.community-welcome .sample-package{font-size:34px}.community-welcome .sample-label{font-size:13px}.community-heading{margin-top:28px}.community-heading h1{font-size:34px}.community-heading p:last-child{font-size:14px}.community-toolbar{gap:10px}.community-toolbar button{font-size:12px;padding:8px 10px;min-height:38px}#catalog-count{font-size:11px}.community-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.community-filter-grid .filter-wide{grid-column:1/-1}.arcade-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.arcade-card-copy{padding:14px}.arcade-card h3{font-size:20px}.arcade-cover{padding:15px}.arcade-social{flex-wrap:wrap;gap:7px}.arcade-social>.muted{margin:0;font-size:9px}.arcade-card-actions button{font-size:11px}.arcade-card-actions [data-action=curate]{flex:1}.arcade-card-meta{font-size:13px}.arcade-description{font-size:12px}.arcade-card-meta small{font-size:8px}.cover-count{right:8px;top:8px;font-size:9px;padding:4px 6px}.community-page-title{display:block}.community-page-title>.actions{justify-content:flex-start;margin-top:18px}.community-page-title>label{margin-top:15px}.review-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.report-breakdown{grid-template-columns:1fr;gap:24px}.resolution-grid{grid-template-columns:1fr;gap:10px}.review-resolution{padding:18px}.review-resolution legend{font-size:16px}.report-overview,.report-inventory,.report-checks{padding:18px}.review-game{padding:15px}.review-properties{grid-template-columns:75px minmax(0,1fr);font-size:11px}.review-comparison-heading{align-items:flex-start}.review-comparison-heading button{font-size:10px}.community-dialog{padding:25px}.persona-grid{grid-template-columns:1fr}.submission-card{padding:16px;gap:14px;grid-template-columns:70px minmax(0,1fr)}.submission-card>img,.submission-cover-placeholder{width:70px;height:70px}.submission-card h3{font-size:19px}.submission-card .actions button{font-size:11px;padding:7px 8px}.community-notification-heading{align-items:flex-start}.community-notification-heading h3{font-size:15px}.community-notification-heading button{font-size:10px}.staged-artifact{padding:16px}.cart-actions{margin-top:25px}.cart-actions h2{font-size:24px}.community-toast{font-size:12px;padding:13px 16px}.community-welcome .sample-cart:hover{transform:none}}
@media(max-width:410px){.brand-wordmark{width:146px;height:36px}.brand-badge{display:none}.community-account{font-size:10px;max-width:145px;padding:8px}.arcade-grid{gap:15px}.arcade-card-copy{padding:11px}.arcade-card h3{font-size:19px}.arcade-card-actions{gap:7px}.arcade-social .small-button{font-size:10px;padding:5px 6px}.arcade-cover{padding:12px}.cover-placeholder{width:85px;height:85px;font-size:36px}.community-heading h1{font-size:30px}.community-filter-grid{grid-template-columns:1fr}.community-filter-grid .filter-wide{grid-column:auto}.drop-bubble,.drop-bubble.has-document{width:47%}.device-header-dock{width:43%}.submission-card{grid-template-columns:1fr}.submission-card>img,.submission-cover-placeholder{width:84px;height:84px}}
/* Long catalog pages need a footer in document flow, never over the cards. */
body:has(>.site-header){padding-bottom:0}.site-footer{position:static;inset:auto;width:auto}.review-game-cover{width:96px;height:96px;object-fit:contain;image-rendering:pixelated;float:right;margin:0 0 15px 15px;background:var(--lavender);border:2px solid var(--border);border-radius:6px}.review-game>.table-scroll{clear:both}.review-resolution>.preview-incoming{font-size:12px;margin:6px 0 12px}
.review-art-missing{display:inline-flex;padding:10px;margin:0 0 12px;border:1px dashed var(--border);font-size:11px;border-radius:6px;background:var(--panel)}
@media(prefers-reduced-motion:reduce){button,.button,.arcade-card{transition:none}.community-heading>.community-tag{transform:none}}

/* Compact cover shelves. Only the revealed backing and details overlap neighbors. */
.community-toast{pointer-events:none}
.arcade-group{margin-bottom:28px}
.arcade-group-heading{margin-bottom:13px}
.arcade-group-heading h2{font-size:19px}
/* Dense metadata forms keep related fields and artwork controls together. */
#details .advanced{padding:10px;margin:14px 0}
#details .advanced>summary{min-height:28px;padding:3px 0}
#details .advanced[open]>summary{margin-bottom:8px}
#details .advanced .form-grid{gap:8px 12px}
#details .advanced label{margin:0;font-size:12px}
#details .advanced input,#details .advanced select,#details .advanced textarea{margin:4px 0 0;padding:6px 8px}
#details .advanced h3{margin:12px 0 8px;padding-top:10px}
#game-count{font-size:13px;font-weight:400;white-space:nowrap}

.site-header{--nav-button-height:44px}
.site-header .brand-badge{width:auto;height:var(--nav-button-height)}
.site-header nav a{display:inline-flex;align-items:center;justify-content:center;min-height:var(--nav-button-height);white-space:nowrap;transform-origin:50% 70%}
.builder-toolbar :is(#build-cart,#sd-export){background:var(--blue)}
.builder-toolbar :is(#build-cart,#sd-export):hover{background:color-mix(in srgb,var(--blue) 60%,var(--panel))}
.builder-toolbar svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#device-install.device-install-bridge{box-shadow:none;border-style:dotted;border-color:#676963}
#device-install:disabled{border-color:#676963!important}
.drop-bubble .drop-open{min-width:0}
#drop-kind{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drop-bubble .cart-icon{flex:none}
@media(max-width:700px){.site-header nav a{font-size:11px;padding:6px}}

/* Rounded arcade controls retain the hard outlines and solid shadows. */
#preview-station .station-icon-row>.station-icon{border-radius:50%}
#preview-station .station-icon-row>.social-icon{border:2px solid var(--border);background:var(--panel);box-shadow:2px 2px 0 #000;overflow:visible}
#preview-station .station-icon-row>.social-icon:hover{background:#FCE3DB}
#preview-station .station-icon-row>[data-action=favorite]:hover{background:#FFF1A8}
#preview-station .station-icon-row .like-count{right:0;bottom:-3px;min-width:14px;border-radius:999px;text-align:center}
#drop-bubble,#drop-bubble.has-document{border-radius:999px}
#arcade-workspace #browse-quick input[type=search],#arcade-workspace #browse-quick select{border-radius:999px}
#arcade-workspace #browse-quick select{padding-left:16px;padding-right:16px}
#arcade-workspace #browse-options{width:44px;height:44px;border-radius:50%}
:is(#browse-quick,.cart-settings-heading) .community-check input[type=checkbox]{appearance:none;display:grid;place-content:center;width:20px;height:20px;border:2px solid var(--border);border-radius:50%;background:var(--panel);padding:0;box-shadow:1px 1px 0 #000;cursor:pointer}
:is(#browse-quick,.cart-settings-heading) .community-check input[type=checkbox]:checked{background:var(--lavender)}
:is(#browse-quick,.cart-settings-heading) .community-check input[type=checkbox]::before{content:'';width:9px;height:5px;border-left:2px solid var(--border);border-bottom:2px solid var(--border);transform:translateY(-1px) rotate(-45deg) scale(0)}
:is(#browse-quick,.cart-settings-heading) .community-check input[type=checkbox]:checked::before{transform:translateY(-1px) rotate(-45deg) scale(1)}
:is(#browse-quick,.cart-settings-heading) .community-check input[type=checkbox]:focus-visible{outline:2px dashed var(--ink);outline-offset:4px}
/* The logo canvas includes its own border and shadow: its yellow interior is 120/143 high. */
.site-header .brand-badge{height:calc((var(--nav-button-height) - 4px) * 1.192)}
.builder-toolbar #test-cart{margin-left:0}
#builder-panel .validation-panel .panel-heading{margin-bottom:12px}
@media(forced-colors:active){:is(#browse-quick,.cart-settings-heading) .community-check input[type=checkbox]{appearance:auto}:is(#browse-quick,.cart-settings-heading) .community-check input[type=checkbox]::before{content:none}}

/* Stable compositing prevents the navigation's final animation frame from snapping. */
.site-header nav a{gap:7px;border:3px solid var(--border);border-radius:13px;box-shadow:3px 3px 0 #000;transform:translate3d(0,0,0) scale(1);backface-visibility:hidden;transition:background .1s;line-height:1.3}
.site-header nav a.active{box-shadow:3px 3px 0 #000}
.site-header nav svg,.community-account svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#device-install-help{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:1;width:max-content;max-width:calc(100% - 32px);border-radius:9px}
#device-install-help #device-install{position:static;transform:none;margin:0;max-width:100%}
#device-install:disabled{pointer-events:none}
#device-install:not(:disabled){border-style:solid;border-color:var(--border)}
#device-install-help:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
@media(max-width:900px){#device-install-help{position:relative;grid-row:2;justify-self:center;left:auto;bottom:auto;transform:none;margin:-16px 0;align-self:center}}
@media(max-width:700px){.site-header nav a{gap:4px;padding:6px}.site-header nav svg{width:16px;height:16px}}

.site-header nav{gap:12px}
.site-header #community-account,.site-header #connection-menu>summary{min-height:44px;border:3px solid var(--border);border-radius:13px;box-shadow:3px 3px 0 #000;background:color-mix(in srgb,var(--lavender) 25%,var(--panel));color:var(--ink);font-weight:700}
.site-header #community-account:hover,.site-header #connection-menu>summary:hover{background:color-mix(in srgb,var(--lavender) 75%,var(--panel))}
#drop-label .insert-game-label{display:block;flex:none;overflow:visible}
.drop-bubble:not(.has-document) .drop-open{justify-content:center}
.site-header #community-account{background:var(--sage)}
.site-header #community-account:hover{background:var(--mint)}
#arcade-workspace #browse-quick select{appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23252628' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px 8px}
@media(forced-colors:active){#arcade-workspace #browse-quick select{appearance:auto;background-image:none}}
@media(max-width:700px){.site-header nav{gap:8px}}

/* Shared flat icons and connection status fills. */
.ui-icon{display:inline-block;width:20px;height:20px;flex:none;vertical-align:middle}
[data-ui-icon]{display:inline-flex;align-items:center;justify-content:center;flex:none}
#drop-label.cart-icon{display:flex;align-items:center;overflow:visible}
#drop-label.cart-icon .ui-icon{width:28px;height:28px}
.contents-action-icon .ui-icon,.picker-capabilities .ui-icon{width:28px;height:28px}
.sample-cart-ghost .ui-icon{width:112px;height:112px;color:var(--ink);fill:var(--sage)}
.device-warning-icon .ui-icon{width:80px;height:80px;color:var(--ink);fill:var(--yellow)}
.game-actions .game-play{background:var(--yellow);color:var(--ink)}
.game-actions .game-play:hover{background:#FFE875}
.site-header #connection-menu{--connection-fill:#E4E4DF}
.site-header #connection-menu[data-display-state=connected]{--connection-fill:var(--sage)}
.site-header #connection-menu[data-display-state=busy]{--connection-fill:var(--lavender)}
.site-header #connection-menu[data-display-state=error]{--connection-fill:var(--coral)}
.site-header #connection-menu>summary,.site-header #connection-menu>summary:hover{background:var(--connection-fill);color:var(--ink)}

.connection-links,.device-empty-links{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}
.connection-links a,.connection-links .connection-forget,.device-empty-links a,.text-link{font:inherit;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.connection-links{font-size:12px}.connection-links a{padding:4px 0}
.text-link{display:inline;padding:0;min-height:0;border:0;border-radius:0;background:none;box-shadow:none;transform:none;text-align:left;cursor:pointer}
.text-link:hover{background:none;box-shadow:none;transform:none;text-decoration-thickness:2px}
.device-empty-links{font-size:13px;line-height:1.6;margin-top:14px}
.builder-grid>.device-cart-panel,.builder-grid>.device-cart-panel.unscanned{background:var(--panel);color:var(--ink);border:2px solid var(--border);border-radius:var(--radius-panel);box-shadow:4px 4px 0 #000}
.device-cart-panel>.panel-heading{align-items:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:18px}
#device-cart-count{border-radius:5px;padding:3px 7px;white-space:nowrap}
.device-cart-panel.unscanned #device-cart-count{background:color-mix(in srgb,var(--lavender) 25%,var(--panel));font-size:11px}
.device-cart-panel .device-question{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:8px auto 14px;padding:18px;background:var(--sage);border:2px solid var(--border);border-radius:12px;color:var(--ink)}
.device-cart-panel .device-question .ui-icon{width:40px;height:40px}
.device-cart-panel.unscanned p{color:var(--muted);font-size:13px;line-height:1.6;margin-bottom:18px}
#builder-scan{width:100%;background:var(--blue)}
.device-cart-panel .device-folder-row{border-color:var(--border);background:color-mix(in srgb,var(--lavender) 25%,var(--panel));color:var(--ink)}
.device-cart-panel .device-game-row>button:hover{border-color:var(--border);background:var(--sage)}
.device-cart-panel.drop-ready,.device-cart-panel .drop-ready{background:var(--mint)!important;outline-color:var(--border)}

/* Device workspace: one surface for the cart, collection, and install action. */
#device-panel h1{margin:0;font-size:clamp(32px,3.8vw,48px);line-height:1.1}
#device-panel .device-intro{margin:14px 0 0;font-size:16px;line-height:1.6;color:var(--muted)}
#device-panel .device-overview{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:0;margin:0 4px 24px 0;background:var(--panel);border:2px solid var(--border);border-radius:var(--radius-panel);box-shadow:5px 5px 0 #000}
#device-panel .device-overview>.panel{margin:0;padding:28px 30px 32px;border:0;border-radius:0;background:none;box-shadow:none}
#device-panel .device-overview>.device-scan-column{border-left:1px solid var(--border)}
#device-panel .device-overview h2{display:flex;align-items:center;gap:10px;margin:0 0 26px;font-size:19px;line-height:1.3;letter-spacing:-.025em}
#device-panel .device-overview h2 .ui-icon{width:22px;height:22px}
#device-panel .device-install-layout{grid-template-columns:112px minmax(0,1fr);gap:22px;align-items:start}
#device-panel .device-current-preview img,#device-panel .device-current-preview>span{width:112px;height:112px;border:2px solid var(--border);border-radius:8px}
#device-panel #device-current-placeholder{display:grid;place-items:center;background:color-mix(in srgb,var(--lavender) 25%,var(--panel));color:var(--ink);font-size:22px;font-weight:700}
#device-panel #device-current-placeholder .ui-icon{width:48px;height:48px}
#device-panel .device-install-copy h3{margin:0 0 8px;font-size:24px;line-height:1.15;letter-spacing:-.035em}
#device-panel .destination{margin:0 0 8px;font-size:14px;line-height:1.5;font-weight:700;color:var(--ink)}
#device-panel #device-summary{margin:0;font-size:13px;line-height:1.65;color:var(--muted)}
#device-panel .device-empty-links{gap:8px 18px;margin-top:18px;font-size:13px;font-weight:600;line-height:1.6}
#device-panel .device-empty-links>*{padding:2px 0}
#device-panel .device-scan-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
#device-panel .device-scan-choice{min-width:0;text-align:center}
#device-panel .device-scan-choice button{width:100%;min-width:0;min-height:58px;padding:14px 10px;font-size:15px}
#device-panel #device-browse{background:var(--blue)}
#device-panel #device-browse:hover{background:color-mix(in srgb,var(--blue) 60%,var(--panel))}
#device-panel #device-deep{background:color-mix(in srgb,var(--lavender) 75%,var(--panel))}
#device-panel #device-deep:hover{background:color-mix(in srgb,var(--lavender) 25%,var(--panel))}
#device-panel .device-scan-choice p{margin:15px 0 0;font-size:13px;line-height:1.6;color:var(--muted)}
#device-panel .device-install-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 30px;background:color-mix(in srgb,var(--mint) 25%,var(--panel));border-top:2px solid var(--border);border-radius:0 0 calc(var(--radius-panel) - 2px) calc(var(--radius-panel) - 2px)}
#device-panel .device-install-note{display:flex;align-items:center;gap:18px;max-width:620px;min-width:0}
#device-panel .device-install-note>span{display:grid;place-items:center;flex:none;width:42px;height:42px;background:var(--sage);border:2px solid var(--border);border-radius:50%}
#device-panel .device-install-note strong{font-family:'Space Grotesk',system-ui,sans-serif;font-size:16px;letter-spacing:-.02em}
#device-panel .device-install-note p{margin:4px 0 0;font-size:12px;line-height:1.6;color:var(--muted);max-width:500px}
#device-panel #device-install-help{position:static;flex:none;grid-row:auto;justify-self:auto;align-self:auto;margin:0;left:auto;bottom:auto;transform:none;width:auto;max-width:100%}
#device-panel #device-install{position:static;transform:none;margin:0;width:auto;max-width:100%;min-width:210px;min-height:52px;gap:14px;padding:14px 18px;font-size:14px;border-style:solid;box-shadow:3px 3px 0 #000;background:var(--sage)}
#device-panel #device-install:hover{background:var(--mint)}
#device-panel #device-install:disabled{box-shadow:none;border-style:solid}
#device-panel #device-install svg{width:20px;height:20px;transform:none}
#device-panel .device-details-panel{padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none}
#device-panel .device-details-panel>details,#device-panel .installation-help{margin:0;padding:0;border-top:1px solid #B9BDB3}
#device-panel .device-details-panel summary,#device-panel .installation-help>summary{padding:17px 2px;font-size:14px;font-weight:600;min-height:50px}
#device-panel .device-details-panel details[open]>summary,#device-panel .installation-help[open]>summary{margin-bottom:0}
#device-panel #device-log:empty{display:none}
#device-panel #device-log{padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-inset);max-height:320px;overflow:auto}
#device-panel .device-help{max-width:none;margin:0;color:var(--muted);font-size:13px}
#device-panel .installation-help p{max-width:850px;margin:0 0 16px;line-height:1.7}
#device-panel #device-games{margin:28px 0;padding:24px 0 0;background:none;border:0;border-top:2px solid var(--border);box-shadow:none;border-radius:0}
#device-panel .device-table tbody tr:nth-child(odd){background:color-mix(in srgb,var(--mint) 25%,var(--panel))}
#device-panel .device-table tbody tr:nth-child(even){background:var(--panel)}
#device-panel .device-table{border:1px solid var(--border);border-radius:var(--radius-inset);overflow:hidden;border-collapse:separate;border-spacing:0}
#device-panel .device-table th{padding:12px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;background:color-mix(in srgb,var(--lavender) 25%,var(--panel));color:var(--ink);border-bottom:1px solid var(--border)}
#device-panel .device-table td{padding:10px 12px;font-size:13px;line-height:1.5}
#device-panel .device-title{color:var(--ink);background:none;border:0;box-shadow:none;transform:none;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;font-weight:600}
#device-panel .device-title:hover{color:var(--ink);text-decoration-thickness:2px;background:none}
#device-panel .device-folder-group{padding:24px 0;background:none;gap:30px;border-color:#B9BDB3}
#device-panel .device-folder-group .device-tile{background:none;border:0;border-radius:0;box-shadow:none}
#device-panel .device-art-button{background:color-mix(in srgb,var(--lavender) 25%,var(--panel));border:0;outline:2px solid var(--border);outline-offset:0;box-shadow:3px 3px 0 #000;overflow:hidden}
#device-panel .device-art-button:hover{outline:3px solid var(--yellow);outline-offset:3px}
#device-panel .device-art-button>img,#device-panel .device-art-button>.art-placeholder{width:100%;height:100%;border-radius:0;background:color-mix(in srgb,var(--lavender) 25%,var(--panel));color:var(--ink)}
#device-panel #device-assets{margin-top:24px;border-color:#B9BDB3}
@media(max-width:1050px){#device-panel .device-overview>.panel{padding:24px}#device-panel .device-install-layout{grid-template-columns:88px minmax(0,1fr);gap:18px}#device-panel .device-current-preview img,#device-panel .device-current-preview>span{width:88px;height:88px}#device-panel .device-scan-actions{gap:16px}#device-panel .device-install-footer{padding:22px 24px}}
@media(max-width:820px){#device-panel .device-overview{grid-template-columns:minmax(0,1fr)}#device-panel .device-overview>.device-scan-column{border-left:0;border-top:1px solid #B9BDB3}#device-panel .device-overview h2{margin-bottom:20px}#device-panel .device-install-layout{grid-template-columns:112px minmax(0,1fr)}#device-panel .device-current-preview img,#device-panel .device-current-preview>span{width:112px;height:112px}#device-panel .device-install-footer{flex-wrap:wrap}#device-panel #device-install-help{width:100%}#device-panel #device-install{width:100%}}
@media(max-width:460px){#device-panel .device-intro{font-size:14px}#device-panel .device-overview>.panel{padding:22px 18px}#device-panel .device-install-layout{grid-template-columns:72px minmax(0,1fr);gap:16px}#device-panel .device-current-preview img,#device-panel .device-current-preview>span{width:72px;height:72px}#device-panel #device-current-placeholder .ui-icon{width:36px;height:36px}#device-panel .device-install-copy h3{font-size:21px}#device-panel .device-scan-actions{gap:14px}#device-panel .device-scan-choice button{font-size:13px;min-height:50px}#device-panel .device-scan-choice p{font-size:12px}#device-panel .device-install-footer{padding:20px 18px;gap:18px}#device-panel .device-install-note{gap:12px}#device-panel .device-install-note>span{display:none}}

/* Color describes an action; navigation and supporting surfaces stay quiet. */
.site-header nav a{--nav-accent:var(--sage);background:var(--panel);font-weight:700}
.site-header nav a[href="#play"]{--nav-accent:var(--yellow)}
.site-header nav a[href="#device"]{--nav-accent:var(--lavender)}
.site-header nav a:hover{background:var(--hover-fill)}
.site-header nav a.active{background:var(--panel);font-weight:700;box-shadow:inset 0 -5px 0 var(--nav-accent),3px 3px 0 #000}
.site-header #community-account{background:var(--panel)}
.site-header #community-account:hover{background:var(--hover-fill)}
.advanced{background:var(--panel)}
label.button:has(input[type=file]),#builder-panel .contents-add>.button,#drop-choose,#zip-confirm,.export-game{background:var(--blue)}
label.button:has(input[type=file]):hover,#builder-panel .contents-add>.button:hover,#drop-choose:hover,#zip-confirm:hover,.export-game:hover{background:color-mix(in srgb,var(--blue) 60%,var(--panel))}
#builder-scan,#merge-device,.action-device,#device-panel :is(#device-browse,#device-deep,#device-install){background:var(--lavender)}
#builder-scan:hover,#merge-device:hover,.action-device:hover,#device-panel :is(#device-browse,#device-deep,#device-install):hover{background:color-mix(in srgb,var(--lavender) 75%,var(--panel))}
.device-cart-panel .device-question,#device-panel #device-current-placeholder,#device-panel .device-install-note>span{background:var(--hover-fill)}
#device-panel .device-install-footer{background:var(--soft-grey)}
#device-panel .device-table th{background:var(--hover-fill)}

/* Cart controls share the icon treatment used by the game browser. */
.site-header .brand-wordmark{translate:0 5px}
.drop-bubble .cart-stats-slot{left:-2px;width:calc(100% + 10px);padding:0 6px 6px 0}
.drop-bubble .cart-stats{border:2px solid #000;border-top:0;box-shadow:4px 4px 0 #000;border-radius:0 0 22px 22px}
.drop-bubble.has-document .drop-open{position:relative;display:flex;align-items:center;justify-content:center;padding:2px 34px;line-height:1.2}
.drop-bubble.has-document #drop-label{position:absolute;left:4px;top:50%;transform:translateY(-50%)}
.drop-bubble.has-document #drop-kind{display:block;flex:1;min-width:0;text-align:center;line-height:1.3}
#device-panel #device-current-image{image-rendering:auto;border:5px solid #000;border-radius:6px}
#game-list .folder-toggle{width:32px;min-width:32px;min-height:44px;font-size:28px;line-height:1;color:var(--ink);margin-left:-4px}
#game-list .folder-toggle:hover{color:var(--ink);background:var(--hover-fill)}
#game-list .folder-row{padding-left:2px}
#builder-panel .circle-action{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;border-radius:50%;flex:none;gap:0}
#builder-panel .circle-action .ui-icon{width:22px;height:22px}
#builder-panel .builder-toolbar,#builder-panel .game-actions{gap:12px}
#builder-panel .game-actions .export-game{margin-left:0}
#builder-panel .appearance-grid label.button:has(input[type=file]){background:none}
#builder-panel .appearance-grid label.button:has(input[type=file]):hover{background:none;color:var(--ink);text-decoration:underline}
.hardware-build{display:grid;gap:7px;padding:14px 0;border-bottom:1px solid #D5D4CB;font-size:13px}
.hardware-build-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hardware-build-heading code{font-size:11px;background:var(--hover-fill);padding:3px 6px;border-radius:4px}
.hardware-build-file{overflow-wrap:anywhere;color:var(--muted)}
.hardware-build small{color:var(--muted)}

/* The signed-out greeting keeps its tilt after its one-time entrance. */
.site-header #community-account.login-invitation{min-height:52px;padding:10px 20px;font-size:16px;font-weight:800;rotate:var(--login-angle,-5deg);transform-origin:50% 65%;box-shadow:4px 5px 0 #000;flex-shrink:0}
.site-header #community-account.login-invitation svg{width:23px;height:23px}
@media(max-width:700px){.site-header #community-account.login-invitation{min-height:46px;padding:8px 14px;font-size:14px}}

#builder-panel .builder-toolbar{align-items:flex-start}
.builder-toolbar .labeled-action{display:flex;flex-direction:column;align-items:center;gap:5px;width:96px;flex:none}
.builder-toolbar .action-caption{font-size:12px;font-weight:700;line-height:1.35;text-align:center;color:var(--ink)}
@media(max-width:700px){#builder-panel .builder-toolbar{gap:8px}.builder-toolbar .labeled-action{width:76px}.builder-toolbar .action-caption{font-size:11px}}

.site-header #community-account.login-pending{visibility:hidden;pointer-events:none}

/* A stable status control keeps the account button anchored during USB changes. */
.site-header #connection-menu>summary{width:160px;min-width:160px;display:grid;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:8px;font-size:15px;line-height:1.25;padding:10px 12px;transition:background-color .18s ease}
#connection-label{text-align:center;white-space:nowrap}
.connection-chevron{display:flex;align-items:center;justify-content:center;color:var(--ink)}
.connection-chevron svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transition:rotate .16s ease}
#connection-menu[open] .connection-chevron svg{rotate:180deg}
#game-list .folder-toggle{width:28px;min-width:28px;height:28px;min-height:28px;margin:0 6px 0 0;padding:5px;border:2px solid var(--border);border-radius:50%;background:var(--panel);box-shadow:2px 2px 0 #000;color:var(--ink);display:grid;place-items:center;transition:background-color .12s,transform .12s,box-shadow .12s}
#game-list .folder-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;transition:rotate .16s}
#game-list .folder-toggle[aria-expanded=true]{background:var(--sage)}
#game-list .folder-toggle[aria-expanded=true] svg{rotate:90deg}
#game-list .folder-toggle:hover{background:var(--mint);color:var(--ink);transform:translateY(-1px);box-shadow:2px 3px 0 #000}
#game-list .folder-toggle:active{transform:translate(1px,1px);box-shadow:1px 1px 0 #000}
#game-list .folder-toggle:focus-visible{outline:3px solid var(--lavender);outline-offset:4px}
@media(max-width:700px){.site-header #connection-menu>summary{width:150px;min-width:150px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.site-header #connection-menu>summary,.connection-chevron svg,#game-list .folder-toggle,#game-list .folder-toggle svg{transition:none}}

/* Compact workspace headings and contents, with room beneath the cart bubble. */
#builder-panel>.section-heading,#device-panel>.device-heading{padding:24px 0 18px}
#builder-panel>.section-heading h1,#device-panel>.device-heading h1{margin:0;font-size:clamp(32px,4vw,48px);line-height:1.1}
#device-panel .device-intro{margin-top:10px}
#builder-panel .builder-toolbar{margin-bottom:16px}
#builder-panel .contents-tools{margin-bottom:8px}
#game-list{margin:8px -6px}
#game-list .folder-line{margin:2px 0}
#game-list .folder-row{padding-top:4px;padding-bottom:4px}
#game-list .game-row{gap:8px;margin-bottom:2px;padding:4px 7px;font-size:12px;min-height:44px}
#game-list .game-row img,#game-list .folder-row img{width:36px;height:36px}
/* Reserve room for controls without pushing the cart title off center. */
.drop-bubble .drop-open,.drop-bubble.has-document .drop-open{width:100%;padding:2px 64px;justify-content:center;min-width:0}
.drop-bubble #drop-add,.drop-bubble #drop-info{position:absolute;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .15s;pointer-events:none}
.drop-bubble #drop-add{right:40px}.drop-bubble #drop-info{right:6px}
.drop-bubble:hover :is(#drop-add,#drop-info),.drop-bubble:focus-within :is(#drop-add,#drop-info){opacity:1;pointer-events:auto}
.drop-bubble.has-document #drop-label{left:8px}
html[data-page-reveal=loading] #drop-label .insert-game-label,html[data-page-reveal=revealing] #drop-label .insert-game-label{visibility:hidden}
@media(hover:none){.drop-bubble :is(#drop-add,#drop-info){opacity:1;pointer-events:auto}}
@media(max-width:550px){.drop-bubble .drop-open,.drop-bubble.has-document .drop-open{padding:2px 48px}.drop-bubble #drop-add{right:29px}.drop-bubble #drop-info{right:2px}}
@media(max-width:550px){.drop-bubble,.drop-bubble.has-document{left:24px;width:min(312px,calc(100% - 48px));min-width:0}}

#details .advanced,#game-list .folder-toggle[aria-expanded=true]{background:var(--hover-fill)}
#game-list .game-row.selected{border-color:transparent}
/* Each executable owns its hardware target and replacement action. */
#details .hardware-build{display:grid;grid-template-columns:minmax(0,1fr) minmax(125px,160px) 36px;align-items:center;gap:12px;padding:12px 0}
#details .hardware-build-file{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}
#details .hardware-build select{margin:0;width:100%;font-size:12px}
#details .executable-options{width:36px;min-height:34px;padding:0;font-size:23px;line-height:1;box-shadow:2px 2px 0 #000}
.executable-menu{position:fixed;inset:auto;margin:0;padding:6px;border:2px solid var(--border);border-radius:var(--radius-inset);background:var(--panel);box-shadow:3px 3px 0 #000}
.executable-menu button{font-size:12px;min-height:34px;border:0;box-shadow:none;background:transparent}
.executable-menu button:hover{background:var(--hover-fill)}
.executable-add{display:flex;align-items:center;gap:12px;margin:12px 0}
.executable-add select{width:auto}
@media(max-width:550px){#details .hardware-build{grid-template-columns:minmax(0,1fr) 36px}#details .hardware-build-file{grid-column:1/-1}}

#device-panel .device-install-note>span{display:grid;background:none;border:0;border-radius:0;box-shadow:none}
#device-panel .device-install-note>span .ui-icon{width:32px;height:32px}
