*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--fs-m);line-height:1.45;font-variant-numeric:tabular-nums}button{font:inherit;color:inherit;cursor:pointer}h1,h2,p{margin:0}:focus-visible{outline:3px solid var(--avail);outline-offset:2px}.top{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.top-in{max-width:1480px;margin:0 auto;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);min-height:60px}.brand{display:flex;align-items:baseline;gap:var(--sp-2);margin-right:auto;min-width:0}.brand b{font-size:var(--fs-l);letter-spacing:-.01em}.brand span{color:var(--ink-2);font-size:var(--fs-s);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.who{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;flex:none;background:var(--ink);color:var(--paper);font-weight:700;font-size:var(--fs-s)}.linkbtn{border:0;background:none;padding:0 var(--sp-1);min-height:44px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.home-main{max-width:1080px;margin:0 auto;padding:var(--sp-6) var(--sp-4) var(--sp-7);display:grid;gap:var(--sp-4)}.home-title{font-size:var(--fs-xl);line-height:1.15;letter-spacing:-.015em}.quiet{color:var(--ink-2);font-size:var(--fs-s)}.err{color:var(--bad);font-size:var(--fs-s);font-weight:700}.demo{max-width:76ch;display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px dashed var(--ink-3);border-radius:var(--r-s);font-size:var(--fs-s);color:var(--ink-2)}.demo b{color:var(--ink)}.choices{display:grid;gap:var(--sp-4);margin-top:var(--sp-2)}@media(min-width:768px){.home-main{padding-top:var(--sp-7);gap:var(--sp-5)}.home-title{font-size:var(--fs-xxl)}.choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5)}}.choice{display:grid;grid-template-rows:auto 1fr auto;gap:var(--sp-4);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-l);background:var(--panel);color:var(--ink);text-decoration:none}@media(min-width:768px){.choice{padding:var(--sp-5);gap:var(--sp-5)}}a.choice:hover{border-color:var(--ink-2)}a.choice:hover .choice-go{background:var(--avail-ink);border-color:var(--avail-ink)}.choice-text{display:grid;gap:2px;align-content:start}.choice-text strong{font-size:var(--fs-xl);line-height:1.15;letter-spacing:-.015em}.choice-sub{font-size:var(--fs-l);line-height:1.25}.choice-line{margin-top:var(--sp-2);color:var(--ink-2);font-size:var(--fs-s);max-width:44ch}.choice-go{display:flex;align-items:center;justify-content:center;min-height:var(--tap);border:1px solid var(--ink);border-radius:var(--r-s);background:var(--ink);color:var(--paper);font-weight:700;font-size:var(--fs-s)}.choice.off{background:transparent;border-style:dashed;border-color:var(--ink-3)}.choice.off .choice-text strong,.choice.off .choice-sub{color:var(--ink-2)}.choice.off .mini{filter:grayscale(1);opacity:.5}.choice-lock{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--tap);border:1px dashed var(--ink-3);border-radius:var(--r-s);color:var(--ink-2);font-weight:700;font-size:var(--fs-s)}.choice-lock svg{width:16px;height:16px;fill:currentColor}.mini{display:flex;align-items:flex-end;justify-content:center;gap:6px;height:136px;padding:var(--sp-4);background:var(--paper);border:1px solid var(--line-2);border-radius:var(--r-m)}.mw-day{display:grid;justify-items:center;gap:4px;flex:1;max-width:52px}.mw-day small{font-size:var(--fs-xs);color:var(--ink-2)}.mw-bar{position:relative;width:100%;height:80px;border-radius:5px;background:var(--line-2);overflow:hidden}.mw-bar i{position:absolute;left:0;right:0}.mw-bar .av{background:var(--avail)}.mw-bar .bk{left:3px;right:3px;border-radius:3px;background:var(--signal);box-shadow:inset 0 0 0 1px var(--signal-ink)}.mini-grid{flex-direction:column;align-items:stretch;justify-content:center;gap:4px}.mg-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}.mg-row i{height:24px;border-radius:5px}.mg-row .good{background:color-mix(in oklch,var(--good) 40%,var(--good-soft))}.mg-row .possible{background:color-mix(in oklch,var(--possible) 30%,var(--possible-soft))}.mg-row .no-go{background:color-mix(in oklch,var(--nogo) 22%,var(--nogo-soft))}.mg-row .booked{background:var(--signal);box-shadow:inset 0 0 0 1px var(--signal-ink)}.note-card{max-width:520px;display:grid;gap:var(--sp-3);justify-items:start;padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-l);background:var(--panel)}.note-card h1{font-size:var(--fs-xl);line-height:1.15}.btn{min-height:var(--tap);padding:0 var(--sp-4);border-radius:var(--r-s);border:1px solid var(--line);background:var(--panel);font-weight:700;font-size:var(--fs-s);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink)}.btn.dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}.home-wait{display:flex;align-items:center;gap:var(--sp-3);color:var(--ink-2);font-size:var(--fs-s)}.spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--ink);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
