:root{color-scheme:light dark;--gold:#be830e;--gold-tint:light-dark(#f5edde,#2a2113);--black:#000;--white:#fff;--cool-50:light-dark(#f3f8fd,#0b111a);--cool-100:light-dark(#e4eff9,#15243a);--cool-300:light-dark(#b6d0ea,#2b4666);--cool-700:light-dark(#1f5a94,#8db8e6);--bg:var(--cool-50);--surface:light-dark(#fff,#131b27);--surface-alt:var(--cool-100);--text:light-dark(#333,#f2f2f2);--text-muted:light-dark(#55606b,#a9b4c0);--border:light-dark(#d9e4ef,#25344a);--link:var(--cool-700);--header-bg:light-dark(#fff,#000);--header-text:light-dark(#111,#fff);--header-hover:light-dark(#00000012,#ffffff24);--on-gold:#000;--btn-bg:light-dark(#000,#fff);--btn-text:light-dark(#fff,#000);--free:light-dark(#15803d,#4ade80);--booked:light-dark(#6b7280,#9ca3af);--error:light-dark(#b91c1c,#f87171);--radius:12px;--shadow-color:light-dark(#00000014,#00000080);--shadow:0 4px 16px var(--shadow-color);--tap:44px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,:before,:after{box-sizing:border-box}body{font-family:var(--font);color:var(--text);background:var(--bg);font-variant-numeric:tabular-nums;margin:0;font-size:1rem;line-height:1.5}main{max-width:72rem;margin:0 auto;padding:1.5rem 1rem 3rem}main.narrow{max-width:38rem}main.prose{max-width:44rem}h1{margin:0 0 1rem;font-size:1.75rem;line-height:1.2}h2{margin:1.5rem 0 .5rem;font-size:1.25rem;line-height:1.3}p{margin:0 0 .75rem}a{color:var(--link);text-decoration-color:var(--gold);text-underline-offset:.2em}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.muted{color:var(--text-muted)}.lede{color:var(--text-muted);margin-top:-.5rem;margin-bottom:1.25rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{min-height:var(--tap);z-index:100;background:var(--gold);color:var(--on-gold);border-radius:var(--radius);align-items:center;padding:.6rem 1rem;display:inline-flex;position:absolute;top:-4rem;left:.5rem}.skip:focus{top:.5rem}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.stack>*+*{margin-top:.75rem}.topbar{background:var(--header-bg);color:var(--header-text);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:0 1.25rem;padding:0 1rem;display:flex}.topbar a,.topbar summary{color:var(--header-text)}.brand{align-items:center;gap:.6rem;min-height:3.5rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{background:var(--gold);border-radius:3px;width:.9rem;height:.9rem}.tabs{order:3;gap:0 1.25rem;width:100%;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.tabs a{min-height:var(--tap);white-space:nowrap;border-bottom:3px solid #0000;align-items:center;padding:0 .15rem;text-decoration:none;display:inline-flex}.tabs a:hover,.tabs a[aria-current=page]{border-bottom-color:var(--gold)}.tabs a[aria-current=page]{font-weight:600}@media (width>=48rem){.tabs{order:0;width:auto;overflow:visible}.tabs a{min-height:3.5rem}}.actions{align-items:center;gap:.25rem;margin-left:auto;display:flex}.icon-link,.menu summary{min-width:var(--tap);min-height:var(--tap);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;list-style:none;display:inline-flex;position:relative}.menu summary::-webkit-details-marker{display:none}.icon-link:hover,.menu summary:hover,.menu[open] summary,.icon-link[aria-current=page]{background:var(--header-hover)}.icon-link .count{position:absolute;top:2px;right:0}.topbar .theme-toggle{min-width:var(--tap);min-height:var(--tap);color:var(--header-text);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:none}html[data-theme] .topbar .theme-toggle{display:inline-flex}.topbar .theme-toggle:hover{background:var(--header-hover);color:var(--header-text)}html[data-theme=dark] .theme-toggle .ico-sun,html[data-theme=light] .theme-toggle .ico-moon{display:none}.theme-toggle span{display:inline-flex}.menu{position:relative}.menu-panel{z-index:20;background:var(--surface);min-width:15rem;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.9rem;position:absolute;top:calc(100% + .25rem);right:0}.menu-panel a:not(.button){color:var(--link)}.menu-who{margin-bottom:.5rem}.menu-links{margin:0 0 .75rem;padding:0;list-style:none}.menu-links a{min-height:var(--tap);align-items:center;display:flex}.avatar{background:var(--gold);width:2.1rem;height:2.1rem;color:var(--on-gold);border-radius:50%;place-items:center;font-size:.8rem;font-weight:700;display:inline-grid}.site-footer{text-align:center;color:var(--text-muted);padding:1.5rem 1rem 2rem;font-size:.875rem}.site-footer a{min-height:var(--tap);align-items:center;padding:0 .5rem;display:inline-flex}form{flex-wrap:wrap;align-items:center;gap:.5rem;margin-block:1.5rem;display:flex}.inline-form{margin:0}label{font-weight:600}input,select{width:100%;min-width:0;min-height:var(--tap);font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex:1;padding:.4rem .75rem}button,.button{min-height:var(--tap);font:inherit;color:var(--btn-text);background:var(--btn-bg);border:2px solid var(--btn-bg);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:.4rem 1.25rem;font-weight:600;text-decoration:none;display:inline-flex}button:not(:disabled):hover,.button:hover{background:var(--gold);border-color:var(--gold);color:var(--on-gold)}button:disabled{opacity:.45;cursor:not-allowed}.button-quiet{color:var(--text);border-color:var(--border);background:0 0}.button.is-off{opacity:.4;cursor:default}.menu-panel .button{width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}a.card:hover{border-color:var(--cool-300);box-shadow:var(--shadow)}.card[aria-current=true],a.card[aria-current=true]:hover{box-shadow:inset 4px 0 0 var(--gold)}.panel{background:var(--surface-alt);border:1px solid var(--cool-300);border-radius:var(--radius);padding:1rem}.callout-info,.callout{border-radius:var(--radius);padding:.75rem 1rem;display:block}.callout-info{background:var(--cool-100);border:1px solid var(--cool-300)}.callout{background:var(--gold-tint);border:1px solid var(--gold);color:var(--text)}.callout-info svg{vertical-align:-.2em}.error{border:1px solid var(--error);border-radius:var(--radius);color:var(--error);padding:.75rem 1rem;font-weight:600}.badge{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .7rem;font-size:.875rem;font-weight:600;display:inline-flex}.badge-free{color:var(--free)}.badge-booked{color:var(--booked)}.badge-shared{color:var(--text);background:var(--gold-tint);border-color:var(--gold)}.count{background:var(--gold);min-width:1.25rem;color:var(--on-gold);text-align:center;border-radius:999px;padding:0 .35rem;font-size:.75rem;font-weight:700}.filters{margin:0 0 1.5rem;padding:.6rem .75rem}.pills{flex-wrap:wrap;gap:.5rem;display:flex}.pill{background:var(--surface);border:1px solid var(--cool-300);border-radius:999px;align-items:center;display:inline-flex;position:relative}.pill:hover{border-color:var(--text-muted)}.pill:has(summary:focus-visible),.pill:has(.pill-x:focus-visible){outline:3px solid var(--gold);outline-offset:2px}.pill summary{min-height:var(--tap);cursor:pointer;border-radius:999px;outline:none;align-items:center;gap:.4rem;padding:0 1rem;font-weight:600;list-style:none;display:flex}.pill summary::-webkit-details-marker{display:none}.pill summary:after{content:"▾";color:var(--text-muted);font-size:.8em}.pill details[open]>summary:after{content:"▴"}.pill-x{color:var(--text-muted);border-radius:0 999px 999px 0;justify-content:center;align-self:stretch;align-items:center;padding:0 .85rem 0 .35rem;display:inline-flex}.pill-x:hover{color:var(--text)}.pill:has(.pill-x) summary{padding-right:.6rem}.pop-body{z-index:20;background:var(--surface);border:1px solid var(--cool-300);border-radius:var(--radius);width:max-content;max-width:min(92vw,34rem);box-shadow:var(--shadow);gap:.75rem;margin:0;padding:1rem;display:grid;position:absolute;top:calc(100% + .5rem);left:0}.pop-wide{width:min(92vw,30rem)}.pop-body legend{float:left;width:100%;margin-bottom:.25rem;padding:0;font-size:.875rem;font-weight:700}.pop-body legend+*{clear:both}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.days{grid-template-columns:repeat(5,1fr);display:grid}@media (width>=30rem){.days{grid-template-columns:repeat(7,1fr)}}.chip{min-height:var(--tap);color:var(--text);background:var(--surface);border:1px solid var(--cool-300);cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.25rem 1rem;font-size:.925rem;display:inline-flex;position:relative}.chip input{opacity:0;cursor:pointer;width:100%;min-height:0;margin:0;position:absolute;inset:0}.chip:hover{border-color:var(--text-muted)}.chip:has(input:checked){color:var(--btn-text);background:var(--btn-bg);border-color:var(--btn-bg);font-weight:600}.chip:has(input:checked):before{content:"✓"}.chip:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}.chip-day{flex-direction:column;gap:0;padding-inline:.2rem;line-height:1.2}.chip-day:has(input:checked):before{content:none}.chip-day>span{text-align:center;display:grid}.chip-top{font-weight:600}.chip-sub{opacity:.85;font-size:.75rem}.field{gap:.25rem;font-size:.875rem;font-weight:600;display:grid}.stepper{align-items:center;gap:.25rem;display:flex}.stepper input{text-align:center;appearance:textfield;flex:none;width:3.25rem}.stepper input::-webkit-inner-spin-button{appearance:none;margin:0}.stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.stepper-btn{width:var(--tap);color:var(--text);background:var(--surface);border-color:var(--cool-300);padding:0;font-size:1.25rem}.stepper-btn[hidden],.pop-done[hidden],#filters-go[hidden],:root[data-js] #filters-go,:root[data-js] #from-go{display:none}.pop-done{justify-self:stretch}@media (width<=47.99rem){.pill{position:static}.pop-body,.pop-wide{border-width:1px 0 0;border-radius:16px 16px 0 0;width:auto;max-width:none;max-height:80vh;padding-bottom:1.25rem;position:fixed;inset:auto 0 0;overflow-y:auto}html[data-sheet] body:after{content:"";z-index:19;background:#0006;position:fixed;inset:0}}.results-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.results-head h2{margin:0}.sort{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.sort select{width:auto}.search-layout{gap:1.5rem;display:grid}.search-layout h2:first-child{margin-top:0}.results{gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.result{color:var(--text);gap:.35rem;text-decoration:none;display:grid}.result-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem .75rem;display:flex}.meta{color:var(--text-muted);font-size:.9rem}.sheet{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.sheet h2{margin-top:0}.sheet-head{justify-content:space-between;align-items:start;gap:1rem;display:flex}.sheet-empty{display:none}.slots{gap:.5rem;margin:.75rem 0 1rem;padding:0;list-style:none;display:grid}.slots li{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .75rem;display:flex}.slots li[aria-current=true]{border:2px solid var(--gold)}.slot-time{min-width:7.5rem;font-weight:600}@media (width<=59.99rem){.sheet.is-open{z-index:30;border-radius:var(--radius) var(--radius) 0 0;border-bottom:0;max-height:80vh;position:fixed;inset:auto 0 0;overflow-y:auto}}@media (width>=60rem){.search-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}.sheet{position:sticky;top:1rem}.sheet-empty{text-align:center;border:1px dashed var(--cool-300);border-radius:var(--radius);padding:2rem 1rem;display:block}}.timetable-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.timetable-head h2{margin:0}.slider{flex-wrap:wrap;align-items:center;gap:.25rem .75rem;margin-bottom:.75rem;display:flex}.slider label{font-weight:600}.slider input[type=range]{min-width:0;min-height:2.75rem;accent-color:var(--gold);flex:100%;order:3}.slider output{font-variant-numeric:tabular-nums;flex:1;font-size:.9rem}.grid thead th .day{white-space:nowrap;font-weight:600;display:block}.scroll{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);position:relative;overflow-x:auto}.grid{border-collapse:separate;border-spacing:0;width:100%;min-width:46rem}.grid th,.grid td{text-align:center;border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:0}.grid thead th{background:var(--surface-alt);padding:.5rem .25rem;font-size:.8rem}.grid tbody th{z-index:1;background:var(--surface);text-align:left;min-width:10.5rem;padding:.5rem .75rem;font-size:.9rem;font-weight:600;position:sticky;left:0}.grid thead th:first-child{z-index:2;position:sticky;left:0}.cell{min-width:3.25rem;position:relative}.cap{color:var(--text-muted);font-size:.8rem;font-weight:400;display:block}.cell a,.cell>span{width:100%;min-height:var(--tap);color:var(--text);justify-content:center;align-items:center;gap:.2rem;font-size:.85rem;font-weight:600;text-decoration:none;display:flex}.cell-free a{color:var(--free)}.cell-free a:hover,.cell-shared a:hover{background:var(--cool-100)}.cell-shared{background:var(--gold-tint)}.cell-booked{background:var(--surface-alt);color:var(--booked)}.cell-booked>span{color:var(--booked)}.cell-past{opacity:.4}.legend{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.login-form{gap:.75rem;margin-block:1rem 0;display:grid}.login-form label{gap:.25rem;display:grid}.accounts{gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}button.account{text-align:left;width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:flex-start;gap:.75rem;padding:.5rem 1rem;display:flex}button.account:hover{background:var(--gold-tint);border-color:var(--gold);color:var(--text)}.messages{gap:.75rem;margin:1rem 0;padding:0;list-style:none;display:grid}.message[data-unread]{box-shadow:inset 4px 0 0 var(--gold)}.message-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.usage{gap:.75rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.usage-row{justify-content:space-between;gap:1rem;margin-bottom:.25rem;display:flex}.meter{background:var(--border);border-radius:999px;height:.5rem;overflow:hidden}.meter>span{background:var(--gold);height:100%;display:block}@media (prefers-reduced-motion:no-preference){button,.button,.tabs a,a.card{transition:background-color .15s,border-color .15s,box-shadow .15s,color .15s}}.slider [hidden]{display:none}.strip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem;padding:.75rem 1rem .5rem}.strip-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;display:flex}.strip-head h2{margin:0;font-size:.95rem}.strip-head a{min-height:var(--tap);align-items:center;font-size:.9rem;font-weight:600;display:inline-flex}.strip-scroll{margin-inline:-.25rem;padding:.25rem .25rem .5rem;overflow-x:auto}.strip-cells{grid-auto-columns:minmax(2.75rem,4rem);grid-auto-flow:column;justify-content:start;gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.strip-cell{min-height:3.5rem;color:var(--text);border:1px solid var(--border);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.05rem;line-height:1.2;text-decoration:none;display:flex;position:relative}a.strip-cell:hover{border-color:var(--text-muted)}.strip-h{color:var(--text-muted);font-size:.75rem}.strip-n{font-size:1rem;font-weight:700}.strip-gap{height:12px}.strip-cell.has-shared{background:var(--gold-tint);border-color:var(--gold)}.strip-cell.is-zero .strip-n{color:var(--text-muted);font-weight:400}.strip-cell.is-past{opacity:.45}.strip-cell[aria-current=true]{box-shadow:inset 0 0 0 2px var(--btn-bg)}.seg{background:var(--surface);border:1px solid var(--cool-300);border-radius:999px;padding:2px;display:inline-flex}.seg a{min-width:8rem;min-height:var(--tap);color:var(--text);border-radius:999px;justify-content:center;align-items:center;padding:0 1rem;text-decoration:none;display:inline-flex}.seg a[aria-current=true]{color:var(--btn-text);background:var(--btn-bg);font-weight:600}.grid-layout .sheet-empty{display:none}@media (width>=60rem){.grid-layout:has(.sheet){grid-template-columns:minmax(0,1fr) 22rem}.grid-layout:not(:has(.sheet)){grid-template-columns:minmax(0,1fr)}}.cell a[aria-current=true]{box-shadow:inset 0 0 0 3px var(--btn-bg)}.cell-dim a{opacity:.4}.search-layout>*{min-width:0}.strip{min-width:0;max-width:100%}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.page-head h1{margin:0}.share-opts{border:1px solid var(--cool-300);border-radius:var(--radius);background:var(--surface);padding:.25rem 1rem}.share-opts summary{min-height:var(--tap);cursor:pointer;align-items:center;font-weight:600;display:flex}.share-opts>*+:not(summary){margin-top:.75rem}.share-opts[open]{padding-bottom:1rem}.check{min-height:var(--tap);align-items:center;gap:.6rem;display:flex}.check input{flex:none;width:1.25rem;height:1.25rem}.field-inline{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.pill-switch{min-height:var(--tap);cursor:pointer;gap:.6rem;margin-left:.25rem;padding:0 1rem;font-weight:600;position:relative}.pill-switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.switch-track{background:var(--text-muted);border-radius:999px;flex:none;width:2.5rem;height:1.5rem;transition:background .15s;position:relative}.switch-knob{background:var(--surface);border-radius:50%;width:1.1rem;height:1.1rem;transition:transform .15s;position:absolute;top:.2rem;left:.2rem}.pill-switch:has(input:checked){background:var(--gold-tint);border-color:var(--gold)}.pill-switch input:checked+.switch-track{background:var(--text)}.pill-switch input:checked+.switch-track .switch-knob{transform:translate(1rem)}.pill-switch:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}@media (prefers-reduced-motion:reduce){.switch-track,.switch-knob{transition:none}}.slot-extra{border-top:1px solid var(--border);flex-wrap:wrap;flex-basis:100%;justify-content:space-between;align-items:center;gap:.5rem;padding-top:.4rem;display:flex}.slot-extra p{margin:0}.slot-extra .slot-help{flex-basis:100%;font-size:.875rem}.inbox-head{justify-content:space-between}.inbox-head h2{margin:0}.message a{color:var(--text);font-weight:600}.occupancy{align-items:center;gap:.35rem;margin:.25rem 0;font-weight:600;display:flex}@media (width<=40rem){.messages button,.inbox-head button{min-height:2.75rem}}.share-opts .field-inline{flex-wrap:wrap;justify-content:flex-start}.share-opts .field-inline select{flex:none;min-width:5rem}
