:root{color-scheme:light;--bg:#fcfcfe;--surface:#fff;--ink:#242530;--muted:#666979;--accent:#5555d9;--on:#fff;--line:#e3e4ed;--tint:#f0f0fc;--soft:#f6f6fb}
*{box-sizing:border-box}body{max-width:720px;margin:0 auto;padding:24px 20px 60px;background:var(--bg);color:var(--ink);font-family:system-ui,sans-serif;line-height:1.6}header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.brand{font-size:29px;font-weight:600;color:var(--ink);text-decoration:none}header label{max-width:240px}aside{font-size:12px;color:var(--muted);margin:20px 0}h1{font-size:27px;line-height:1.3}h2{font-size:19px}p{overflow-wrap:anywhere}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}textarea{min-height:90px}label{display:block;margin:16px 0}label>span{display:block;margin-bottom:6px}button{padding:11px 16px;min-height:44px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;cursor:pointer}button.primary{background:var(--accent);color:var(--on);border-color:var(--accent)}button:disabled{opacity:.5;cursor:wait}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.row{width:100%;display:block;text-align:start;padding:17px;margin:10px 0}.row small{display:block;color:var(--muted)}.summary{padding:20px;background:var(--surface);border-radius:18px;margin:18px 0}.muted,small{color:var(--muted)}ul{padding-inline-start:20px}li{padding:10px 0}#error{color:#b33248}#status{color:var(--accent)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}a{color:var(--accent)}

details{margin:18px 0;padding:14px 16px;border:1px solid var(--line);border-radius:12px}summary{cursor:pointer;min-height:32px;font-weight:600}#template-hint{margin-top:-6px;font-size:14px}#create>.primary{min-width:160px;margin-top:8px}#draft-times{font-size:14px;color:var(--muted)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

.map-picker{margin-block:1rem}.place-map{height:360px;min-height:280px;width:100%;border-radius:12px}.map-picker gmp-place-autocomplete{width:100%;margin-block:12px}.map-picker button{margin-inline-end:8px}.map-picker [hidden]{display:none}.place-map button,.place-map input{width:auto;margin:0;padding:0;border-radius:0}.map-picker p{overflow-wrap:anywhere}
@media(max-width:520px){.place-map{height:320px}}

.connection-qr{display:block;width:260px;max-width:100%;height:auto;background:white;margin:1rem auto;image-rendering:pixelated}.person-check{display:flex;gap:.6rem;align-items:center}.person-check input[type=checkbox]{width:1.2rem;height:1.2rem;flex:none}#people-root video{width:100%;max-height:360px}#people-root article{border-bottom:1px solid var(--line);padding:1rem 0}#people-root form{margin-block:1rem}#people-root [data-error]{color:#a32323}#people-root [data-status]{overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow-wrap:anywhere}

