:root{color-scheme:light dark;--accent:#294ae8;--on-accent:#fff;--bg:#f4f6fc;--surface:#fff;--ink:#17213d;--muted:#5c657a;--soft:#e8eeff;--border:#dce1ed;--danger:#ae302e;--stripe:#ffffff55;font-family:ui-rounded,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
@media(prefers-color-scheme:dark){:root{--accent:#a8b9ff;--on-accent:#111b43;--bg:#101421;--surface:#1c2233;--ink:#f4f6ff;--muted:#b4bdd3;--soft:#2c3655;--border:#343d54;--danger:#ffafa5;--stripe:#111b434d}}
*{box-sizing:border-box}body{margin:0}main{max-width:620px;margin:auto;padding:28px 22px max(40px,env(safe-area-inset-bottom))}header{display:flex;align-items:center;gap:6px;margin-bottom:32px}.brand{display:flex;align-items:center;gap:10px;font-size:37px;font-weight:850;letter-spacing:-2px;margin-right:auto}.brand-icon{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:14px;background:var(--accent);color:var(--on-accent)}.brand-icon .flag{transform:scale(.8)}h1{font-size:35px;line-height:1.12;letter-spacing:-1px;margin:18px 0 24px;font-weight:750}h2{font-size:24px;line-height:1.2;letter-spacing:-.6px}p{line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;color:inherit;transition:transform .12s,background .15s}button:active:not(:disabled){transform:scale(.98)}.primary{width:100%;background:var(--accent);color:var(--on-accent);font-weight:700;min-height:50px;border-radius:16px;padding:14px 18px}.quiet{background:transparent;min-height:44px;padding:10px;border-radius:12px}.pill{background:var(--soft);padding:12px 15px;border-radius:15px;min-height:48px;font-weight:650;color:var(--ink)}.pill.selected{background:var(--accent);color:var(--on-accent)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stack{display:grid;gap:15px}.card{background:var(--surface);border:0;border-radius:24px;padding:20px;margin:18px 0;text-align:left;width:100%}.card h2{font-size:21px;line-height:1.24;margin:14px 0 6px}.card p{font-size:14px;color:var(--muted);margin:6px 0}.card .card-count{font-size:12px;margin-top:14px}.card .quiet{width:100%;background:var(--soft);font-weight:650;margin-top:14px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px}.badge{font-size:12px;font-weight:650;background:var(--soft);color:var(--ink);border-radius:30px;padding:7px 11px;line-height:1.2}.flag{position:relative;height:36px;width:36px;display:inline-block;color:var(--accent);flex:none}.brand-icon .flag{color:inherit}.flag:before,.flag:after{content:"";position:absolute;background:currentColor}.flag:before{width:12px;height:32px;left:4px;top:2px;border-radius:8px;transform:rotate(-18deg)}.flag:after{width:19px;height:21px;right:0;top:2px;border-radius:5px 7px 7px 4px;clip-path:polygon(0 0,100% 0,90% 50%,100% 100%,0 100%);transform:rotate(-18deg) skewY(-8deg);transform-origin:left center}.confirmed .flag:after{animation:wave 1.5s ease-in-out 2}@keyframes wave{50%{transform:rotate(-18deg) skewY(2deg) scaleX(.96)}}input,select,textarea{width:100%;min-width:0;border:1px solid var(--border);border-radius:14px;padding:13px;background:var(--surface);color:var(--ink);min-height:48px;font-size:16px}input[type=checkbox]{width:22px;min-height:22px;accent-color:var(--accent)}label{display:grid;gap:7px;font-size:14px;font-weight:600}.toggle{display:flex;align-items:center;gap:12px}.muted{color:var(--muted);font-size:14px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;touch-action:none}.day{position:relative;min-height:54px;border-radius:12px;background:var(--surface);font-size:17px;font-weight:650;touch-action:none}.day small{display:block;font-size:11px;margin-bottom:4px}.day.selected{background:var(--accent);color:var(--on-accent)}.day.adjusted{background-image:repeating-linear-gradient(135deg,transparent 0 5px,var(--stripe) 5px 7px)}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.row>*{flex:1;min-width:0}input[type=range]{padding:0;min-height:30px;accent-color:var(--accent);border:0;background:transparent}.timebox{background:var(--soft);padding:14px;border-radius:20px}.actions{position:sticky;bottom:0;background:var(--bg);padding:12px 0 max(12px,env(safe-area-inset-bottom));z-index:2}#notice:not(:empty){position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:16px 22px;border-radius:16px;max-width:90vw;z-index:10}button:disabled{opacity:.45;cursor:default}a{color:var(--accent)}.danger{color:var(--danger)}hr{border:0;border-top:1px solid var(--border);margin:22px 0}.window{background:var(--surface);padding:16px;border-radius:16px;margin:10px 0}.window p{margin:6px 0}details{margin:16px 0}summary{cursor:pointer;min-height:44px;padding:12px 0}textarea{min-height:95px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.time-track{position:relative;height:48px;margin:0 12px;touch-action:none;display:flex;align-items:center}.time-track:before{content:"";position:absolute;left:0;right:0;height:8px;border-radius:8px;background:var(--border)}.time-fill{position:absolute;height:44px;min-width:4px;cursor:grab;background:linear-gradient(transparent 18px,var(--accent) 18px,var(--accent) 26px,transparent 26px)}.time-thumb{position:absolute;width:32px;height:44px;border:0;border-radius:50%;background:transparent;transform:translateX(-50%);cursor:ew-resize}.time-thumb:before{content:"";position:absolute;inset:8px 2px;border:3px solid var(--accent);background:var(--surface);border-radius:50%;box-shadow:0 2px 6px #00000012}.time-thumb:focus-visible,.time-fill:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.timebox small:nth-child(2){text-align:center}.timebox small:last-child{text-align:right}
@media(max-width:380px){main{padding:18px 14px 32px}h1{font-size:30px}.pill{padding:10px 8px;font-size:13px}.brand{font-size:32px;gap:8px}.brand-icon{width:36px;height:36px;border-radius:12px}.brand-icon .flag{transform:scale(.7)}header .quiet{padding:10px 7px;font-size:13px}.card{padding:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.pill.active{background:var(--accent);color:var(--on-accent)}.weekdays{gap:5px}.weekdays .pill{padding:10px 2px;font-size:12px;min-height:42px}
.usual-times{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:14px 17px;border:1px solid var(--border);border-radius:16px;background:var(--soft);color:var(--accent);font-weight:700;margin:16px 0}.usual-times:after{content:'↗';font-size:21px}.weekday{text-align:center;font-size:12px;font-weight:650;color:var(--muted);padding:3px 0 5px}.day{min-height:44px}.day.heat-open{background:#d9eee4;color:#225540}.day.heat-some{background:#f6e8b7;color:#715717}.day.heat-busy{background:#f0d2d1;color:#833b3b}.day.selected{box-shadow:inset 0 0 0 2px var(--accent);background:var(--soft);color:var(--ink)}.day.selected:after{content:'';position:absolute;bottom:5px;left:calc(50% - 2px);width:4px;height:4px;background:var(--accent);border-radius:50%}.day.heat-open.selected{background:#d9eee4;color:#225540}.day.heat-some.selected{background:#f6e8b7;color:#715717}.day.heat-busy.selected{background:#f0d2d1;color:#833b3b}.option{display:block;width:100%;text-align:left;margin:10px 0;line-height:1.45}.management{margin-top:24px;border-top:1px solid var(--border)}.notice-action{display:block;background:var(--bg);color:var(--ink);border-radius:8px;padding:8px 12px;margin-top:10px;font-weight:650}.weekdays .pill{font-size:15px;min-height:44px}.window p{font-size:15px}.calendar{gap:5px}.day.adjusted{background-image:repeating-linear-gradient(135deg,transparent 0 5px,var(--stripe) 5px 7px)}
@media(prefers-color-scheme:dark){.day.heat-open,.day.heat-open.selected{background:#254839;color:#c3edd4}.day.heat-some,.day.heat-some.selected{background:#574a29;color:#f8df91}.day.heat-busy,.day.heat-busy.selected{background:#553737;color:#ffc8c2}}
.event-toggle{margin:20px 0}.event-toggle+label{margin-top:16px}input[type=datetime-local]+span{display:block}.management>summary{color:var(--muted);font-weight:600}
#app>label{margin:14px 0}
/* Shared companion rhythm: roomy touch targets without oversized gaps. */
#app{display:flex;flex-direction:column;gap:14px;min-height:100dvh}#app>header{margin-bottom:10px;flex:none}#app>h1{margin:8px 0 4px}#app>h2{margin:10px 0 0}#app>p{margin:0;overflow-wrap:anywhere}#app>label{margin:0}#app>.card{margin:2px 0}#app>.usual-times{margin:0 0 2px}#app>details{margin:2px 0}button{line-height:1.3;overflow-wrap:anywhere}.grid>.pill,.grid>input{min-height:58px}.row>label{align-self:stretch}label>span{line-height:1.35}.top>.badge{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:30px;flex:none}.card .top h2{margin:0;overflow-wrap:anywhere;min-width:0}.card{box-shadow:0 2px 14px #17213d05}.welcome-intro{margin:12px 0 4px}.welcome-intro>.flag{margin-bottom:10px}.welcome-intro h1{margin:0 0 12px}.welcome-intro p{margin:0}.account-entry{border-top:1px solid var(--border);padding-top:18px;margin-top:12px}.account-entry p{margin:0;text-align:center}.account-name{font-size:18px;font-weight:650}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:14px}.settings-section .usual-times{margin:0}.settings-section>summary{font-weight:700;padding:4px 2px;display:flex;align-items:center}.settings-section[open]>summary{padding-bottom:14px}.settings-button{display:flex;align-items:center;width:100%;min-height:52px;padding:14px 16px;background:var(--soft);border-radius:14px;text-align:left;font-weight:650}.device-card{gap:8px}.device-card p{margin:0}.device-card .top{align-items:flex-start}.device-card .top h2{font-size:18px;line-height:1.4}.device-card .quiet{margin-top:6px}.info-panel{padding:16px 18px;border:1px solid var(--border);border-radius:18px;background:var(--soft)}.info-panel p{margin:0;font-size:15px}.private-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.01em;font-size:14px;min-height:58px}.actions{margin-top:2px}.timebox .row label span{color:var(--muted)}.notice-action{min-height:44px}.day{min-height:44px}.day:focus-visible{outline-offset:1px}.management{padding-top:8px}#app[aria-busy=true]{cursor:progress}
@media(max-width:380px){#app{gap:12px}#app>header{margin-bottom:8px}.settings-section{padding:12px}.device-card .top{flex-wrap:wrap}.grid{gap:10px}.grid>.pill{font-size:15px}.account-entry{padding-top:16px}.timebox{padding:12px}.time-track{margin:0 14px}.row.weekdays{gap:3px}.weekdays .pill{padding:8px 0;font-size:14px}#notice:not(:empty){padding:14px 16px;max-width:calc(100vw - 24px)}}
/* Keep the organizer's exact choice above the fold at ordinary phone text sizes. */
main{padding-bottom:max(28px,env(safe-area-inset-bottom))}#app>.window{margin:0;padding:12px 16px}#app>.window p{margin:0;line-height:1.4}#app>.window small{display:block;margin-top:5px}
.auth-providers .auth-provider{min-height:54px}.one-time-code{font-size:24px;letter-spacing:.2em;font-variant-numeric:tabular-nums}.advanced-access>summary{display:list-item;list-style-position:inside}.advanced-access[open]>summary{margin-bottom:6px}

/* Updates use matching actions and compact spacing on narrow phones. */
.notification-item{gap:10px}.notification-item h2,.notification-item p{margin:0}.inbox-actions{align-items:stretch}.card .inbox-actions .quiet{margin-top:0}
