:root{--paper:#faf7f2;--surface:#fff;--ink:#1f241f;--ink-soft:#5a625a;--ink-faint:#8b928a;--rule:#e4dfd5;--green:#2f5d45;--green-deep:#244836;--clay:#b4694a;--sand:#efe8dc;--serif:"Iowan Old Style",Georgia,"Palatino Linotype",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:ui-monospace,"Cascadia Mono",Consolas,Menlo,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.wrap{max-width:68rem;margin:0 auto;padding:0 1.5rem}.masthead{border-bottom:1px solid var(--rule);background:var(--surface)}.masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.1rem;padding-bottom:1.1rem}.brand{font-family:var(--serif);font-size:1.35rem;letter-spacing:-.01em}.brand span{color:var(--green)}.nav{display:flex;gap:1.6rem;font-size:.86rem;color:var(--ink-soft)}.nav a:hover{color:var(--green)}.hero{background:linear-gradient(160deg,var(--sand) 0,var(--paper) 70%);border-bottom:1px solid var(--rule)}.hero .wrap{display:grid;grid-template-columns:1.15fr 1fr;grid-gap:3rem;gap:3rem;align-items:center;padding-top:4.5rem;padding-bottom:4.5rem}.hero .eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);margin-bottom:1rem}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5vw,3.3rem);line-height:1.08;letter-spacing:-.02em;margin:0 0 1.1rem;text-wrap:balance;min-height:2.2em}.hero p{color:var(--ink-soft);font-size:1.03rem;max-width:30rem;margin:0 0 2rem}.cta{display:inline-block;background:var(--green);color:#fff;font-weight:600;font-size:.94rem;padding:.85rem 1.8rem;border-radius:2px;transition:background .15s ease}.cta:hover{background:var(--green-deep)}.hero-art{aspect-ratio:4/5;border-radius:3px;background:radial-gradient(circle at 32% 28%,hsla(0,0%,100%,.75),transparent 55%),linear-gradient(150deg,#cfdccf,#9fb8a4 45%,#6e8f79);box-shadow:0 18px 40px -22px rgba(31,36,31,.5)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:4rem 0 1.6rem}.section-head h2{font-family:var(--serif);font-weight:400;font-size:1.6rem;margin:0}.section-head .note{font-size:.85rem;color:var(--ink-faint)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));grid-gap:1.6rem;gap:1.6rem;padding-bottom:4rem}.card{background:var(--surface);border:1px solid var(--rule);border-radius:3px;overflow:hidden;display:flex;flex-direction:column;transition:transform .16s ease,box-shadow .16s ease}.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -20px rgba(31,36,31,.55)}.card .art{aspect-ratio:1/1}.card .body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.3rem;flex:1 1}.card .kind{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.card .name{font-family:var(--serif);font-size:1.05rem}.card .price{margin-top:auto;padding-top:.6rem;font-weight:600;font-size:.95rem}.pdp .wrap{display:grid;grid-template-columns:1fr 1fr;grid-gap:3rem;gap:3rem;padding-top:3rem;padding-bottom:4rem}.pdp .art{aspect-ratio:1/1;border-radius:3px}.pdp h1{font-family:var(--serif);font-weight:400;font-size:2.1rem;margin:.4rem 0 .6rem;line-height:1.15}.pdp .price{font-size:1.3rem;font-weight:600;margin-bottom:1.4rem}.pdp .desc{color:var(--ink-soft);margin-bottom:2rem}.crumb{font-size:.82rem;color:var(--ink-faint)}.crumb a:hover{color:var(--green)}.foot{border-top:1px solid var(--rule);background:var(--surface);color:var(--ink-faint);font-size:.82rem}.foot .wrap{padding-top:2rem;padding-bottom:2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.debug{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:#12161c;color:#c8ceda;font-family:var(--mono);font-size:.72rem;letter-spacing:.02em}.debug .wrap{display:flex;align-items:center;gap:.6rem 1.4rem;flex-wrap:wrap;padding-top:.5rem;padding-bottom:.5rem}.debug .tag{color:#e09a62;letter-spacing:.14em;text-transform:uppercase;font-size:.66rem}.debug .k{color:#6c7686}.debug .v{color:#e4e8ef}.debug .v.hold{color:#d2a249}.debug .v.err{color:#de7a6e}.debug .spacer{flex:1 1}.debug button{font-family:inherit;font-size:.7rem;color:#12161c;background:#c8ceda;border:0;border-radius:2px;padding:.32rem .8rem;cursor:pointer}.debug button:hover{background:#fff}.debug button:focus-visible{outline:2px solid #e09a62;outline-offset:2px}@media (max-width:760px){.hero .wrap{grid-template-columns:1fr;gap:2rem;padding-top:2.5rem;padding-bottom:2.5rem}.hero-art{display:none}.pdp .wrap{grid-template-columns:1fr;gap:1.5rem}.nav{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.console{--con-bg:#12161c;--con-surface:#181d25;--con-rule:#262d37;--con-ink:#e4e8ef;--con-dim:#79828f;--con-accent:#e09a62;--con-live:#6bb585;--con-hold:#d2a249;background:var(--con-bg);color:var(--con-ink);font-family:var(--sans);display:flex;flex-direction:column;gap:1rem;padding:1.15rem 1.25rem 1rem;min-height:100%}.console-page{min-height:100vh;background:#12161c}.console-page .console{max-width:46rem;margin:0 auto}.con-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--con-rule)}.con-brand{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--con-accent)}.con-sub{display:block;font-size:.82rem;color:var(--con-dim);margin-top:.2rem}.dot{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.4rem}.dot:before{content:"";width:7px;height:7px;border-radius:50%}.dot.live{color:var(--con-live)}.dot.live:before{background:var(--con-live)}.dot.down{color:var(--con-hold)}.dot.down:before{background:var(--con-hold)}.con-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.6rem;gap:.6rem}.stat{background:var(--con-surface);border:1px solid var(--con-rule);border-radius:3px;padding:.7rem .8rem;display:flex;flex-direction:column;gap:.15rem}.stat-label{font-family:var(--mono);font-size:.6rem;letter-spacing:.11em;text-transform:uppercase;color:var(--con-dim)}.stat-value{font-size:1.35rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.stat-hint{font-size:.7rem;color:var(--con-dim)}.con-block{display:flex;flex-direction:column;gap:.55rem}.con-block.grow{flex:1 1;min-height:0}.con-block h3{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--con-dim);margin:.3rem 0 0;font-weight:400}.console .empty{color:var(--con-dim);font-size:.84rem;margin:0}.console .note{color:var(--con-dim);font-size:.76rem;margin:.1rem 0 0}.bar-row{display:grid;grid-template-columns:5.6rem 1fr 5.2rem;grid-gap:.7rem;gap:.7rem;align-items:center}.bar-key{font-size:.82rem}.bar-key.hold{color:var(--con-hold)}.bar-track{background:var(--con-surface);border-radius:2px;height:9px;overflow:hidden}.bar-fill{height:100%;background:var(--con-accent);transition:width .4s ease}.bar-fill.hold{background:var(--con-hold)}.bar-val{font-family:var(--mono);font-size:.76rem;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bar-val em{display:block;font-style:normal;color:var(--con-dim);font-size:.68rem}.chips{display:flex;flex-wrap:wrap;gap:.4rem}.chip{background:var(--con-surface);border:1px solid var(--con-rule);border-radius:2px;padding:.3rem .55rem;font-size:.76rem;display:inline-flex;gap:.45rem;align-items:baseline}.chip em{font-style:normal;font-family:var(--mono);color:var(--con-accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.spark{display:flex;align-items:flex-end;gap:2px;height:44px}.spark-bar{flex:1 1;background:var(--con-accent);opacity:.75;border-radius:1px 1px 0 0;min-width:2px}.river{display:flex;flex-direction:column;gap:1px;overflow-y:auto;max-height:17rem;font-family:var(--mono);font-size:.72rem}.river-row{display:grid;grid-template-columns:5rem 1fr 4.6rem 4rem;grid-gap:.5rem;gap:.5rem;padding:.34rem .5rem;background:var(--con-surface);border-radius:2px;align-items:center;animation:slide-in .25s ease}@keyframes slide-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.river-row{animation:none}}.rv-time{color:var(--con-dim)}.rv-persona{color:var(--con-ink)}.rv-variant{color:var(--con-accent)}.rv-variant.hold{color:var(--con-hold)}.rv-micros{color:var(--con-dim);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.con-foot{font-size:.68rem;color:var(--con-dim);border-top:1px solid var(--con-rule);padding-top:.7rem;margin:0;max-width:none}.split{display:flex;flex-direction:column;height:100vh;background:#0f1318}.split-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1.25rem;border-bottom:1px solid #262d37;color:#e4e8ef}.sh-brand{font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#e09a62}.sh-brand span{display:block;font-family:var(--sans);font-size:.8rem;letter-spacing:0;text-transform:none;color:#79828f;margin-top:.2rem}.sh-nav{display:flex;gap:1.2rem;font-size:.82rem}.sh-nav a{color:#a2abb9}.sh-nav a:hover{color:#e09a62}.split-body{flex:1 1;display:grid;grid-template-columns:1fr 26rem;min-height:0}.split-pane{display:flex;flex-direction:column;min-height:0;border-left:1px solid #262d37}.split-pane:first-child{border-left:0}.pane-label{font-family:var(--mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:#79828f;padding:.55rem 1rem;border-bottom:1px solid #262d37;background:#12161c}.pane-label span{text-transform:none;letter-spacing:0;font-family:var(--sans);color:#5a6472;margin-left:.5rem}.store-frame{flex:1 1;width:100%;border:0;background:var(--paper)}.pane-body{flex:1 1;overflow-y:auto;min-height:0}.console.compact{padding:1rem}.console.compact .con-stats{grid-template-columns:repeat(3,1fr)}.console.compact .river{max-height:12rem}@media (max-width:900px){.split{height:auto}.split-body{grid-template-columns:1fr}.split-pane{border-left:0;border-top:1px solid #262d37}.store-frame{height:32rem;flex:none}}.thanks{display:block!important;max-width:34rem;padding-top:4rem!important;padding-bottom:6rem!important}.thanks-mark{width:44px;height:44px;border-radius:50%;background:var(--green);margin-bottom:1.4rem;position:relative}.thanks-mark:after{content:"";position:absolute;left:15px;top:12px;width:11px;height:19px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.thanks .desc.small{font-size:.88rem;color:var(--ink-faint)}.thanks .desc code{font-family:var(--mono);font-size:.85em;background:var(--sand);padding:.1em .35em;border-radius:2px}.thanks-actions{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;margin-top:2rem}.ghost{font-size:.9rem;color:var(--green);border-bottom:1px solid;padding-bottom:1px}button.cta{border:0;cursor:pointer;font-family:inherit}.lift{background:var(--con-surface);border-left:1px solid var(--con-rule);border:1px solid var(--con-rule);border-left-width:3px;border-radius:0 3px 3px 0;padding:.7rem .85rem;display:flex;flex-direction:column;gap:.3rem}.lift-winning{border-left-color:var(--con-live)}.lift-losing{border-left-color:#de7a6e}.lift-gathering,.lift-inconclusive{border-left-color:var(--con-dim)}.lift-head{display:flex;align-items:baseline;justify-content:space-between;gap:.7rem}.lift-name{font-size:.9rem}.verdict{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase}.v-winning{color:var(--con-live)}.v-losing{color:#de7a6e}.lift-rates,.v-gathering,.v-inconclusive{color:var(--con-dim)}.lift-rates{font-family:var(--mono);font-size:.74rem}.lift-value{font-size:1.5rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15;margin-top:.15rem}.lift-value em{display:block;font-style:normal;font-family:var(--mono);font-size:.66rem;color:var(--con-dim);margin-top:.1rem}.lift-detail{font-size:.74rem;color:var(--con-dim);margin:0;max-width:none}.chip b{font-weight:600;color:var(--con-live);font-family:var(--mono);font-size:.7rem}.con-foot strong{color:var(--con-hold);font-weight:500}.debug .hint{color:var(--con-hold,#d2a249);font-size:.68rem;letter-spacing:.04em}.debug button.pulse{animation:sl-pulse 2.2s ease-in-out infinite}.debug button.pulse:focus-visible,.debug button.pulse:hover{animation:none}@keyframes sl-pulse{0%,to{box-shadow:0 0 0 0 rgba(224,154,98,.65)}50%{box-shadow:0 0 0 5px rgba(224,154,98,0)}}@media (prefers-reduced-motion:reduce){.debug button.pulse{animation:none;outline:2px solid #e09a62;outline-offset:2px}}.controls{display:flex;flex-direction:column;gap:.55rem}.controls h3{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--con-dim);margin:.5rem 0 0;font-weight:400}.controls h3:first-child{margin-top:0}.ctl-row{display:grid;grid-template-columns:5.6rem 1fr 3rem;grid-gap:.7rem;gap:.7rem;align-items:center}.ctl-row label{font-size:.82rem;color:var(--con-ink)}.ctl-row input[type=range]{width:100%;accent-color:var(--con-accent);background:transparent;cursor:pointer}.ctl-val{font-family:var(--mono);font-size:.76rem;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--con-ink)}.ctl-val.hold{color:var(--con-hold)}.ctl-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:.3rem}.ctl-save{font-family:var(--sans);font-size:.78rem;font-weight:600;color:#12161c;background:var(--con-accent);border:0;border-radius:2px;padding:.4rem .9rem;cursor:pointer}.ctl-save:disabled{opacity:.4;cursor:default}.ctl-save:focus-visible{outline:2px solid var(--con-ink);outline-offset:2px}.ctl-warn{font-size:.72rem;color:var(--con-hold)}.ctl-msg{font-size:.72rem;color:var(--con-live)}.controls .note.warn{color:var(--con-hold)}.rate-row{display:flex;gap:.4rem;flex-wrap:wrap}.rate-btn{font-family:var(--mono);font-size:.72rem;color:var(--con-ink);background:var(--con-surface);border:1px solid var(--con-rule);border-radius:2px;padding:.32rem .7rem;cursor:pointer}.rate-btn.on,.rate-btn:hover{border-color:var(--con-accent)}.rate-btn.on{background:var(--con-accent);color:#12161c}.rate-btn:focus-visible{outline:2px solid var(--con-accent);outline-offset:2px}