:root{--ink:#0E1620;--panel:#17222E;--panel2:#1E2C3B;--line:#2A3B4D;--line2:#3B506690;--chalk:#E8EDF2;--dim:#93A7BA;--dim2:#728CA5;
 --signal:#F5A524;--done:#34C7A0;--warn:#E5674B;--violet:#8B7FE8;--sky:#4FA3E0;
 --mono:ui-monospace,"SF Mono","Roboto Mono","DejaVu Sans Mono",monospace;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,system-ui,sans-serif;
 --sat:env(safe-area-inset-top);--sab:env(safe-area-inset-bottom);--navh:calc(64px + env(safe-area-inset-bottom))}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{background:var(--ink);color:var(--chalk);font-family:var(--sans);overscroll-behavior-y:none}
body{margin:0;padding-top:var(--sat);padding-bottom:calc(var(--navh) + 24px);min-height:100vh;font-size:15px;line-height:1.45}body.noscroll{overflow:hidden}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}[hidden]{display:none!important}
.mono,.mm b,.bp,.bv,.fit,.rm{font-family:var(--mono);font-variant-numeric:tabular-nums}
header{position:sticky;top:0;z-index:40;background:linear-gradient(var(--ink) 72%,#0E162000);padding:14px 16px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:baseline;gap:12px}.brand h1{margin:0;font-size:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.brand .meta{font-family:var(--mono);font-size:11px;color:var(--dim2);letter-spacing:.06em}
.gear{width:36px;height:36px;display:grid;place-items:center;color:var(--dim2);background:none;border:0}.gear.on{color:var(--signal)}
.gear svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
main{padding:4px 12px 20px;max-width:860px;margin:0 auto}
nav#bnav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;background:#111C27ee;backdrop-filter:blur(14px);border-top:1px solid var(--line);padding-bottom:var(--sab);overflow:visible}
#bnav button{flex:1;padding:9px 0 10px;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--dim2);background:none;border:0}
#bnav button.on{color:var(--chalk)}
#bnav svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
#bnav span{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
#bnav #t-week{font-size:0;gap:0;padding:0;position:relative;z-index:2;justify-content:flex-start}#bnav #t-week span{display:none}
#bnav #t-week svg{box-sizing:content-box;width:28px;height:28px;padding:16px;transform:translateY(-12px);border-radius:50%;background:radial-gradient(circle at 35% 25%,#2b2b2f,#18181a);
 box-shadow:0 -4px 8px rgba(255,255,255,.07),0 8px 14px 3px rgba(0,0,0,.8),inset 0 2px 3px rgba(255,255,255,.16),inset 0 -4px 6px rgba(0,0,0,.55)}
#bnav #t-week.on svg{background:radial-gradient(circle at 35% 25%,#3a3022,#1c1812);color:var(--signal)}
h2{margin:14px 4px 4px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim2);font-weight:700}
.note{color:var(--dim2);font-size:13px;margin:4px 0 8px}.tn{color:var(--dim2);font-size:13px}
h3{margin:0 0 4px;font-size:15px}h4.sh{margin:12px 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--dim2)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:10px 0;position:relative;overflow:hidden}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c,var(--line))}
.card.day{--c:var(--signal)}.card.warn{--c:var(--warn);border-color:var(--warn)}.card.half{--c:var(--sky)}
.mm{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--dim);margin:8px 0;align-items:baseline}.mm b{font-size:17px;color:var(--signal)}
summary{cursor:pointer;color:var(--signal);font-weight:600;font-size:14px;margin:8px 0}table{width:100%;border-collapse:collapse;margin:8px 0;font-size:14px}th,td{text-align:left;padding:5px 6px;border-bottom:1px solid var(--line)}th{color:var(--dim2);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
p{margin:6px 0}.card ul{margin:4px 0 8px;padding-left:18px;font-size:14px}a{color:var(--signal)}
.chip,.mini,.cookbtn,.seg button{padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--dim);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.seg button.on,.chip.on,.cookbtn.on,.mini.on{background:var(--chalk);color:var(--ink);border-color:var(--chalk)}.mini,.cookbtn{padding:7px 12px;font-size:11px}
nav.seg{display:flex;gap:6px;margin:8px 0}nav.seg button{flex:1}
.chips{display:flex;gap:6px;overflow-x:auto;padding:10px 0 4px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto}
.dh{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.tag{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim2);font-weight:700;margin-left:6px}
.dtools{display:flex;gap:6px;align-items:center}.fit{font-size:11px;color:var(--dim);margin-right:2px}
.ic{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--panel2);color:var(--dim);display:grid;place-items:center}.ic:hover{color:var(--chalk);border-color:var(--line2)}
.ic svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.hh{display:flex}.tg{display:flex;align-items:center;gap:8px;background:none;border:0;color:var(--chalk);font-size:14px;padding:2px 0;text-align:left}.chev{display:inline-block;transition:transform .15s;color:var(--signal)}.chev.c{transform:rotate(-90deg)}
.r1{display:flex;gap:10px;align-items:flex-end;margin-bottom:6px}.r1 label{flex:1}.r2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:6px}
label span{display:block;font-size:11px;color:var(--dim2);letter-spacing:.06em;text-transform:uppercase}
select{width:100%;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--ink);color:var(--chalk);font-size:13px}
.link{background:none;border:0;color:var(--signal);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:8px 2px;white-space:nowrap;margin-left:auto}
.acts{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.chipsrow{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.uc{font-size:11px;border-radius:999px;padding:3px 10px;border:1px solid var(--line);color:var(--dim)}.uc.ok{border-color:var(--done);color:var(--done)}.uc.need{border-color:var(--signal);color:var(--signal)}
.bar{display:flex;align-items:center;gap:8px;font-size:12px;margin:3px 0}.bl{flex:0 0 108px;color:var(--dim)}.bt{flex:1;height:7px;background:var(--panel2);border-radius:4px;overflow:hidden}
.bt i{display:block;height:100%;background:var(--done)}.bar.mid .bt i{background:var(--signal)}.bar.low .bt i{background:var(--warn)}.bp{flex:0 0 40px;text-align:right;color:var(--dim)}.bv{flex:0 0 72px;text-align:right;color:var(--dim2);font-size:11px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rc{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:8px;cursor:pointer;overflow:hidden;position:relative}.rc:hover{border-color:var(--line2)}
.rc.k-B{box-shadow:inset 3px 0 0 var(--sky)}.rc.k-M{box-shadow:inset 3px 0 0 var(--signal)}.rc.k-D{box-shadow:inset 3px 0 0 var(--violet)}
.thumb svg,.mimg svg{width:100%;height:auto;display:block;border-radius:10px}.thumb img,.mimg img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:10px;background:var(--panel2)}.mimg img{aspect-ratio:3/2}
.rc h4{margin:6px 0 2px;font-size:14px}.rm{font-size:11px;color:var(--dim2)}.rm b{color:var(--signal)}
.ing{list-style:none;margin:6px 0 0!important;padding:0!important;font-size:12px!important}.ing li{display:flex;justify-content:space-between;gap:6px;border-bottom:1px dashed var(--line);padding:2px 0}.ing li span{color:var(--dim2);white-space:nowrap}.ing .more{color:var(--dim2)}
.tk .slot{font-size:10px;color:var(--signal);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.tk.wide{grid-column:1/-1}.tickets{margin-top:8px}.tk h4{margin:2px 0 2px}
#modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:12px}.mback{position:absolute;inset:0;background:#050A0Ecc;backdrop-filter:blur(4px)}
.mbox{position:relative;background:var(--panel);border:1px solid var(--line2);border-radius:18px;max-width:560px;width:100%;max-height:92vh;overflow:auto;padding:16px}
.mbox h2{margin:2px 0 6px;font-size:16px;letter-spacing:.02em;text-transform:none;color:var(--chalk)}.mbox h3{margin-top:12px}
.mx{position:sticky;top:0;float:right;border:0;background:var(--chalk);color:var(--ink);border-radius:50%;width:30px;height:30px;font-size:18px;z-index:1}
.mimg .note{text-align:center;margin:2px 0 0}
.pr input,.srow input[type=number],.srow input[type=password]{width:90px;padding:5px 7px;border:1px solid var(--line);border-radius:8px;background:var(--ink);color:var(--chalk)}.srow input[type=password]{width:170px}
.srow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.srow>span{display:block;font-size:14px;color:var(--chalk);text-transform:none;letter-spacing:0}.srow small{color:var(--dim2)}.segb{display:flex;gap:6px}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--dim2);margin-right:6px}.dot.ok{background:var(--done)}.dot.wait{background:var(--signal)}
#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--navh) + 18px);background:var(--chalk);color:var(--ink);padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;z-index:70}
.pl{list-style:none!important;padding:0!important;margin:0!important}.pl li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line)}.pl li .cl{flex:1;min-width:0}.ck{appearance:none;-webkit-appearance:none;width:24px;height:24px;border-radius:8px;border:1.5px solid var(--line2);flex:0 0 auto;display:grid;place-items:center;background:none;margin-top:2px}.ck:checked{background:var(--done);border-color:var(--done)}.ck:checked::after{content:"✓";color:var(--ink);font-weight:800;font-size:14px}.pl li.done .cl a,.pl li.done .cl .note{text-decoration:line-through;color:var(--dim2)}.tl{margin-left:auto;display:flex;gap:6px}.pe{display:flex;align-items:center;gap:6px}
@media(max-width:420px){.r2{gap:6px}select{font-size:12px;padding:7px 5px}}
