/* THE STORE ROOM — storeroom.kaditay.com
   Dark, typographic, catalogue-first. Sibling to marketing.kaditay.com, not a copy. */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  color-scheme:dark;
  --void:#0A0A0C; --void2:#101014; --raise:#141419; --sunk:#08080A;
  --bone:#F3EFE6; --bone2:#BDB8AD; --bone3:#9B968D;
  --rule:rgba(243,239,230,.13); --rule2:rgba(243,239,230,.26);
  --oxide:#FF5B2E; --amber:#E8B14C; --slate:#7FA8C4; --moss:#5FBF93;
  --display:'Archivo',Impact,'Haettenschweiler',sans-serif;
  --body:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --gut:clamp(20px,5vw,64px);
  --wrap:1240px;
}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--void);color:var(--bone);font-family:var(--body);font-size:16.5px;line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(120% 80% at 82% -10%,rgba(255,91,46,.09),transparent 58%),
             radial-gradient(90% 60% at 5% 105%,rgba(127,168,196,.07),transparent 60%)}
main,header.site,footer.site{position:relative;z-index:1}
a{color:inherit;text-decoration:none}
::selection{background:var(--oxide);color:var(--void)}
:focus-visible{outline:2px solid var(--oxide);outline-offset:3px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.measure{max-width:64ch}

/* ---------------------------------------------------------------- type */
.d{font-family:var(--display);font-weight:800;text-transform:uppercase;line-height:.87;
  letter-spacing:-.028em;font-stretch:100%}
h1.d{font-size:clamp(2.35rem,6.1vw,5.1rem)}
h2.d{font-size:clamp(1.9rem,4.6vw,3.5rem)}
h3{font-family:var(--body);font-size:1.08rem;font-weight:600;letter-spacing:-.006em;line-height:1.25}
.accent{color:var(--oxide)}
.lede{font-size:clamp(1rem,1.5vw,1.14rem);color:var(--bone2);line-height:1.62;max-width:52ch}
p{max-width:66ch}
.meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--bone3)}
.meta b{color:var(--bone2);font-weight:400}
.tnum{font-variant-numeric:tabular-nums}

/* section mark: A / 01 — used only where a real sequence exists */
.mark{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--bone3);white-space:nowrap}
.mark s{text-decoration:none;color:var(--oxide)}

/* ---------------------------------------------------------------- chrome */
header.site{border-bottom:1px solid var(--rule);background:rgba(10,10,12,.86);
  backdrop-filter:blur(10px) saturate(1.3);position:sticky;top:0;z-index:50}
header.site .wrap{display:flex;align-items:center;gap:clamp(14px,3vw,34px);min-height:60px}
.brand{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:14.5px;letter-spacing:.02em;
  display:flex;align-items:center;gap:9px;white-space:nowrap}
.brand::before{content:"";width:8px;height:8px;background:var(--oxide);flex:none}
.brand em{font-family:var(--body);font-style:italic;font-weight:500;text-transform:none;letter-spacing:0;
  color:var(--bone2);font-size:13.5px}
header.site nav{margin-left:auto;display:flex;gap:clamp(12px,2vw,24px)}
header.site nav a{font-family:var(--mono);font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;
  color:var(--bone3);padding:3px 0;border-bottom:1px solid transparent;transition:color .18s,border-color .18s}
header.site nav a:hover,header.site nav a[aria-current]{color:var(--bone);border-bottom-color:var(--oxide)}
@media (max-width:720px){header.site nav a:nth-child(n+4){display:none}}

.crumbs{font-family:var(--mono);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--bone3);
  padding:22px 0 0;display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.crumbs a{transition:color .18s}.crumbs a:hover{color:var(--oxide)}
.crumbs span[aria-hidden]{color:var(--rule2)}

footer.site{border-top:1px solid var(--rule);margin-top:96px;background:var(--sunk)}
footer.site .wrap{padding-top:40px;padding-bottom:56px}
.unofficial{border:1px solid var(--rule2);border-left:2px solid var(--oxide);padding:15px 18px;
  font-size:13.5px;color:var(--bone2);max-width:66ch;margin-bottom:34px}
.unofficial b{color:var(--bone);font-weight:600}
.fcols{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));font-size:13.5px;color:var(--bone3)}
.fcols a{color:var(--bone2);border-bottom:1px solid var(--rule2);transition:color .18s,border-color .18s}
.fcols a:hover{color:var(--oxide);border-bottom-color:var(--oxide)}
.fcols p{margin-top:9px;line-height:1.6}

