@import url('/assets/fonts.css');
:root{--paper:#f9f6ef;--ink:#131820;--muted:#596678;--line:#cbd1d5;--lime:#c8ed75;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--ink);font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{height:100dvh}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #ffbf42;outline-offset:-4px;z-index:3}button,input,select{border:1px solid var(--ink);border-radius:0}input,select{padding:12px;background:#fff;width:100%;min-width:0}label{display:block;font-size:13px;font-weight:700;margin:12px 0 6px}h2{font-size:27px;line-height:1.1;margin:0 0 16px}h3{font-size:16px;margin:0 0 8px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:12px 16px;min-height:44px;font-size:13px;font-weight:700;background:var(--paper)}.button.dark{background:var(--ink);color:var(--paper)}.button.wide{width:100%}.button:disabled{opacity:.5}
#board{height:calc(100dvh - 44px - env(safe-area-inset-bottom));width:100%;position:relative;padding:0}.board-grid{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:0}.ad-card{min-width:0;min-height:0;position:relative;border:1px solid #131820;background:#131820;overflow:hidden}.ad-art{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:hidden;text-decoration:none;background:#131820;border:0;padding:0}.ad-art img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;display:block}.space-control{position:absolute;right:4px;bottom:4px;font-family:monospace;font-size:10px;font-weight:bold;line-height:1;min-height:28px;padding:6px 9px;background:#131820e8;color:#f9f6ef;border:1px solid #f9f6ef55;box-shadow:2px 2px 0 #131820;z-index:1}.space-control:hover:not(:disabled){background:#c8ed75;color:#131820}.featured .space-control{color:#ffc342;border-color:#ffc342}.defense-badge{position:absolute;left:4px;bottom:4px;background:#ffc342;color:#131820;font:10px monospace;padding:5px}.empty-art{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:#c8ed75;background-color:#142e2b;background-image:linear-gradient(#28706633 1px,transparent 1px),linear-gradient(90deg,#28706633 1px,transparent 1px);background-size:12px 12px;padding:8px 8px 30px}.empty-art:after{content:'+';position:absolute;top:4px;right:9px;font:20px monospace;color:#c8ed7588}.empty-art strong{font-family:monospace;max-width:90%;font-size:clamp(17px,2.6vw,37px);line-height:1;letter-spacing:-1px;text-align:center}.empty-kicker{font:9px monospace;letter-spacing:2px}.empty-price{font:12px monospace}.ad-card:nth-child(11) .empty-art{background-color:#2c2143;color:#f7aed2;background-image:linear-gradient(#a370be33 1px,transparent 1px),linear-gradient(90deg,#a370be33 1px,transparent 1px)}.ad-card:nth-child(12) .empty-art{background-color:#283519;color:#ffc342}
.wall-dock{height:calc(44px + env(safe-area-inset-bottom));padding:0 14px env(safe-area-inset-bottom);display:flex;justify-content:space-between;gap:12px;align-items:center;background:#131820;color:#f9f6ef;border-top:0}.wall-dock button{color:inherit;background:transparent;border:0;min-height:44px;font-size:12px;font-weight:700;white-space:nowrap;padding:0 8px}.wall-dock .dock-brand{display:flex;gap:8px;align-items:center;font-family:monospace;letter-spacing:1px;font-size:11px}.dock-brand>span:first-child{font-size:25px;color:#c8ed75}.wall-dock .dock-buy{color:#c8ed75}.dock-buy span{font-family:monospace;margin-left:8px;font-weight:400}#board-empty{position:absolute;inset:10% 15%;height:max-content;text-align:center;background:#131820;color:#f9f6ef;padding:18px}.loading{color:#c8ed75;font:14px monospace}
.how,.rules{font-size:13px;line-height:1.6}.how h2{font-size:23px}.how p,.rules p{color:var(--muted)}.steps{padding-left:20px}.steps li{margin:16px 0}.steps li>span,.eyebrow{display:none}.rules{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.rules h2{font-size:22px}.rules details{border-top:1px solid var(--line);padding:12px 0}.rules summary{cursor:pointer;font-weight:bold}
dialog{border:2px solid var(--ink);padding:26px;background:var(--paper);width:min(550px,calc(100% - 24px));max-height:92dvh;overflow:auto;box-shadow:8px 8px 0 #22282133}dialog::backdrop{background:#22282199}.dialog-head{display:flex;gap:18px;justify-content:space-between;align-items:start;margin-bottom:12px}.dialog-head h2{font-size:26px;margin:0}.icon-button{background:transparent;width:34px;min-width:34px;height:34px}.panel-block{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.panel-block h3{margin-bottom:12px}.hint{font-size:12px;line-height:1.6;color:var(--muted)}.wallet{display:flex;gap:30px;background:var(--lime);border:1px solid var(--ink);padding:18px;margin:18px 0}.wallet strong{display:block;font-size:30px}.wallet span{font-size:11px}.stack{display:grid;gap:12px}.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.preview{display:block;width:100%;height:auto;max-width:320px;border:2px solid var(--ink);image-rendering:pixelated;margin:10px 0}.creative-row{padding:12px 0;border-top:1px solid var(--line)}.error{color:#8d2424;background:#ffe3e0;padding:10px;font-size:13px}.success{background:#e1edca;padding:12px;font-size:13px;line-height:1.5}.check-label{font-weight:400;display:flex;gap:10px;align-items:start;line-height:1.5}.check-label input{width:18px;min-width:18px;height:18px}.loading{padding:30px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);border:1px solid var(--paper);padding:16px 22px;max-width:calc(100% - 30px);width:max-content;font-size:13px;z-index:10}

@media(min-aspect-ratio:19/10){.board-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}}
@media(max-width:600px) and (orientation:portrait){.board-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:0}#board{padding:0}.space-control{font-size:9px;min-height:24px;padding:4px 6px;right:2px;bottom:2px}.empty-art{gap:5px;padding-bottom:22px}.empty-art strong{font-size:17px;letter-spacing:-.5px}.empty-kicker{font-size:6px;letter-spacing:1px}.empty-price{font-size:9px}.wall-dock{gap:0;padding-left:4px;padding-right:4px}.wall-dock button{font-size:11px;padding:0 6px}.wall-dock .dock-brand{font-size:9px;gap:4px;letter-spacing:0}.dock-buy span{margin-left:3px}.dock-brand>span:first-child{font-size:22px}dialog{padding:18px}.dialog-head h2{font-size:23px}.wallet{gap:15px}.wallet strong{font-size:25px}}
@media(max-height:430px) and (orientation:landscape){.space-control{min-height:22px;font-size:9px;padding:3px 5px}.empty-art{gap:2px;padding-bottom:20px}.empty-art strong{font-size:18px}.empty-kicker{display:none}.empty-price{font-size:9px}}
@media(prefers-reduced-motion:no-preference){.space-control,.wall-dock button{transition:color .12s,background .12s}.ad-art:hover img{filter:brightness(1.08)}}

.space-control{opacity:0;pointer-events:none}.buying .space-control,.ad-card:focus-within .space-control{opacity:1;pointer-events:auto}
@media(hover:hover){.ad-card:hover .space-control{opacity:1;pointer-events:auto}}
.house[data-rank="0"] .ad-art,.house[data-rank="7"] .ad-art{background:#287066}.house[data-rank="1"] .ad-art,.house[data-rank="5"] .ad-art{background:#a370be}.house[data-rank="2"] .ad-art,.house[data-rank="3"] .ad-art,.house[data-rank="6"] .ad-art{background:#2c4083}.house[data-rank="4"] .ad-art{background:#3c4d5e}.house[data-rank="8"] .ad-art{background:#8a4234}

.house .ad-art img{object-fit:fill}
@media(min-width:601px) and (max-aspect-ratio:1/1){.board-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr))}}

/* Responsive mosaic replaces equal-cell grid; geometry is computed from bounded logical pixel areas. */
.board-grid{display:block;position:relative;overflow:hidden}.ad-card{position:absolute;margin:0}.ad-art{container-type:size}
.space-control,.buying .space-control{opacity:1;pointer-events:auto;display:flex;align-items:center;gap:5px;top:4px;bottom:auto;right:4px;max-width:calc(100% - 8px);min-height:24px;padding:4px 6px;font-size:10px;box-shadow:1px 1px 0 #131820;white-space:nowrap}
.space-control>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.space-control>strong{flex-shrink:0;font-size:11px}.space-control:disabled{opacity:.82}.defense-badge{bottom:3px}
.house .ad-art img.house-scene{position:absolute;inset:0;width:100%;height:70%;object-fit:cover}.house .ad-art img.house-wordmark{position:absolute;top:auto;bottom:0;width:100%;height:30%;object-fit:contain;background:#131820;padding:3px 8px}
.house[data-format="banner"] .ad-art img.house-scene{width:45%;height:100%}.house[data-format="banner"] .ad-art img.house-wordmark{left:45%;width:55%;height:100%;padding:26px 8px 8px}
.empty-art{padding:24px 8px 8px;gap:8px}.empty-art strong{font-size:clamp(15px,5.5cqw,36px);letter-spacing:-.5px}.empty-kicker{font-size:8px;letter-spacing:1px}.empty-price{font-size:10px}
.size-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.size-total{font-family:monospace;font-size:23px;font-weight:700;margin:16px 0}.size-previews{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.preview-device>span{display:block;font-size:11px;margin-bottom:5px}.mosaic-preview{position:relative;max-width:100%;background:#131820;overflow:hidden}.preview-tile{position:absolute;background:#287066;border:1px solid #131820;color:#f9f6ef;font:7px monospace;overflow:hidden;display:grid;place-content:center;text-align:center;padding:2px}.preview-tile:nth-child(3n){background:#2c4083}.preview-tile:nth-child(3n+1){background:#a370be}.preview-tile.selected{background:#c8ed75;color:#131820;font-weight:bold;outline:2px solid #f9f6ef;outline-offset:-3px;z-index:1}
@media(max-width:600px){.space-control{font-size:8px;padding:3px 4px;top:2px;right:2px;max-width:calc(100% - 4px);gap:3px}.space-control>strong{font-size:9px}.empty-art{gap:3px}.empty-kicker{font-size:6px}.empty-price{font-size:8px}.house .ad-art img.house-wordmark{padding:2px 4px}.size-previews{gap:8px}.mosaic-preview{max-width:100%}}

.canvas-gap{position:absolute;background-color:#182125;background-image:linear-gradient(#3c4d5e33 1px,transparent 1px),linear-gradient(90deg,#3c4d5e33 1px,transparent 1px);background-size:10px 10px;border:1px solid #131820}.canvas-buy{color:#c8ed75;font:10px monospace;padding:4px;overflow:hidden}.canvas-buy:hover{background-color:#283519}

.size-previews{flex-wrap:nowrap;gap:12px}.preview-device:first-child{flex:1;min-width:140px}.preview-device:last-child{flex:0 0 80px}#bid-content form>.button{position:sticky;bottom:0;z-index:2}