[hidden]{display:none!important}.settings-nav{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.settings-nav [aria-current=page]{background:var(--accent);color:var(--on);border-color:var(--accent)}dl{margin:0}dt{color:var(--muted);font-size:.9rem}dd{margin:4px 0 20px;overflow-wrap:anywhere}#people-root .summary button{margin:4px}#people-root .summary details{margin-bottom:0}

.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.notification-anchor{position:relative;margin-inline-start:auto}#notification-nav{display:flex;align-items:center;gap:4px}#notification-count:not(:empty),.notification-badge{border-radius:20px;background:#a62c3c;color:white;font-size:12px;min-width:20px;padding:0 5px}#notification-popover{position:absolute;inset-inline-end:0;top:calc(100% + 10px);width:min(390px,calc(100vw - 40px));max-height:70vh;overflow:auto;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 12px 35px #0003}.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--line)}.preview-heading button{border:0;white-space:nowrap}.preview-row{width:100%;display:flex;gap:10px;text-align:start;border:0;border-radius:8px;margin:4px 0;padding:12px 6px}.preview-row>span:last-child{min-width:0}.preview-row strong,.preview-row small,.preview-summary{display:block}.preview-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.preview-dot{flex:none;width:7px;height:7px;border-radius:50%;margin-top:10px}.preview-dot.is-unread{background:#c83b50}.notification-center{max-width:1120px}.notification-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.notification-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;margin-top:24px}.notification-filters{display:flex;flex-direction:column;gap:6px;align-self:start;position:sticky;top:16px}.notification-filters button{text-align:start;display:flex;justify-content:space-between;gap:8px}.notification-filters [aria-current=page]{background:var(--accent);color:var(--on)}.notification-content{min-width:0}.notification-content article{border-bottom:1px solid var(--line)}@media(max-width:650px){.notification-layout{grid-template-columns:1fr;gap:12px}.notification-filters{position:static;flex-direction:row;overflow-x:auto;padding-bottom:8px}.notification-filters button{flex:none}.notification-heading .actions{margin:0}.notification-content .summary{padding:16px}}

/* knock² · cool white and blue violet */
body{max-width:800px;padding:28px 28px calc(108px + env(safe-area-inset-bottom));font-family:Inter,"Noto Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.015em;line-height:1.55;-webkit-font-smoothing:antialiased}
body>header{min-height:56px;margin-bottom:32px}.brand{font-size:32px;font-weight:750;letter-spacing:-1.2px}main{min-height:50vh}h1{font-size:30px;font-weight:750;letter-spacing:-.035em;margin:22px 0 14px}h2{font-size:21px;letter-spacing:-.025em}h3{font-size:17px}button,a,input,select,textarea{touch-action:manipulation}button{font-size:14px;font-weight:550;border-radius:12px;transition:background-color .15s,border-color .15s}button:hover:not(:disabled){background:var(--soft);border-color:#c5c6dd}button.primary:hover:not(:disabled){background:#4747c5;border-color:#4747c5}button.primary{background:var(--accent)}input,select,textarea{border-radius:12px;padding:13px 14px;font-size:16px}input[type=checkbox]{accent-color:var(--accent)}fieldset{border:1px solid var(--line);border-radius:16px;margin:22px 0;padding:18px;min-width:0}legend{font-weight:650;padding:0 8px}.summary{border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--surface)}.summary h2:first-child,.summary h3:first-child{margin-top:0}details{background:var(--surface);border-radius:14px}details>summary{font-size:14px}details>.summary{border:0;padding:8px 0;margin:8px 0}#app>button[data-action=home],#app>button[data-action=settings],#app>button[data-action=cancel-edit]{background:transparent;border:0;color:var(--muted);padding-inline:0;min-height:36px}#app>button[data-action=home]::before,#app>button[data-action=settings]::before,#app>button[data-action=cancel-edit]::before{content:'‹';margin-inline-end:8px;font-size:21px}#status:empty,#error:empty{display:none}#status,#error{padding:12px 16px;border-radius:12px;background:var(--tint)}#error{background:#fff0f2}#notification-nav{position:relative;border:0;background:transparent;padding:10px}#notification-count:not(:empty){background:var(--accent);min-width:18px;font-size:10px}.notification-badge{background:var(--tint);color:var(--accent);font-weight:650}.preview-dot.is-unread{background:var(--accent)}#notification-popover{box-shadow:0 18px 60px #3030501a;border-radius:20px;padding:18px}.preview-heading{font-size:14px}.preview-heading button{color:var(--accent)}.preview-row{padding:14px 6px}.preview-row strong{font-size:14px}.preview-summary,.preview-row small{font-size:12px}
.ui-icon{width:22px;height:22px;flex:none;vertical-align:middle}.bottom-nav{position:fixed;z-index:20;bottom:0;inset-inline:0;max-width:800px;margin:auto;background:#fcfcfef7;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.bottom-nav button{border:0;background:transparent;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--muted);font-size:12px;padding:9px 4px}.bottom-nav button[aria-current=page]{color:var(--accent);font-weight:700}.bottom-nav button[aria-current=page] .ui-icon{background:var(--tint);box-shadow:0 0 0 6px var(--tint);border-radius:4px}.page-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px}.page-heading h1{margin:0}.page-heading>p{font-size:13px;color:var(--muted);margin:6px 0}.home-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:24px 0 20px}.home-tabs button{flex:1;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);padding:14px 12px}.home-tabs button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--accent)}.home-tabs button span{margin-inline-start:6px;font-variant-numeric:tabular-nums}.situation-grid{display:grid;gap:16px}.situation-card{padding:24px;border:1px solid var(--line);border-radius:20px;background:white;min-width:0}.situation-card.featured{background:#f2f2ff;border-color:#dedfff}.card-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--muted);font-size:12px}.role-badge{display:inline-block;width:fit-content;font-size:11px;font-weight:600;line-height:1.5;color:var(--accent);background:#e8e8fc;border-radius:7px;padding:4px 8px}.situation-card h2{font-size:24px;margin:16px 0 8px;overflow-wrap:anywhere}.schedule-date{margin:0;font-size:13px;color:var(--muted)}.schedule-time{font-size:clamp(24px,5.8vw,36px);font-weight:700;letter-spacing:-.045em;font-variant-numeric:tabular-nums;line-height:1.3;margin:5px 0 18px}.place-line{display:flex;align-items:center;gap:8px;margin:10px 0 18px;font-size:15px}.place-line .ui-icon{color:var(--accent);width:18px}.card-arrival{border-top:1px solid #dedfee;padding:16px 0;font-size:13px}.card-arrival [data-own-arrival]{display:flex;align-items:center;gap:8px;color:var(--accent)}.card-open{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:48px}.change-hint{display:block;margin-top:12px;color:var(--accent)}.home-actions{display:flex;gap:10px;margin:24px 0}.home-actions button:first-child{flex:1;display:flex;align-items:center;justify-content:center;gap:8px}.empty-state{text-align:center;padding:48px 20px;color:var(--muted)}.empty-state>.ui-icon{width:40px;height:40px;color:var(--accent);margin:12px}.empty-state h2{color:var(--ink)}
.detail-heading{margin:18px 0 24px}.detail-heading h1{margin:12px 0 8px}.detail-heading p{margin:0}.place-card{background:var(--soft);border:0}.place-card h2{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.place-card h2 .ui-icon{color:var(--accent)}.place-card p{margin:8px 0}.place-card h2+p{font-weight:650;font-size:20px}.place-card a{font-size:13px;display:inline-flex;padding-block:8px}.schedule-facts{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;margin:26px 0}.schedule-facts>div+div{border-inline-start:1px solid var(--line);padding-inline-start:20px}.schedule-facts span,.schedule-facts small{display:block;font-size:12px;color:var(--muted)}.schedule-facts strong{display:block;font-size:19px;font-weight:650;margin:8px 0}.reset-line{display:flex;justify-content:space-between;gap:18px;border-block:1px solid var(--line);padding:18px 0;font-size:13px}.reset-line>span:last-child{color:var(--muted);text-align:end}.repeat-explanation{border:0;padding:6px 0;background:transparent}.repeat-explanation>summary{font-weight:500;color:var(--muted)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2 span{color:var(--accent);margin-inline-start:6px}.section-heading button{color:var(--accent);border:0;background:transparent}.participants{margin:30px 0 12px}.arrival-summary{font-size:15px;margin:0}.privacy-note{font-size:12px;margin:7px 0 16px}.member-list{list-style:none;padding:0;margin:0}.member-list>li{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.avatar{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:none;border-radius:50%;background:#e8e8fc;color:var(--accent);font-weight:650}.member-list li:nth-child(even) .avatar{background:#e5effc;color:#405e99}.member-name{min-width:0;flex:1}.member-name bdi{overflow-wrap:anywhere;font-size:15px;font-weight:600}.member-name small{display:block;font-size:11px}.member-state{display:flex;gap:5px;align-items:center;font-size:12px;max-width:46%;color:var(--muted)}.member-state small{display:block;font-size:10px}.member-state.confirmed{color:var(--accent)}.member-state .ui-icon{width:17px}.member-more{position:relative;padding:0;border:0;margin:0}.member-more>summary{list-style:none;min-width:28px;text-align:center;font-size:20px}.member-more>button{position:absolute;z-index:5;inset-inline-end:0;width:180px;box-shadow:0 8px 24px #2222}.checkin-panel>.summary{background:var(--tint);border:0}.checkin-panel .actions{display:grid;grid-template-columns:1fr 1fr}.checkin-panel .actions>.primary{grid-column:1/-1;min-height:50px}.detail-actions{display:flex;gap:10px;margin:22px 0}.detail-actions button{flex:1}.situation-management>button{margin:6px}.row{border-radius:16px;padding:20px;font-size:16px;font-weight:650}.row small{font-size:13px;font-weight:400;margin-top:6px}.settings-nav button{border-radius:10px}#people-root article{padding:18px 0}#people-root h1{margin-top:18px}
.notification-heading h1{font-size:28px}.notification-heading button{font-size:12px;border:0;color:var(--accent);background:transparent}.notification-layout{grid-template-columns:180px minmax(0,1fr)}.notification-filters button{border:0;background:transparent;color:var(--muted)}.notification-filters [aria-current=page]{background:var(--tint);color:var(--accent)}.notification-content>.summary,.notification-content article.summary{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:22px 4px;margin:0;background:transparent}.notification-content article h2,.notification-content article h3{font-size:17px}.notification-content article p{font-size:14px}.notification-content>button[data-action=notifications]{border:0;color:var(--muted);font-size:12px}.notification-content section>h2,.notification-content>h2{font-size:13px;color:var(--muted);font-weight:550;letter-spacing:.02em;margin-top:24px}.notification-content section>h3{font-size:13px;color:var(--accent)}.notification-content .actions{margin:14px 0 0}.notification-content .actions button{font-size:13px;min-width:90px}.notification-content article .place-card{padding:12px 16px}.notification-content article .place-card p{font-size:14px}body[data-view=login] #app{max-width:440px;margin:70px auto}body[data-view=login] h1{font-size:36px}body[data-view=login] form>.primary{width:100%;margin-top:10px}
@media(min-width:720px){.situation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.situation-card:only-child{grid-column:1/-1}.situation-card .schedule-time{font-size:28px}.situation-card:only-child .schedule-time{font-size:38px}.home-actions{max-width:480px;margin-inline:auto}}
@media(max-width:650px){body{padding:20px 20px calc(100px + env(safe-area-inset-bottom))}body>header{margin-bottom:26px}.brand{font-size:28px}h1{font-size:27px}.notification-layout{grid-template-columns:1fr}.notification-filters{gap:0;border-bottom:1px solid var(--line);padding-bottom:0}.notification-filters button{padding:12px 10px;font-size:12px;border-radius:0;border-bottom:2px solid transparent}.notification-filters [aria-current=page]{background:transparent;border-bottom-color:var(--accent)}.notification-heading .actions{gap:0}.situation-card{padding:20px}.notification-content .summary{padding:20px 0}.schedule-facts{gap:12px}.schedule-facts>div+div{padding-inline-start:12px}.schedule-facts strong{font-size:17px}.member-list>li{gap:8px}.avatar{width:36px;height:36px}.home-actions button{padding-inline:12px}.bottom-nav{padding-inline:6px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.destination-map{height:230px;border-radius:18px;background:var(--soft);overflow:hidden;font-size:13px;color:var(--muted)}.destination-map button,.destination-map input{width:auto;margin:0;padding:0;border-radius:0}.destination-map+.place-card{margin-top:10px;padding:14px 18px}.destination-map+.place-card h2{display:none}.destination-map+.place-card p{margin:3px 0}
.home-members{border-top:1px solid var(--line);margin-top:18px}.home-members>div{display:flex;align-items:center;gap:8px;padding:12px 0;font-size:13px}.home-members bdi{flex:1;overflow-wrap:anywhere}.home-members small{font-size:11px;max-width:45%;text-align:end}.home-members .avatar{width:30px;height:30px;font-size:12px}.home-checkin{width:100%;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px}.situation-card:has(.home-checkin) .card-open{background:transparent;border:0;color:var(--accent);padding-inline:0;min-height:36px}

.brand{display:inline-flex;align-items:baseline;font-weight:780;letter-spacing:-1.4px}.brand sup{position:relative;top:-.65em;margin-inline-start:2px;font-size:.48em;line-height:0;color:var(--accent);letter-spacing:0}.login-brand{font-size:48px!important}.brand-tagline{font-size:20px;font-weight:650;letter-spacing:-.025em}
