:root{--bg:#0a0a0a;--card:#141414;--line:#2a2a2a;--gold:#d4af37;--gold2:#f3d77a;--text:#f7f5ef;--mute:#c9c6bd;--ok:#7ddc9a}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 -apple-system,"Segoe UI",Inter,Helvetica,Arial,sans-serif}
.gold{background:linear-gradient(135deg,#b8901f,#f3d77a 45%,#c9a227 70%,#fbe7a1);-webkit-background-clip:text;background-clip:text;color:transparent}
header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));background:rgba(10,10,10,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header img{height:28px}#title{font-family:Georgia,serif;font-size:20px;letter-spacing:.06em;flex:1;color:var(--gold2)}
main{padding:16px 16px 96px;max-width:560px;margin:auto}
h1{font-family:Georgia,serif;font-weight:400;font-size:26px;margin:4px 0 14px;color:var(--text)}h2{font-size:15px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold2);margin:22px 0 8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px}
.card.g{border-color:#5a4a17;background:linear-gradient(160deg,#17140a,#111)}
.row{display:flex;gap:10px;align-items:center}.sp{justify-content:space-between}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mute{color:var(--mute);font-size:14px}.big{font-size:28px;font-weight:700;color:var(--gold2)}
button,.btn{appearance:none;border:0;border-radius:12px;padding:12px 16px;font:600 15px inherit;font-family:inherit;cursor:pointer;background:linear-gradient(135deg,#b8901f,#f3d77a 50%,#c9a227);color:#0a0a0a;text-decoration:none;display:inline-block;text-align:center}
.ghost{background:transparent;color:var(--gold2);border:1px solid #5a4a17}.chip{padding:6px 10px;font-size:12px;border-radius:999px}.full{width:100%}
input,select,textarea{width:100%;background:#0f0f0f;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px;font:16px inherit;font-family:inherit}
label{display:block;font-size:13px;color:var(--mute);margin:10px 0 4px}
.check{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.check:last-child{border:0}
.check input{width:26px;height:26px;accent-color:var(--gold)}.check.done span{color:var(--ok)}
.bar{height:8px;background:#222;border-radius:9px;overflow:hidden;margin-top:6px}.bar i{display:block;height:100%;background:linear-gradient(90deg,#b8901f,#f3d77a)}
nav{position:fixed;bottom:0;left:0;right:0;display:flex;overflow-x:auto;background:#0b0b0b;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:5}
nav a{flex:1 0 auto;min-width:64px;text-align:center;padding:9px 6px 10px;color:var(--mute);text-decoration:none;font-size:11px}nav a b{display:block;font-size:19px;font-weight:400}
nav a.on{color:var(--gold2)}.hidden{display:none!important}
table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:7px 4px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--gold2);font-weight:600}
.tag{font-size:11px;padding:3px 8px;border-radius:99px;border:1px solid #5a4a17;color:var(--gold2)}
.price{font-size:22px;font-weight:700}.photo{height:90px;border:1px dashed #5a4a17;border-radius:12px;display:grid;place-items:center;color:var(--mute);font-size:13px}
.login{min-height:92vh;display:flex;flex-direction:column;justify-content:center;text-align:center}.login img{width:220px;margin:0 auto 18px}
.msg{padding:10px 12px;border-radius:14px;margin:6px 0;max-width:80%}.msg.me{background:#2a230d;margin-left:auto}.msg.them{background:#1c1c1c}
svg text{fill:var(--mute);font-size:10px}.more{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.more a{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 6px;text-align:center;color:var(--text);text-decoration:none;font-size:13px}.more a b{display:block;font-size:22px;color:var(--gold2);font-weight:400}
.snap{margin:14px 0}.snapbig{display:flex;align-items:center;gap:14px;padding:18px;border-radius:18px;cursor:pointer;color:#0a0a0a;background:linear-gradient(135deg,#b8901f,#f3d77a 45%,#c9a227 75%,#fbe7a1);box-shadow:0 6px 24px rgba(212,175,55,.25)}
.snapbig .cam{font-size:34px;width:56px;height:56px;border-radius:50%;background:#0a0a0a;display:grid;place-items:center}.snapbig b{display:block;font-size:20px}.snapbig small{font-size:13px;color:#2a2410}
.snapup{margin-top:8px}
#sheet.on{position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.8);display:flex;align-items:flex-end;justify-content:center}
.panel{background:#121212;border:1px solid #5a4a17;border-radius:22px 22px 0 0;padding:18px;width:100%;max-width:560px;max-height:92vh;overflow:auto}.panel.center{text-align:center;padding:28px 18px 40px}
.pv{width:100%;max-height:190px;object-fit:cover;border-radius:14px;margin:10px 0}.pv.ph{height:150px;display:grid;place-items:center;font-size:40px;background:#1a1a1a}
.spin{width:44px;height:44px;border-radius:50%;border:4px solid #333;border-top-color:var(--gold2);margin:14px auto 0;animation:sp 1s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
.item{border:1px solid var(--line);border-radius:12px;padding:10px;margin:8px 0}.item>.in{font-weight:600}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.grid4 label{margin:0;font-size:11px}.grid4 input{padding:8px 6px}
.rm{background:none;color:var(--mute);padding:6px 0 0;font-size:12px;font-weight:400}
.ok{color:var(--ok);font-size:13px;margin-top:6px}.ai{font-size:10px;padding:1px 6px;border-radius:6px;background:#2a230d;color:var(--gold2)}.chat .msg{max-width:88%}
/* v3: one-tap logging + plan delivery */
.today .hchips{margin:10px 0 4px}.hchips{display:flex;flex-wrap:wrap;gap:8px}.hchip{background:#1a1a1a;color:var(--text);border:1px solid #333;padding:10px 12px;border-radius:999px;font-size:14px;font-weight:600}
.hchip span{margin-right:4px}.hchip.on{background:linear-gradient(135deg,#b8901f,#f3d77a 50%,#c9a227);color:#0a0a0a;border-color:transparent}.hchip small{display:block;font-weight:400;font-size:11px;opacity:.8}
.hchips.big .hchip{flex:1 1 45%;padding:16px;font-size:16px;border-radius:16px;text-align:left}
.ctr{display:flex;align-items:center;gap:8px;margin-top:12px}.ctr>span{flex:1;font-weight:600}.ctr b small{color:var(--mute);font-weight:400}.cb{padding:8px 12px;min-width:46px}
.emo{display:flex;justify-content:space-between;gap:6px;margin-top:6px}.emo button{flex:1;background:#1a1a1a;border:1px solid #333;font-size:26px;padding:8px 0;border-radius:14px}.emo button.on{background:#2a230d;border-color:var(--gold)}
.lrow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 2px;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.lrow:last-child{border:0}.lrow small{display:block;color:var(--mute);font-size:12px}.lrow>b{color:var(--gold2)}
.card.lrow{padding:14px;border:1px solid var(--line);margin-bottom:8px}.lock{opacity:.45;pointer-events:none}
.wk{border-color:#5a4a17}.ci{color:var(--text);text-decoration:none}.ci.due{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.weeks{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.wkc{aspect-ratio:1;border-radius:10px;background:#1a1a1a;border:1px solid #333;display:grid;place-items:center;color:var(--text);text-decoration:none;font-size:11px;position:relative}.wkc b{font-size:15px}.wkc.cur{border-color:var(--gold);background:#2a230d}.wkc.lock{opacity:.4}
.back{color:var(--gold2);text-decoration:none;font-size:14px}.kicker{font-size:12px;letter-spacing:.12em;color:var(--gold2);margin:12px 0 4px}.page p{margin:6px 0}.ans{padding:8px;background:#0f0f0f;border-radius:8px}
.ticks{display:flex;gap:6px;margin:8px 0}.ticks label{flex:1;margin:0;text-align:center;font-size:11px}.ticks input{width:100%;height:30px;accent-color:var(--gold)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip small{opacity:.7;font-weight:400}.tag.ph{border-color:#777;color:#ddd}
.qa{display:grid;grid-template-columns:repeat(4,1fr) 48px;gap:6px}.qa input{padding:10px 6px;text-align:center}.qa button{padding:0;font-size:22px}
.tot{grid-template-columns:repeat(4,1fr)}.tot b{font-size:18px;color:var(--gold2)}.tot small{display:block;color:var(--mute);font-size:11px}
.star{background:none;color:var(--gold2);padding:2px;font-size:18px}
.setrow{display:grid;grid-template-columns:18px 1fr 18px 1fr 34px 44px;gap:6px;align-items:center;margin-top:8px}.setrow input{padding:9px 6px;text-align:center}.setrow small{color:var(--mute);font-size:11px}.setrow.done input{border-color:#5a4a17;color:var(--gold2)}.tick{padding:8px 0;font-size:18px}
details summary{cursor:pointer;padding:6px 0;color:var(--gold2)}
.habrow{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:12px;text-align:center}.habrow span{font-size:18px;display:block}.habrow small{display:block;font-size:10px;color:var(--mute)}
.stats{margin-top:10px}.stats>div{background:#0f0f0f;border-radius:10px;padding:8px;text-align:center}.stats b{display:block;color:var(--gold2)}.stats small{font-size:11px;color:var(--mute)}
.card.ok{color:var(--ok);border-color:#2d5a3a}.wpage{width:100%;border-radius:10px;margin-bottom:10px;display:block}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:#2a230d;color:var(--gold2);border:1px solid var(--gold);padding:10px 16px;border-radius:999px;z-index:30;font-weight:600}