/* ---------------------------------------------------------------- hero */
.hero{padding:clamp(46px,8vw,104px) 0 clamp(28px,4vw,48px);border-bottom:1px solid var(--rule)}
.hero h1.d{margin:18px 0 0;max-width:19ch}
.hero-grid{display:grid;gap:clamp(22px,4vw,60px);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  align-items:end;margin-top:clamp(26px,4vw,52px)}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr;align-items:start}}
.hero .lede{margin-bottom:20px}

/* stat band — rule-separated, tabular, no tiles */
.band{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));border-top:1px solid var(--rule);margin-top:clamp(34px,6vw,68px)}
.band>div{padding:20px 22px 4px;border-right:1px solid var(--rule)}
.band>div:last-child{border-right:0}
.band>div:first-child{padding-left:0}
.band b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(1.9rem,3.6vw,2.9rem);
  line-height:.95;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.band .meta{display:block;margin-top:9px;line-height:1.4;max-width:20ch}
.band .hot b{color:var(--oxide)}
@media (max-width:640px){.band>div{padding-left:0;border-right:0;border-bottom:1px solid var(--rule)}}

/* ---------------------------------------------------------------- sections */
section{padding:clamp(46px,7vw,92px) 0}
section+section{border-top:1px solid var(--rule)}
.shead{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(14px,3vw,40px);align-items:start;margin-bottom:clamp(26px,4vw,44px)}
.shead .mark{padding-top:.55em}
.shead p{margin-top:14px;color:var(--bone2);font-size:15px}
@media (max-width:640px){.shead{grid-template-columns:1fr;gap:10px}.shead .mark{padding-top:0}}

/* ------------------------------------------------------- shelf: hosted */
.shelf{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);
  border-top:1px solid var(--rule2);padding-top:26px}
@media (max-width:860px){.shelf{grid-template-columns:1fr}}
.shelf .ref{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--oxide)}
.shelf h2{margin:10px 0 6px}
.shelf .sub{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--bone3)}
.shelf p{color:var(--bone2);margin-top:18px;font-size:15.5px}
.shelf .figs{display:flex;gap:30px;flex-wrap:wrap;margin-top:26px}
.shelf .figs b{font-family:var(--display);font-weight:800;font-size:1.6rem;letter-spacing:-.02em;display:block;
  font-variant-numeric:tabular-nums}
.shelf .figs span{display:block;margin-top:4px}

/* ------------------------------------------------- referenced: ruled list */
.refs{border-top:1px solid var(--rule2)}
.refrow{display:grid;grid-template-columns:76px minmax(0,1.15fr) minmax(0,1fr) auto;gap:clamp(12px,2.4vw,28px);
  align-items:baseline;padding:22px 0;border-bottom:1px solid var(--rule);transition:background .2s}
.refrow:hover{background:rgba(243,239,230,.028)}
.refrow .ref{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--bone3);padding-top:5px}
.refrow:hover .ref{color:var(--oxide)}
.refrow h3{font-size:1.22rem;font-weight:600}
.refrow .sub{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone3);margin-top:6px;display:block}
.refrow p{font-size:14px;color:var(--bone2);margin:0}
.refrow .n{font-family:var(--mono);font-size:12px;color:var(--bone2);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.refrow .n s{display:block;text-decoration:none;color:var(--bone3);font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-top:5px}
.refrow .n::after{content:"↗";display:inline-block;margin-left:8px;color:var(--bone3);transition:color .2s,transform .2s}
.refrow:hover .n::after{color:var(--oxide);transform:translate(2px,-2px)}
@media (max-width:860px){.refrow{grid-template-columns:64px minmax(0,1fr);row-gap:8px}
  .refrow p{grid-column:2}.refrow .n{grid-column:2;text-align:left}}

/* --------------------------------------------------------- boxes: sparse */
.boxes{border-top:1px solid var(--rule2)}
.boxrow{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:clamp(12px,2.4vw,28px);align-items:baseline;
  padding:18px 0;border-bottom:1px solid var(--rule)}
.boxrow .ref{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--bone3)}
.boxrow h3{font-size:1rem;font-weight:500;color:var(--bone2)}
.boxrow .c{font-size:13.5px;color:var(--bone3);margin-top:5px}
.boxrow .st{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--bone3);
  border:1px solid var(--rule2);padding:4px 9px;white-space:nowrap}
@media (max-width:640px){.boxrow{grid-template-columns:1fr;row-gap:6px}}

