:root{--color-bg:#f4f4f5;--color-surface:#fff;--color-text:#18181b;--color-muted:#52525b;--color-border:#d4d4d8;--color-primary:#18181b;--color-primary-text:#fff;--color-primary-hover:#3f3f46;--color-focus:#2563eb;--color-error:#b91c1c;--color-error-bg:#fef2f2;--color-ok-bg:#f0fdf4;--color-ok-border:#86efac;--color-notice-bg:#fffbeb;--color-notice-border:#fcd34d;--radius:10px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--tap-size:2.75rem;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);-webkit-text-size-adjust:100%;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#09090b;--color-surface:#18181b;--color-text:#fafafa;--color-muted:#a1a1aa;--color-border:#3f3f46;--color-primary:#fafafa;--color-primary-text:#18181b;--color-primary-hover:#d4d4d8;--color-focus:#60a5fa;--color-error:#fca5a5;--color-error-bg:#450a0a;--color-ok-bg:#052e16;--color-ok-border:#166534;--color-notice-bg:#422006;--color-notice-border:#a16207}}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);min-height:100dvh;margin:0}h1{margin:0 0 var(--space-4);font-size:1.5rem;line-height:1.25}p{margin:0 0 var(--space-4)}a{color:inherit;text-underline-offset:.2em}code{font-size:.9em}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}h1[tabindex="-1"]:focus{outline:none}.auth-layout{min-height:100dvh;padding:var(--space-4);grid-template-columns:minmax(0,26rem);justify-content:center;place-items:center;display:grid}.card,.app-main{overflow-wrap:anywhere}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;min-width:0;max-width:26rem;padding:var(--space-6)}@media (width>=30rem){.card{padding:var(--space-8)}}.brand{letter-spacing:.02em;color:var(--color-muted);margin:0 0 var(--space-2);font-weight:700}.loading-screen{min-height:100dvh;padding:var(--space-4);text-align:center;color:var(--color-muted);place-items:center;display:grid}.app-layout{min-height:100dvh}.app-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex}.app-header .brand{color:var(--color-text);margin:0}.app-main{max-width:60rem;padding:var(--space-6) var(--space-4);margin:0 auto}.form{gap:var(--space-4);display:grid}.field{gap:var(--space-1);display:grid}label{font-weight:600}input{width:100%;min-height:var(--tap-size);padding:var(--space-2) var(--space-3);font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--radius) - 4px);font-size:1rem}input[aria-invalid=true]{border-color:var(--color-error)}.password-input{gap:var(--space-2);display:flex}.password-input input{flex:1;min-width:0}.hint{color:var(--color-muted);margin:0;font-size:.9rem}.form-footer{margin:var(--space-4) 0 var(--space-2)}.form-alert:empty{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.form-alert:not(:empty){margin-bottom:var(--space-4)}.form .form-alert{margin-bottom:0}.form-alert p{padding:var(--space-3);color:var(--color-error);background:var(--color-error-bg);border-radius:calc(var(--radius) - 4px);border:1px solid;margin:0}.status-panel{padding:var(--space-4);margin-bottom:var(--space-4);background:var(--color-ok-bg);border:1px solid var(--color-ok-border);border-radius:calc(var(--radius) - 4px)}.status-panel p:last-child{margin-bottom:0}.notice-panel{padding:var(--space-4);margin-bottom:var(--space-4);background:var(--color-notice-bg);border:1px solid var(--color-notice-border);border-radius:calc(var(--radius) - 4px)}.notice-panel p:last-child{margin-bottom:0}.problem-list{padding-left:var(--space-6);color:var(--color-error)}.button-primary,.button-secondary,.button-ghost{min-height:var(--tap-size);padding:var(--space-2) var(--space-4);font:inherit;border-radius:calc(var(--radius) - 4px);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.button-primary{width:100%;color:var(--color-primary-text);background:var(--color-primary)}.button-primary:hover:not(:disabled){background:var(--color-primary-hover)}.button-secondary{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border)}.button-ghost{color:var(--color-text);border-color:var(--color-border);background:0 0}button:disabled{cursor:not-allowed;opacity:.6}.actions{gap:var(--space-3);display:grid}.actions-inline{margin-bottom:var(--space-4);justify-items:start}@media (prefers-reduced-motion:no-preference){.button-primary,.button-secondary,.button-ghost{transition:background-color .12s}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}select{width:100%;min-height:var(--tap-size);padding:var(--space-2) var(--space-3);font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--radius) - 4px);font-size:1rem}input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--color-primary);margin:0;padding:0}.optional{color:var(--color-muted);font-weight:400}.field-error{color:var(--color-error);margin:0;font-weight:600}.field-error:empty{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.checkbox{align-items:center;gap:var(--space-3);min-height:var(--tap-size);cursor:pointer;font-weight:600;display:inline-flex}.checkbox input{width:1.25rem;height:1.25rem}.kicker{color:var(--color-muted);margin:0;font-size:.9rem;font-weight:700}.button-small{min-height:2.25rem;padding:var(--space-1) var(--space-3);font-size:.95rem}.button-auto{width:auto}.button-grow{flex:auto}.button-icon{margin-right:var(--space-2);flex:none}.button-danger{color:var(--color-error)}.brand-link{text-decoration:none}.app-main-wide{max-width:82rem;padding-top:var(--space-3)}.back-link{align-items:center;gap:var(--space-2);min-height:var(--tap-size);color:var(--color-muted);font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--color-text);text-decoration:underline}:root{--cat-class:#4d7c0f;--cat-class-bg:#f7fee7;--cat-event:#1d4ed8;--cat-event-bg:#eff6ff;--cat-closure:#71717a;--cat-closure-bg:#fafafa;--cat-challenge:#c2410c;--cat-challenge-bg:#fff7ed;--color-saved:#15803d;--color-saving:#b45309;--shadow-lift:0 10px 30px -12px #00000059;--closed-stripe:#e4e4e7;--backdrop:#09090b8c}@media (prefers-color-scheme:dark){:root{--cat-class:#bef264;--cat-class-bg:#1a2e05;--cat-event:#93c5fd;--cat-event-bg:#172554;--cat-closure:#a1a1aa;--cat-closure-bg:#1f1f23;--cat-challenge:#fb923c;--cat-challenge-bg:#431407;--color-saved:#4ade80;--color-saving:#fbbf24;--shadow-lift:0 10px 30px -12px #000c;--closed-stripe:#2e2e33;--backdrop:#000000b3}}[data-category=class]{--cat:var(--cat-class);--cat-bg:var(--cat-class-bg)}[data-category=event]{--cat:var(--cat-event);--cat-bg:var(--cat-event-bg)}[data-category=closure]{--cat:var(--cat-closure);--cat-bg:var(--cat-closure-bg)}[data-category=challenge]{--cat:var(--cat-challenge);--cat-bg:var(--cat-challenge-bg)}.category-icon{flex:none;width:1.25rem;height:1.25rem}.dashboard{gap:var(--space-4);margin:var(--space-6) 0 0;padding:0;list-style:none;display:grid}@media (width>=48rem){.dashboard{grid-template-columns:2fr 1fr}}.dashboard-card{gap:var(--space-2);height:100%;padding:var(--space-6);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;display:flex}.dashboard-card-main{gap:var(--space-6);color:#f5f5f0;background:#0b0b0d;border-color:#0b0b0d;text-decoration:none;display:grid}@media (width>=36rem){.dashboard-card-main{grid-template-columns:9rem 1fr;align-items:center}}.dashboard-card-main:hover .dashboard-card-cta,.dashboard-card-main:focus-visible .dashboard-card-cta{text-decoration:underline}.dashboard-card-body{gap:var(--space-2);display:grid}.dashboard-card-kicker{letter-spacing:.08em;text-transform:uppercase;color:#cf0;font-size:.8rem;font-weight:700}.dashboard-card-title{font-size:1.5rem;font-weight:800;line-height:1.2}.dashboard-card-text{color:inherit}.dashboard-card-main .dashboard-card-text{color:#c4c4cc}.dashboard-card-cta{margin-top:var(--space-2);color:#cf0;font-weight:700}.dashboard-card-soon{color:var(--color-muted);border-style:dashed;justify-content:center}.dashboard-card-art{grid-template-columns:repeat(7,1fr);gap:3px;width:9rem;max-width:100%;display:grid}.dashboard-art-day{aspect-ratio:1;background:#222228;border-radius:2px}.dashboard-art-outside{background:0 0}.dashboard-art-class{background:#cf0}.dashboard-art-event{background:#f5f5f0}.dashboard-art-closure{background:repeating-linear-gradient(135deg,#3a3a42 0 3px,#55555f 3px 5px)}.dashboard-art-challenge{background:#ff5a36}@media (prefers-reduced-motion:no-preference){.dashboard-card-main{transition:transform .16s,box-shadow .16s}.dashboard-card-main:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}}.calendar-head{align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}@media (width>=40rem){.calendar-head{gap:var(--space-3) var(--space-4);margin-bottom:var(--space-6)}}.calendar-title{flex:9rem;min-width:0}.calendar-title h1{margin:0;font-size:clamp(1.5rem,6vw,1.75rem)}@media (width>=48rem){.calendar-title h1{font-size:2.25rem}}@media (width>=60rem){.calendar-head{margin-bottom:var(--space-4);flex-wrap:nowrap}.calendar-title{flex:0 auto}.calendar-title .kicker{display:none}.calendar-title h1{font-size:1.75rem}.calendar-page .back-link{min-height:2rem}}.month-switcher{gap:var(--space-2);display:flex}.month-switcher-link{gap:var(--space-1);padding-inline:var(--space-3)}.month-switcher-link>span[aria-hidden=true]{font-size:1.4rem;line-height:1}.calendar-head-status{flex-basis:100%}@media (width>=40rem){.calendar-head-status{flex-basis:auto;order:-1;margin-left:auto}.calendar-title{order:-2}}.calendar-message{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.calendar-message[role=status]{color:var(--color-muted)}.save-status{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.save-status-text{align-items:center;gap:var(--space-2);color:var(--color-muted);margin:0;font-size:.95rem;display:inline-flex}.save-status-dot{background:var(--color-saved);border-radius:50%;width:.6rem;height:.6rem}.save-status[data-state=waiting] .save-status-dot,.save-status[data-state=saving] .save-status-dot{background:var(--color-saving)}.save-status-alert{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.save-status-alert:empty{display:none}.save-status-error{padding:var(--space-2) var(--space-3);color:var(--color-error);background:var(--color-error-bg);border-radius:calc(var(--radius) - 4px);border:1px solid;margin:0}.save-banner{z-index:11;top:max(var(--space-2), env(safe-area-inset-top));align-items:center;gap:var(--space-2) var(--space-3);width:min(100% - 2rem,34rem);padding:var(--space-2) var(--space-3);color:var(--color-error);background:var(--color-error-bg);border-radius:var(--radius);box-shadow:var(--shadow-lift);border:1px solid;flex-wrap:wrap;display:flex;position:fixed;left:50%;transform:translate(-50%)}.save-banner p{flex:12rem;margin:0}.unsaved-note{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-notice-bg);border:1px solid var(--color-notice-border);border-radius:calc(var(--radius) - 4px);display:flex}.unsaved-note .save-status-dot{background:var(--color-saving);flex:none}.sign-out-confirm .actions{margin-top:var(--space-3)}.calendar-notice{align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-notice-bg);border:1px solid var(--color-notice-border);border-radius:calc(var(--radius) - 4px);flex-wrap:wrap;display:flex}.calendar-notice p{flex:12rem;margin:0}.calendar-workspace{padding-bottom:var(--space-8)}.calendar-workspace:has(>.undo-bar){padding-bottom:8rem}html:has(.calendar-workspace>.undo-bar){scroll-padding-bottom:7rem}.view-tabs{gap:var(--space-1);max-width:100%;margin-bottom:var(--space-4);padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;display:inline-flex}.view-tab{min-height:var(--tap-size);padding:var(--space-2) var(--space-4);white-space:nowrap;font:inherit;color:var(--color-text);cursor:pointer;background:0 0;border:0;border-radius:999px;font-weight:600}.view-tab[aria-selected=true]{color:var(--color-primary-text);background:var(--color-primary)}@media (width<=25.99rem){.view-tab{padding-inline:var(--space-3)}}.view-panel{min-width:0}.post-board{gap:var(--space-6);display:grid}.calendar-preview-column,.calendar-editor-column{min-width:0}.calendar-editor-column{gap:var(--space-4);align-content:start;display:grid}@media (width>=60rem){.post-board{align-items:start;gap:var(--space-8);grid-template-columns:minmax(0,1fr) minmax(22rem,30rem)}.calendar-preview-column{top:var(--space-4);position:sticky}}.post-panel{gap:var(--space-4);justify-items:center;display:grid}.post-frame{aspect-ratio:1080/1350;border-radius:calc(var(--radius) - 2px);width:min(100%,41.6svh);box-shadow:var(--shadow-lift);background:#0b0b0d;overflow:hidden}@media (width>=60rem){.post-frame{width:min(100%, (100dvh - 2 * var(--space-4) - 11rem) * .8)}.post-actions{order:-1;grid-template-columns:12.5rem minmax(0,1fr);align-items:start;width:100%}.post-actions-row{flex-direction:column}.calendar-preview-column{container-type:inline-size}}@container (width>=40rem){.post-panel{justify-content:start;align-items:start;gap:var(--space-6);grid-template-columns:auto 12.5rem}.post-frame{width:min(100cqw - 12.5rem - var(--space-6), (100dvh - 16rem) * .8)}.post-actions{order:0;grid-template-columns:minmax(0,1fr);width:auto}.post-actions-row{flex-direction:column}}.post-preview{width:100%;height:100%;display:block}.post-actions{gap:var(--space-3);width:min(100%,30rem);display:grid}.post-actions-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.post-buttons,.post-notes{gap:var(--space-3);min-width:0;display:grid}.post-message{margin:0}.post-message p{color:var(--color-muted);margin:0}.post-message .post-message-error{color:var(--color-error);font-weight:600}.post-fit-hint{gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-notice-bg);border:1px solid var(--color-notice-border);border-radius:calc(var(--radius) - 4px);justify-items:start;display:grid}.post-fit-hint p{margin:0}.editor-section{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}@media (width>=30rem){.editor-section{padding:var(--space-6)}}.editor-section h2{align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);font-size:1.2rem;display:flex}.add-event{gap:var(--space-4);display:grid}.add-event-grid{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=30rem){.add-event-grid{grid-template-columns:10rem minmax(0,1fr)}}.event-edit-grid{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.event-edit-grid .field-title{grid-column:1/-1}@media (width<=22.49rem){.event-edit-grid{grid-template-columns:minmax(0,1fr)}.category-picker-compact .category-icon{display:none}}.add-event-footer{gap:var(--space-3);display:grid}.add-event-submit,.add-event-done{scroll-margin-bottom:var(--space-4)}.add-event-done{align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-ok-bg);border:1px solid var(--color-ok-border);border-radius:calc(var(--radius) - 4px);flex-wrap:wrap;display:flex}.add-event-done p{overflow-wrap:anywhere;flex:10rem;margin:0;font-weight:600}.add-event-done-tick{color:var(--color-saved)}.hint-warning{padding:var(--space-2) var(--space-3);color:var(--color-text);background:var(--color-notice-bg);border:1px solid var(--color-notice-border);border-radius:calc(var(--radius) - 4px);margin:0}.repeat-hint span{display:block}.category-picker,.layout-picker{border:0;min-width:0;margin:0;padding:0}.category-picker legend,.layout-picker legend{margin-bottom:var(--space-2);padding:0;font-weight:600}.category-options{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.category-option{align-items:center;gap:var(--space-3);min-height:3.5rem;padding:var(--space-3);border:2px solid var(--color-border);border-radius:calc(var(--radius) - 2px);background:var(--color-surface);cursor:pointer;font-weight:600;display:flex;position:relative}.category-option .category-icon{color:var(--cat)}.category-option input,.layout-option input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.category-option-text{overflow-wrap:normal;min-width:0;display:grid}.category-option-hint{color:var(--color-muted);font-size:.85rem;font-weight:400}@media (width<=25.99rem){.category-option{gap:var(--space-2);padding:var(--space-2)}.category-option-hint{display:none}}.category-option:has(input:checked){border-color:var(--cat);background:var(--cat-bg);box-shadow:inset 0 0 0 1px var(--cat)}:is(.category-option:has(input:focus-visible),.layout-option:has(input:focus-visible)){outline:3px solid var(--color-focus);outline-offset:2px}.category-picker-compact .category-option{gap:var(--space-2);min-height:var(--tap-size);padding:var(--space-2) var(--space-3)}.event-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.event-item{gap:var(--space-2) var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-left:5px solid var(--cat);border-radius:calc(var(--radius) - 4px);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.event-item[data-category=closure]{border-left-color:#0000;border-image:repeating-linear-gradient(135deg, var(--cat-closure) 0 4px, transparent 4px 7px) 0 0 0 5}.event-body{min-width:0}.event-title{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;margin:0;font-weight:700}.event-meta{align-items:center;gap:var(--space-1) var(--space-2);color:var(--color-muted);flex-wrap:wrap;margin:0;font-size:.9rem;display:flex}.event-meta .category-icon{width:1rem;height:1rem;color:var(--cat)}.event-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=22.5rem){.event-item{grid-template-columns:minmax(0,1fr)}.event-actions{justify-content:flex-start}}.event-row-note{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:.9rem;font-weight:600}.event-row-note-error{color:var(--color-error)}.event-item-rejected{box-shadow:0 0 0 2px var(--color-error)}.event-item-marked{background:var(--color-error-bg);box-shadow:0 0 0 2px var(--color-error)}.event-delete-choice{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;grid-column:1/-1;display:flex}.event-delete-question{margin:0;font-weight:700}.event-delete-days{flex:10rem}.event-delete-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.event-delete-buttons .button-ghost{background:var(--color-surface)}.event-item-editing{box-shadow:var(--shadow-lift);border-left-width:5px;display:block}.event-edit{gap:var(--space-3);display:grid}.event-edit-actions{justify-content:flex-end;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.event-edit-actions .hint{flex:10rem;margin:0}.event-empty{padding:var(--space-4);text-align:center;border:2px dashed var(--color-border);border-radius:calc(var(--radius) - 2px);color:var(--color-muted);margin:0}.design-controls{gap:var(--space-4);display:grid}.layout-options{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.layout-option{min-height:3.5rem;padding:var(--space-2);text-align:center;border:2px solid var(--color-border);border-radius:calc(var(--radius) - 2px);cursor:pointer;justify-items:center;display:grid;position:relative}.layout-option-label{font-weight:700}.layout-option-hint{color:var(--color-muted);font-size:.8rem;font-weight:400}.layout-option:has(input:checked){border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.undo-bar{z-index:10;left:50%;bottom:max(var(--space-4), env(safe-area-inset-bottom));align-items:center;gap:var(--space-2);width:min(100% - 2rem,30rem);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);color:var(--color-primary-text);background:var(--color-primary);border-radius:var(--radius);box-shadow:var(--shadow-lift);display:flex;position:fixed;transform:translate(-50%)}.undo-bar-text{overflow-wrap:anywhere;flex:1;min-width:0;margin:0}.undo-bar-button,.undo-bar-close{min-height:var(--tap-size);min-width:var(--tap-size);padding:var(--space-2) var(--space-3);font:inherit;color:inherit;border-radius:calc(var(--radius) - 4px);cursor:pointer;background:0 0;border:1px solid #0000;font-weight:700}.undo-bar-button{text-underline-offset:.2em;text-decoration:underline}.undo-bar-close{font-size:1.4rem;line-height:1}.undo-bar :focus-visible{outline-color:currentColor}.calendar-grid-hint{margin-bottom:var(--space-3)}.month-grid,.month-grid-row{gap:var(--space-1);display:grid}.month-grid-row{grid-template-columns:repeat(7,minmax(0,1fr))}.month-grid-weekday{color:var(--color-muted);padding:0 .75rem;font-size:.8rem;font-weight:700}.month-grid-cell,.month-grid-blank{min-width:0;min-height:6.5rem;display:grid}@media (width>=64rem){.month-grid-cell,.month-grid-blank{min-height:clamp(4.5rem,20dvh - 4.2rem,6.5rem)}}.month-grid-day{align-items:stretch;gap:var(--space-1);min-width:0;padding:var(--space-2);font:inherit;color:var(--color-text);text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--radius) - 2px);cursor:pointer;flex-direction:column;display:flex}.month-grid-day:hover{border-color:var(--color-muted)}.month-grid-day:focus-visible{z-index:1;outline-offset:1px;position:relative}.month-grid-day.has-rejected{border-color:var(--color-error);box-shadow:inset 0 0 0 1px var(--color-error)}.month-grid-day.is-closed{background:repeating-linear-gradient(135deg, transparent 0 7px, var(--closed-stripe) 7px 14px), var(--color-surface)}.month-grid-date{border-radius:50%;flex:none;place-items:center;width:1.9rem;height:1.9rem;margin:-.25rem 0 0 -.25rem;font-weight:700;line-height:1;display:grid}.month-grid-day.is-today .month-grid-date{box-shadow:inset 0 0 0 2px var(--color-text)}.month-grid-chips{gap:3px;min-width:0;display:grid}.month-grid-chip{background:var(--cat-bg);border-left:3px solid var(--cat);border-radius:4px;min-width:0;padding:2px 6px;font-size:.8rem;line-height:1.3;display:grid}.month-grid-chip.is-rejected{border-left-color:var(--color-error);box-shadow:inset 0 0 0 1px var(--color-error)}.month-grid-chip.is-off-post{color:var(--color-muted);background:0 0;border-left-style:dashed}.month-grid-chip.is-off-post .month-grid-title{text-decoration:line-through}.month-grid-time{font-weight:700}.month-grid-title{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:7 3 3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.month-grid-more{color:var(--color-muted);padding-left:6px;font-size:.8rem;font-weight:600}@media (width>=40.01rem) and (width<=63.99rem){.month-grid-day{padding:var(--space-1)}.month-grid-chip{padding:2px 4px;font-size:.75rem}.month-grid-more{padding-left:4px;font-size:.75rem}}@media (width<=40rem){.month-grid,.month-grid-row{gap:3px}.month-grid-weekday{text-align:center;padding:0;font-size:.7rem}.month-grid-cell,.month-grid-blank{min-height:3.9rem}.month-grid-day{padding:var(--space-1) 2px;border-radius:6px;align-items:center;gap:3px}.month-grid-date{width:1.75rem;height:1.75rem;margin:0;font-size:.95rem}.month-grid-chips{flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;display:flex}.month-grid-chip{background:var(--cat);border:0;border-radius:50%;width:7px;height:7px;padding:0}.month-grid-chip.is-rejected{background:var(--color-error);box-shadow:none}.month-grid-chip.is-off-post{box-shadow:inset 0 0 0 1.5px var(--cat);background:0 0}.month-grid-chip>*{display:none}.month-grid-more{padding:0;font-size:.7rem;line-height:1}.month-grid-more-word{display:none}}html:has(.calendar-page){scrollbar-gutter:stable}html:has(.day-dialog[open]){overflow:hidden}.day-dialog{width:min(100% - 2 * var(--space-4), 36rem);max-width:none;max-height:min(100% - 2 * var(--space-6), 60rem);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:0;overflow:hidden;box-shadow:0 24px 64px #00000059}.day-dialog[open]{flex-direction:column;display:flex}@media (width>=40.01rem){.day-dialog{margin-block:var(--space-8) auto;max-height:min(100% - 2 * var(--space-8), 60rem)}}@media (width>=40.01rem) and (height<=30rem){.day-dialog{margin-block:var(--space-2) auto;max-height:calc(100% - var(--space-4))}.day-dialog-head{padding-block:var(--space-2)}}.day-dialog::backdrop{background:var(--backdrop)}.day-dialog-head{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;display:grid}.day-dialog-head h2{margin:0;font-size:1.3rem;line-height:1.25}.day-dialog-head h2:focus,.day-dialog-add:focus{outline:none}.day-dialog-tools{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;grid-column:1/-1;display:flex}.day-dialog-nav{gap:var(--space-2);display:flex}.day-dialog-move{gap:var(--space-1);min-width:var(--tap-size);min-height:var(--tap-size)}@media (width>=22.5rem){.day-dialog-move{min-width:6.75rem}}.day-dialog-move[aria-disabled=true]{opacity:.4;cursor:default}.day-dialog-arrow{font-size:1.3rem;line-height:1}.save-status-compact .save-status-text{font-size:.9rem}.save-status-compact .save-status-alert{flex-wrap:nowrap;flex:100%}.save-status-compact .save-status-alert:empty{display:none}.save-status-compact .save-status-error{padding:var(--space-1) var(--space-2);flex:auto;font-size:.9rem}.save-status-compact .button-small{flex:none}.day-dialog-body{gap:var(--space-4);min-height:0;padding:var(--space-4) var(--space-6) var(--space-6);overscroll-behavior:contain;align-content:start;display:grid;overflow-y:auto}.day-dialog-body .calendar-notice{margin:0}.day-dialog-add{margin:var(--space-2) 0 0;font-size:1.1rem}.day-dialog .undo-bar{width:100%;position:sticky;bottom:0;left:auto;transform:none}.day-dialog-body:has(.undo-bar){scroll-padding-bottom:5rem}@media (width<=40rem){.day-dialog{width:100%;max-height:calc(100% - max(var(--space-6), env(safe-area-inset-top,0px)));border-width:1px 0 0;border-radius:16px 16px 0 0;margin:auto 0 0}.day-dialog[open]{height:calc(100% - max(var(--space-6), env(safe-area-inset-top,0px)))}.day-dialog-head{padding:var(--space-3) var(--space-4)}.day-dialog-head h2{font-size:1.2rem}.day-dialog-body{padding:var(--space-4) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom,0px))}.day-dialog .undo-bar{bottom:env(safe-area-inset-bottom,0px)}}@media (prefers-reduced-motion:no-preference){.day-dialog[open]{animation:.18s ease-out day-dialog-in}.day-dialog[open]::backdrop{animation:.18s ease-out day-dialog-fade}@media (width<=40rem){.day-dialog[open]{animation-name:day-sheet-in;animation-duration:.22s}}}@keyframes day-dialog-in{0%{opacity:0;transform:translateY(.75rem)scale(.98)}}@keyframes day-sheet-in{0%{transform:translateY(100%)}}@keyframes day-dialog-fade{0%{opacity:0}}
