:root{--red:oklch(0.57 0.19 30);--red-d:oklch(0.45 0.17 30);--red-t:oklch(0.97 0.02 30);--red-t2:oklch(0.94 0.04 30);--red-ink:oklch(0.5 0.19 30);--navy:#1b2433;--ink:#141821;--muted:#5b6472;--line:#e3e6eb;--bg:#f3f4f6}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:'Barlow',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}
button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none}
button:disabled{cursor:default}
input,textarea{font:inherit;color:var(--ink)}
input:focus,textarea:focus{outline:3px solid var(--red);outline-offset:1px}
a{color:var(--navy)}a:hover{color:var(--red)}
.mono{font-family:'IBM Plex Mono',monospace}

.logo{display:inline-flex;align-items:stretch;transform:skewX(-12deg);flex:none}
.logo>div{display:flex;align-items:center}
.logo>div>span{transform:skewX(12deg);white-space:nowrap}
.logo .l1{background:var(--navy);color:#fff;font:italic 900 var(--l1,26px)/1 'Barlow Condensed',sans-serif;letter-spacing:.14em;padding:0 var(--p1,16px)}
.logo .l2{background:var(--red);color:#fff;font:italic 900 var(--l2,56px)/.9 'Barlow Condensed',sans-serif;text-transform:uppercase;padding:var(--p2v,6px) var(--p2,18px)}
.logo .l3{background:var(--navy);padding:0 var(--p3,12px)}
.logo .l3 svg{width:var(--pw,36px);height:var(--ph,60px);transform:skewX(12deg) rotate(18deg)}
.logo.sm{--l1:13px;--l2:28px;--p1:8px;--p2:10px;--p2v:3px;--p3:6px;--pw:18px;--ph:30px}

.heat{display:inline-flex;gap:4px}
.heat i{width:14px;height:14px;border-radius:3px;background:var(--line)}
.heat i.on{background:var(--red)}

.btn-red{border:none;border-radius:12px;background:var(--red);color:#fff;font:800 24px 'Barlow Condensed',sans-serif;letter-spacing:.04em;text-transform:uppercase}
.btn-red:disabled{background:#aab1bb}
.btn-line{border:2px solid var(--navy);background:#fff;color:var(--navy);border-radius:12px;font:800 22px 'Barlow Condensed',sans-serif;letter-spacing:.04em;text-transform:uppercase}
.key{border:1px solid #d4d8de;background:#fff;border-radius:14px;box-shadow:0 3px 0 #d4d8de;color:var(--ink)}
.key:active{transform:translateY(2px);box-shadow:none}
.key.fn{background:#e9ecf0}
.key:disabled{opacity:.3}
.pill{display:inline-flex;align-items:center;gap:10px;border-radius:999px;font:800 24px 'Barlow Condensed',sans-serif;letter-spacing:.06em;white-space:nowrap}
.pill i{width:12px;height:12px;border-radius:50%;flex:none}

/* Place badges: medals for 1-3, outlined ring for the rest (distinct from the square chili number) */
.rkb{--s:56px;width:var(--s);height:var(--s);border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;font:800 calc(var(--s) * .5)/1 'Barlow Condensed',sans-serif;background:#fff;color:var(--navy);border:3px solid var(--navy);position:relative}
.rkb small{font-size:.5em;text-transform:uppercase;align-self:flex-start;margin:.62em 0 0 1px;letter-spacing:.02em}
.rkb.m1{background:radial-gradient(circle at 35% 30%,#fff6c4 0,#f5c842 38%,#c9971c 75%,#a67a10 100%);border-color:#e8b923;color:#4d3500;box-shadow:0 3px 0 #8a6408,inset 0 0 0 2px rgba(255,255,255,.4)}
.rkb.m2{background:radial-gradient(circle at 35% 30%,#ffffff 0,#e3e6ea 38%,#b4bac2 75%,#959ca5 100%);border-color:#c3c9d0;color:#262c33;box-shadow:0 3px 0 #7d848c,inset 0 0 0 2px rgba(255,255,255,.5)}
.rkb.m3{background:radial-gradient(circle at 35% 30%,#ffe3c8 0,#e0a068 38%,#b26a2f 75%,#94541f 100%);border-color:#c98244;color:#3a1c04;box-shadow:0 3px 0 #71401a,inset 0 0 0 2px rgba(255,255,255,.35)}
.rkb.none{border-color:#d4d8de;color:#9aa1ab}
.rkb.sm{--s:40px;border-width:2px}
.rkb.sm.m1,.rkb.sm.m2,.rkb.sm.m3{box-shadow:0 2px 0 rgba(0,0,0,.25),inset 0 0 0 1px rgba(255,255,255,.4)}
