html,body{touch-action:manipulation}button,a,input,select{touch-action:manipulation}.menu-button,.menu-title,.menu-backdrop{display:none}.logout-button,.primary-button,.account-button{border:0;border-radius:12px;background:var(--accent);color:#07110e;font-weight:700;padding:13px 18px;cursor:pointer}.logout-button{background:rgba(255,255,255,.07);color:var(--text)}.account-button{background:rgba(142,227,200,.12);color:var(--accent);border:1px solid rgba(142,227,200,.2)}.footer-links{display:flex;align-items:center;gap:22px}.auth-gate{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:18px;background:radial-gradient(circle at 30% 0,#19283d 0,transparent 45%),#080b12}.auth-gate.visible{display:flex}.auth-card{width:min(100%,430px);padding:30px;background:rgba(18,23,34,.95);border:1px solid var(--line);border-radius:26px;box-shadow:0 30px 90px rgba(0,0,0,.48)}.auth-card>img{width:58px;height:58px;border-radius:15px;margin-bottom:20px}.auth-card h2{font:800 2rem/1.05 'Manrope',sans-serif;letter-spacing:-.04em;margin:0}.auth-card>p:not(.eyebrow){color:var(--muted);line-height:1.5;margin:12px 0 24px}.auth-card form,.auth-card label{display:flex;flex-direction:column}.auth-card form{gap:15px}.auth-card label{gap:7px;color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.auth-card input,.auth-card select{width:100%;height:48px;border:1px solid var(--line);border-radius:12px;background:#0b0f17;color:var(--text);padding:0 14px;font:500 1rem 'DM Sans',sans-serif;text-transform:none;letter-spacing:0}.auth-card #registerFields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-card #registerFields[hidden]{display:none}.auth-error{min-height:18px;margin:0;color:#ff8d94;font-size:.82rem}.primary-button:disabled{opacity:.45}.text-button{display:block;margin:18px auto 0;border:0;background:none;color:var(--accent);font:600 .84rem 'DM Sans',sans-serif;cursor:pointer}.auth-open{overflow:hidden}
.week-context{text-align:center;color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:3px 0 12px}.day>header div>div{display:block}.day h2+time{display:block;color:var(--muted);font-size:.69rem;font-weight:600;margin-top:3px;letter-spacing:.03em}
@media(max-width:820px){.day>header>small{display:none}.shell{padding-top:max(22px,env(safe-area-inset-top))}.hero{position:relative;margin-bottom:18px;padding-right:58px}.hero h1{font-size:2.05rem;line-height:1}.hero .intro{display:none}.hero .eyebrow{margin-bottom:9px}.menu-button{display:flex;position:absolute;right:0;top:0;width:46px;height:46px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.055);align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-button i{width:18px;height:2px;border-radius:2px;background:var(--text)}.controls{display:flex;position:fixed;z-index:81;inset:0 0 0 auto;width:min(88vw,390px);margin:0;padding:calc(22px + env(safe-area-inset-top)) 20px 22px;border-radius:24px 0 0 24px;transform:translateX(105%);transition:transform .28s ease;overflow-y:auto;background:#111722;box-shadow:-30px 0 80px rgba(0,0,0,.5)}.menu-open .controls{transform:none}.menu-backdrop{display:block;position:fixed;z-index:80;inset:0;background:rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:.25s}.menu-open .menu-backdrop{opacity:1;visibility:visible}.menu-open{overflow:hidden}.menu-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:5px}.menu-title>div{display:flex;flex-direction:column;gap:4px}.menu-title small{color:var(--muted)}.menu-title strong{font-size:.88rem;overflow-wrap:anywhere}.menu-title button{border:0;background:transparent;color:var(--text);font-size:2rem}.controls .control-block{margin-top:9px}.controls .logout-button{margin-top:auto}.footer-links{align-items:flex-start;flex-direction:column;gap:8px}.auth-card{padding:24px;border-radius:22px}.auth-card h2{font-size:1.75rem}}
@media(max-width:820px){.day>header{display:none}.day-nav>div{gap:4px}.day-nav>div>small{display:block;color:var(--muted);font-size:.68rem;font-weight:600}.day-nav>div>span{margin-top:3px}}
