@font-face{font-family:Geist;src:url(/assets/Geist-Regular-rEkwi4hp.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Geist;src:url(/assets/Geist-Medium-DdmPy8f2.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Geist;src:url(/assets/Geist-SemiBold-Dgivxjvs.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Geist;src:url(/assets/Geist-Bold-COtuY0uS.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-Regular-DHEw6VMZ.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-Medium-DceA7jXG.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0b0d;--surface:#121215;--surface-weekend:#0e0e11;--surface-outside:#0b0b0d;--surface-2:#19191e;--surface-3:#212127;--surface-4:#2a2a31;--line:#1f1f25;--line-2:#2a2a32;--line-3:#3a3a45;--ink:#ededf2;--ink-2:#a6a6b2;--ink-3:#6d6d79;--ink-4:#4d4d58;--accent:#9edaf8;--accent-hover:#b4e3fa;--accent-ink:#0c1e2a;--accent-soft:#9edaf824;--accent-ring:#9edaf873;--gold:#e3c88b;--danger:#f2a7a7;--danger-soft:#f2a7a71f;--pastel-ink:#241c28;--shadow-lg:0 24px 64px #0000008c, 0 2px 10px #0006;--shadow-md:0 12px 36px #00000073, 0 1px 4px #0000004d;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--font:Geist, system-ui, -apple-system, sans-serif;--mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ease:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:14px}button,input,a.button{font:inherit;color:inherit}button,a.button{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface-3);min-height:36px;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:500;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex}button:hover,a.button:hover{background:var(--surface-4);border-color:var(--line-3)}button:disabled{opacity:.5;cursor:default}button.primary,a.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}button.primary:hover,a.button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{color:var(--danger)}button.danger:hover{background:var(--danger-soft);border-color:#0000}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--bg);width:100%;min-height:38px;color:var(--ink);padding:0 12px;font-size:15px}input::placeholder{color:var(--ink-3)}input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}label{color:var(--ink-2);gap:6px;font-size:13px;display:grid}label small,.hint,.links,.muted,.empty{color:var(--ink-3)}h1,h2{letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:1.6rem}h2{font-size:16px}.num{font-family:var(--mono)}.app{max-width:880px;padding:12px 16px calc(28px + env(safe-area-inset-bottom));margin:0 auto}.app-board{background:var(--bg);max-width:none;height:100dvh;color:var(--ink);flex-direction:column;margin:0;padding:0;display:flex;overflow:hidden}.app-board .calendar{flex-direction:column;flex:1;min-height:0;display:flex}.loading{color:var(--ink-3);flex:1;place-items:center;display:grid}.board-header{z-index:6;background:var(--bg);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px 16px;min-height:56px;padding:10px 16px;font-size:13px;display:grid;position:sticky;top:0}.board-header[data-rows="2"]{flex-wrap:wrap;display:flex}.board-header[data-rows="2"] .board-context{flex:none}.board-header[data-rows="2"] .board-title{flex:1 0 auto;justify-content:center}.board-header[data-rows="2"] .board-actions{flex:1 0 100%;justify-content:flex-end;width:auto}.board-header[data-rows="3"]{flex-direction:column;align-items:stretch;display:flex}.board-header[data-rows="3"] .board-context{align-self:start}.board-header[data-rows="3"] .board-title{justify-content:center}.board-header[data-rows="3"] .board-actions{flex-wrap:wrap;justify-content:flex-end;align-self:end;row-gap:8px;width:100%}.board-context,.board-title,.board-actions{align-items:center;min-width:0;max-width:100%;display:flex}.board-context,.board-actions{width:max-content}.board-context{justify-self:start}.board-context>*{flex:none}.board-title{justify-content:center;justify-self:center}.board-actions{justify-content:flex-end;justify-self:end;gap:10px}.board-tools{align-items:center;gap:8px;display:flex}.board-header button{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface-2);height:32px;min-height:32px;color:var(--ink);gap:6px;padding:0 10px;font-size:13px;font-weight:500;line-height:1}.board-header button:hover{background:var(--surface-3);border-color:var(--line-3)}.board-header button:active,.board-header button[aria-expanded=true]{background:var(--surface-4)}.board-header button.icon-only{width:32px;padding:0}.board-header button.with-icon{padding:0 11px 0 9px}.board-header button.calendars-btn{padding:0 8px 0 11px}.board-header .calendars-btn>.btn-icon:first-child{display:none}.board-header .btn-icon{color:var(--ink-2)}.board-header button:hover .btn-icon{color:var(--ink)}.btn-icon{flex:none;width:16px;height:16px;display:block}.caret-icon{width:14px;height:14px;margin-left:-3px}.btn-label{white-space:nowrap}.board-brand{border-radius:var(--r-sm);color:var(--ink);letter-spacing:-.01em;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:14px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.brand-name{font-weight:600}.brand-tld{color:var(--ink-3);font-weight:400}.brand-mark{background:linear-gradient(#cec1fe,#cec1fe) 0 0/20px 5px no-repeat,linear-gradient(#98ddbd,#98ddbd) 8px 9px/12px 5px no-repeat;flex:none;width:20px;height:14px}.board-rule{background:var(--line-2);flex:none;width:1px;height:18px;margin:0 12px}.board-navgroup{align-items:center;gap:10px;display:flex}.board-month{color:var(--ink);letter-spacing:-.01em;white-space:nowrap;flex:none;font-size:14px;font-weight:500;line-height:1;display:inline-grid}.board-month-label,.board-month-sizer{grid-area:1/1}.board-month-sizer{visibility:hidden;pointer-events:none;display:grid}.board-month-sizer span{grid-area:1/1}.board-nav{align-items:center;gap:6px;display:flex}.board-header .nav-today{padding:0 10px}.nav-pair{display:inline-flex}.board-header .nav-pair button{width:30px;color:var(--ink-2);padding:0}.board-header .nav-pair button:hover{color:var(--ink)}.board-header .nav-pair button:first-child{border-radius:var(--r-md) 0 0 var(--r-md)}.board-header .nav-pair button:last-child{border-radius:0 var(--r-md) var(--r-md) 0;margin-left:-1px}.nav-arrow{width:14px;height:14px;display:block}.calendar-name-field{justify-items:stretch;max-width:100%;display:inline-grid}.calendar-name-field>span,.board-header input.calendar-name,span.calendar-name{border-radius:var(--r-md);box-shadow:none;color:var(--ink);font-family:var(--font);letter-spacing:-.01em;text-align:center;white-space:nowrap;background:0 0;border:0;grid-area:1/1;margin:0;padding:0 8px;font-size:15px;font-weight:600;line-height:32px}.calendar-name-field>span{visibility:hidden;pointer-events:none}.calendar-name-field>span.is-hint,.board-header input.calendar-name::placeholder,span.calendar-name.is-hint{color:var(--ink-3);font-weight:400}.board-header input.calendar-name{width:100%;min-width:0;height:32px;min-height:32px;transition:background-color .12s,box-shadow .12s}.board-header input.calendar-name:hover{background:var(--surface-2)}.board-header input.calendar-name:focus,.board-header input.calendar-name:focus-visible{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-3);border:0;outline:none}span.calendar-name{text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.board-header button.avatar-row{background:0 0;border:0;border-radius:16px;align-items:center;gap:0;height:32px;padding:0 3px;display:flex}.board-header button.avatar-row:hover{background:var(--surface-2)}.avatar{border:2px solid var(--bg);width:26px;height:26px;min-height:0;font-family:var(--font);letter-spacing:.02em;border-radius:50%;justify-content:center;align-items:center;margin-left:-7px;padding:0;font-size:10px;font-weight:700;display:inline-flex}.avatar-row .avatar:first-child{margin-left:0}.board-header .new-event{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);gap:5px;padding:0 12px 0 9px;font-weight:600}.board-header .new-event:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.board-header .new-event .btn-icon,.board-header .new-event:hover .btn-icon{color:inherit}.settings{position:relative}.settings-menu{z-index:30;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-lg);width:max-content;min-width:240px;max-width:300px;box-shadow:var(--shadow-md);transform-origin:100% 0;animation:pop .14s var(--ease);gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.settings-menu label{border-radius:var(--r-sm);min-height:32px;color:var(--ink);cursor:pointer;flex-direction:row;align-items:center;gap:10px;margin:0;padding:0 8px;font-size:13px;display:flex}.settings-menu label:hover{background:var(--surface-3)}.settings-menu input[type=checkbox]{appearance:auto;width:15px;height:15px;min-height:15px;box-shadow:none;accent-color:var(--accent);background:0 0;border:0;margin:0;padding:0}.settings-menu .holiday-mark{height:12px}.settings-sep{background:var(--line-2);height:1px;margin:4px 6px}.settings-label{color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;margin:0;padding:4px 8px 2px;font-size:11px;font-weight:500}.settings-choices{flex-wrap:wrap;gap:4px;padding:2px 6px;display:flex}.settings-menu .settings-choices button{border:1px solid var(--line-2);border-radius:var(--r-sm);height:26px;min-height:26px;color:var(--ink-2);background:0 0;padding:0 9px;font-size:12px}.settings-menu .settings-choices button:hover{color:var(--ink);background:var(--surface-3)}.settings-menu .settings-choices button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--ink)}.settings-menu .settings-command{border-radius:var(--r-sm);width:100%;height:32px;min-height:32px;color:var(--ink);text-align:left;background:0 0;border:0;justify-content:flex-start;gap:10px;padding:0 8px;font-weight:400}.settings-menu .settings-command:hover{background:var(--surface-3)}.settings-command-icon{width:16px;height:16px;color:var(--ink-2);flex:none;display:block}.settings-menu .settings-command.danger{color:var(--danger)}.settings-note{color:var(--danger);margin:0;padding:4px 8px 2px;font-size:12px;line-height:1.4}.notice{color:#f0d79b;border-radius:var(--r-md);background:#2b2416;border:1px solid #4a3e20;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:10px 12px;font-size:13px;line-height:1.4;display:flex}.notice button{height:28px;min-height:28px;color:inherit;background:#ffffff14;border-color:#0000;flex:none;padding:0 10px;font-size:12px}.notice.toast{z-index:50;border-radius:var(--r-lg);width:max-content;max-width:min(560px,100vw - 32px);box-shadow:var(--shadow-md);animation:drop .18s var(--ease);position:fixed;top:64px;left:50%;transform:translate(-50%)}.month-scroll{overscroll-behavior:contain;background:var(--bg);scrollbar-width:thin;scrollbar-color:var(--line-3) transparent;flex:1;min-height:0;padding:0 12px 140px;position:relative;overflow:auto}.weekday-bar{z-index:5;background:var(--bg);color:var(--ink-3);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));padding:12px 0 8px;font-size:11px;font-weight:500;display:grid;position:sticky;top:0}.weekday-bar span:nth-child(n+6){color:var(--ink-4)}.month-list{align-content:start;gap:28px;display:grid}.month-block{display:grid}.cal-week{grid-template-rows:minmax(96px,auto);grid-template-columns:minmax(0,1fr);display:grid;position:relative}.cal-week.narrow{grid-template-rows:minmax(84px,auto)}.month-kicker{z-index:1;pointer-events:none;position:absolute;top:8px;left:6px}.month-kicker.above{padding:6px 2px 10px;position:static}.month-kicker strong{color:var(--ink);font-family:var(--font);letter-spacing:-.02em;font-size:24px;font-weight:600;line-height:1;display:block}.month-kicker span{color:var(--ink-3);font-family:var(--mono);letter-spacing:.04em;margin-top:5px;font-size:12px;font-weight:500;display:block}.cal-days{grid-area:1/1;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-day{border:0;border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);height:auto;min-height:0;color:var(--ink-2);font-family:var(--mono);text-align:left;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:0;margin:0;padding:6px 8px;font-size:12px;font-weight:500;line-height:1;transition:background-color .12s,color .12s;display:flex;position:relative}.cal-day:first-child{border-left-color:#0000}.cal-week:first-child .cal-day:not(.lead){border-top:1px solid var(--line)}.cal-day.lead+.cal-day:not(.lead){border-left-color:var(--line)}.cal-day:hover{background:var(--surface-3);color:var(--ink)}.cal-day.weekend{background:var(--surface-weekend)}.cal-day.outside{background:var(--surface-outside);color:var(--ink-3)}.cal-day.lead{pointer-events:none;background:0 0;border-color:#0000}.cal-day.today{color:var(--ink)}.cal-day.picked,.cal-day.picked:hover{background:var(--accent-soft);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent-ring)}.cal-day .day-head{justify-content:space-between;align-items:center;gap:6px;width:100%;min-width:0;min-height:20px;display:flex}.cal-day .day-num{border-radius:var(--r-sm);flex:none;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:-4px;padding:0 5px;display:inline-flex}.cal-day.today .day-num{background:var(--accent);color:var(--accent-ink);font-weight:700}.cal-day .holiday-name{white-space:nowrap;min-width:0;max-width:100%;color:var(--gold);font-family:var(--font);letter-spacing:0;justify-content:flex-end;align-items:center;margin-left:auto;font-size:12px;font-weight:500;line-height:1;display:inline-flex;overflow:hidden}.holiday-bit{align-items:center;gap:4px;min-width:0;display:inline-flex}.holiday-bit>span{text-overflow:ellipsis;overflow:hidden}.holiday-sep{color:var(--ink-3);flex:none;margin-right:3px}.holiday-mark{opacity:.9;flex:none;height:11px;display:block}.cal-week.narrow .cal-day{padding:5px 4px}.cal-week.narrow .cal-day .day-num{min-width:18px;height:18px;margin-left:-2px;padding:0 3px}.cal-week.narrow .holiday-icons{flex:none;align-items:center;gap:3px;margin-left:auto;line-height:1;display:inline-flex}.cal-week.narrow .holiday-icons .holiday-mark{height:10px}.cal-week.narrow .cal-bars{grid-auto-rows:auto}.cal-week.narrow .event-bar.stacked{white-space:normal;overflow-wrap:anywhere;align-self:start;min-width:0;max-width:100%;height:auto;margin:0 2px;padding:3px 4px;line-height:1.2;overflow:hidden}.cal-week.narrow .event-bar.stacked span{white-space:normal;text-overflow:unset;overflow-wrap:anywhere;display:block;overflow:hidden}.cal-week.narrow .month-kicker strong{font-size:18px}.cal-bars{z-index:2;grid-area:1/1;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:var(--event-row,22px);pointer-events:none;align-content:start;row-gap:2px;padding:30px 0 8px;display:grid;position:relative}.event-bar{pointer-events:auto;z-index:1;min-height:0;height:max(20px, calc(var(--event-size,12px) + 8px));text-align:left;font-family:var(--event-font,var(--font));font-size:var(--event-size,12px);border:0;border-radius:5px;justify-content:flex-start;align-self:center;margin:0 3px;padding:0 7px;font-weight:500;line-height:1;transition:filter .12s,transform .12s;position:relative;overflow:hidden}.event-bar:hover{filter:brightness(1.08)}.event-bar:active{transform:scale(.99)}.event-bar span{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;max-width:100%;overflow:hidden}.event-bar.cont{background:color-mix(in srgb, var(--c) 20%, var(--surface));color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 45%, transparent)}.event-line{pointer-events:auto;border:0;border-radius:2px;align-self:center;height:3px;min-height:0;margin:0 8px 0 4px;padding:0;transition:filter .12s;position:relative}.event-line:hover{filter:brightness(1.15)}.event-line.ends:after{content:"";background:inherit;border-radius:1px;width:2px;height:12px;position:absolute;top:50%;right:-1px;transform:translateY(-50%)}.event-dialog{left:50%;bottom:max(20px, env(safe-area-inset-bottom));z-index:20;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-xl);width:min(500px,100vw - 24px);box-shadow:var(--shadow-lg);font-family:var(--font);animation:rise .18s var(--ease);gap:10px;padding:14px 16px;display:grid;position:fixed;transform:translate(-50%)}.event-dialog-top{color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:11px;font-weight:500;display:flex}.event-dialog-top .num{color:var(--ink-2);letter-spacing:.06em}.event-dialog input{border:0;border-bottom:1px solid var(--line-2);width:100%;min-height:0;color:var(--ink);font-family:var(--font);letter-spacing:-.01em;background:0 0;border-radius:0;padding:4px 0 10px;font-size:20px;font-weight:500}.event-dialog input::placeholder{color:var(--ink-3);font-weight:400}.event-dialog input:focus,.event-dialog input:focus-visible{box-shadow:none;border-bottom-color:var(--accent);outline:none}.event-dates{gap:12px;display:flex}.event-dates label{color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;flex:1;gap:5px;font-size:11px;font-weight:500}.event-dialog input[type=date]{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--bg);width:100%;height:32px;min-height:32px;color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--mono);letter-spacing:0;padding:0 8px;font-size:13px;font-weight:400}.event-dialog input[type=date]:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.event-dialog-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:2px;display:flex}.sheet-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.event-dialog .sheet-actions{gap:6px;margin-left:auto}.event-dialog .sheet-actions button{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface-3);height:30px;min-height:30px;color:var(--ink);padding:0 12px;font-size:13px;font-weight:500}.event-dialog .sheet-actions button:hover{background:var(--surface-4)}.event-dialog .sheet-actions button.danger{color:var(--danger);background:0 0;border-color:#0000;margin-right:4px}.event-dialog .sheet-actions button.danger:hover{background:var(--danger-soft)}.event-dialog .sheet-actions .new-event{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.event-dialog .sheet-actions .new-event:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.colors{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.color{border:2px solid #0000;border-radius:50%;width:24px;height:24px;min-height:24px;padding:0;transition:transform .12s,box-shadow .12s,border-color .12s}.color:hover{transform:scale(1.08)}.color[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--surface-2)}.event-dialog .color{width:22px;height:22px;min-height:22px}.color-custom{cursor:pointer;background:conic-gradient(#ff6b6b,#ffd36b,#7dff9a,#6bd8ff,#6b7dff,#d96bff,#ff6b6b);border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.color-custom:after{content:"";z-index:1;background:var(--surface-2);pointer-events:none;border-radius:50%;width:10px;height:10px;position:relative}.color-custom[data-picked]{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--surface-2);background:var(--picked)}.color-custom[data-picked]:after{display:none}.color-custom input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;min-height:0;margin:0;padding:0;position:absolute;inset:0}.modal-scrim{z-index:40;-webkit-backdrop-filter:blur(2px);background:#0000008c;justify-content:center;align-items:center;padding:16px;animation:.14s ease-out fade;display:flex;position:fixed;inset:0}.modal{background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-xl);width:min(460px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lg);animation:pop .16s var(--ease);align-content:start;gap:14px;padding:18px 20px 20px;display:grid;position:relative;overflow:auto}.modal-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal h2{font-size:16px}.modal p{color:var(--ink-2);margin:0;font-size:14px;line-height:1.5}.modal-close{border-radius:var(--r-sm);width:28px;height:28px;min-height:28px;color:var(--ink-2);background:0 0;border:0;flex:none;padding:0}.modal-close:hover{background:var(--surface-3);color:var(--ink)}.modal-close svg{width:18px;height:18px;display:block}.modal-form{gap:14px;display:grid}.modal .sheet-actions{justify-content:flex-end}.modal .sheet-actions.start{justify-content:flex-start}.modal .sheet-actions button,.modal .sheet-actions a.button{min-height:34px;padding:0 12px;font-size:13px}.link-list{gap:8px;display:grid}.link-row{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--bg);align-items:center;gap:10px;min-height:40px;padding:4px 4px 4px 12px;display:flex}.link-kind{color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:11px;font-weight:500}.link-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-family:var(--mono);-webkit-user-select:all;user-select:all;flex:1;font-size:13px;overflow:hidden}.link-row button{flex:none;height:30px;min-height:30px;padding:0 10px;font-size:12px}.calendar-list{gap:4px;display:grid}.calendar-list button{text-align:left;background:0 0;border-color:#0000;justify-content:space-between;min-height:38px;padding:0 12px;font-weight:500}.calendar-list button:hover{background:var(--surface-3)}.calendar-list button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-ring)}.calendar-list-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.calendar-list-now{color:var(--ink-3);flex:none;font-size:12px;font-weight:400}.calendar-list-new{color:var(--ink-2);background:0 0;border-style:dashed;justify-content:center}.calendar-list-new:hover{background:var(--surface-3);color:var(--ink)}.history .icon-color{gap:8px;display:grid}.history .icon-color>span{color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:500}.filters{flex-wrap:wrap;gap:6px;display:flex}.filters button{height:28px;min-height:28px;color:var(--ink-2);background:0 0;padding:0 10px;font-size:12px}.filters button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--ink)}.history ol{margin:0;padding:0;list-style:none;display:grid}.history li{border-top:1px solid var(--line);gap:3px;padding:9px 0;font-size:14px;line-height:1.4;display:grid}.history li:first-child{border-top:0}.history li strong{font-weight:600}.history small{color:var(--ink-3);font-family:var(--mono);font-size:12px}.device-link{font-family:var(--mono);font-size:13px}.panel{background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);gap:14px;padding:20px;display:grid}.panel h2{font-size:18px}.panel p{color:var(--ink-2);margin:0;line-height:1.5}.gate{background:radial-gradient(1200px 600px at 50% 120%, #1a1a22, transparent 70%), var(--bg);min-height:100dvh;color:var(--ink);justify-content:center;align-items:center;display:flex;position:relative}.gate-stack{z-index:1;justify-items:center;gap:16px;display:grid;position:relative}.gate-note{color:var(--ink-3);margin:0;font-size:13px}.admin-screen{position:relative}.palm-wash{opacity:.18;mix-blend-mode:screen;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;width:min(380px,70vw);height:auto;position:absolute;top:12%;left:max(16px,50% - 520px)}.admin-create{z-index:1;flex:1;justify-content:center;padding:48px 16px;display:flex;position:relative}.admin-create .panel{align-self:start;width:min(440px,100%)}.user-dialog-slot{z-index:30;-webkit-backdrop-filter:blur(2px);background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.user-dialog-slot .palm-wash{z-index:0;position:absolute}.user-dialog-slot .panel{z-index:1;width:min(440px,100%);position:relative}.weekday-row,.day-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday-row{color:var(--ink-3);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:8px 0 4px;font-size:11px}.week{margin-bottom:8px}.day{border-radius:var(--r-sm);min-height:36px;font-family:var(--mono);background:0 0;border:0;padding:0;font-size:12px}.day.outside{color:var(--ink-3)}.day.today span{border-radius:var(--r-sm);box-shadow:inset 0 0 0 1.5px var(--accent);padding:2px 6px}.day.merge{background:var(--accent-soft);color:var(--ink)}.day.cursor span{font-weight:700}.lanes{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:max(1.4rem, calc(var(--event-size,12px) + 8px));gap:2px 3px;margin-top:2px;display:grid}.band{min-height:max(1.4rem, calc(var(--event-size,12px) + 8px));text-align:left;min-width:0;font-family:var(--event-font,var(--font));font-size:var(--event-size,12px);text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:5px;justify-content:flex-start;padding:0 7px;line-height:1.2;overflow:hidden}.band.continues-before{border-top-left-radius:2px;border-bottom-left-radius:2px}.band.continues-after{border-top-right-radius:2px;border-bottom-right-radius:2px}.day-scroll{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);overscroll-behavior:contain;height:min(68dvh,720px);min-height:420px;overflow:auto}.day-track{position:relative}.day-row{border-bottom:1px solid var(--line);display:block;position:absolute;left:0;right:0}.day-row.weekend{background:var(--surface-weekend)}.day-gutter{text-align:left;width:76px;height:100%;min-height:0;font-family:var(--mono);background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:0 10px;display:flex}.day-gutter small{color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;font-size:11px;line-height:1}.day-gutter strong{font-size:1.1rem;font-weight:500;line-height:1.1}.day-gutter.today strong{border-radius:var(--r-sm);background:var(--accent);color:var(--accent-ink);padding:2px 7px;display:inline-block}.span-band{z-index:1;text-align:left;border:0;border-radius:6px;justify-content:flex-start;align-items:flex-start;min-height:0;padding:6px 10px;display:flex;position:absolute;overflow:hidden}.span-band span{max-width:100%;font-family:var(--event-font,var(--font));font-size:var(--event-size,12px);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;position:relative;overflow:hidden}.selection-merge{z-index:2;background:var(--accent-soft);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent-ring)}.day-list{gap:8px;display:grid}.day-card{text-align:left;justify-content:flex-start;align-items:center;gap:10px;width:100%;display:flex}.day-card small{color:var(--ink-3);display:block}.swatch{border-radius:3px;flex:none;width:10px;height:28px}.year-grid{gap:16px;padding:12px;display:grid}.mini-month{gap:6px;display:grid}.mini-title{background:0 0;border:0;justify-content:flex-start;padding:0;font-weight:600}.mini-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.mini-day{border-radius:var(--r-sm);min-height:28px;font-family:var(--mono);background:0 0;border:0;padding:0;font-size:.72rem}.mini-day.outside{visibility:hidden}@media (width>=720px){.year-grid{grid-template-columns:repeat(3,1fr)}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.97)}}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes rise-sheet{0%{opacity:0;transform:translateY(12px)}}@keyframes drop{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=640px){.board-header,.board-header[data-rows="2"],.board-header[data-rows="3"]{grid-template-columns:auto minmax(0,1fr) auto;grid-auto-rows:auto;align-items:center;gap:8px 10px;padding:8px 10px;display:grid}.board-context,.board-header[data-rows="2"] .board-context,.board-header[data-rows="3"] .board-context,.board-actions,.board-header[data-rows="2"] .board-actions,.board-header[data-rows="3"] .board-actions{display:contents}.board-brand{grid-area:1/1/2/2}.board-rule{display:none}.board-title,.board-header[data-rows="2"] .board-title,.board-header[data-rows="3"] .board-title{grid-area:1/2/2/3;justify-content:center;min-width:0}.board-header .new-event{grid-area:1/3/2/4;width:32px;padding:0}.board-navgroup{grid-area:2/1/3/4;justify-self:start;gap:8px}.board-tools{grid-area:2/1/3/4;justify-self:end;gap:6px}.nav-pair,.board-header .new-event .btn-label,.board-header .with-icon .btn-label,.board-header .with-icon .caret-icon{display:none}.board-header button.with-icon{width:32px;padding:0}.board-header .calendars-btn>.btn-icon:first-child{display:block}.board-header .nav-today{padding:0 8px}.board-month{font-size:13px}.calendar-name-field>span,.board-header input.calendar-name,span.calendar-name{padding:0 6px;font-size:14px}.month-scroll{padding:0 6px 120px}.month-list{gap:20px}.event-dialog{width:100%;padding-bottom:calc(14px + env(safe-area-inset-bottom));border-radius:var(--r-xl) var(--r-xl) 0 0;animation:rise-sheet .18s var(--ease);border-bottom:0;bottom:0;left:0;right:0;transform:none}.modal-scrim{align-items:flex-end;padding:0}.modal{width:100%;max-height:calc(100dvh - 48px);padding-bottom:calc(20px + env(safe-area-inset-bottom));border-radius:var(--r-xl) var(--r-xl) 0 0;border-bottom:0}.notice.toast{top:auto;bottom:calc(16px + env(safe-area-inset-bottom))}}
