#book{border:0;padding:0;background:transparent;color:var(--fg);max-width:min(760px,94vw);width:100%;max-height:92vh;overflow:visible}
#book::backdrop{background:rgba(3,7,12,.72);backdrop-filter:blur(6px)}
#book .bk{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:clamp(20px,4vw,34px);max-height:92vh;overflow:auto;box-shadow:0 40px 90px -30px #000;position:relative;text-align:left}
#book h3{font:800 clamp(1.5rem,3.4vw,2.1rem)/1.05 var(--d);margin:0 2.4rem .4rem 0}
#book .sub{color:var(--mut);margin:0 0 1.4rem;font-size:.95rem}
#book .x{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.07);color:var(--fg);font-size:1.3rem;cursor:pointer}
#book .lbl{font:600 .78rem var(--b);letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin:0 0 .6rem}
#book .days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x mandatory;margin-bottom:1rem}
#book .day{flex:none;scroll-snap-align:start;width:68px;padding:10px 0;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--fg);cursor:pointer;text-align:center;font:600 .8rem var(--b)}
#book .day b{display:block;font:800 1.35rem var(--d);margin:2px 0}
#book .day[disabled]{opacity:.35;cursor:not-allowed}
#book .day[aria-pressed=true]{background:var(--ac);color:#06201c;border-color:var(--ac)}
#book .times{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;min-height:52px}
#book .time{padding:11px 0;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--fg);cursor:pointer;font:600 .95rem var(--b)}
#book .time:hover,#book .time[aria-pressed=true]{border-color:var(--ac);color:var(--ac)}
#book .note{color:var(--mut);font-size:.85rem;margin:.9rem 0 0}
#book form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#book form .full{grid-column:1/-1}
#book label{display:grid;gap:6px;font-size:.85rem;color:var(--mut)}
#book input,#book textarea{font:inherit;font-size:1rem;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;width:100%}
#book input:focus,#book textarea:focus{outline:2px solid var(--ac);outline-offset:1px}
#book textarea{min-height:90px;resize:vertical}
#book .chosen{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--bg);border-radius:14px;padding:12px 16px;font-weight:600}
#book .chosen button{background:none;border:0;color:var(--ac);cursor:pointer;font:600 .9rem var(--b)}
#book .err{grid-column:1/-1;color:#ff9b8a;min-height:1.2em;margin:0;font-size:.9rem}
#book .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#book .done{text-align:center;padding:10px 0}
#book .done .tick{width:64px;height:64px;border-radius:50%;background:var(--ac);color:#06201c;display:grid;place-items:center;font-size:2rem;margin:0 auto 1rem}
@media(max-width:560px){#book form{grid-template-columns:1fr}}
