:root{color-scheme:dark;--ink: #0d1017;--on-accent: #08131a;--wash-a: 55%;--wash-b: 45%;--bg: #0d1017;--bg2: #141925;--panel: #171d2b;--panel2: #1c2334;--line: #242c3d;--line2: #2f3950;--tx: #e8ecf5;--tx2: #9aa6bf;--tx3: #67728c;--accent: #4cc9f0;--amber: #ffc043;--booked: #7fd16b;--warning: #ff9ab0;--danger: #ff5c7a;--radius: 16px;--radius-sm: 10px;--gap: 12px;--pad: 16px;--wash1: #1b2440;--wash2: #2a1c33;--f: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;--f-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme: light){:root{color-scheme:light;--bg: #f6f7fb;--bg2: #ffffff;--panel: #ffffff;--panel2: #f1f3f8;--line: #e2e6ef;--line2: #8b95ab;--tx: #0f1420;--tx2: #4e596f;--tx3: #5d6880;--accent: #0b6f94;--amber: #8a5800;--booked: #2b6f21;--warning: #a82c4f;--danger: #b3162f;--on-accent: #ffffff;--wash1: #b9d3f5;--wash2: #f3cbdf;--wash-a: 52%;--wash-b: 42%}}*{box-sizing:border-box}html,body{min-height:100%}#root{min-height:100vh}body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.5 var(--f);-webkit-font-smoothing:antialiased;overflow-x:hidden}#root:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(700px 700px at 10% -10%,color-mix(in srgb,var(--wash1) var(--wash-a),transparent),transparent 70%),radial-gradient(520px 520px at 95% 5%,color-mix(in srgb,var(--wash2) var(--wash-b),transparent),transparent 70%),var(--bg)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}::selection{background:color-mix(in srgb,var(--accent) 40%,transparent)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.02em}.display{font-size:clamp(28px,7vw,42px);font-weight:800;line-height:1.05;letter-spacing:-.03em}.title{font-size:22px;font-weight:700}.heading{font-size:17px;font-weight:600}.body{font-size:15px}.secondary{font-size:13px;color:var(--tx2)}.caption{font-size:11.5px;font-weight:500}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-weight:600}.muted{color:var(--tx2)}.faint{color:var(--tx3)}.small{font-size:13px}.label{font-size:11px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--tx3)}.wrap{width:100%;max-width:860px;margin:0 auto;padding:0 var(--pad) 72px}.wrap.wide{max-width:1100px}.stack{display:flex;flex-direction:column;gap:var(--gap)}.stack.lg{gap:22px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.sectionhead{display:flex;align-items:baseline;gap:10px;margin:26px 0 10px}.spacer{flex:1}.card{padding:var(--pad);border-radius:var(--radius);background:linear-gradient(to bottom,rgba(255,255,255,.025),transparent),var(--panel);border:1px solid var(--line);box-shadow:0 10px 18px #00000073}@media (prefers-color-scheme: light){.card{box-shadow:0 1px 2px #0f14200d,0 8px 20px #0f14200f}}.card.tight{padding:12px 14px}.card.flat{box-shadow:none}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:10px var(--pad);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px;font-weight:800;letter-spacing:-.02em;font-size:17px;color:var(--tx)}.brand:hover{text-decoration:none}.brand .glyph{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:linear-gradient(135deg,#4cc9f0,#ffc043);color:var(--ink);font-size:13px;font-weight:900}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;border-radius:var(--radius-sm);background:var(--panel2);border:1px solid var(--line2);color:var(--tx);font-size:14px;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.btn:hover{background:var(--line);text-decoration:none}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{background:color-mix(in srgb,var(--accent) 85%,white)}@media (prefers-color-scheme: light){.btn.primary:hover{background:color-mix(in srgb,var(--accent) 85%,black)}}.btn.ghost{background:transparent}.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 50%,transparent)}.btn.big{padding:13px 20px;font-size:15px;border-radius:12px}.btn[disabled]{opacity:.45;cursor:default}input,textarea,select{font:inherit;color:var(--tx);background:var(--bg2);border:1px solid var(--line2);border-radius:var(--radius-sm);padding:10px 12px;width:100%}input::placeholder{color:var(--tx3)}label.field{display:block}label.field>span{display:block;margin-bottom:6px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:7px;padding:6px 11px 6px 9px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:13px;font-weight:500;cursor:default}button.chip{cursor:pointer}.chip .dot{width:9px;height:9px;border-radius:50%;flex:none}.chip.off{opacity:.45}.tag{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600}.tag .sq{width:10px;height:10px;border-radius:3px;flex:none}.pill{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:500;border:1px solid currentColor}.pill.booked{color:var(--booked)}.pill.proposed{color:var(--amber)}.pill.idea{color:var(--tx3)}.pill.cancelled{color:var(--danger)}.ref{font-family:var(--f-mono);font-size:12px;letter-spacing:.04em;padding:1px 6px;border-radius:5px;background:var(--bg2);border:1px solid var(--line);color:var(--tx2)}.avatar{display:grid;place-items:center;border-radius:50%;flex:none;color:var(--ink);font-weight:800}.avatars{display:flex}.avatars>*+*{margin-left:-6px;box-shadow:0 0 0 2px var(--panel)}.strip{position:sticky;top:47px;z-index:15;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:10px 0;margin:0 0 4px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px)}.strip::-webkit-scrollbar{display:none}.strip button{flex:none;padding:7px 13px;border-radius:999px;cursor:pointer;background:transparent;border:1px solid var(--line);color:var(--tx2);font-size:13px;font-weight:600;white-space:nowrap}.strip button[aria-current=true]{background:var(--tx);border-color:var(--tx);color:var(--bg)}.hero{padding-top:20px}.hero h1{background-clip:text;-webkit-background-clip:text;color:transparent;padding-bottom:.08em}.hero .range{margin-top:8px}.rows{display:flex;flex-direction:column}.row{display:flex;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.row:first-child{border-top:0}.row .t{flex:none;width:52px;color:var(--tx2);font-size:13.5px}.row .b{min-width:0;flex:1}.row strong{font-weight:650}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:10px}.tile{padding:12px;border-radius:var(--radius-sm);background:var(--bg2);border:1px solid var(--line)}.tile .n{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.tile .k{margin-top:2px;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--tx3)}.tripcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.tripcard{display:block;color:inherit}.tripcard:hover{text-decoration:none;border-color:var(--line2)}.tripcard .strip-colors{display:flex;gap:3px;margin-top:12px}.tripcard .strip-colors i{height:5px;flex:1;border-radius:3px}.gantt-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:8px;-webkit-overflow-scrolling:touch}.gantt{position:relative}.gantt .axis{display:flex;height:34px;position:relative}.gantt .axis .d{flex:none;border-left:1px solid var(--line);font-size:10px;color:var(--tx3);padding:3px 0 0 4px;line-height:1.15}.gantt .axis .d.we{background:color-mix(in srgb,var(--warning) 8%,transparent)}.gantt .axis .d b{display:block;color:var(--tx2);font-size:11px;font-weight:700}.gantt .lane{position:relative;height:44px;margin-bottom:8px}.gantt .lane .bg{position:absolute;inset:0;border-radius:var(--radius-sm);background:var(--bg2);border:1px solid var(--line)}.gantt .bar{position:absolute;top:5px;bottom:5px;border-radius:8px;display:flex;align-items:center;padding:0 8px;overflow:hidden;font-size:12px;font-weight:650;color:#0c0f16;white-space:nowrap}.gantt .bar.home{opacity:.45}.gantt .glyph{position:absolute;top:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:1.5px solid currentColor;font-size:10px;z-index:2}.gantt .evt{position:absolute;top:4px;width:6px;height:6px;border-radius:50%;background:var(--amber);transform:translate(-50%)}.gantt .todayline{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);opacity:.7;z-index:3}.lanelabel{font-size:12px;font-weight:650;color:var(--tx2);margin:0 0 4px 2px}.mapbox{border-radius:var(--radius-sm);overflow:hidden;background:var(--bg2);border:1px solid var(--line)}.mapbox svg{display:block;width:100%;height:auto}.day{scroll-margin-top:100px}.day.today{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.dayhead{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.dayhead .num{font-size:13px;color:var(--tx3)}.wheres{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:8px}.where{display:inline-flex;align-items:center;gap:7px;font-size:13px}.opt{padding:12px 0;border-top:1px solid var(--line)}.opt:first-of-type{border-top:0}.votebtns{display:flex;gap:8px;align-items:center}.votebtn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;cursor:pointer;background:transparent;border:1px solid var(--line2);color:var(--tx2);font-size:13px;font-weight:600}.votebtn[aria-pressed=true].up{color:var(--booked);border-color:var(--booked);background:color-mix(in srgb,var(--booked) 14%,transparent)}.votebtn[aria-pressed=true].down{color:var(--warning);border-color:var(--warning);background:color-mix(in srgb,var(--warning) 14%,transparent)}.notice{padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--line2);background:var(--bg2);font-size:13.5px;color:var(--tx2)}.notice.warn{border-color:color-mix(in srgb,var(--amber) 45%,transparent);color:var(--amber)}.divider{height:1px;background:var(--line);margin:8px 0}.center{text-align:center}.skeleton{border-radius:var(--radius);background:var(--panel);border:1px solid var(--line)}footer.legal{margin-top:40px;padding-top:16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--tx3)}footer.legal a{color:var(--tx3)}.prose h2{font-size:18px;margin:26px 0 8px}.prose h3{font-size:15px;margin:0 0 6px}.prose p{margin:0 0 10px}.prose p:last-child{margin-bottom:0}.openapp{position:sticky;bottom:12px;z-index:18}@media (max-width: 420px){.wrap{padding-left:12px;padding-right:12px}.row .t{width:46px;font-size:13px}}.select{appearance:none;background:var(--panel2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2367728c' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 10px center;background-size:10px 6px;color:var(--tx);border:1px solid var(--line);border-radius:10px;padding:8px 30px 8px 12px;font:inherit;font-size:13px;max-width:100%}.select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sharerow{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--line)}.sharerow:first-child{border-top:0;padding-top:0}.sharelink{gap:8px;align-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:6px 6px 6px 10px;min-width:0}.sharelink code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.btn.small{padding:5px 10px;font-size:12px;flex:0 0 auto}input.grow{flex:1 1 180px;min-width:0}.authpage{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px calc(24px + env(safe-area-inset-bottom))}.authcol{width:100%;max-width:400px;display:flex;flex-direction:column;gap:16px}.authhero{text-align:center}.authhero .mark{display:inline-flex;align-items:center;gap:9px;font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--tx);margin-bottom:14px}.authhero .mark i{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,#4cc9f0,#ffc043);color:var(--ink);font-size:15px;font-weight:900;font-style:normal}.authhero h1{font-size:clamp(23px,6.2vw,28px);font-weight:800;line-height:1.15;letter-spacing:-.025em;color:var(--tx)}.authhero p{margin:10px 0 0;font-size:14.5px;line-height:1.5;color:var(--tx2)}.authcard{border-radius:16px}.authcard h2{font-size:16px;font-weight:650;letter-spacing:-.01em}.authcard .lede{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--tx2)}.authform{display:flex;flex-direction:column;gap:12px;margin-top:16px}.authform label.field>span{font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--tx3)}.authform input{min-height:44px;border-radius:8px;font-size:16px;background:var(--panel2);border:1px solid var(--line2)}.authform input.code{font-family:var(--f-mono);font-size:20px;letter-spacing:.32em;text-align:center;font-weight:700}.authform .btn{min-height:44px;border-radius:8px;width:100%;font-size:15px}.authform .row{display:flex;gap:10px;align-items:center}.authform .row .btn{width:auto;flex:1 1 auto}.authform .row .btn.back{flex:0 1 auto}.authnote{font-size:12.5px;line-height:1.5;color:var(--tx3)}.autherr{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger);font-size:13px;line-height:1.45}.authok{padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--booked) 12%,transparent);border:1px solid color-mix(in srgb,var(--booked) 40%,transparent);color:var(--booked);font-size:13px;line-height:1.45}.sso{display:flex;flex-direction:column;gap:10px;margin-top:16px}.sso-or{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--tx3);margin:2px 0}.sso-or:before,.sso-or:after{content:"";flex:1 1 auto;height:1px;background:var(--line)}.sso-btn{width:100%;min-height:44px;border-radius:8px;font-size:15px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:9px}.ssomark{flex:none;display:block}.sso-btn.apple .ssomark{color:var(--tx)}.authalt{display:flex;flex-direction:column;gap:10px}.authalt>.btn{min-height:44px;border-radius:8px;width:100%;font-size:14.5px}.authfoot{margin-top:6px;text-align:center;font-size:12.5px;line-height:2.2;color:var(--tx3)}.authfoot a{color:var(--tx3)}.authfoot a:hover{color:var(--tx2)}.authfoot .sep{opacity:.5;padding:0 7px}.spin{width:15px;height:15px;flex:none;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
