:root{color-scheme:dark;--bg:#0a0d14;--surface:#131824;--ink:#e9edf3;--muted:#a5afbf;--accent:#5ab9fc;--line:#283240;--font:"Instrument Sans",Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--font)}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
[hidden]{display:none!important}
.wrap{width:min(100% - 96px,1280px);margin-inline:auto}
header{border-bottom:1px solid var(--line)}
.nav,.foot{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.nav nav{display:flex;gap:34px;color:var(--muted)}
.nav a,.foot a{display:inline-flex;align-items:center;min-height:44px}
.nav a:hover,.foot a:hover,.text-link:hover{color:var(--accent)}
.brand{font-size:25px;font-weight:700;letter-spacing:-.065em;display:inline-flex;align-items:center;gap:10px}
.mark{display:inline-flex;align-items:end;gap:3px;flex:none}
.mark i{width:3px;background:var(--accent);height:8px;display:block}
.mark i:nth-child(2){height:14px}.mark i:nth-child(3){height:20px}
.nav-cta{gap:9px;color:var(--ink);font-size:14px}
.skip{position:absolute;left:16px;top:-100px;padding:10px 16px;background:var(--accent);color:var(--bg);z-index:2}.skip:focus{top:12px}
.hero,.detail{min-height:calc(100svh - 74px);display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(36px,7vw,112px);align-items:center;padding-block:68px}
h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.05;letter-spacing:-.045em}
h1{font-size:clamp(52px,5.7vw,95px)}h2{font-size:clamp(35px,4vw,57px)}h3{font-size:22px}
.hero p,.description{max-width:48ch;margin-top:25px;color:var(--muted);font-size:19px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:32px}
.button,.export{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:50px;padding:0 20px;border-radius:6px;border:1px solid transparent;background:var(--accent);color:#071320;font-weight:600;transition:transform .17s,background .17s}
.button:hover,.export:hover{transform:translateY(-2px);background:#8bcdfb}
.button:active,.export:active{transform:translateY(1px)}
.text-link{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px}
.hero-work{padding:25px;background:radial-gradient(ellipse at 75% 0,#234267,transparent 75%),#111925;border:1px solid #314660;border-radius:13px}
.window{background:#0d121b;border:1px solid #40526b;border-radius:8px;overflow:hidden;box-shadow:0 18px 50px #0006}
.window-top,.window-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;font:11px/1.5 var(--mono);color:var(--muted)}
.window-top{border-bottom:1px solid var(--line)}.window-top span:first-child{display:flex;align-items:center;gap:7px;color:var(--ink)}.window-top .mark{align-items:end}
.window-top .mark i{width:2px;height:6px}.window-top .mark i:nth-child(2){height:9px}.window-top .mark i:nth-child(3){height:12px}
.window-bottom{border-top:1px solid var(--line)}
.window-body{padding:20px 18px 24px}
.window-files{display:flex;gap:8px;flex-wrap:wrap;font:11px/1.4 var(--mono);color:var(--muted)}
.window-title{font-size:20px;margin:23px 0 8px}
.hero-results>div{display:grid;grid-template-columns:1.05fr .8fr .8fr;gap:8px;padding:10px 0;border-top:1px solid var(--line);font:11px/1.4 var(--mono);overflow-wrap:anywhere}
.hero-results strong{color:#9dd9ff;font-weight:500}
.collection{border-top:1px solid var(--line);padding-block:72px 96px;scroll-margin-top:20px}
.collection-head{display:flex;justify-content:space-between;align-items:end;gap:24px}
.collection-head p,.workspace p,.instructions p,.card p{color:var(--muted);margin-top:12px}
.search{display:grid;gap:5px;font-size:13px;color:var(--muted)}
.search input{min-height:44px;width:min(310px,100%);border:1px solid var(--line);border-radius:6px;background:#101621;color:var(--ink);padding:0 12px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 24px}
.filters button,.export{border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);min-height:44px;padding:0 14px}
.filters button:hover,.export:hover{border-color:var(--accent);color:var(--ink)}
.filters button[aria-pressed=true]{background:#17304a;border-color:#44668a;color:#cbeaff}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:31px 23px}
.card a{display:block;transition:transform .2s}.card a:hover{transform:translateY(-2px)}.card a:hover .preview{border-color:var(--preview-ink)}
.card-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:13px}.card-title span,.price{font:14px/1.4 var(--mono);white-space:nowrap}
.card p{font-size:14px;margin-top:6px;max-width:46ch}
.preview{--preview-ink:hsl(calc(192 + var(--tone)*15) 57% 77%);--preview-bg:hsl(calc(191 + var(--tone)*16) 33% 13%);margin:0;display:grid;grid-template-rows:auto 1fr auto;gap:18px;min-height:204px;padding:17px;background:var(--preview-bg);border:1px solid #ffffff20;border-radius:8px;color:var(--preview-ink);font:12px/1.35 var(--mono);overflow:hidden;transition:border-color .2s}
.preview.wide{min-height:360px;padding:27px;gap:25px}
.preview-top{display:flex;justify-content:space-between;gap:6px;border-bottom:1px solid #ffffff23;padding-bottom:10px}.preview-bottom{opacity:.85}
.preview>div:nth-child(2){align-self:center;min-width:0}
.preview strong{font-weight:500;overflow-wrap:anywhere}
.metric-value{font:36px/1.04 var(--font);letter-spacing:-.04em;overflow-wrap:anywhere}.wide .metric-value{font-size:65px}
.ruleline{height:4px;background:#ffffff20;margin:10px 0}.ruleline span{display:block;width:62%;height:100%;background:currentColor}
.small{font-size:11px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:8px}.split>div{display:grid;gap:12px;border:1px solid #ffffff27;padding:12px 10px;min-width:0}.split strong,.trace strong{font-size:17px}.wide .split strong,.wide .trace strong{font-size:24px}
.visual-rows>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #ffffff20}.visual-rows strong{text-align:right}
.trace{display:grid;gap:7px;border-left:3px solid currentColor;padding-left:12px}
.state .trace{border-left:0;border-bottom:1px solid #ffffff30;padding:0 0 9px}
.ruler .trace{border-left:0;background:repeating-linear-gradient(90deg,#ffffff12 0 1px,transparent 1px 16px);padding:12px}
.detail h1{font-size:clamp(44px,5.4vw,82px)}.crumb{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.category,.purchase-status{color:var(--muted);font:13px/1.5 var(--mono);margin:14px 0}.category{color:var(--accent)}
.workspace,.instructions{border-top:1px solid var(--line);padding-block:60px;scroll-margin-top:12px}
.runner{margin-top:25px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:20px}
.table-scroll{overflow:auto;margin:16px 0}
table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}td,th{padding:10px 12px;border-bottom:1px solid var(--line);min-width:80px;overflow-wrap:anywhere}td:last-child{min-width:170px}.notice{color:#e7c97a!important}
.instructions{max-width:850px}.instructions h2:not(:first-child){margin-top:30px;font-size:30px}.instructions .text-link{margin-top:18px}
footer{border-top:1px solid var(--line);color:var(--muted)}
@media(max-width:900px){.wrap{width:calc(100% - 56px)}.hero,.detail{gap:34px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.wrap{width:calc(100% - 36px)}.nav,.foot{min-height:65px;gap:12px}.nav nav{gap:13px;font-size:14px}.nav-cta{display:none!important}.hero,.detail{grid-template-columns:1fr;gap:28px;min-height:0;padding-block:45px 52px}.hero-work{padding:12px}h1{font-size:clamp(43px,10vw,61px)}.hero p,.description{font-size:17px;margin-top:17px}.actions{margin-top:24px}.collection{padding-block:45px 60px}.collection-head{display:grid;gap:16px}.search input{width:100%}.grid{grid-template-columns:1fr}.preview.wide{min-height:220px;padding:17px}.workspace,.instructions{padding-block:39px}.foot{flex-wrap:wrap}.foot span,.foot>a:last-child{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

#local-files label{display:grid;gap:8px;margin-bottom:14px;color:var(--muted)}
#local-files input{width:100%;min-height:44px}
.art{margin:0;min-height:206px;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:16px;padding:22px;border-radius:8px;overflow:hidden;background:hsl(var(--art-hue) 42% 84%);color:#142126}
.art-copy{min-width:0;display:grid;gap:7px}.art-copy strong{font-size:clamp(19px,2vw,33px);line-height:1.05;letter-spacing:-.05em;overflow-wrap:anywhere}.art-copy span{font-size:13px}
.art-graphic{min-width:0;position:relative;display:grid;place-items:center;aspect-ratio:1;background:#ffffff55;border:1px solid #17232935;border-radius:7px;overflow:hidden}.art-graphic span{font-size:clamp(36px,5vw,76px);z-index:1;line-height:1}
.art-ticket .art-graphic{border-radius:4px 50% 50% 4px;background:#fff9}.art-barcode .art-graphic{background:repeating-linear-gradient(90deg,#152027 0 3px,transparent 3px 8px,#152027 8px 9px,transparent 9px 15px);border:10px solid #fff9}.art-barcode .art-graphic span{background:#fff;padding:6px}
.art-address{grid-template-columns:1fr;gap:11px}.art-address .art-graphic{aspect-ratio:auto;height:66px;justify-items:end;padding-right:12px}.art-address .art-graphic::before{content:"https://";position:absolute;left:12px;font:15px var(--mono)}.art-address .art-graphic span{font-size:35px}
.art-status .art-graphic{border-radius:50%;background:#173a36;color:#b4edc4}.art-photo .art-graphic{background:linear-gradient(155deg,#eef4d3 42%,#829a79 43% 62%,#384f41 63%);color:white}
.art-variants .art-graphic,.art-columns .art-graphic{background-image:linear-gradient(#14212635 1px,transparent 1px),linear-gradient(90deg,#14212635 1px,transparent 1px);background-size:23px 23px}.art-change .art-graphic{background:linear-gradient(154deg,#ffffff64 48%,#0e413f 49% 52%,transparent 53%)}.art-desk{background:#24394a;color:#e9f5ff}.art-desk .art-graphic{background:linear-gradient(135deg,#4d6f87,#162f40);border-color:#b6d7ee55}
.art-wide{min-height:340px;padding:32px}.art-wide .art-copy strong{font-size:clamp(26px,4vw,54px)}
.checkout{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-block:65px 100px}.order{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:22px}.order h2{font-size:29px;margin-bottom:20px}.order-row{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.order p{color:var(--muted);margin:14px 0}.order button:disabled{opacity:.55;cursor:default;transform:none}
@media(max-width:650px){.checkout{grid-template-columns:1fr;gap:26px;padding-block:32px 60px}.art-wide{min-height:220px;padding:18px}}
.add-cart{margin-top:12px}.detail .add-cart{margin-top:0}
.foot{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr);align-items:start;column-gap:32px;row-gap:0;padding-block:28px 64px}
.foot .brand{justify-self:start}
.foot>span{grid-column:1;grid-row:2}
.foot nav{grid-column:2;grid-row:1/span 2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,auto);grid-auto-flow:column;column-gap:clamp(18px,4vw,52px)}
.foot nav a{justify-self:start;padding-block:6px;overflow-wrap:anywhere}
.foot nav a,.policy a,.checkout-consent a,.cart-row a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:650px){
  .foot{grid-template-columns:1fr;row-gap:4px}
  .foot nav{grid-column:1;grid-row:3;margin-top:10px;font-size:14px}
}
.cart-announcement{position:fixed;z-index:5;bottom:16px;right:16px;max-width:calc(100% - 32px);padding:10px 16px;border:1px solid var(--line);border-radius:6px;background:var(--surface);pointer-events:none}.cart-announcement:empty{display:none}
.cart-row{align-items:center}.cart-row a{flex:1;overflow-wrap:anywhere}.cart-total{font-weight:700;padding-top:12px;border-top:1px solid var(--line)}.checkout-consent{display:flex;gap:9px;align-items:flex-start;margin:16px 0}.checkout-consent input{margin-top:5px}
