:root{color-scheme:dark;--color-paper: oklch(13% .014 310);--color-paper-2: oklch(17% .017 310);--color-paper-3: oklch(21.5% .02 310);--color-paper-4: oklch(27% .022 310);--color-rule: oklch(30% .025 315);--color-rule-strong: oklch(40% .06 15);--color-scrim: oklch(5% .01 310 / .72);--color-ink: oklch(90% .025 85);--color-ink-2: oklch(76% .025 80);--color-ink-3: oklch(62% .022 300);--color-accent: oklch(72% .15 18);--color-accent-fill: oklch(48% .18 22);--color-accent-fill-hover: oklch(53% .19 22);--color-accent-fill-press: oklch(43% .17 22);--color-accent-on: oklch(95% .02 85);--color-accent-soft: oklch(52% .19 22 / .18);--color-accent-ink: oklch(14% .015 310);--color-bloom: oklch(40% .16 22 / .3);--color-bloom-2: oklch(35% .12 300 / .22);--color-vignette: oklch(5% .01 310 / .75);--color-focus: oklch(80% .12 20);--color-danger: oklch(70% .17 30);--color-danger-soft: oklch(70% .17 30 / .14);--color-ok: oklch(78% .1 150);--color-notice: oklch(80% .1 80);--color-notice-soft: oklch(80% .1 80 / .1);--person-amber: oklch(80% .12 85);--person-terracotta: oklch(66% .17 22);--person-sage: oklch(74% .1 160);--person-lavender: oklch(70% .13 305);--person-teal: oklch(72% .09 200);--person-rose: oklch(72% .13 355);--person-sky: oklch(70% .11 255);--person-moss: oklch(86% .025 85);--font-display: "Grenze Gotisch", "UnifrakturCook", ui-serif, Georgia, serif;--font-body: "EB Garamond", ui-serif, Georgia, "Times New Roman", serif;--text-xs: .8125rem;--text-sm: .9375rem;--text-md: 1.0625rem;--text-lg: 1.1875rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.5rem;--text-display: clamp(3rem, 13vw, 4.25rem);--space-3xs: 2px;--space-2xs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--radius-pill: 4px;--shadow-lift: 0 14px 40px -14px oklch(3% .01 310 / .9);--shadow-glow: 0 10px 30px -10px oklch(48% .18 22 / .6);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.55, 0, 1, .45);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .12s;--dur-mid: .22s;--dur-slow: .32s;--nav-h: 64px;--app-max: 560px}.c-amber{--person: var(--person-amber)}.c-terracotta{--person: var(--person-terracotta)}.c-sage{--person: var(--person-sage)}.c-lavender{--person: var(--person-lavender)}.c-teal{--person: var(--person-teal)}.c-rose{--person: var(--person-rose)}.c-sky{--person: var(--person-sky)}.c-moss{--person: var(--person-moss)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{min-height:100dvh;background-color:var(--color-paper);background-image:radial-gradient(120% 90% at 50% 40%,transparent 55%,var(--color-vignette) 100%),radial-gradient(70% 40% at 50% -10%,var(--color-bloom),transparent 70%),radial-gradient(60% 40% at 105% 105%,var(--color-bloom-2),transparent 70%);background-attachment:fixed;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);line-height:1.5;font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:500;font-style:normal;line-height:1.05;letter-spacing:.005em;margin:0;overflow-wrap:anywhere;min-width:0}p{margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app{max-width:var(--app-max);margin:0 auto;min-height:100dvh;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--space-3xl) + var(--space-lg))}.page{padding:calc(env(safe-area-inset-top) + var(--space-lg)) var(--space-md) 0}.page-title{font-size:var(--text-3xl);margin-bottom:var(--space-2xs)}.ornament{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-rule-strong);margin:var(--space-sm) 0 var(--space-md)}.ornament:before,.ornament:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--color-rule-strong))}.ornament:after{background:linear-gradient(90deg,var(--color-rule-strong),transparent)}.ornament span{width:7px;height:7px;transform:rotate(45deg);background:var(--color-accent-fill);box-shadow:0 0 10px var(--color-accent-fill)}.page-lede{color:var(--color-ink-2);margin-bottom:var(--space-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:48px;padding:0 var(--space-lg);border:1px solid transparent;border-radius:var(--radius-pill);font-weight:600;font-size:var(--text-lg);font-variant-caps:all-small-caps;letter-spacing:.08em;text-decoration:none;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.btn:active:not(:disabled){transform:translateY(1px) scale(.99)}.btn:disabled,.btn.is-disabled{opacity:.45;cursor:not-allowed}.btn[data-state=loading]{cursor:progress}.btn.is-disabled{pointer-events:none}.btn-primary{background:var(--color-accent-fill);border-color:var(--color-accent);color:var(--color-accent-on)}.btn-primary:hover:not(:disabled){background:var(--color-accent-fill-hover)}.btn-primary:active:not(:disabled){background:var(--color-accent-fill-press)}.btn-quiet{background:var(--color-paper-3);border-color:var(--color-rule);color:var(--color-ink)}.btn-quiet:hover:not(:disabled){background:var(--color-paper-4)}.btn-ghost{background:transparent;color:var(--color-ink-2)}.btn-ghost:hover:not(:disabled){color:var(--color-ink);background:var(--color-paper-3)}.btn-danger{background:var(--color-danger-soft);color:var(--color-danger)}.btn-danger:hover:not(:disabled),.btn-danger[data-armed=true]{background:var(--color-danger);color:var(--color-accent-ink)}.btn-sm{font-size:var(--text-md)}.btn-block{width:100%}.btn-sm{min-height:36px;padding:0 var(--space-md)}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-ink-2);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.icon-btn:hover{background:var(--color-paper-3);color:var(--color-ink)}.icon-btn svg{width:22px;height:22px}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{display:grid;gap:var(--space-xs);margin-bottom:var(--space-md);min-width:0}.field-label{font-size:var(--text-md);font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.08em;color:var(--color-ink-2)}.field-hint{font-size:var(--text-sm);color:var(--color-ink-3)}.input{width:100%;min-height:48px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper-2);color:var(--color-ink);font-size:var(--text-lg);transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.input::placeholder{color:var(--color-ink-3)}.input:hover{border-color:var(--color-paper-4)}.input:focus-visible{outline:none;border-color:var(--color-focus);background:var(--color-paper-3)}.input[aria-invalid=true]{border-color:var(--color-danger)}.input:disabled{opacity:.55}.input[type=date],.input[type=time]{min-width:0;padding-inline:var(--space-sm) var(--space-xs);font-size:var(--text-md)}textarea.input{min-height:96px;resize:vertical;line-height:1.45}.input::-webkit-calendar-picker-indicator{filter:invert(.8) sepia(.3);cursor:pointer}.row-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-sm)}.form-error{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:var(--color-danger-soft);color:var(--color-danger);font-size:var(--text-sm);margin-bottom:var(--space-md)}.avatar{--size: 28px;display:inline-grid;place-items:center;flex:none;width:var(--size);height:var(--size);border-radius:50% 50% 2px 2px/46% 46% 2px 2px;background:var(--person);color:var(--color-accent-ink);font-weight:700;font-size:calc(var(--size) * .5);line-height:1;padding-top:calc(var(--size) * .08);text-transform:uppercase}.avatar-lg{--size: 72px;font-family:var(--font-display);font-size:calc(var(--size) * .6)}.avatar-md{--size: 44px}.avatar-xs{--size: 20px}.chips{display:flex;gap:var(--space-xs);overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--space-md) * -1);padding:var(--space-3xs) var(--space-md)}.chips::-webkit-scrollbar{display:none}.chips-wrap{flex-wrap:wrap;overflow:visible;margin:0;padding:0}.chip{display:inline-flex;align-items:center;gap:var(--space-xs);flex:none;min-height:40px;padding:0 var(--space-md) 0 var(--space-xs);border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-ink-2);font-size:var(--text-md);font-weight:500;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.chip-plain{padding:0 var(--space-md)}.chip:hover{border-color:var(--color-paper-4);color:var(--color-ink)}.chip[aria-pressed=true],.chip[aria-checked=true]{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-ink)}.swatch{width:34px;height:34px;border-radius:50% 50% 2px 2px/46% 46% 2px 2px;border:3px solid var(--color-paper-2);background:var(--person);box-shadow:0 0 0 1px var(--color-rule);transition:box-shadow var(--dur-fast) var(--ease-out)}.swatch[aria-checked=true]{box-shadow:0 0 0 2px var(--color-accent)}.login{min-height:100dvh;display:grid;align-content:center;padding:var(--space-2xl) var(--space-lg);max-width:420px;margin:0 auto}.login-mark{width:64px;height:64px;margin:0 auto var(--space-lg)}.login{text-align:center}.login form{text-align:left}.login h1{font-size:var(--text-display);font-weight:600;color:var(--color-ink);text-shadow:0 0 28px var(--color-bloom)}.login .ornament{width:100%;max-width:240px;margin:var(--space-sm) auto var(--space-md)}.login-lede{color:var(--color-ink-2);font-size:var(--text-lg);font-style:italic;margin:0 auto var(--space-xl);max-width:30ch}.login-foot{margin-top:var(--space-lg);color:var(--color-ink-3);font-size:var(--text-sm)}.agenda-head{position:sticky;top:0;z-index:5;padding:calc(env(safe-area-inset-top) + var(--space-md)) var(--space-md) var(--space-sm);background:var(--color-paper);border-bottom:1px solid transparent;transition:border-color var(--dur-mid) var(--ease-out)}.agenda-head[data-mode=month]{position:relative}.agenda-head[data-stuck=true]{border-bottom-color:var(--color-rule)}.month-row{display:flex;align-items:center;gap:var(--space-2xs);margin-bottom:var(--space-sm)}.month-title{flex:1;min-width:0;display:flex;align-items:baseline;gap:var(--space-xs);padding:var(--space-2xs) 0;border:0;background:none;text-align:left}.month-title h1{font-size:var(--text-2xl);font-weight:600}.month-title .year{color:var(--color-ink-3);font-size:var(--text-md);font-weight:500;font-variant-numeric:lining-nums}.month-title .caret{width:18px;height:18px;color:var(--color-ink-3);align-self:center;transition:transform var(--dur-mid) var(--ease-out)}.month-title[aria-expanded=true] .caret{transform:rotate(180deg)}.today-btn{min-height:36px;padding:0 var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:transparent;color:var(--color-ink-2);font-size:var(--text-md);font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.08em}.today-btn:hover{color:var(--color-ink);border-color:var(--color-paper-4)}.week,.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-2xs);touch-action:pan-y}.weekday-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-2xs);margin-bottom:var(--space-2xs)}.weekday-row span{text-align:center;font-size:var(--text-md);font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.06em;color:var(--color-ink-3)}.day{position:relative;display:grid;justify-items:center;align-content:center;gap:var(--space-2xs);min-height:56px;padding:var(--space-xs) 0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink);transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.month .day{min-height:46px;padding:var(--space-2xs) 0}.day:hover{background:var(--color-paper-2)}.day-num{font-weight:500;font-size:var(--text-xl);font-variant-numeric:lining-nums tabular-nums;line-height:1}.month .day-num{font-size:var(--text-lg)}.day[data-outside=true] .day-num{color:var(--color-ink-3);opacity:.6}.day[data-today=true] .day-num{color:var(--color-accent)}.day[aria-pressed=true],.day[aria-selected=true]{background:var(--color-accent-soft);border-color:var(--color-accent-fill);box-shadow:inset 0 0 12px -4px var(--color-bloom)}.dots{display:flex;gap:3px;height:6px}.dot{width:5px;height:5px;margin:.5px;transform:rotate(45deg);background:var(--person)}.dot[data-done=true]{background:transparent;box-shadow:inset 0 0 0 1.5px var(--person)}.filters{margin-top:var(--space-sm)}.day-section{padding:var(--space-lg) var(--space-md) 0}.day-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.day-heading h2{font-size:var(--text-xl)}.day-heading .rel{display:block;font-family:var(--font-body);font-size:var(--text-md);font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.1em;color:var(--color-accent);margin-bottom:var(--space-2xs)}.day-count{flex:none;color:var(--color-ink-3);font-size:var(--text-sm);font-style:italic}.tasks{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-xs)}.task{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-sm) var(--space-sm) var(--space-sm);border-radius:var(--radius-md);background:var(--color-paper-2);border:1px solid var(--color-rule);border-left:3px solid var(--person);animation:rise var(--dur-mid) var(--ease-out);transition:opacity var(--dur-mid) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.task[data-done=true]{opacity:.55}@keyframes rise{0%{opacity:0;transform:translateY(4px)}}.check{flex:none;display:grid;place-items:center;width:44px;height:44px;margin:-6px -4px -6px -6px;border:0;background:none;border-radius:50%}.check:disabled{cursor:default}.check-ring{display:grid;place-items:center;width:20px;height:20px;border-radius:2px;border:2px solid var(--person);color:var(--color-accent-ink);transform:rotate(45deg);transition:background-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.check:hover:not(:disabled) .check-ring{background:var(--color-accent-soft)}.check:active:not(:disabled) .check-ring{transform:rotate(45deg) scale(.88)}.check[aria-checked=true] .check-ring{background:var(--person)}.check-ring svg{width:14px;height:14px;opacity:0;transform:rotate(-45deg) scale(.6);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-mid) var(--ease-out)}.check[aria-checked=true] .check-ring svg{opacity:1;transform:rotate(-45deg) scale(1)}.check:disabled .check-ring{border-style:dashed;opacity:.7}.task-body{flex:1;min-width:0;padding:var(--space-3xs) 0;border:0;background:none;text-align:left}.task-title{font-size:var(--text-lg);font-weight:500;line-height:1.3;overflow-wrap:anywhere}.task[data-done=true] .task-title{text-decoration:line-through;text-decoration-color:var(--color-ink-3)}.task-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2xs) var(--space-sm);margin-top:var(--space-2xs);color:var(--color-ink-3);font-size:var(--text-sm)}.task-meta .who{display:inline-flex;align-items:center;gap:var(--space-2xs);color:var(--color-ink-2)}.task-time{font-variant-numeric:lining-nums tabular-nums;color:var(--color-ink-2);font-weight:600}.task-notes-flag{display:inline-flex;align-items:center;gap:var(--space-3xs)}.task-notes-flag svg{width:14px;height:14px}.empty{padding:var(--space-xl) var(--space-lg);border:1px dashed var(--color-rule);border-radius:var(--radius-md);text-align:center;color:var(--color-ink-2)}.empty p{font-style:italic}.empty p+.btn{margin-top:var(--space-md)}.loading-line{height:2px;margin:0 var(--space-md);background:linear-gradient(90deg,transparent,var(--color-accent-fill),transparent);background-size:50% 100%;background-repeat:no-repeat;animation:sweep 1.1s var(--ease-in-out) infinite}@keyframes sweep{0%{background-position:-50% 0}to{background-position:150% 0}}.add-fab{position:fixed;z-index:10;right:max(var(--space-md),calc((100vw - var(--app-max)) / 2 + var(--space-md)));bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--space-md));min-height:52px;padding:0 var(--space-lg) 0 var(--space-md);box-shadow:var(--shadow-glow)}.add-fab svg{width:22px;height:22px}.tabbar{position:fixed;z-index:20;left:0;right:0;bottom:0;padding-bottom:env(safe-area-inset-bottom);background:var(--color-paper-2);border-top:1px solid var(--color-rule)}.tabbar-inner{max-width:var(--app-max);margin:0 auto;height:var(--nav-h);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.tab{position:relative;display:grid;place-items:center;align-content:center;gap:var(--space-3xs);border:0;background:none;color:var(--color-ink-3);font-size:var(--text-md);font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.08em;line-height:1;transition:color var(--dur-fast) var(--ease-out)}.tab svg{width:24px;height:24px}.tab:hover{color:var(--color-ink-2)}.tab[aria-current=page]{color:var(--color-accent)}.tab[aria-current=page]:before{content:"";position:absolute;top:-1px;left:30%;right:30%;height:2px;background:var(--color-accent-fill);box-shadow:0 0 12px var(--color-accent-fill)}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--color-scrim);display:flex;align-items:flex-end;justify-content:center;animation:fade var(--dur-mid) var(--ease-out)}.sheet{width:100%;max-width:var(--app-max);max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-xs) var(--space-md) calc(var(--space-lg) + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-top:1px solid var(--color-rule-strong);background:var(--color-paper-2);box-shadow:var(--shadow-lift);animation:slide-up var(--dur-slow) var(--ease-out)}.sheet-grip{width:40px;height:4px;margin:var(--space-xs) auto var(--space-md);border-radius:var(--radius-pill);background:var(--color-paper-4)}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-lg)}.sheet-head h2{font-size:var(--text-2xl)}.sheet .input{background:var(--color-paper)}.sheet .input:focus-visible{background:var(--color-paper-3)}.sheet .chip{background:var(--color-paper)}.sheet .chip[aria-checked=true]{background:var(--color-accent-soft)}.sheet-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-lg)}.sheet-actions .btn-primary{flex:1 1 160px}.detail-notes{white-space:pre-wrap;color:var(--color-ink-2);padding:var(--space-md);border-radius:var(--radius-sm);background:var(--color-paper);overflow-wrap:anywhere}.detail-list{display:grid;gap:var(--space-sm);margin:0 0 var(--space-lg)}.detail-list div{display:flex;justify-content:space-between;gap:var(--space-md)}.detail-list dt{color:var(--color-ink-3)}.detail-list dd{margin:0;text-align:right;display:inline-flex;align-items:center;gap:var(--space-xs)}@keyframes fade{0%{opacity:0}}@keyframes slide-up{0%{transform:translateY(100%)}}.people{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-xs)}.person{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);text-align:left;transition:background-color var(--dur-fast) var(--ease-out)}button.person:hover{background:var(--color-paper-3)}.person-text{flex:1;min-width:0}.person-name{font-size:var(--text-lg);font-weight:500;overflow-wrap:anywhere}.person-user{color:var(--color-ink-3);font-size:var(--text-sm)}.badge{flex:none;padding:0 var(--space-xs) var(--space-3xs);border:1px solid var(--color-accent-fill);border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent);font-size:var(--text-md);font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.08em}.section-gap{margin-top:var(--space-xl)}.inline-actions{display:flex;gap:var(--space-xs)}.inline-actions .input{flex:1;min-width:0}.me-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg) 0 var(--space-xl)}.me-card h1{font-size:var(--text-3xl)}.card{padding:var(--space-lg) var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2)}.card h2{font-size:var(--text-xl);margin-bottom:var(--space-md)}.card-lede{color:var(--color-ink-2);margin:calc(var(--space-xs) * -1) 0 var(--space-md)}.segmented{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:var(--space-3xs);border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);margin-bottom:var(--space-md)}.segmented button{min-height:40px;border:0;border-radius:2px;background:transparent;color:var(--color-ink-2);font-weight:500;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.segmented button:hover{color:var(--color-ink)}.segmented button[aria-checked=true]{background:var(--color-paper-4);color:var(--color-ink);box-shadow:inset 0 -2px 0 var(--color-accent-fill)}.cal-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xs);margin-bottom:var(--space-md)}@media(min-width:440px){.cal-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cal-actions .btn-ghost{grid-column:1 / -1}}.cal-hints{margin:0 0 var(--space-lg);padding-left:var(--space-md);color:var(--color-ink-2);font-size:var(--text-sm);display:grid;gap:var(--space-xs)}.cal-hints strong{color:var(--color-ink);font-weight:600}.notice{padding:var(--space-sm) var(--space-md);border-left:2px solid var(--color-notice);background:var(--color-notice-soft);color:var(--color-notice);font-size:var(--text-sm);margin-bottom:var(--space-md)}.add-cal{display:grid;gap:var(--space-xs);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-rule)}.add-cal-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-xs)}.success-text{color:var(--color-ok);font-size:var(--text-sm);margin-bottom:var(--space-md)}.toast{position:fixed;z-index:60;left:50%;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--space-md) + 64px);transform:translate(-50%);width:min(calc(100vw - var(--space-xl)),420px);display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-xs) var(--space-xs) var(--space-md);border:1px solid var(--color-rule-strong);border-left:3px solid var(--color-accent-fill);border-radius:var(--radius-md);background:var(--color-paper-3);color:var(--color-ink);box-shadow:var(--shadow-lift);font-size:var(--text-md);animation:toast-in var(--dur-mid) var(--ease-out)}.toast[data-tone=error]{border-left-color:var(--color-danger);color:var(--color-danger)}.toast p{flex:1;min-width:0;padding:var(--space-xs) 0}.toast .btn{min-height:36px;padding:0 var(--space-md);background:var(--color-accent-fill);color:var(--color-accent-on)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}@media(min-width:600px){.page,.day-section,.agenda-head{padding-left:var(--space-lg);padding-right:var(--space-lg)}.chips{margin:0 calc(var(--space-lg) * -1);padding:var(--space-3xs) var(--space-lg)}.sheet-scrim{align-items:center}.sheet{border-radius:var(--radius-lg);max-height:86dvh}.sheet-grip{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.12s!important;animation-iteration-count:1!important;transition-duration:0ms!important}.sheet{animation-name:fade}.spinner,.loading-line{animation:none}}