/* ---------------------------------------------------------------- chips */
.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;padding:5px 10px;border:1px solid var(--rule2);color:var(--bone2);white-space:nowrap}
.chip::before{content:"";width:5px;height:5px;background:currentColor}
.chip.verified{color:var(--moss)}
.chip.partial{color:var(--amber)}
.chip.disputed{color:var(--oxide)}
.chip.plain{color:var(--bone3)}.chip.plain::before{display:none}

/* -------------------------------------------------------- contest index */
.rows{border-top:1px solid var(--rule2)}
.row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 26px;align-items:center;padding:17px 0;
  border-bottom:1px solid var(--rule);transition:background .2s,padding-left .2s}
.row:hover{background:rgba(243,239,230,.028);padding-left:10px}
.row .who{font-size:16px;font-weight:600;letter-spacing:-.008em}
.row .who i{font-style:normal;color:var(--bone3);font-weight:400;padding:0 2px}
.row .m{font-family:var(--mono);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--bone3);margin-top:6px}
.row .sc{font-family:var(--mono);font-size:13px;color:var(--bone3);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.row .sc b{color:var(--bone);font-weight:500}
.row .sc b:first-child{color:var(--oxide)}
@media (max-width:600px){.row{grid-template-columns:1fr}.row .sc{text-align:left}}

/* ---------------------------------------------------------- scoreboard */
.board{border:1px solid var(--rule2);background:var(--void2)}
.bscroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:620px}
th,td{padding:13px 15px;text-align:right;border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums;font-size:15px}
th{font-family:var(--mono);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--bone3);
  font-weight:400;vertical-align:bottom;line-height:1.5;background:var(--sunk)}
th s{display:block;text-decoration:none;color:var(--bone3);font-size:10px;letter-spacing:.1em;margin-top:4px;opacity:.9}
th:first-child,td:first-child{text-align:left;position:sticky;left:0;background:var(--void2);z-index:1}
th:first-child{background:var(--sunk)}
tbody tr:last-child td{border-bottom:0}
td.sch{font-weight:600;min-width:200px}
td.sch s{display:block;text-decoration:none;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--bone3);font-weight:400;margin-top:4px}
td.sch a{border-bottom:1px solid transparent;transition:border-color .2s}
td.sch a:hover{border-bottom-color:var(--oxide)}
td u{display:block;text-decoration:none;font-family:var(--mono);font-size:11px;color:var(--bone3);margin-top:3px}
td.tot{font-weight:600;font-size:17px;background:rgba(243,239,230,.035)}
tr.win td{background:rgba(255,91,46,.07)}
tr.win td:first-child{background:rgba(255,91,46,.07)}
tr.win td.tot{background:rgba(255,91,46,.16);color:var(--oxide)}
td.na{color:var(--rule2)}

.chart{padding:24px 18px 12px;border-top:1px solid var(--rule);background:var(--sunk)}
.chart svg{width:100%;height:auto;display:block;overflow:visible}
.key{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--bone2)}
.key i{display:inline-block;width:18px;height:2px;vertical-align:middle;margin-right:8px}

/* ---------------------------------------------------------------- prose */
.prose h2{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;
  font-size:clamp(1.3rem,2.4vw,1.8rem);line-height:1;margin:44px 0 14px}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--bone2);margin-bottom:1.05em;max-width:64ch}
.prose b,.prose strong{color:var(--bone);font-weight:600}
.callout{border-left:2px solid var(--oxide);padding:4px 0 4px 20px;color:var(--bone2);font-size:15.5px;max-width:64ch}
.callout.cold{border-left-color:var(--rule2)}
.callout a{color:var(--bone);border-bottom:1px solid var(--oxide)}

/* --------------------------------------------------------------- sources */
ol.src{list-style:none;counter-reset:s;border-top:1px solid var(--rule2)}
ol.src li{counter-increment:s;display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;padding:16px 0;
  border-bottom:1px solid var(--rule);font-size:14.5px}
ol.src li::before{content:counter(s,decimal-leading-zero);font-family:var(--mono);font-size:10.5px;color:var(--oxide);padding-top:4px}
ol.src a{border-bottom:1px solid var(--rule2);word-break:break-word;transition:border-color .2s}
ol.src a:hover{border-bottom-color:var(--oxide)}
ol.src .pub{font-family:var(--mono);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--bone3);margin-top:6px}
ol.src .nb{font-size:13px;color:var(--bone2);margin-top:7px;max-width:70ch}

/* -------------------------------------------------------------- timeline */
.tl{border-top:1px solid var(--rule2)}
.tlr{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:18px;align-items:baseline;padding:12px 0;
  border-bottom:1px solid var(--rule)}
