:root{--ink:#241a0e;--honey:#ffc53d;--cream:#fffdf8;--bg:#f6efde;--soft:#fff8ec;--leaf:#1c7a4f;--tint:#e4f4ec;--mute:#7a6b52;--line:#eadfc6}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:Inter,'Segoe UI',system-ui,Arial,sans-serif;-webkit-font-smoothing:antialiased;padding-bottom:120px}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
header.site{background:var(--ink);color:#fffdf8}
.top{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.top img{height:30px;width:auto}
.tools{display:flex;align-items:center;gap:16px}
.tools .sel,.tools .help{font-size:13px;cursor:pointer;background:#3a2d1a;border-radius:999px;padding:6px 12px;color:#fffdf8}
.tools .wp{background:#3a2d1a;border-radius:999px;padding:4px 12px}
.tools .wp-btn,.tools .wp-btn:hover,.tools .wp-tzn{color:#fffdf8}
.tools .wp-pop,.tools .wp-pop select{color:var(--ink)}
.hero{padding:18px 0 40px}
.hero .pill{display:inline-block;font-family:'Courier New',monospace;font-size:12px;letter-spacing:1.5px;color:var(--honey);border:1px solid var(--honey);border-radius:999px;padding:6px 14px}
.hero h1{font-size:clamp(34px,6vw,58px);line-height:1.05;font-weight:800;letter-spacing:-1.5px;margin:18px 0 12px}
.hero h1 span{color:var(--ink);background:var(--honey);padding:0 12px;border-radius:12px;display:inline-block}
.hero p{font-size:18px;line-height:1.55;color:#cdbf9f;max-width:620px}
.steps{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.steps div{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.07);border-radius:999px;padding:8px 16px 8px 8px;font-size:14.5px;color:#fffdf8}
.steps b{width:26px;height:26px;border-radius:13px;background:var(--honey);color:var(--ink);display:grid;place-items:center;font-size:13px}
main{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;margin-top:-18px;align-items:start}
.card{background:var(--cream);border-radius:22px;box-shadow:0 24px 50px -36px rgba(80,55,0,.55);border:1px solid var(--line)}
.cal{padding:20px;min-width:0}
.calhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.calhead h2{font-size:22px;font-weight:800;letter-spacing:-.4px}
.calhead small{display:block;font-size:13px;color:var(--mute);margin-top:2px;font-weight:500}
.nav{display:flex;gap:8px}
.nav button{width:42px;height:42px;border-radius:13px;background:var(--soft);border:1px solid var(--line);display:grid;place-items:center}
.nav button:disabled{opacity:.35;cursor:default}
.legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:var(--mute);margin:10px 0 14px}
.legend i{width:16px;height:16px;border-radius:5px;display:inline-block}
.ht1{background:#fff0c4}.ht2{background:#ffe49c}.ht3{background:#ffd978}.ht4{background:#ffc53d}
.legend .hs{background:var(--leaf);margin-left:8px}
.grid{display:grid;grid-template-columns:64px repeat(7,minmax(0,1fr));gap:5px}
.dh{text-align:center;padding:6px 0 8px;font-size:12px;color:var(--mute);font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.dh b{display:block;font-size:20px;color:var(--ink);letter-spacing:0;margin-top:2px}
.dh.today b{background:var(--honey);border-radius:10px;display:block;width:fit-content;margin:2px auto 0;padding:0 8px}
.tm{white-space:nowrap;font-size:11.5px;color:var(--mute);text-align:right;padding-right:6px;line-height:34px;font-family:'Courier New',monospace}
.tm.half{opacity:.62}
.slot{height:34px;border-radius:9px;font-size:12.5px;font-weight:700;display:grid;place-items:center;transition:transform .08s,box-shadow .12s;color:var(--ink)}
.slot:hover:not(:disabled){transform:scale(1.06);box-shadow:0 6px 14px -6px rgba(80,55,0,.6);z-index:2}
.slot.off{background:repeating-linear-gradient(45deg,#f3ead6,#f3ead6 4px,#efe4cb 4px,#efe4cb 8px);color:transparent;cursor:default}
.slot.act{outline:3px solid var(--ink);outline-offset:1px}
.slot.sel{background:var(--leaf)!important;color:#fff}
.slot:disabled{cursor:not-allowed}
.slot.lock{opacity:.35}
.days{display:none}
.panel{padding:20px;position:sticky;top:16px;max-height:calc(100vh - 150px);display:flex;flex-direction:column}
.panel h3{font-size:20px;font-weight:800;letter-spacing:-.3px}
.panel .sub{font-size:14px;color:var(--mute);margin:4px 0 14px}
.list{overflow:auto;display:flex;flex-direction:column;gap:12px;padding-right:2px}
.empty{text-align:center;padding:34px 10px;color:var(--mute);font-size:15px;line-height:1.55}
.empty svg{margin-bottom:12px}
.t{display:flex;gap:14px;background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:12px}
.t .ph{width:78px;height:104px;border-radius:12px;object-fit:cover;object-position:top;flex:none;background:#e9dcbc;display:grid;place-items:center;font-size:28px;font-weight:800;color:#8a6d1f}
.t .in{flex:1;min-width:0}
.t .nm{font-weight:800;font-size:16.5px}
.t .rt{font-size:13px;color:var(--mute);margin-top:2px}
.t .rt b{color:var(--ink)}
.tier{font-size:10.5px;font-family:'Courier New',monospace;letter-spacing:1px;text-transform:uppercase;background:#ecebea;color:#55524d;border-radius:6px;padding:2px 6px;margin-left:8px;vertical-align:2px}
.vf{margin-left:6px;vertical-align:-2px}
.hd{font-size:12.5px;color:#5a4a30;margin-top:1px}
.bio{font-size:13px;line-height:1.4;color:#3a3020;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tags .fr{background:var(--tint);border-color:#bfe3d0;color:var(--leaf);font-weight:700}
.tags{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 10px}
.tags span{font-size:11.5px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px 9px;color:#5a4a30;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pick{width:100%;background:var(--honey);font-weight:800;border-radius:999px;padding:10px;font-size:14.5px}
.pick:hover{filter:brightness(.96)}
.pick.done{background:var(--tint);color:var(--leaf)}
.pick:disabled{background:#eee3c9;color:#8a7a5c;cursor:not-allowed}
.close{display:none}
.tray{padding-bottom:env(safe-area-inset-bottom,0px);position:fixed;left:0;right:0;bottom:0;background:var(--ink);color:#fffdf8;z-index:30;box-shadow:0 -14px 40px rgba(0,0,0,.25)}
.tray .wrap{display:flex;align-items:center;gap:16px;padding:14px 20px}
.tray .meta{font-size:13px;color:#cdbf9f;white-space:nowrap}
.tray .meta b{display:block;color:var(--honey);font-size:19px}
.chips{display:flex;gap:10px;flex:1;min-width:0}
.chip{flex:1;min-width:0;border:1.5px dashed #5a4a30;border-radius:14px;padding:8px 10px;display:flex;align-items:center;gap:9px;font-size:12.5px;color:#cdbf9f;height:54px}
.chip.f{border:1.5px solid var(--honey);background:rgba(255,197,61,.1);color:#fffdf8}
.chip img,.chip .av{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:top;flex:none;background:#e9dcbc;color:#8a6d1f;display:grid;place-items:center;font-weight:800}
.chip .tx{min-width:0;line-height:1.25}
.chip .tx b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip .x{margin-left:auto;color:#cdbf9f;font-size:18px;line-height:1;padding:2px 4px}
.chip .n{display:none}
.go{background:var(--honey);color:var(--ink);font-weight:800;font-size:16px;border-radius:999px;padding:14px 26px;white-space:nowrap}
.go:disabled{background:#4a3c28;color:#cdbf9f;cursor:not-allowed}
.modal{position:fixed;inset:0;background:rgba(36,26,14,.6);display:none;place-items:center;z-index:50;padding:16px}
.modal.on{display:grid}
.box{background:var(--cream);border-radius:24px;padding:28px;max-width:440px;width:100%}
.box h3{font-size:26px;font-weight:800;letter-spacing:-.6px}
.box p{color:var(--mute);margin:8px 0 16px;line-height:1.5}
.box ul{list-style:none;margin-bottom:16px;display:grid;gap:8px}
.box li{background:var(--soft);border-radius:12px;padding:10px 12px;font-size:14.5px;display:flex;justify-content:space-between;gap:8px}
.box input{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:15px;font:inherit;font-size:16px;margin-bottom:12px;background:#fff;color:var(--ink)}
.box input.bad{border-color:#a4291b}
.box .go{width:100%}
.box small{display:block;text-align:center;margin-top:10px;color:var(--mute)}
.box .or{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--mute);font-size:13px}
.box .or::before,.box .or::after{content:"";flex:1;height:1px;background:var(--line)}
.box .gbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:1.5px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:13px 20px;font:inherit;font-size:15.5px;font-weight:700;text-decoration:none}
.box .gbtn:hover{background:var(--soft)}
.box .gbtn img{width:18px;height:18px}
.box .err{color:#a4291b;margin:0 0 10px}
.box .row{display:flex;gap:8px}
.box .row .cc{width:104px;flex:none;text-align:center;font-weight:700}
.box .row input{flex:1;min-width:0}
.box .ghost{display:block;width:100%;margin-top:10px;background:none;border:0;color:var(--mute);font-size:14.5px;text-decoration:underline;padding:8px;text-align:center}
.box .play{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--ink);color:#fffdf8;border-radius:999px;padding:14px 20px;font-weight:800;font-size:15.5px;text-decoration:none}
.fine{margin:26px 0 0;text-align:center;font-size:13px;color:var(--mute)}
.none{grid-column:1/-1;text-align:center;color:var(--mute);padding:26px 10px;font-size:15px}
.tzrows{display:flex;flex-wrap:wrap;gap:10px 14px;margin:10px 0 0}
.tzrow{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--mute);flex:1 1 150px;min-width:0}
.tzrow select{flex:1;min-width:0;max-width:300px;font:inherit;font-weight:600;color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.faq{margin:34px 0 0}
.faq h2{font-size:22px;font-weight:800;letter-spacing:-.4px;margin-bottom:12px}
.faq details{border:1px solid var(--line);border-radius:16px;background:var(--cream);padding:12px 16px;margin:0 0 10px}
.faq summary{font-weight:700;cursor:pointer}
.faq p{margin:8px 0 0;color:var(--mute);line-height:1.5}
.faq .more{margin-top:12px;font-size:14px;color:var(--mute)}
.faq a{color:#8a6300}
footer.site{background:var(--ink);color:#cdbf9f;padding:26px 0;margin-top:34px;font-size:13px}
footer.site a{color:#f0dfbb}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:900px){
 main{grid-template-columns:minmax(0,1fr)}
 .cal{min-width:0}
 .panel{position:fixed;left:0;right:0;bottom:0;top:auto;max-height:78vh;border-radius:24px 24px 0 0;z-index:40;transform:translateY(105%);transition:transform .25s;padding-bottom:30px}
 .panel.on{transform:none}
 .close{display:grid;position:absolute;right:14px;top:14px;width:36px;height:36px;border-radius:18px;background:var(--soft);place-items:center}
 .backdrop{position:fixed;inset:0;background:rgba(36,26,14,.5);z-index:35;display:none}
 .backdrop.on{display:block}
 .grid{display:none}
 .days{display:block}
 .dtabs{display:flex;gap:6px;overflow:auto;margin-bottom:14px;padding-bottom:4px}
 .dtabs button{flex:none;min-width:52px;border-radius:14px;background:var(--soft);border:1px solid var(--line);padding:8px 0;text-align:center;font-size:11px;color:var(--mute);font-weight:600;text-transform:uppercase}
 .dtabs button b{display:block;font-size:18px;color:var(--ink);margin-top:1px}
 .dtabs button.on{background:var(--ink);border-color:var(--ink);color:#cdbf9f}
 .dtabs button.on b{color:var(--honey)}
 .dtabs button:disabled{opacity:.4}
 .sl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
 .sl .slot{height:52px;font-size:15px;display:flex;flex-direction:column;justify-content:center;gap:0;line-height:1.1}
 .sl .slot small{font-size:11px;font-weight:600;opacity:.75}
 .tray .wrap{flex-wrap:wrap;gap:10px;padding:12px 16px}
 .chips{order:3;flex-basis:100%}
 .chips{gap:12px;justify-content:center}
 .chip{flex:1 1 0;width:auto;height:auto;max-width:80px;aspect-ratio:1;padding:0;border-radius:50%;justify-content:center;font-size:18px;font-weight:800}
 .chip .tx,.chip .x,.chip .lb{display:none}
 .chip .n{display:block}
 .chip.f{padding:2px}
 .chip .av,.chip img{width:100%;height:100%;border-radius:50%}
 .meta{flex:1}
 .go{padding:12px 20px;font-size:15px}
 body{padding-bottom:140px}
 .tray.zero .chips{display:none}
 body:has(.tray.zero){padding-bottom:84px}
 .top{padding:12px 0}.top img{height:26px}
 .hero{padding:4px 0 26px}
 .hero h1{font-size:32px;margin:12px 0 8px;letter-spacing:-1px}
 .hero p{font-size:14.5px;line-height:1.5}
 .steps{flex-wrap:wrap;gap:6px;margin-top:14px}
 .steps div{font-size:12px;padding:5px 10px 5px 5px;gap:6px;white-space:nowrap}
 .steps b{width:22px;height:22px;font-size:12px}
 .hero .pill{font-size:11px;padding:4px 10px}
 main{margin-top:-8px}
 .cal{padding:16px}
 .calhead h2{font-size:20px}
 .legend{font-size:11.5px;gap:6px;margin:8px 0 12px;white-space:nowrap}
 .dtabs{gap:4px;overflow:visible}
 .tzrows{gap:8px 10px}
 .tzrow>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .dtabs button{flex:1;min-width:0}
 .t{gap:12px}
 .t .ph{width:86px;height:86px;border-radius:50%;object-position:center;font-size:32px}
}
@media(min-width:901px){.sl,.dtabs{display:none}}
