@font-face{font-family:Bebas;src:url(fonts/bebas.woff2) format('woff2');font-display:swap}
@font-face{font-family:Oswald;src:url(fonts/oswald.woff2) format('woff2');font-weight:200 700;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter.woff2) format('woff2');font-weight:100 900;font-display:swap}
:root{--red:#C8102E;--red2:#ff2a4a;--bg:#000;--card:#111;--card2:#1a1a1a;--line:#262626;--mut:#8a8a8a;--sat:env(safe-area-inset-top);--sab:env(safe-area-inset-bottom)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:#000;color:#fff;font:15px/1.4 Inter,system-ui,sans-serif;overscroll-behavior:none}
body{padding-top:calc(var(--sat) + 56px);padding-bottom:calc(var(--sab) + 72px);min-height:100vh}
h1,h2,h3,.bb{font-family:Bebas,Oswald,Impact,sans-serif;letter-spacing:.04em;font-weight:400;margin:0}
h1{font-size:40px;line-height:1}h2{font-size:28px;margin:22px 0 10px}h3{font-size:21px}
.osw{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.06em}
.hidden{display:none!important}
#hdr{position:fixed;top:0;left:0;right:0;z-index:20;height:calc(var(--sat) + 56px);padding:var(--sat) 14px 0;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#000 70%,rgba(0,0,0,.85));border-bottom:2px solid var(--red)}
.hlogo{height:40px}
#gear{background:none;border:0;color:#fff;font-size:24px;padding:8px}
main{padding:12px 14px 30px}
#tabs{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;background:#0a0a0a;border-top:1px solid var(--line);padding-bottom:var(--sab)}
#tabs button{flex:1;background:none;border:0;color:var(--mut);font:600 10px Oswald,sans-serif;text-transform:uppercase;letter-spacing:.06em;padding:8px 0 10px;display:flex;flex-direction:column;align-items:center;gap:2px}
#tabs i{font-style:normal;font-size:20px;filter:grayscale(1);opacity:.7}
#tabs button.on{color:#fff}#tabs button.on i{filter:none;opacity:1}
#tabs button{position:relative}#tabs button.on::before{content:"";position:absolute;top:0;left:50%;width:30px;height:3px;margin-left:-15px;background:var(--red);transform:skewX(-20deg)}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0;position:relative;overflow:hidden}
.card.hero{background:linear-gradient(135deg,#1c0006,#000 60%);border-color:var(--red)}
.card.hero::after{content:"";position:absolute;right:-40px;top:-20px;width:120px;height:200%;background:var(--red);opacity:.12;transform:skewX(-25deg);pointer-events:none}
.row{display:flex;align-items:center;gap:10px}.sp{justify-content:space-between}.wrap{flex-wrap:wrap}
.mut{color:var(--mut);font-size:13px}.big{font:700 34px Oswald;line-height:1}
.btn{background:var(--red);color:#fff;border:0;border-radius:10px;padding:12px 16px;font:600 15px Oswald;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.btn.ghost{background:transparent;border:1px solid #444}.btn.sm{padding:7px 11px;font-size:13px}.btn.blk{width:100%}
.btn:active{transform:scale(.97)}
.chip{background:var(--card2);border:1px solid var(--line);color:#fff;border-radius:20px;padding:8px 12px;font:600 13px Inter}
.chip.on{background:var(--red);border-color:var(--red)}
input,select,textarea{background:#0b0b0b;border:1px solid #333;color:#fff;border-radius:8px;padding:9px;font:16px Inter;width:100%}
input:focus{outline:2px solid var(--red);border-color:transparent}
.rings{display:flex;justify-content:space-around}
.ring{text-align:center}.ring svg{width:110px;height:110px;transform:rotate(-90deg)}
.ring .v{margin-top:-74px;height:74px;font:700 22px Oswald}.ring .l{font-size:11px;color:var(--mut)}
.check{width:30px;height:30px;border-radius:8px;border:2px solid #444;background:none;color:#fff;font-size:18px;flex:none;display:flex;align-items:center;justify-content:center}
.check.on{background:var(--red);border-color:var(--red)}
.li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.li:last-child{border:0}
.grow{flex:1;min-width:0}
.set{display:grid;grid-template-columns:28px 1fr 1fr 34px;gap:8px;align-items:center;margin:6px 0}
.set input{text-align:center;padding:8px 4px}
.set.done input{border-color:var(--red);background:#1a0408}
.nudge{background:var(--red);color:#fff;border-radius:8px;padding:8px 10px;font:600 13px Oswald;text-transform:uppercase;letter-spacing:.05em;margin-top:8px}
.bar{height:8px;background:#222;border-radius:4px;overflow:hidden}.bar>b{display:block;height:100%;background:var(--red)}
.bar.over>b{background:#ff9900}
.daypick{display:grid;gap:10px}
.daypick .card{cursor:pointer}.daypick .card.next{border-color:var(--red)}
.tag{display:inline-block;background:var(--red);font:600 11px Oswald;padding:2px 7px;border-radius:4px;letter-spacing:.08em;text-transform:uppercase}
#timer{position:fixed;left:14px;right:14px;bottom:calc(var(--sab) + 80px);z-index:25;background:#111;border:2px solid var(--red);border-radius:14px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 10px 30px #000}
#timer .t{font:700 34px Oswald}
#toast{position:fixed;top:calc(var(--sat) + 66px);left:50%;transform:translateX(-50%);z-index:40;background:var(--red);padding:10px 16px;border-radius:10px;font:600 14px Oswald;text-transform:uppercase;letter-spacing:.05em;max-width:90%}
#modal{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:50;display:flex;align-items:flex-end}
.sheet{background:#111;width:100%;max-height:88vh;overflow:auto;border-radius:18px 18px 0 0;border-top:2px solid var(--red);padding:18px 16px calc(var(--sab) + 20px)}
.sheet label{display:block;font-size:12px;color:var(--mut);margin:10px 0 4px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
#splash{position:fixed;inset:0;z-index:100;background:#000;display:flex;align-items:center;justify-content:center;transition:opacity .4s}
#splash img{width:70%;max-width:320px;animation:pop .6s ease-out}
@keyframes pop{from{transform:scale(.85);opacity:0}}
#quote{position:fixed;inset:0;z-index:90;background:#000;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--sat) + 30px) 28px calc(var(--sab) + 30px);touch-action:pan-y;transition:transform .35s,opacity .35s;overflow:hidden}
#quote::before{content:"";position:absolute;left:-30%;top:-10%;width:60%;height:130%;background:var(--red);transform:skewX(-18deg);opacity:.13;pointer-events:none}
#quote>*{position:relative}#quote .qlogo{position:absolute}
#quote .ql{font:600 13px Oswald;letter-spacing:.3em;color:var(--red2);text-transform:uppercase}
#quote blockquote{margin:18px 0;font:400 44px/1.02 Bebas;letter-spacing:.02em;position:relative}
#quote blockquote.long{font-size:34px}#quote blockquote.xl{font-size:28px}
#quote cite{font:600 17px Oswald;font-style:normal;color:var(--mut);text-transform:uppercase;letter-spacing:.1em}
#quote .qgo{margin-top:46px;display:flex;align-items:center;gap:14px}
#quote .qcheck{width:68px;height:68px;border-radius:50%;background:var(--red);border:0;color:#fff;font-size:32px;box-shadow:0 0 0 8px rgba(200,16,46,.25)}
#quote .qlogo{height:34px;position:absolute;top:calc(var(--sat) + 20px);left:28px}
.chart{width:100%;height:160px}
.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.photos img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px}
.pr{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}
.stat{background:var(--card2);border-radius:10px;padding:10px;text-align:center}.stat b{display:block;font:700 24px Oswald}.stat span{font-size:11px;color:var(--mut)}
.x{background:none;border:0;color:#666;font-size:18px;padding:4px 8px}
.search{position:sticky;top:calc(var(--sat) + 58px);z-index:5}
#sync{position:absolute;right:56px;bottom:6px;font-size:11px;color:#8a8a8a;letter-spacing:.02em}#sync.warn{color:#ff9900}
.code{font-family:ui-monospace,Menlo,monospace;font-size:14px;background:#111;border:1px solid #333;border-radius:10px;padding:10px;word-break:break-all;user-select:all;-webkit-user-select:all}