.tlr .y{font-family:var(--mono);font-size:12.5px;color:var(--bone3);font-variant-numeric:tabular-nums}
.tlr .c{font-size:15.5px;font-weight:500}
.tlr .c a{border-bottom:1px solid transparent;transition:border-color .2s}
.tlr .c a:hover{border-bottom-color:var(--oxide)}
.tlr .c s{text-decoration:none;color:var(--bone3);font-weight:400;font-size:13.5px}
.tlr .x{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--bone3)}
.tlr.none{color:var(--bone3)}
.tlr.none .c{color:var(--bone3);font-weight:400;font-style:italic}
.tlr.now .y,.tlr.now .c{color:var(--oxide)}
@media (max-width:640px){.tlr{grid-template-columns:62px minmax(0,1fr)}.tlr .x{display:none}}

/* ---------------------------------------------------------------- tally */
.tally{border-top:1px solid var(--rule2)}
.tr{display:grid;grid-template-columns:minmax(150px,240px) minmax(0,1fr) 46px;gap:18px;align-items:center;
  padding:11px 0;border-bottom:1px solid var(--rule);font-size:15px}
.tr a{border-bottom:1px solid transparent;transition:border-color .2s}
.tr a:hover{border-bottom-color:var(--oxide)}
.tr .bar{height:2px;background:var(--rule)}
.tr .bar i{display:block;height:100%;background:var(--oxide)}
.tr:nth-child(n+2) .bar i{background:var(--bone3)}
.tr .n{font-family:var(--mono);text-align:right;font-variant-numeric:tabular-nums;color:var(--bone2);font-size:13px}
@media (max-width:640px){.tr{grid-template-columns:minmax(120px,1fr) 60px 34px;font-size:13.5px}}

/* ----------------------------------------------------------------- gaps */
.gaps{border-top:1px solid var(--rule2)}
.gap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 24px;align-items:start;padding:22px 0;
  border-bottom:1px solid var(--rule)}
.gap h3{font-size:1.06rem;font-weight:600}
.gap p{font-size:14.5px;color:var(--bone2);margin-top:8px;max-width:72ch}

/* ----------------------------------------------------------------- form */
form.cf{display:grid;gap:20px;max-width:660px}
label{display:grid;gap:8px}
label>span{font-family:var(--mono);font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--bone3)}
input,textarea,select{font:inherit;font-size:15.5px;color:var(--bone);background:var(--void2);border:1px solid var(--rule2);
  padding:13px 14px;width:100%;border-radius:0;transition:border-color .18s}
input:hover,textarea:hover,select:hover{border-color:var(--bone3)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--oxide)}
textarea{min-height:150px;resize:vertical;line-height:1.55}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--bone3) 50%),linear-gradient(135deg,var(--bone3) 50%,transparent 50%);
  background-position:calc(100% - 19px) 21px,calc(100% - 13px) 21px;background-size:6px 6px;background-repeat:no-repeat}
button{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;background:var(--oxide);
  color:var(--void);border:0;padding:16px 30px;cursor:pointer;justify-self:start;transition:background .18s,transform .18s}
button:hover{background:var(--bone);transform:translateY(-1px)}
button[disabled]{opacity:.45;cursor:default;transform:none}
#fm{font-size:14.5px;padding:14px 16px;border:1px solid var(--rule2);color:var(--bone2)}
#fm.ok{border-color:var(--moss);color:var(--moss)}
#fm.err{border-color:var(--oxide);color:var(--oxide)}
.fine{font-size:13px;color:var(--bone3);max-width:62ch;line-height:1.6}
.fine a{color:var(--bone2);border-bottom:1px solid var(--rule2)}
.fine a:hover{color:var(--oxide);border-bottom-color:var(--oxide)}

/* ----------------------------------------------------------------- bits */
.btn{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  border:1px solid var(--rule2);padding:14px 24px;color:var(--bone);transition:border-color .2s,color .2s,background .2s}
.btn:hover{border-color:var(--oxide);color:var(--oxide)}
.btn.hot{background:var(--oxide);border-color:var(--oxide);color:var(--void)}
.btn.hot:hover{background:var(--bone);border-color:var(--bone);color:var(--void)}
.acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.tag{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--rule2);
  padding:6px 12px;color:var(--bone2);transition:border-color .2s,color .2s}
a.tag:hover{border-color:var(--oxide);color:var(--oxide)}
.mt{margin-top:30px}.mt-s{margin-top:16px}
.center-note{color:var(--bone3);font-size:13.5px;margin-top:14px}
.center-note a{color:var(--bone2);border-bottom:1px solid var(--rule2)}
.center-note a:hover{color:var(--oxide)}
