:root{--page:1400px;--bar-h:72px;--paper:#f7f8f7;--surface:#fff;--ink:#16191c;--ink-2:#4a5157;--contour:#8c5e3c;--contour-tint:#e8ddd3;--primary:#038140;--secondary:#e5f2eb;--water:#1e6b8c;--rock:#6e767c;--return:#2e7d4f;--overdue:#8a5709;--alarm:#b3261e;--contour-deep:#6d4529;--contour-wash:#f3ece4;--lift-1:0 1px 2px rgba(22,25,28,.06);--lift-2:0 2px 8px rgba(22,25,28,.08),0 1px 2px rgba(22,25,28,.04);--lift-3:0 8px 28px rgba(22,25,28,.1),0 2px 6px rgba(22,25,28,.05);--ease:cubic-bezier(0.16,1,0.3,1);--quick:120ms;--slow:280ms;--orbit-r:96px;--orbit-spin:18s;--orbit-x:21px;--planet:92px;--orbit-dot:26px;--orbit-gap:84px;--orbit-lift:14px;--orbit-name:96px;--mark:143px;--mark-disc:calc(var(--mark) * 2.45);--mark-room:calc(var(--mark-disc) / 2 + var(--gap) * 1.5);--glyph-head:46px;--glyph-ring:64px;--glyph-card:38px;--radius:6px;--gap:16px;--touch:48px}*{box-sizing:border-box}body,html{margin:0;padding:0}html{max-width:100%;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{width:0;height:0}body{overflow-x:clip;background:radial-gradient(120% 80% at 50% 0,var(--contour-wash) 0,transparent 60%),var(--paper);background-attachment:fixed;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}h1{font-family:var(--font-display),Georgia,"Times New Roman",serif;font-size:clamp(30px,4.2vw,42px);font-weight:700;letter-spacing:-.02em;color:var(--contour-deep);text-wrap:balance}.shell>h1{margin-bottom:4px}.badge,.tabular,input[type=search],input[type=text]{font-family:var(--font-figures),system-ui,sans-serif}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}h1,h2,h3{line-height:1.2;margin:0}a{color:var(--primary)}button{font:inherit;min-height:var(--touch);padding:0 20px;border:1px solid transparent;border-radius:var(--radius);background:var(--primary);color:#fff;cursor:pointer;transition:background-color var(--quick) var(--ease),box-shadow var(--quick) var(--ease),color var(--quick) var(--ease)}button[type=submit]{box-shadow:var(--lift-1)}@media (hover:hover){button[type=submit]:hover:not(:disabled){box-shadow:var(--lift-2)}button.quiet:hover{background:var(--contour-wash);color:var(--ink)}}button:disabled{cursor:default;box-shadow:none}button.quiet{background:transparent;color:var(--ink-2);border-color:var(--contour-tint)}input[type=search],input[type=text]{font:inherit;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-height:var(--touch);width:100%;padding:0 12px;border:1px solid var(--rock);border-radius:var(--radius);background:var(--surface);color:var(--ink)}a:focus-visible,button:focus-visible,input[type=search]:focus-visible,input[type=text]:focus-visible{outline:2px solid var(--water);outline-offset:2px}::selection{background:var(--secondary);color:var(--ink)}input[type=search],input[type=text]{caret-color:var(--primary)}:not(html):not(body){scrollbar-color:var(--contour-tint) transparent}.shell{max-width:760px;margin:0 auto}.gate,.shell{padding:var(--gap)}.gate{min-height:100vh;display:flex;align-items:center;justify-content:center}.gate-card{width:100%;max-width:480px;background:var(--surface);border-radius:var(--radius);padding:24px;box-shadow:var(--lift-2);border:1px solid var(--contour-tint);border-top:3px solid var(--contour);background:linear-gradient(to bottom,var(--contour-wash) 0,transparent 88px),var(--surface)}.gate-card h1{font-size:30px;margin-bottom:8px}.field{display:block;margin:20px 0 0}.field-label{display:block;font-size:14px;color:var(--ink-2);margin-bottom:6px}.field-hint{font-size:13px;color:var(--ink-2);margin:6px 0 0}.muted{color:var(--ink-2);font-size:14px}.limits{margin:20px 0 0;padding:12px;border-left:1px solid var(--contour);background:var(--paper)}.limits p{margin:0;font-size:14px;color:var(--ink-2)}.limits p+p{margin-top:8px}.problem{margin:20px 0 0;padding:12px;border:1px solid var(--alarm);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:14px}.actions{margin-top:24px;display:flex;gap:12px;align-items:center}.bar{position:-webkit-sticky;position:sticky;top:0;z-index:4;overflow:visible;border-bottom:1px solid var(--contour-tint);background:var(--surface);box-shadow:var(--lift-1)}.bar-name{font-family:var(--font-display),Georgia,serif;font-size:19px;letter-spacing:-.01em;color:var(--contour-deep)}.bar-inner{position:relative;max-width:var(--page);margin:0 auto;padding:12px var(--gap);display:flex;align-items:center;gap:12px;flex-wrap:nowrap;min-height:var(--bar-h)}.bar-name{font-weight:600;margin-left:calc(var(--mark-room) - var(--gap) - 70px)}.bar-spacer{flex:1 1}.card-toggle{flex:none;width:34px;height:34px;min-height:34px;padding:0;display:grid;place-items:center;border-radius:999px;border:1px solid var(--contour);background:transparent;color:var(--ink)}.card-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--quick) var(--ease)}.card-toggle[aria-expanded=true] svg{transform:rotate(180deg)}@media (hover:hover){.card-toggle:hover{background:var(--secondary)}}.activity-card.is-shut .card-facts{margin-bottom:0}.list{list-style:none;margin:var(--gap) 0 0;padding:0;display:grid;grid-gap:12px;gap:12px}.card{background:var(--surface);border:1px solid var(--contour-tint);border-radius:var(--radius);padding:16px;box-shadow:var(--lift-1);transition:box-shadow var(--quick) var(--ease)}@media (hover:hover){.card:hover{box-shadow:var(--lift-2)}}.card-head{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.card-title{font-size:18px;font-weight:600}.card-facts{margin:10px 0 0;font-size:14px;color:var(--ink)}.rows{margin:12px 0 0;display:grid;grid-gap:4px;gap:4px;font-size:14px}.row{display:flex;gap:8px}.row-label{color:var(--ink-2);min-width:130px}.badge{display:inline-block;padding:2px 10px;border-radius:999px;border:1px solid;font-size:13px;font-weight:600;white-space:nowrap}.badge-planned{color:var(--rock)}.badge-started{color:var(--water)}.badge-returned{color:var(--return)}.badge-overdue{color:var(--overdue);border-width:2px}.badge-cancelled{color:var(--rock);text-decoration:line-through;border-style:dashed}.badge-quiet{color:var(--ink-2);border-radius:var(--radius);font-weight:400}.empty{margin:var(--gap) 0 0;padding:24px;border:1px dashed var(--contour-tint);border-radius:var(--radius);color:var(--ink-2);text-align:center}.tabs{position:-webkit-sticky;position:sticky;top:0;z-index:1;border-bottom:1px solid var(--contour-tint);background:var(--surface)}.tabs-inner{max-width:760px;margin:0 auto;padding:0 var(--gap);display:flex;gap:4px;overflow-x:auto}.tab{min-height:var(--touch);padding:0 14px;transition:color var(--quick) var(--ease),border-color var(--quick) var(--ease);background:transparent;color:var(--ink-2);border:none;border-bottom:3px solid transparent;border-radius:0;white-space:nowrap}.tab-on{color:var(--ink);font-weight:600;border-bottom-color:var(--primary)}.section{margin:28px 0 0;font-size:16px}.section-label{margin:14px 0 6px;font-size:13px;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em}.bio{margin:0;font-size:15px;max-width:68ch;white-space:pre-wrap}.note{margin:28px 0 0;padding-top:14px;border-top:1px solid var(--contour-tint)}.gear-group{margin-top:12px}.gear-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px}.gear{display:flex;gap:8px;align-items:baseline;font-size:14px;padding:4px 0}.gear+.gear{border-top:1px solid var(--contour-tint)}.gear-name{flex:1 1}.gear-qty,.gear-weight{color:var(--ink-2)}.gear-weight{min-width:110px;text-align:right}.badge-notify{color:var(--water)}.card-rich{padding:20px;border-top:3px solid var(--contour);background:linear-gradient(to bottom,var(--contour-wash) 0,transparent 96px),var(--surface);box-shadow:var(--lift-2)}@media (hover:hover){.card-rich:hover{box-shadow:var(--lift-3)}}.card-spacer{flex:1 1}.grid{list-style:none;margin:var(--gap) 0 0;padding:0;display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.chips{margin:10px 0 0;display:flex;flex-wrap:wrap;gap:6px}.wall{margin-top:16px;padding-left:12px;border-left:2px solid var(--contour-tint)}.wall-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.wall-name{font-weight:600}.routes{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-gap:2px;gap:2px}.route{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:14px;padding:5px 0}.route+.route{border-top:1px solid var(--contour-tint)}.route-name{flex:1 1;min-width:140px}.route-meta{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.badge-grade{color:var(--contour);border-width:2px}.checklist{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-gap:2px;gap:2px}.check{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:14px;padding:6px 8px;border-radius:var(--radius)}.check-on{background:#e5f2eb;color:var(--ink-2)}.check-mark{min-width:1.2em;font-weight:700;color:var(--return)}.check-on .check-mark{color:var(--ink)}.check-name{flex:1 1;min-width:140px}@media (max-width:560px){:root{--gap:12px}.shell{padding:var(--gap) 0}.shell>.empty,.shell>.section-label,.shell>h1,.shell>h2,.shell>p{padding-left:var(--gap);padding-right:var(--gap)}.shell>.empty{margin-left:var(--gap);margin-right:var(--gap)}.card,.card-rich{border-radius:0;border-left:none;border-right:none}.card-rich{padding:16px}.grid{grid-template-columns:1fr}.gate{align-items:flex-start;padding-top:32px}.gate-card{padding:20px}}@media (max-width:400px){.row{flex-direction:column;gap:2px}.check-name,.route-name,.row-label{min-width:0}.gear-weight{min-width:0;text-align:left}}.tabs{position:relative}.tabs:after{content:"";position:absolute;top:0;right:0;bottom:1px;width:32px;pointer-events:none;background:linear-gradient(to right,transparent,var(--surface))}@media (min-width:720px){.tabs:after{content:none}}.tabs-inner{scroll-padding-inline:var(--gap);scrollbar-width:thin}@media (pointer:coarse){.tab{padding:0 18px}.route{padding:10px 0}}.bar-inner,.tabs-inner{padding-left:max(var(--gap),env(safe-area-inset-left));padding-right:max(var(--gap),env(safe-area-inset-right))}@keyframes settle{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.shell>*{animation:settle .32s var(--ease) both}.shell>*+*{animation-delay:60ms}@media (prefers-reduced-motion:reduce){.orbit-spin,.shell>*,.shell>*+*{animation:none}.orbit-spin{transform:rotate(var(--rest)) translateX(var(--orbit-r)) rotate(calc(-1 * var(--rest)));transition:none}.orbit-sat-name{max-width:var(--orbit-name);opacity:1}*,:after,:before{transition-duration:1ms}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.bar-logo{position:absolute;left:calc(var(--mark-disc) / -1.5);margin-top:calc(var(--mark-disc) / -5);z-index:3;width:var(--mark-disc);height:var(--mark-disc);border-radius:999px;border:3px solid var(--ink);background:#fff;box-shadow:var(--lift-2);display:grid;place-items:center;padding:0;flex:none;min-height:0;cursor:pointer}.bar-logo img{width:var(--mark);height:var(--mark);object-fit:contain;transform:translate(calc(var(--mark-disc) / 5),calc(var(--mark-disc) / 5))}@media (hover:hover){.bar-logo:hover{box-shadow:var(--lift-3)}}.bar-profile{flex:none;width:40px;height:40px;min-height:40px;padding:0;display:grid;place-items:center;border-radius:999px;border:2px solid var(--ink);background:var(--surface);color:var(--ink)}.bar-profile svg{width:24px;height:24px}.bar-profile-on{background:var(--surface)}@media (hover:hover){.bar-profile:hover{background:var(--contour-wash)}}.bar-who{color:var(--ink-2);font-size:14px}.bar-sections{display:flex;align-items:stretch;gap:4px;align-self:stretch;min-width:0;position:absolute;left:50%;transform:translateX(-50%)}.primary-tab{min-height:var(--touch);padding:0 20px;display:flex;align-items:center;gap:10px;background:transparent;color:var(--ink-2);border-radius:0;border:none;border-bottom:3px solid transparent;white-space:nowrap;transition:color var(--quick) var(--ease),border-color var(--quick) var(--ease)}.primary-tab svg{width:26px;height:26px;flex:none}.primary-on{color:var(--ink);border-bottom-color:var(--primary)}.tab-label{display:grid;grid-template-areas:"label"}.tab-label-ghost,.tab-label-text{grid-area:label}.tab-label-ghost{font-weight:600;visibility:hidden}.primary-on .tab-label-text{font-weight:600}.bar-profile svg path,.primary-tab svg path{fill:currentColor}@media (hover:hover){.primary-tab:hover{color:var(--ink)}}.layout{max-width:var(--page);margin:0 auto;padding:0 var(--gap);display:grid;grid-template-columns:300px minmax(0,780px) 300px;justify-content:center;grid-gap:var(--gap);gap:var(--gap);align-items:start}.layout>.shell{max-width:none;width:100%;padding:var(--gap) 0}.orbit{padding:118px 0 calc(var(--orbit-r) + var(--gap)) 20px;position:-webkit-sticky;position:sticky;top:calc(var(--bar-h) + var(--gap))}.orbit-chain{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--orbit-gap);gap:var(--orbit-gap)}.orbit-node{position:relative;display:flex;align-items:center;min-height:44px}.orbit-thread{position:absolute;left:calc(var(--orbit-x) - 1px);top:50%;width:2px;height:calc(50% + var(--orbit-gap) + var(--orbit-dot) / 2);background:var(--ink);z-index:0}.orbit-node:has(+.orbit-node-on) .orbit-thread{height:calc(50% + var(--orbit-gap))}.orbit-node:last-child .orbit-thread{display:none}.orbit-dot{position:relative;z-index:1;min-height:44px;padding:0 0 0 58px;display:flex;align-items:center;background:transparent;border:none;border-radius:var(--radius);color:var(--ink);font-size:18px;text-align:left}.orbit-dot:before{content:"";position:absolute;left:var(--orbit-x);top:50%;translate:-50% -50%;width:var(--orbit-dot);height:var(--orbit-dot);border-radius:999px;background:var(--ink);border:3px solid var(--surface);box-shadow:0 0 0 2px var(--ink);transition:width var(--slow) var(--ease),height var(--slow) var(--ease),background-color var(--quick) var(--ease)}.orbit-node-on .orbit-dot:before{width:var(--planet);height:var(--planet);background:var(--surface)}.orbit-node-on .orbit-dot{font-weight:600;padding:0;justify-content:center;width:var(--planet);height:var(--planet);margin-left:calc(var(--orbit-x) - var(--planet) / 2);transition:width var(--slow) var(--ease),height var(--slow) var(--ease)}.orbit-node-on .orbit-dot:before{left:50%}.orbit-name{position:relative;z-index:2}.orbit-ring{list-style:none;margin:0;padding:0;position:absolute;left:var(--orbit-x);top:calc(50% - var(--orbit-lift));width:0;height:0;z-index:2}.orbit-sat{position:absolute;left:0;top:0;pointer-events:none}.orbit-sat .orbit-spin,.orbit-sat-button{pointer-events:auto}.orbit-spin{display:block;transform:rotate(var(--at)) translateX(var(--orbit-r)) rotate(calc(-1 * var(--at)));animation:orbit var(--orbit-spin) linear infinite;animation-delay:calc(-1 * var(--orbit-spin) * var(--at) / 1turn);transition:transform var(--slow) var(--ease)}@keyframes orbit{0%{transform:rotate(0deg) translateX(var(--orbit-r)) rotate(0deg)}to{transform:rotate(1turn) translateX(var(--orbit-r)) rotate(-1turn)}}.orbit:focus-within .orbit-spin,.orbit:hover .orbit-spin{animation-name:none;transform:rotate(var(--rest)) translateX(var(--orbit-r)) rotate(calc(-1 * var(--rest)))}.orbit-sat-button{display:flex;align-items:center;gap:0;min-height:34px;padding:0;white-space:nowrap;background:transparent;color:var(--ink);border:none;border-radius:999px;font-size:14px;box-shadow:none;transition:background-color var(--quick) var(--ease),padding var(--slow) var(--ease),gap var(--slow) var(--ease),box-shadow var(--slow) var(--ease)}.orbit-sat-dot{flex:none;width:18px;height:18px;border-radius:999px;background:var(--ink);border:2px solid var(--surface);outline:2px solid var(--ink);outline-offset:0}.orbit-sat-name{max-width:0;overflow:hidden;opacity:0;transition:max-width var(--slow) var(--ease),opacity var(--quick) var(--ease)}.orbit:focus-within .orbit-sat-button,.orbit:hover .orbit-sat-button{gap:8px;padding:0 12px 0 6px;background:var(--surface);border:1px solid var(--ink);box-shadow:var(--lift-1)}.orbit:focus-within .orbit-sat-name,.orbit:hover .orbit-sat-name{max-width:var(--orbit-name);opacity:1;transition-delay:var(--slow)}@media (hover:hover){.orbit-sat-button:hover .orbit-sat-dot{background:var(--primary)}}.chain{position:-webkit-sticky;position:sticky;top:var(--bar-h);margin-left:auto;width:244px;height:calc(100vh - var(--bar-h) - var(--gap));align-self:start}.chain-stage{position:absolute;inset:0;overscroll-behavior:contain;touch-action:none}.chain-helix{-webkit-clip-path:inset(0);clip-path:inset(0);position:absolute;left:0;top:0;pointer-events:none;z-index:0;overflow:visible}.chain-strand{fill:none;stroke:var(--contour-deep);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.chain-rung{stroke:var(--contour-tint);stroke-width:1.2}.chain-peg{stroke:var(--contour);stroke-width:1.6}.chain-list{list-style:none;margin:0;padding:0;position:absolute;left:0;top:0;width:0;height:0;z-index:2;overflow:visible;pointer-events:none}.chain-list .friend-panel,.chain-list .hex{pointer-events:auto}.chain-base{position:absolute;left:0;top:0}.chain-base[data-cut] .hex{-webkit-clip-path:inset(0 0 calc(100% - var(--cut)) 0);clip-path:inset(0 0 calc(100% - var(--cut)) 0)}.hex{position:relative;box-sizing:border-box;width:48px;height:48px;min-height:0;margin:-24px 0 0 -24px;padding-top:10px;display:grid;place-items:center;background:transparent;color:var(--ink);border:none;border-radius:0;font-family:var(--font-figures),system-ui,sans-serif;font-size:18px;font-weight:600;transition:scale var(--quick) var(--ease),background-color var(--quick) var(--ease)}.hex:before{inset:1px;background:var(--contour-deep)}.hex:after,.hex:before{content:"";position:absolute;-webkit-clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%)}.hex:after{inset:3px;background:var(--surface)}.hex>*{position:relative;z-index:1;display:block;line-height:1;text-align:center}.hex-on:after{background:var(--contour-wash)}.hex-on{scale:1.12}.chain-base-l .friend-panel,.chain-base-r .friend-panel{right:28px;left:auto}.chain-base-up .friend-panel{top:auto;bottom:-21px}.chain-empty{text-align:center}.friend-panel{position:absolute;top:-21px;width:min(268px,84vw);z-index:8;background:var(--surface);box-shadow:var(--lift-3);animation:settle .16s var(--ease) both}.friend-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.friend-avatar{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:var(--ink);color:var(--surface);font-family:var(--font-figures),system-ui,sans-serif;font-size:15px;font-weight:600}.friend-actions{display:grid;grid-gap:6px;gap:6px;margin-top:12px}.friend-action{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:6px 10px;border-radius:var(--radius);border:1px solid var(--contour);background:transparent;color:var(--ink-2);font-size:14px;text-align:left}.friend-action svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.friend-action:disabled{background:transparent;color:var(--ink-2);opacity:.55;cursor:not-allowed}.friend-since{margin:12px 0 6px}.friend-counts{grid-template-columns:repeat(4,1fr);text-align:center;border-top:1px solid var(--contour-tint);padding-top:8px}.friend-count,.friend-counts{display:grid;grid-gap:4px;gap:4px}.friend-count{justify-items:center;font-size:18px}.sport-glyph{display:block;object-fit:contain}.voice-sport .sport-glyph{width:var(--glyph-head);height:var(--glyph-head)}.activity-glyph{width:var(--glyph-card);height:var(--glyph-card);flex:none}.voice-head{display:flex;align-items:center;gap:var(--gap);flex-wrap:wrap}.voice-head h1{flex:1 1;min-width:200px}.voice-sports{display:flex;gap:10px;margin-left:auto}.voice-sport{width:var(--glyph-ring);height:var(--glyph-ring);display:grid;place-items:center;border:2px solid var(--ink);border-radius:999px;background:var(--surface)}.activity-body{margin-top:12px}.actions-row{display:flex;gap:4px;align-items:center}.action-icon{width:40px;min-height:40px;padding:0;display:grid;place-items:center;background:transparent;border:1px solid var(--contour-tint);border-radius:var(--radius);color:var(--rock)}.action-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.action-icon:disabled{background:transparent;color:var(--rock);cursor:not-allowed;opacity:1}.check input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--primary);cursor:not-allowed;flex:none}.away{text-align:left;padding:var(--gap) 20px;max-width:60ch}@media (max-width:1180px){.layout{grid-template-columns:minmax(0,1fr)}.chain,.orbit{position:static}.orbit-chain{gap:72px}}@media (max-width:860px){.voice-sport{--glyph-ring:50px;--glyph-head:34px}}@media (prefers-reduced-motion:reduce){.orbit-spin{transform:rotate(var(--rest)) translateX(var(--orbit-r)) rotate(calc(-1 * var(--rest)));transition:none}.friend-panel,.orbit-spin{animation:none}}.calendar{margin-top:var(--gap)}.calendar-head{display:flex;align-items:center;justify-content:center;gap:var(--gap);margin-bottom:12px}.calendar-month{margin:0;min-width:12ch;text-align:center;font-size:18px;font-weight:600;text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--contour-tint);border:1px solid var(--contour-tint);border-radius:var(--radius);overflow:hidden}.calendar-weekday{background:var(--surface);padding:6px 4px;text-align:center;font-size:13px;font-weight:600;color:var(--ink-2);text-transform:capitalize}.calendar-day{background:var(--surface);min-height:92px;padding:4px;display:flex;flex-direction:column;gap:3px}.calendar-away{background:var(--paper);color:var(--ink-2)}.calendar-away .calendar-number{opacity:.55}.calendar-number{font-size:13px;color:var(--ink-2)}.calendar-mark{display:flex;align-items:center;flex-wrap:wrap;gap:0 4px;padding:2px 4px;border-radius:var(--radius);border:1px solid var(--contour-tint);background:var(--secondary);font-size:13px;line-height:1.25;overflow:hidden}.calendar-mark-name{flex:1 1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}.calendar-mark-time{width:100%;text-align:right;color:var(--ink-2);font-size:13px}.calendar-mark-overdue{border-color:var(--overdue);border-width:2px;color:var(--overdue);background:var(--surface);font-weight:600}.calendar-mark-cancelled,.calendar-mark-returned{opacity:.7}@media (max-width:720px){.calendar-day{min-height:62px}.calendar-mark-name,.calendar-mark-time{display:none}}.orbit-sat-button:disabled{cursor:not-allowed;color:var(--rock)}.orbit-sat-button:disabled .orbit-sat-dot{background:var(--rock);outline-color:var(--rock)}.ccard{background:var(--surface);border:1px solid var(--contour-tint);border-radius:6px;box-shadow:var(--lift-2);overflow:hidden}.ccard-head{display:grid;grid-template-columns:auto 1fr;grid-gap:4px 20px;gap:4px 20px;align-items:center;padding:20px 24px;background:var(--contour-wash);border-bottom:1px solid var(--contour-tint)}.ccard-tag{grid-row:span 2;margin:0;font-family:var(--font-figures),system-ui,sans-serif;font-size:clamp(24px,3.4vw,34px);font-weight:700;line-height:1.1;letter-spacing:-.01em;color:var(--contour-deep)}.ccard-who{display:flex;flex-direction:column;gap:8px;min-width:0}.ccard-name{margin:0;font-size:16px;font-weight:600;color:var(--ink)}.ccard-facts{gap:6px}.ccard-facts,.ccard-rating{display:flex;flex-wrap:wrap}.ccard-rating{grid-column:2;align-items:baseline;gap:4px 10px;color:var(--ink-2);font-size:14px}.ccard-rating .section-label{margin:0}.ccard-section,.ccard>.bio{padding:0 24px}.ccard>.bio{margin:20px 0 0}.ccard-section{margin-top:24px}.ccard>.note{margin:24px 0 0;padding:16px 24px;border-top:1px solid var(--contour-tint);background:var(--paper)}.ccard .section{margin:0 0 12px}.taxo{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.taxo-box{padding:12px 14px;background:var(--paper);border:1px solid var(--contour-tint);border-radius:6px}.taxo-box .section-label{margin:0 0 8px}.taxo-box .chips{margin:0}.taxo-box .muted{margin:0;font-size:14px}.skills{width:100%;border-collapse:collapse;font-size:15px}.skills td,.skills th{padding:10px 12px;text-align:left;border-bottom:1px solid var(--contour-tint)}.skills thead th{font-size:13px;font-weight:600;color:var(--ink-2);text-transform:none;border-bottom-color:var(--contour)}.skills tbody th{font-weight:600;color:var(--ink)}.skills tbody tr:last-child td,.skills tbody tr:last-child th{border-bottom:none}.skills td{color:var(--ink-2);white-space:nowrap}.card-open{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;font:inherit;color:var(--ink);text-align:left;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--contour-tint);text-decoration-color:var(--contour-tint);text-decoration-thickness:1px;text-underline-offset:4px;transition:color var(--quick) var(--ease),-webkit-text-decoration-color var(--quick) var(--ease);transition:color var(--quick) var(--ease),text-decoration-color var(--quick) var(--ease);transition:color var(--quick) var(--ease),text-decoration-color var(--quick) var(--ease),-webkit-text-decoration-color var(--quick) var(--ease)}@media (hover:hover){.card-open:hover{color:var(--primary);-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary)}}.actions-lead{justify-content:flex-start;margin-bottom:4px}@media (max-width:560px){.ccard-head{grid-template-columns:1fr;padding:16px}.ccard-tag{grid-row:auto}.ccard-rating{grid-column:1}.ccard-section,.ccard>.bio{padding:0 16px}.ccard>.note{padding:14px 16px}.ccard-section:has(.skills){overflow-x:auto}.skills{min-width:380px}}@media (max-width:700px){.bar-inner{flex-wrap:wrap;row-gap:4px}.bar-sections{order:3;flex:1 0 100%;justify-content:space-between;position:static;transform:none}.bar-name,.bar-spacer{display:none}.primary-tab{flex:1 1;min-width:0;justify-content:center}.primary-tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.ccard-split{grid-template-columns:minmax(140px,220px) 1fr;align-items:start;gap:20px}.ccard-side{display:grid;grid-template-columns:auto 1fr;grid-gap:4px 20px;gap:4px 20px;align-items:center;min-width:0}.photo-box{display:flex;flex-direction:column;gap:8px;min-width:0}.photo-frame{aspect-ratio:1/1;width:100%;overflow:hidden;border:1px solid var(--contour-tint);border-radius:6px;background:var(--paper)}.photo-frame img{width:100%;height:100%;object-fit:cover;display:block}.photo-box-empty{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;border:1px dashed var(--contour-tint);border-radius:6px;background:var(--paper)}.photo-box-empty .muted{margin:0;font-size:14px}.photo-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}.photo-controls button{min-width:48px;min-height:48px;padding:0;font-size:22px;line-height:1}.skill-list{grid-template-columns:1fr 1fr}.skill-list .card{height:100%}.skill-list .row{justify-content:space-between;align-items:baseline}.skill-list .row-label{min-width:0}.skill-head{display:flex;align-items:center;gap:10px}@media (max-width:700px){.ccard-side,.ccard-split,.skill-list{grid-template-columns:1fr}.photo-box{max-width:280px}}.qr{text-align:center}.route-link{color:var(--water);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.catalog-search{margin:0 0 12px}.chip{min-height:var(--touch);padding:0 14px;border:1px solid var(--rock);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}.chip-on{background:var(--secondary);border-color:var(--contour-deep);border-width:2px;padding:0 13px}.check-open{flex:1 1 100%;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;min-height:var(--touch);padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.checklist-sizes{flex:1 1 100%;margin:4px 0 2px 18px;padding-left:10px;border-left:2px solid var(--contour-tint)}.baton{display:flex;flex-wrap:wrap;align-items:center;gap:12px;max-width:var(--page);margin:12px auto 0;padding:12px 16px;border-radius:12px;border:.5px solid var(--contour-tint);background:var(--surface)}.baton-writing{background:var(--secondary)}.baton-mark{font-size:15px;line-height:1;color:var(--ink-2)}.baton-writing .baton-mark{color:var(--primary)}.baton-say{flex:1 1 240px;margin:0;color:var(--ink)}.baton-count{color:var(--ink-2);white-space:nowrap}.baton-ask,.baton-give,.baton-undo{min-height:48px;padding:0 16px;border-radius:8px;border:1px solid var(--primary);background:var(--primary);color:#fff;font:inherit;cursor:pointer}.baton-undo{background:transparent;color:var(--primary)}.baton-ask:disabled,.baton-give:disabled{opacity:.6;cursor:default}.row-editing{flex-wrap:wrap;gap:8px;align-items:center}.field-input{flex:1 1 160px;min-height:48px;padding:0 12px;border-radius:8px;border:1px solid var(--rock);background:var(--surface);color:var(--ink);font:inherit}.field-long{min-height:96px;padding:12px;line-height:1.5;resize:vertical}.baton-ask:focus-visible,.baton-give:focus-visible,.baton-undo:focus-visible,.check-box:focus-visible,.field-cancel:focus-visible,.field-edit:focus-visible,.field-input:focus-visible,.field-save:focus-visible,.gear-remove:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.field-cancel,.field-edit,.field-save,.gear-remove{min-height:48px;padding:0 12px;border-radius:8px;border:1px solid var(--contour-tint);background:transparent;color:var(--primary);font:inherit;cursor:pointer}.field-save{border-color:var(--primary);background:var(--primary);color:#fff}.gear-remove{border-color:var(--alarm);color:var(--alarm)}.check-box{width:24px;height:24px;margin:12px 8px 12px 0;accent-color:var(--primary)}.check-box,.check-box+.check-name{cursor:pointer}.notify-switch{display:inline-flex;align-items:center;gap:8px;min-height:48px;cursor:pointer}.notify-switch input{width:24px;height:24px;accent-color:var(--primary);cursor:pointer}.gear-writing{flex-wrap:wrap;gap:8px;align-items:center}.scrim{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.8);display:grid;place-items:center;padding:var(--gap)}.modal{background:var(--surface);color:var(--ink);border-radius:var(--radius);box-shadow:var(--lift-3);width:min(760px,100%);max-height:min(84vh,900px);display:flex;flex-direction:column;outline:none}.modal-head{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--contour-tint)}.modal-title{margin:0;font-size:18px;font-weight:600}.modal-action,.modal-close{min-width:44px;min-height:44px;padding:0 10px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--contour);border-radius:var(--radius);color:var(--ink);font-size:14px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}.modal-close{border-color:var(--contour-tint);padding:0}.modal-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}@media (hover:hover){.modal-action:hover,.modal-close:hover{background:var(--secondary)}}.aside-link:focus-visible,.gear-group-head:focus-visible,.modal-action:focus-visible,.modal-close:focus-visible,.pack-open:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.modal-body{padding:0 16px 16px;overflow-y:auto}.modal-facts{margin:14px 0 0}.pack-list{margin-top:12px}.pack-sizes{margin-left:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pack-open{width:48px;height:48px;flex:none;display:grid;place-items:center;padding:0;border:2px solid var(--primary);border-radius:999px;background:var(--surface);color:var(--primary);cursor:pointer}.pack-open svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media (hover:hover){.pack-open:hover{background:var(--secondary)}}.list-head{display:flex;align-items:center;gap:var(--gap);flex-wrap:wrap}.list-head>p{margin:0}.list-head-aside{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.aside-link{min-height:48px;display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--surface);border:1px solid var(--contour);border-radius:999px;color:var(--ink);font-size:14px;cursor:pointer}.aside-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.aside-name{font-weight:600}@media (hover:hover){.aside-link:hover{background:var(--secondary)}}.notice-list{margin-top:12px}.gear-group-head{width:100%;display:flex;align-items:center;gap:12px;min-height:48px;padding:0;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer;flex-wrap:wrap}.gear-group-name{margin:0}.gear-group-chevron svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--quick) var(--ease)}.gear-group-head[aria-expanded=true] .gear-group-chevron svg{transform:rotate(180deg)}.gear-group-head[aria-expanded=true]+.gear-list{margin-top:10px}.gear-list[hidden]{display:none}.gear-pill{--pill:32px;width:var(--pill);height:var(--pill);flex:none;display:grid;place-items:center;border:1px solid var(--contour-tint);border-radius:999px;background:var(--contour-wash);color:var(--contour-deep)}.gear-pill-mark{width:calc(var(--pill) - 12px);height:calc(var(--pill) - 12px);background:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}.gear-pill-bare{font-size:13px;font-weight:600}.gear,.pack-list .check{align-items:center}.pack-list .check{gap:10px}.landing-bar{position:relative;border-bottom:1px solid var(--contour-tint);background:var(--surface);overflow:visible}.landing-bar-link{font-size:14px;min-height:var(--touch);display:inline-flex;align-items:center}.landing-bar .bar-logo{left:calc(var(--mark-disc) / -2.6)}.landing-bar .bar-name{margin-left:calc(var(--mark-disc) * (1 - 1 / 2.6) + var(--gap))}.landing-hero{max-width:var(--page);margin:0 auto;padding:64px var(--gap) 48px;text-align:center}.landing-hero h1{max-width:720px;margin:0 auto}.landing-hero-subtitle{max-width:560px;margin:16px auto 0;font-size:18px;color:var(--ink-2)}.landing-hero-actions{margin-top:var(--gap);display:flex;flex-direction:column;align-items:center;gap:8px}.landing-download{font-weight:600}.landing-download-hint{font-size:13px;color:var(--ink-2)}.landing-gear,.landing-map,.landing-refuge,.landing-steps{max-width:var(--page);margin:0 auto;padding:48px var(--gap)}.landing-gear h2,.landing-map h2,.landing-steps h2{font-size:18px;text-align:center;margin-bottom:var(--gap)}.landing-steps-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--gap);gap:var(--gap);max-width:900px;margin-inline:auto}.landing-step{background:var(--surface);border:1px solid var(--contour-tint);border-radius:var(--radius);padding:var(--gap);box-shadow:var(--lift-1)}.landing-step-index{display:block;font-size:18px;font-weight:600;color:var(--primary)}.landing-step h3{font-size:18px;margin:8px 0 4px}.landing-step p{margin:0;font-size:15px;color:var(--ink-2)}.landing-gear-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--gap);max-width:900px;margin:0 auto}.landing-gear-item{width:96px;height:96px;flex:none;display:grid;place-items:center;background:var(--surface);border:1px solid var(--contour-tint);border-radius:var(--radius)}.landing-gear-body{margin:var(--gap) auto 0;font-size:15px}.landing-gear-body,.landing-map p{max-width:560px;text-align:center;color:var(--ink-2)}.landing-map p{margin:0 auto var(--gap)}.landing-map-placeholder{max-width:900px;margin:0 auto;aspect-ratio:16/9;display:grid;place-items:center;border:1px dashed var(--contour-tint);border-radius:var(--radius);background:var(--paper)}.landing-refuge-card{max-width:640px;margin:0 auto;background:var(--surface);border:1px solid var(--contour-tint);border-top:3px solid var(--contour);border-radius:var(--radius);padding:var(--gap);text-align:center}.landing-refuge-card h2{font-size:18px;margin-bottom:4px}.landing-refuge-card p{margin:0;font-size:15px;color:var(--ink-2)}.landing-footer{border-top:1px solid var(--contour-tint);background:var(--paper);padding:48px var(--gap);display:flex;flex-direction:column;align-items:center;gap:var(--gap)}.landing-footer-links{display:flex;gap:var(--gap);font-size:14px}@media (max-width:720px){.landing-steps-list{grid-template-columns:1fr}}