@charset "UTF-8";
:root{color-scheme:dark;--bg:#18181b;--panel:#222226;--panel-2:#2a2a2f;--panel-3:#323238;--ink:#e9e9ed;--muted:#aaaab4;--faint:#9a9aa4;--line:#3c3c44;--accent:#b9a9d2;--yellow:#c9b97f;--accent-dark:#28262e;--green:#a6b9a5;--amber:#c9b97f;--red:#d8a09a;--shadow:0 24px 65px #0003;--radius:18px;--sidebar:224px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--font);letter-spacing:.005em}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:38px;line-height:1.12;letter-spacing:-.04em;font-weight:550}h2{font-size:23px;line-height:1.25;letter-spacing:-.025em;font-weight:550}h3{font-size:18px;line-height:1.35;font-weight:550;letter-spacing:-.015em}img{max-width:100%}svg{flex-shrink:0}::selection{background:#b9a9d244;color:#fff}small{font-size:12px}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:13px}.nowrap{white-space:nowrap}.icon{height:20px;width:20px;vertical-align:middle;stroke-width:1.7}.icon.sm{width:16px;height:16px}.icon.lg{width:24px;height:24px}.skip-link{position:fixed;top:-100px;left:16px;background:var(--accent);color:var(--bg);padding:10px 18px;border-radius:8px;z-index:100}.skip-link:focus{top:12px}.boot-state{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:20px;color:var(--muted)}.noscript{padding:24px;text-align:center;background:var(--panel)}
.brand{display:flex;align-items:center;gap:11px;white-space:nowrap}.brand-mark{width:37px;height:37px;background:var(--accent);color:#27262d;border-radius:11px;display:grid;place-items:center;font-size:25px;font-weight:650;letter-spacing:-3px;padding-right:3px}.brand-name{font-size:21px;font-weight:600;letter-spacing:-.045em}.brand-name span{color:var(--muted);font-weight:400}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#1c1c20;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:31px 18px 20px;z-index:30}.sidebar .brand{padding:0 12px}.side-event{padding:22px 12px 29px;font-size:12px;color:var(--muted)}.side-event b{display:block;font-size:12px;color:var(--accent);font-weight:500;margin-bottom:5px;letter-spacing:.03em}.nav-label{padding:0 13px 8px;color:var(--faint);font-size:10px;text-transform:uppercase;letter-spacing:.13em}.nav-links{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:10px;color:var(--muted);font-size:14px;transition:background .15s,color .15s}.nav-item:hover{background:var(--panel-2);color:var(--ink)}.nav-item.active{background:#b9a9d212;color:var(--accent)}.nav-item .nav-count{margin-left:auto;font-size:10px;min-width:18px;border-radius:6px;padding:0 5px;color:var(--bg);background:var(--accent);text-align:center}.sidebar-bottom{margin-top:auto;padding-top:22px}.side-guide{border:1px solid var(--line);padding:14px;border-radius:13px;display:block;font-size:13px}.side-guide .icon{color:var(--accent);margin-right:7px}.side-guide span{display:block;margin:6px 0 0 28px;font-size:11px;color:var(--muted)}.side-foot{color:var(--faint);font-size:10px;padding:17px 12px 0;line-height:1.8}.shell{margin-left:var(--sidebar);min-height:100vh}.topbar{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 44px}.topbar-context{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.topbar-context .dot{width:5px;height:5px;border-radius:50%;background:var(--faint)}.topbar-right{display:flex;align-items:center;gap:16px}.user-menu{display:flex;align-items:center;gap:9px;font-size:13px}.avatar{background:var(--panel-3);border:1px solid #52505b;width:32px;height:32px;border-radius:50%;display:inline-grid;place-items:center;color:var(--accent);font-size:11px;font-weight:600;flex-shrink:0}.avatar.large{height:43px;width:43px;font-size:14px}.user-sub{color:var(--muted);display:block;font-size:11px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--muted)}.icon-btn:hover{color:var(--ink);background:var(--panel-2)}.mobile-toggle,.mobile-brand{display:none}.notice-btn{position:relative}.notice-bubble{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--accent);right:7px;top:7px}.main{padding:35px 44px 60px;max-width:1420px;margin:auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading p{margin-top:10px;max-width:650px;color:var(--muted);font-size:14px}.eyebrow{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:8px;margin-bottom:13px}.eyebrow .tiny-line{width:18px;height:1px;background:currentColor}.page-heading .eyebrow{margin-bottom:9px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}.section-heading .muted{font-size:12px}.section{margin-top:31px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:25px}.panel h2+.muted,.panel h3+.muted{margin-top:9px}.panel.flat{background:transparent}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.stack{display:grid;gap:18px}.row{display:flex;align-items:center;gap:12px}.row.wrap{flex-wrap:wrap}.between{display:flex;align-items:center;justify-content:space-between;gap:16px}.align-start{align-items:flex-start}.grow{flex:1;min-width:0}.btn{border:1px solid var(--line);border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--panel-2);color:var(--ink);padding:10px 16px;min-height:42px;line-height:1.3;font-size:13px;font-weight:550;transition:background .15s,border-color .15s;text-align:center}.btn:hover{background:var(--panel-3);border-color:#615d6a}.btn.primary{background:var(--accent);color:#27262d;border-color:var(--accent)}.btn.primary:hover{background:#c8badd}.btn.secondary{background:transparent}.btn.subtle{background:transparent;border-color:transparent;color:var(--muted)}.btn.subtle:hover{color:var(--ink);background:var(--panel-2)}.btn.danger{color:var(--red);background:#d8a09a09;border-color:#d8a09a44}.btn.small{min-height:34px;font-size:12px;padding:7px 11px}.btn.full{width:100%}.btn .icon{height:17px;width:17px}.btn.loading{position:relative;color:transparent!important}.btn.loading>*{visibility:hidden}.btn.loading:after{content:"";position:absolute;width:15px;height:15px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;color:var(--muted);animation:spin .6s linear infinite}.btn.primary.loading:after{color:var(--bg)}@keyframes spin{to{transform:rotate(360deg)}}.text-link{color:var(--accent);font-size:13px;display:inline-flex;align-items:center;gap:6px}.text-link:hover{text-decoration:underline}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:6px;border:1px solid var(--line);font-size:10px;font-weight:550;white-space:nowrap;line-height:1.4;background:var(--panel-2);color:var(--muted)}.pill:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.pill.green{color:var(--green);border-color:#a6b9a525;background:#a6b9a510}.pill.amber{color:var(--amber);border-color:#c9b97f30;background:#c9b97f10}.pill.red{color:var(--red);border-color:#d8a09a25;background:#d8a09a10}.pill.neutral:before{display:none}.divider{height:1px;background:var(--line);margin:21px 0}.empty-state{padding:41px 25px;text-align:center;border:1px dashed #52515b;border-radius:var(--radius);background:#22222655}.empty-icon{display:inline-grid;place-items:center;width:51px;height:51px;border-radius:15px;background:var(--panel-2);color:var(--accent);margin-bottom:17px}.empty-state h3{font-size:19px}.empty-state p{font-size:13px;color:var(--muted);max-width:440px;margin:9px auto 19px}.empty-state.compact{padding:23px}.empty-state.compact .empty-icon{display:none}.empty-state.compact h3{font-size:16px}.empty-state.compact p{margin-bottom:0}.callout{padding:16px 18px;border-radius:12px;display:flex;align-items:flex-start;gap:12px;border:1px solid #b9a9d230;background:#b9a9d209;color:var(--muted);font-size:13px}.callout .icon{color:var(--accent);margin-top:1px}.callout b{color:var(--ink);font-weight:550}.callout p+p{margin-top:6px}.callout.success{background:#a6b9a50b;border-color:#a6b9a536}.callout.success .icon{color:var(--green)}.callout.danger{background:#d8a09a0b;border-color:#d8a09a36}.callout.danger .icon{color:var(--red)}.login-gate{padding:45px 35px;background:var(--panel);border:1px solid var(--line);border-radius:18px;text-align:center}.login-gate .empty-icon{margin-bottom:15px}.login-gate p{max-width:500px;margin:10px auto 21px;color:var(--muted);font-size:14px}
.hero{overflow:hidden;border-radius:22px;background:#29272f;display:grid;grid-template-columns:1.23fr 1fr;min-height:327px;position:relative;border:1px solid #48434f}.hero-copy{padding:35px 36px 36px;position:relative;z-index:1}.hero h1{font-size:50px;line-height:1.06;letter-spacing:-.045em;max-width:600px;font-weight:500}.hero h1 em{font-style:normal;color:var(--accent)}.hero-copy>p{max-width:470px;margin-top:19px;color:#b6b2c0;font-size:14px;line-height:1.65}.hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:17px;margin-top:26px;font-size:12px;color:#cac6d3}.hero-meta span{display:flex;gap:7px;align-items:center}.hero .btn{margin-top:25px;background:var(--accent);color:var(--bg);border-color:var(--accent)}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:300px;overflow:hidden}.hero-art:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 45%,#75678526,transparent 65%)}.hero-art svg{width:100%;height:100%;max-height:350px;opacity:.9}.hero-corner{position:absolute;bottom:27px;right:31px;font-size:10px;letter-spacing:.06em;color:#a8a1b3;display:flex;gap:7px;align-items:center}.overview-strip{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.metric-card{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:18px 20px;display:flex;align-items:center;gap:15px}.metric-card .metric-icon{height:38px;width:38px;border:1px solid #45424d;background:#b9a9d209;color:var(--accent);border-radius:11px;display:grid;place-items:center}.metric-card b{font-size:20px;font-weight:500;letter-spacing:-.025em}.metric-card span{display:block;font-size:11px;color:var(--muted);margin-top:1px}.overview-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(285px,1fr);gap:24px;margin-top:29px}.tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.tab{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:9px;font-size:12px;padding:8px 13px;min-height:36px}.tab:hover{color:var(--ink);background:var(--panel-2)}.tab.active{color:var(--accent);background:#b9a9d20e;border-color:#b9a9d24a}.schedule-list{display:grid;gap:0}.schedule-item{display:grid;grid-template-columns:98px 1fr;gap:17px;padding:16px 0;border-bottom:1px solid var(--line)}.schedule-item:last-child{border:0;padding-bottom:0}.schedule-time{font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted);padding-top:2px}.schedule-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;display:inline-block;margin-right:10px;transform:translateY(-1px)}.schedule-dot.food{background:var(--yellow)}.schedule-dot.social{background:var(--faint)}.schedule-title{font-size:13px;color:var(--ink)}.schedule-kind{font-size:10px;color:var(--faint);margin-top:3px}.snack-item{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--muted);padding:13px 0;border-bottom:1px solid var(--line)}.snack-item:last-child{border:0;padding-bottom:0}.snack-item .icon{color:var(--accent);margin-top:2px}.snack-item b{font-size:12px;font-weight:500;color:var(--ink)}.snack-item span{display:block;margin-top:3px}.panel-label{color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}.guide-links{display:grid;gap:0;margin-top:11px}.guide-link{width:100%;border:0;background:none;display:flex;gap:12px;align-items:center;justify-content:space-between;text-align:left;padding:14px 0;color:var(--ink);border-bottom:1px solid var(--line);font-size:13px}.guide-link:last-child{border:0;padding-bottom:0}.guide-link .icon{color:var(--muted)}.guide-link:hover{color:var(--accent)}.location-item{display:flex;gap:13px;align-items:flex-start}.location-item>.icon{color:var(--accent);margin-top:3px}.location-item p{margin-top:6px;font-size:12px;color:var(--muted)}.compact-step{padding:19px;border-radius:13px;border:1px solid #b9a9d226;background:#b9a9d208;margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:15px}.compact-step h3{font-size:14px}.compact-step p{font-size:12px;color:var(--muted);margin-top:5px}.compact-step .btn{flex-shrink:0}.announcement{margin-bottom:19px}.prose{color:var(--muted);font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.prose h3{color:var(--ink);margin:20px 0 8px}.prose a{color:var(--accent)}.rule-list{padding:0;margin:17px 0 0;list-style:none;display:grid;gap:12px}.rule-list li{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--muted)}.rule-list .icon{color:var(--accent);height:16px;width:16px;margin-top:3px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field{display:grid;gap:7px;align-content:start;min-width:0}.field.full{grid-column:1/-1}.field label,.field-label{font-size:12px;font-weight:500;color:var(--ink)}.field small{font-size:11px;line-height:1.55;color:var(--muted)}input,select,textarea{color:var(--ink);background:#1b1b20;border:1px solid #51505b;border-radius:8px;width:100%;padding:11px 12px;min-height:43px;font-size:13px;transition:border-color .15s}input::placeholder,textarea::placeholder{color:#97949f;opacity:1}input:hover,select:hover,textarea:hover{border-color:#77727f}textarea{resize:vertical;min-height:91px}input[type=checkbox],input[type=radio]{width:16px;height:16px;min-height:0;padding:0;accent-color:var(--accent);cursor:pointer}input[type=file]{font-size:12px;padding:8px}input[type=file]::file-selector-button{border:1px solid #615b6b;border-radius:5px;background:#303037;color:var(--ink);padding:6px 9px;margin-right:10px;font:inherit}input[readonly]{color:var(--muted)}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px;flex-wrap:wrap}.form-error{padding:11px 13px;border-radius:8px;background:#d8a09a0d;border:1px solid #d8a09a55;color:var(--red);font-size:12px;margin:15px 0 0}.form-error:empty{display:none}.field-inline{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);padding:4px 0}.field-inline label{cursor:pointer;flex:1}.segmented{display:inline-flex;gap:4px;border:1px solid var(--line);padding:4px;border-radius:10px;background:var(--panel)}.segmented button{background:transparent;border:0;border-radius:7px;color:var(--muted);padding:9px 18px;min-height:38px;font-size:12px}.segmented button.active{color:var(--accent);background:var(--panel-3)}.split-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:23px 0}.mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.mode-option{display:flex;align-items:center;gap:10px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:15px;color:var(--muted);font-size:12px}.mode-option>.icon{color:var(--faint)}.mode-option.active{border-color:#b9a9d26e;background:#b9a9d20b;color:var(--ink)}.mode-option.active>.icon{color:var(--accent)}.mode-option b{font-weight:500}.mode-option small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.ride-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.ride-card{border:1px solid var(--line);background:var(--panel);border-radius:17px;overflow:hidden}.ride-card.own{border-color:#b9a9d262}.ride-head{padding:21px 23px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ride-head h3{font-size:17px}.ride-head p{font-size:12px;color:var(--muted);margin-top:5px}.ride-body{padding:18px 23px 22px}.car-description{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted);margin-top:14px}.car-description .plate{color:var(--ink);font-family:ui-monospace,monospace;font-size:11px;border:1px solid #57555f;border-radius:4px;padding:2px 6px;letter-spacing:.03em}.ride-details{display:grid;gap:11px;margin:19px 0;color:var(--muted);font-size:12px}.ride-details>div{display:flex;gap:9px;align-items:flex-start;overflow-wrap:anywhere}.ride-details .icon{height:16px;width:16px;color:var(--faint);margin-top:1px}.seat-row{display:flex;gap:8px;align-items:center;margin-top:19px}.seat{height:29px;width:28px;border-radius:6px;border:1px solid #525c51;background:#282b29;color:var(--faint);display:grid;place-items:center}.seat.occupied{background:#a6b9a51c;color:var(--green);border-color:#778b76}.seat .icon{width:15px;height:15px}.seat-label{margin-left:4px;font-size:10px;color:var(--muted)}.passengers{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.person-chip{font-size:10px;padding:4px 8px;background:#2d2b33;border:1px solid #4c4856;border-radius:6px;color:#c6c1d0}.person-chip.me{color:var(--accent);border-color:#b9a9d250}.ride-comment{margin-top:14px;font-size:12px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.ride-actions{border-top:1px solid var(--line);padding:15px 23px;display:flex;align-items:center;gap:9px;justify-content:space-between;background:#1b1b2055}.unassigned-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.code-box{position:relative;background:#1a1a1f;border:1px solid #49464f;padding:18px;border-radius:11px;margin-top:16px}.code-box pre{margin:0;white-space:pre-wrap;word-break:break-word;color:#ccc7d6;font:12px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}.code-box .code-copy{position:absolute;right:9px;top:9px;width:29px;height:29px;opacity:.85}.code-box.with-copy{padding-right:48px}.step-list{display:grid;gap:17px;margin-top:20px;counter-reset:step}.step-item{display:flex;align-items:flex-start;gap:12px;font-size:13px;color:var(--muted)}.step-num{font-size:11px;flex-shrink:0;color:var(--accent);background:#b9a9d210;border:1px solid #b9a9d230;height:25px;width:25px;border-radius:7px;display:grid;place-items:center}.step-item b{display:block;color:var(--ink);font-weight:500;margin-bottom:3px}.team-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.team-member{display:flex;gap:10px;align-items:center;font-size:12px}.team-member small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.team-hero{background:linear-gradient(115deg,#2d2934,#222226);border:1px solid #4d4658;border-radius:18px;padding:27px 29px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.team-hero h2{font-size:29px;font-weight:500}.team-hero p{margin-top:7px;font-size:12px;color:var(--muted)}.repo-link{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:15px;font-size:13px}.meta-lines{margin-top:16px;display:grid;gap:12px}.meta-line{display:flex;justify-content:space-between;gap:15px;font-size:12px}.meta-line dt{color:var(--muted)}.meta-line dd{margin:0;text-align:right;overflow-wrap:anywhere}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}.product-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;overflow:hidden}.product-cover{height:105px;position:relative;background:#302d36;border-bottom:1px solid #48424f;display:flex;align-items:center;justify-content:space-between;padding:23px 24px;overflow:hidden}.product-cover:after{content:"";position:absolute;width:130px;height:130px;border:1px solid #b9a9d22b;border-radius:33px;transform:rotate(35deg);right:21px;top:24px}.product-cover .product-index{font-size:38px;line-height:1;color:#b9a9d2;font-weight:400;letter-spacing:-.04em;z-index:1}.product-cover .product-team{font-size:11px;color:#d0cad9;max-width:60%;z-index:1}.product-card:nth-child(2n) .product-cover{background:#323034}.product-card:nth-child(2n) .product-cover:after{border-color:#c9b97f27}.product-card:nth-child(2n) .product-index{color:#c9b97f}.product-content{padding:23px 24px 20px;flex:1}.product-content h3{font-size:23px;margin-top:13px}.product-description{font-size:13px;color:var(--muted);margin-top:11px;white-space:pre-wrap;overflow-wrap:anywhere}.product-meta{font-size:11px;color:var(--faint);margin-top:16px;overflow-wrap:anywhere}.product-actions{padding:17px 24px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}.product-actions .btn{flex:1}.product-detail{margin-top:14px;font-size:12px}.product-detail summary{color:var(--accent);cursor:pointer}.product-detail .prose{font-size:12px;margin-top:10px}.feedback-tools{display:flex;align-items:center;justify-content:space-between;gap:13px;margin-bottom:20px;flex-wrap:wrap}.feedback-card{padding:22px 24px;border:1px solid var(--line);border-radius:15px;background:var(--panel)}.feedback-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.feedback-top h3{font-size:15px}.feedback-author{font-size:11px;color:var(--muted);margin-top:5px}.feedback-text{font-size:14px;color:#d4d0dd;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:17px}.feedback-extra{font-size:11px;color:var(--muted);margin-top:13px;display:flex;gap:14px;flex-wrap:wrap}.feedback-extra a{color:var(--accent)}.feedback-image{display:block;max-height:220px;max-width:100%;border-radius:9px;margin-top:15px;object-fit:contain;object-position:left;border:1px solid var(--line)}.feedback-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:15px;margin-top:18px;flex-wrap:wrap}.feedback-controls select{width:auto;min-width:145px;min-height:34px;padding:7px 10px;font-size:11px}.replies{margin-top:17px;padding-left:16px;border-left:1px solid #61556f;display:grid;gap:14px}.reply-meta{font-size:10px;color:var(--muted)}.reply-text{font-size:12px;margin-top:5px;white-space:pre-wrap;overflow-wrap:anywhere}.feedback-kind{font-size:10px;display:inline-flex;align-items:center;gap:5px;color:var(--accent)}.feedback-kind .icon{width:13px;height:13px}.vote-state{display:flex;gap:17px;align-items:center;padding:22px 25px;border-radius:15px;border:1px solid #b9a9d238;background:#b9a9d207;margin-bottom:22px}.vote-state h3{font-size:17px}.vote-state p{font-size:12px;color:var(--muted);margin-top:6px}.vote-state .empty-icon{margin:0;flex-shrink:0}.criteria-list{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.criterion-pill{font-size:11px;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:9px 11px;color:var(--muted)}.criterion-pill b{color:var(--accent);font-weight:550;margin-left:5px}.vote-product{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:22px 24px}.vote-product+.vote-product{margin-top:18px}.vote-product .vote-title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:18px;margin-bottom:15px;border-bottom:1px solid var(--line)}.vote-title p{margin-top:4px;font-size:11px;color:var(--muted)}.rating-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:9px 0}.rating-row .rating-label{font-size:12px;max-width:65%}.rating-row .rating-label small{font-size:10px;color:var(--muted);margin-left:7px}.rating-options{display:flex;gap:7px}.rating-option{position:relative}.rating-option input{position:absolute;opacity:0;width:1px;height:1px}.rating-option label{width:36px;height:34px;display:grid;place-items:center;border-radius:7px;border:1px solid #56515f;background:var(--bg);font-size:12px;color:var(--muted);cursor:pointer;transition:background .15s}.rating-option input:checked+label{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:600}.rating-option input:focus-visible+label{outline:2px solid var(--accent);outline-offset:3px}.rating-option label:hover{border-color:var(--accent)}.vote-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;position:sticky;bottom:15px;padding:18px 23px;margin-top:21px;border:1px solid #60566f;border-radius:13px;background:#29272ff5;box-shadow:0 6px 25px #0003;z-index:5}.vote-footer p{font-size:12px;color:var(--muted)}.result-card{display:flex;align-items:center;gap:19px;border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:22px 24px}.result-card.winner{border-color:#b9a9d270;background:#b9a9d20c}.result-rank{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--panel-3);color:var(--muted);font-size:18px}.winner .result-rank{color:var(--accent);background:#b9a9d218}.result-score{margin-left:auto;font-size:27px;letter-spacing:-.035em;color:var(--accent)}.result-card p{font-size:11px;color:var(--muted);margin-top:4px}.admin-tabs{margin-bottom:24px}.admin-card{padding:22px 24px;background:var(--panel);border:1px solid var(--line);border-radius:15px}.admin-table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:13px}.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;background:var(--panel)}.admin-table th{color:var(--muted);font-size:10px;letter-spacing:.03em;font-weight:500;background:var(--panel-2);padding:14px 16px;white-space:nowrap}.admin-table td{padding:13px 16px;border-top:1px solid var(--line);vertical-align:middle}.admin-table .btn{white-space:nowrap}.draw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}.draw-team{background:#2b2832;border:1px solid #554c61;border-radius:12px;padding:18px}.draw-team h3{font-size:14px}.draw-team ul{padding:0;list-style:none;display:grid;gap:7px;margin:13px 0 0;color:var(--muted);font-size:11px}.draw-team ul li{display:flex;gap:6px;align-items:center}.admin-users-select{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px;padding:17px;border:1px solid var(--line);border-radius:11px;background:var(--bg)}.admin-users-select .field-inline{font-size:11px;gap:8px}.status-line{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.status-line:last-child{border:0}.status-line .status-title{flex:1}.status-line .status-title small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.admin-product-card h3{font-size:17px}.admin-product-card .code-box{margin:15px 0}.admin-product-card+.admin-product-card{margin-top:17px}.compact-json{min-height:170px;font-family:ui-monospace,monospace;font-size:11px;line-height:1.6}.file-input-drop{background:var(--bg);border:1px dashed #645c70;border-radius:10px;padding:21px;text-align:center}.file-input-drop p{font-size:12px;color:var(--muted);margin-bottom:13px}
.modal-backdrop{position:fixed;inset:0;background:#07070bc9;backdrop-filter:blur(6px);z-index:70;display:flex;align-items:center;justify-content:center;padding:24px;animation:fade-in .15s}.modal{background:#252429;border:1px solid #514b5b;border-radius:20px;box-shadow:0 28px 100px #0005;max-width:590px;width:100%;max-height:calc(100dvh - 48px);overflow:auto;padding:28px;position:relative}.modal.wide{max-width:760px}.modal-close{position:absolute;right:17px;top:17px}.modal-heading{padding-right:30px;margin-bottom:23px}.modal-heading h2{font-size:25px;font-weight:500}.modal-heading p{margin-top:9px;font-size:13px;color:var(--muted)}.modal .form-actions{margin-top:22px}.auth-modal{max-width:425px;padding:32px}.auth-modal .brand{margin-bottom:29px}.auth-modal h2{font-size:26px}.auth-modal .field{margin-top:17px}.auth-step-note{padding:11px 13px;margin-top:20px;background:var(--bg);border:1px solid var(--line);border-radius:9px;font-size:12px;display:flex;align-items:center;justify-content:space-between}.auth-step-note button{border:0;background:none;color:var(--accent);font-size:11px;padding:3px}.auth-modal .form-actions .btn{width:100%}.auth-foot{font-size:11px;color:var(--faint);margin-top:20px;text-align:center}.confirmation-text{font-size:14px;color:var(--muted);line-height:1.8;white-space:pre-wrap}.toast{position:fixed;right:27px;bottom:24px;background:#2b2b30;border:1px solid #6d826c;border-radius:12px;color:var(--ink);padding:15px 19px;font-size:13px;max-width:calc(100% - 40px);box-shadow:var(--shadow);display:flex;gap:10px;align-items:center;z-index:90;animation:fade-in .2s}.toast .icon{color:var(--green)}.toast.error{border-color:#b78780;background:#3e2e2b}.toast.error .icon{color:var(--red)}@keyframes fade-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.drawer-backdrop{display:none}.site-footer{margin-top:45px;border-top:1px solid var(--line);padding-top:21px;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;color:var(--faint)}.site-footer a{color:var(--muted)}.help-resources{display:flex;flex-wrap:wrap;gap:13px;margin-top:16px}.help-resources a{font-size:12px;color:var(--accent)}.notice-list{display:grid;gap:11px}.notice-item{background:var(--bg);border:1px solid var(--line);padding:15px 16px;border-radius:9px;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.notice-item small{display:block;color:var(--faint);margin-top:7px;font-size:10px}.notice-item.unread{border-color:#b9a9d245}
@media(min-width:1500px){.main{padding-top:42px}.hero{min-height:348px}.hero h1{font-size:56px}}
@media(max-width:1200px){:root{--sidebar:204px}.sidebar{padding-left:12px;padding-right:12px}.topbar{padding:0 28px}.main{padding:29px 28px 50px}.hero-copy{padding:30px}.hero h1{font-size:43px}.overview-columns{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:18px}.panel{padding:21px}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.team-members{grid-template-columns:1fr}.draw-grid,.admin-users-select{grid-template-columns:repeat(2,minmax(0,1fr))}.user-menu .user-sub{display:none}.topbar-right{gap:10px}}
@media(max-width:980px){.hero{grid-template-columns:1.45fr 1fr;min-height:280px}.hero h1{font-size:38px}.hero-copy{padding:27px}.hero-copy>p{font-size:12px}.hero-meta{gap:12px;font-size:11px}.hero-art{min-height:270px;opacity:.85}.hero-corner{display:none}.overview-columns{grid-template-columns:1fr}.overview-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-content:start}.overview-side>.panel{height:100%}.overview-side>.panel:last-child:nth-child(odd){grid-column:1/-1}.overview-strip{gap:10px}.metric-card{padding:15px 13px;gap:10px}.metric-card b{font-size:18px}.metric-card .metric-icon{width:31px;height:31px}.metric-card span{font-size:10px}.ride-grid{grid-template-columns:1fr}.mode-options{gap:8px}.mode-option{padding:12px;gap:8px}.mode-option small{display:none}.team-members{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}.product-grid{gap:16px}.product-content{padding:20px}.product-actions{padding:15px 20px}.product-actions .btn{font-size:12px;padding:9px 10px}.topbar-context{font-size:12px}.user-menu>.user-name{display:none}.form-grid .field.full{grid-column:1/-1}}
@media(max-width:760px){:root{--sidebar:240px}.sidebar{transform:translateX(-100%);transition:transform .2s;padding:24px 17px 22px;z-index:60}.sidebar.open{transform:translateX(0)}.sidebar.open+.drawer-backdrop{display:block;position:fixed;inset:0;background:#07070bb0;backdrop-filter:blur(2px);z-index:50}.shell{margin-left:0}.topbar{height:72px;padding:0 21px;gap:12px;position:sticky;top:0;background:#18181bf5;backdrop-filter:blur(7px);z-index:20}.mobile-toggle{display:inline-flex;border:0;color:var(--ink);width:26px}.mobile-brand{display:flex;margin-right:auto;gap:8px}.mobile-brand .brand-mark{height:31px;width:31px;border-radius:9px;font-size:21px}.mobile-brand .brand-name{font-size:20px}.topbar-context{display:none}.topbar-right{gap:9px}.topbar-right .user-menu .avatar{width:30px;height:30px}.topbar-right .btn{min-height:36px;padding:8px 12px;font-size:12px}.topbar-right .icon-btn{width:31px;height:31px;border-radius:8px}.main{padding:25px 21px 40px}.page-heading{margin-bottom:24px;gap:15px;align-items:flex-start}.page-heading h1{font-size:31px}.page-heading p{font-size:12px;margin-top:9px}.page-heading>.btn{min-height:36px;font-size:11px;padding:9px 11px;flex-shrink:0}.hero{grid-template-columns:1.4fr 1fr;min-height:285px}.hero h1{font-size:39px}.hero .eyebrow{font-size:8px;letter-spacing:.13em}.hero-copy{padding:28px 25px}.hero-copy>p{font-size:12px;line-height:1.6}.hero-art{min-height:250px}.hero-meta{font-size:10px;gap:12px}.hero-meta .icon{width:14px;height:14px}.hero .btn{margin-top:22px;font-size:12px}.hero-corner{display:none}.overview-strip{gap:9px}.metric-card{gap:11px;padding:15px 13px}.metric-card .metric-icon{width:31px;height:31px}.metric-card .metric-icon .icon{width:17px;height:17px}.metric-card b{font-size:19px}.overview-columns{margin-top:25px}.overview-side{gap:16px}.panel{padding:21px}.section-heading h2{font-size:21px}.section-heading .muted{font-size:10px}.product-grid{gap:16px}.vote-footer{bottom:10px;padding:15px 17px}.site-footer{margin-top:34px}.toast{bottom:20px;right:20px}.auth-modal{padding:28px}.modal-backdrop{padding:17px}.modal{max-height:calc(100dvh - 34px);border-radius:17px;padding:25px}.mode-options{grid-template-columns:repeat(3,minmax(0,1fr))}.mode-option{padding:13px;font-size:11px;line-height:1.4}.mode-option .icon{width:17px;height:17px}.ride-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ride-head,.ride-body,.ride-actions{padding-left:19px;padding-right:19px}.ride-head{padding-top:19px}.ride-head h3{font-size:15px}.ride-head p{font-size:11px}.ride-head .pill{font-size:8px}.seat-row{gap:5px}.seat{width:24px;height:26px}.seat-label{font-size:8px}.car-description{gap:7px;font-size:10px}.car-description .plate{font-size:9px}.ride-actions .btn{font-size:10px;padding:8px 9px}.feedback-card{padding:20px}.team-hero{padding:24px}.team-hero h2{font-size:25px}.team-hero .btn{font-size:11px}.admin-table th,.admin-table td{padding:12px}.admin-users-select{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.main{padding:21px 17px 34px}.topbar{padding:0 17px}.mobile-brand .brand-name{font-size:19px}.hero{display:block;min-height:300px}.hero-copy{padding:27px 25px 30px;max-width:88%}.hero h1{font-size:43px;line-height:1.05}.hero-copy>p{max-width:280px;font-size:12px;line-height:1.7;margin-top:17px}.hero-art{position:absolute;right:-86px;top:26px;width:250px;height:270px;opacity:.42;pointer-events:none}.hero-meta{gap:13px;margin-top:24px}.hero-meta span{font-size:11px}.hero .btn{margin-top:22px}.hero .eyebrow{font-size:9px}.overview-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metric-card{display:block;padding:14px 12px}.metric-card .metric-icon{width:27px;height:27px;margin-bottom:10px;border:0;background:transparent;place-items:start}.metric-card b{font-size:21px}.metric-card span{font-size:9px;line-height:1.5;margin-top:3px}.overview-columns{gap:18px}.overview-side{grid-template-columns:1fr}.overview-side>.panel:last-child:nth-child(odd){grid-column:auto}.section-heading{gap:12px}.section-heading h2{font-size:20px}.schedule-item{grid-template-columns:85px 1fr;gap:13px;padding:14px 0}.schedule-time{font-size:10px}.schedule-title{font-size:12px}.schedule-dot{margin-right:7px;width:5px;height:5px}.schedule-kind{font-size:9px}.tabs{gap:6px}.tab{padding:7px 10px;font-size:11px;min-height:34px}.panel{padding:20px}.compact-step{align-items:flex-start;padding:17px;gap:10px}.compact-step .btn{font-size:10px;min-height:34px;padding:8px 10px}.compact-step p{font-size:11px}.compact-step h3{font-size:13px}.page-heading{flex-direction:column;gap:17px}.page-heading>.btn{min-height:37px}.page-heading h1{font-size:31px}.mode-options{grid-template-columns:1fr;gap:8px}.mode-option{padding:13px 16px;font-size:12px;gap:12px}.mode-option small{display:block;font-size:10px}.mode-option .icon{width:20px;height:20px}.split-top{margin:21px 0;gap:10px}.segmented{gap:2px;padding:3px}.segmented button{padding:8px 12px;min-height:33px;font-size:11px}.split-top>.btn{font-size:11px;padding:9px 12px;min-height:37px}.ride-grid,.product-grid,.grid-3{grid-template-columns:1fr}.ride-head,.ride-body,.ride-actions{padding-left:21px;padding-right:21px}.ride-head h3{font-size:17px}.ride-head p{font-size:12px}.ride-head .pill{font-size:9px}.seat-row{gap:7px}.seat{height:28px;width:27px}.seat-label{font-size:10px}.ride-actions .btn{font-size:12px;padding:9px 12px}.car-description{font-size:12px}.car-description .plate{font-size:11px}.ride-details{font-size:12px}.form-grid{grid-template-columns:1fr;gap:16px}.modal{padding:24px 21px}.modal-heading h2{font-size:23px}.modal-heading p{font-size:12px}.modal .btn{font-size:12px}.team-hero{padding:22px;align-items:flex-start}.team-hero .eyebrow{font-size:9px}.team-hero h2{font-size:24px}.team-hero .btn{width:32px;height:32px;padding:0;min-height:0;font-size:0;border-radius:9px}.team-hero .btn .icon{font-size:16px}.team-members{gap:14px 10px}.team-member{font-size:11px}.team-member .avatar{width:29px;height:29px;font-size:10px}.team-member small{font-size:9px}.code-box pre{font-size:11px;line-height:1.7}.product-cover{height:95px}.product-content h3{font-size:22px}.product-actions .btn{font-size:12px;padding:10px 12px;min-height:40px}.feedback-top{gap:11px}.feedback-top h3{font-size:14px}.feedback-top .pill{font-size:9px}.feedback-controls{gap:10px}.feedback-controls .btn{font-size:10px}.feedback-text{font-size:13px}.feedback-tools{margin-bottom:17px}.feedback-tools select{width:auto;min-height:34px;font-size:11px;padding:8px 10px}.vote-state{padding:18px;gap:13px}.vote-state .empty-icon{width:40px;height:40px;border-radius:11px}.vote-state h3{font-size:15px}.vote-state p{font-size:11px}.criterion-pill{font-size:10px;padding:7px 9px}.vote-product{padding:20px 18px}.vote-title h3{font-size:16px}.rating-row{flex-direction:column;align-items:flex-start;gap:9px;padding:10px 0}.rating-row .rating-label{max-width:100%;font-size:12px}.rating-options{gap:10px}.rating-option label{width:42px;height:37px}.vote-footer{padding:15px 17px;gap:10px}.vote-footer p{font-size:10px;max-width:58%}.vote-footer .btn{min-height:38px;font-size:11px;padding:9px 12px}.result-card{padding:19px;gap:12px}.result-card h3{font-size:16px}.result-score{font-size:23px}.result-rank{width:31px;height:31px;font-size:15px}.draw-grid{grid-template-columns:1fr}.admin-users-select{padding:13px;gap:8px;grid-template-columns:1fr}.admin-card{padding:20px}.between.mobile-stack{flex-direction:column;align-items:flex-start}.admin-tabs .tab{font-size:10px;padding:7px 9px}.site-footer{align-items:flex-start;line-height:1.8}.auth-modal{padding:27px 23px}.auth-modal .brand{margin-bottom:24px}.auth-modal h2{font-size:25px}.toast{font-size:12px;right:17px;bottom:17px;padding:13px 16px}.topbar-right .user-menu{display:none}.empty-state{padding:32px 20px}.empty-state h3{font-size:17px}.empty-state p{font-size:12px}.login-gate{padding:32px 22px}.login-gate h2{font-size:23px}.login-gate p{font-size:13px}.section{margin-top:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.event-editor{display:block;border:1px solid var(--line);border-radius:12px;background:#202024;overflow:hidden}.event-editor>summary{display:flex;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;font-size:14px;font-weight:500;list-style:none}.event-editor>summary::-webkit-details-marker{display:none}.event-editor>summary:before{content:"›";font-size:21px;line-height:1;color:var(--accent);transition:transform .15s}.event-editor[open]>summary:before{transform:rotate(90deg)}.editor-summary-count{font-size:11px;color:var(--muted);font-weight:400;margin-left:auto}.event-editor>summary>.icon{color:var(--faint)}.editor-help{padding:0 18px 16px;font-size:11px}.event-editor-list{padding:0 18px;display:grid;gap:13px}.event-editor-row{padding:15px;border:1px solid #49454f;border-radius:10px;background:var(--panel)}.event-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px}.event-row-head .small{font-size:11px}.event-row-head .btn{font-size:10px;min-height:26px;padding:4px 7px}.event-row-grid{display:grid;grid-template-columns:1.2fr .85fr .85fr 1.4fr;gap:12px}.event-row-grid .field label{font-size:10px}.event-row-grid .field input,.event-row-grid .field select{font-size:12px;min-height:38px;padding:8px 9px}.event-row-title{grid-column:1/-1}.event-editor[data-schedule-editor=snacks] .event-row-grid{grid-template-columns:1.3fr 1fr 1fr}.editor-add{padding:17px 18px}.event-editor input[type=date],.event-editor input[type=time]{min-width:0}
@media(max-width:980px){.event-row-grid{grid-template-columns:1fr 1fr}.event-editor[data-schedule-editor=snacks] .event-row-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:540px){.event-editor-list{padding:0 12px}.event-editor>summary{padding:14px 13px;font-size:12px;gap:9px}.event-editor>summary>.icon{display:none}.editor-summary-count{font-size:10px}.editor-help{padding:0 13px 13px;font-size:11px}.event-editor-row{padding:12px}.event-row-grid{gap:10px}.event-editor[data-schedule-editor=snacks] .event-row-grid{grid-template-columns:1fr 1fr}.event-editor[data-schedule-editor=snacks] .field:has([data-schedule-field=date]){grid-column:1/-1}.editor-add{padding:14px 13px}}

.hero .eyebrow{color:var(--yellow)}.hero-meta .icon,.snack-item .icon{color:var(--yellow)}.brand-mark{box-shadow:inset 0 0 0 1px #e9e9ed08}
/* Organisation: a compact header and factual trip information. */
.shell{margin-left:0}.app-header{position:sticky;top:0;z-index:20;background:#18181bf5;border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.header-inner{max-width:1280px;min-height:70px;padding:0 28px;margin:0 auto;display:flex;align-items:center;gap:26px}.app-header .brand{gap:9px;flex-shrink:0}.app-header .brand-mark{width:31px;height:31px;font-size:21px;border-radius:9px}.app-header .brand-name{font-size:20px}.app-nav{display:flex;gap:3px;align-items:center;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}.app-nav .nav-item{flex:0 0 auto;padding:11px 12px;font-size:13px;border-radius:8px;min-height:41px;justify-content:center;white-space:nowrap}.app-nav .nav-item.active{color:var(--accent);background:#b9a9d210}.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.header-actions .user-name{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.header-actions .btn{min-height:36px;padding:8px 13px;font-size:12px}.header-actions .icon-btn{height:34px;width:34px;padding:0}.header-actions .avatar{width:30px;height:30px;font-size:10px}.main{max-width:1120px;padding:32px 28px 40px;margin:0 auto}.page-heading{margin-bottom:24px}.page-heading h1{font-size:31px}.page-heading p{font-size:13px;margin-top:8px}.page-heading .eyebrow{font-size:9px}.site-footer{margin-top:35px;padding-top:17px;font-size:11px}.site-footer span{white-space:normal}.home-intro{margin-bottom:27px}.home-intro h1{font-size:32px;letter-spacing:-.035em;font-weight:550}.event-dates{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;margin-top:13px}.event-dates .icon{color:var(--yellow)}.home-announcements{margin-bottom:24px;padding:13px 17px;border-left:2px solid #b9a9d270;background:#b9a9d207;border-radius:0 8px 8px 0}.home-announcements h2{font-size:13px;margin-bottom:7px;color:var(--accent)}.home-announcements p{font-size:13px;color:var(--ink);line-height:1.65;white-space:pre-wrap}.home-announcements p+p{margin-top:7px}.home-info{display:grid;grid-template-columns:1.35fr 1fr;gap:17px}.home-info .panel{padding:21px;border-radius:14px}.home-info h2{font-size:13px;font-weight:500;color:var(--muted);letter-spacing:0}.home-place-name{font-size:19px;margin-top:10px;font-weight:500;line-height:1.4}.home-place .muted{margin-top:6px}.home-contact p{font-size:14px;margin-top:12px;white-space:pre-wrap;overflow-wrap:anywhere}.home-map-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.home-map-links .btn{min-height:36px;font-size:12px}.home-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:19px}.home-shortcut{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px;border:1px solid var(--line);border-radius:11px;min-height:55px;transition:background .15s}.home-shortcut:hover{background:var(--panel)}.home-shortcut>span{display:flex;align-items:center;gap:12px}.home-shortcut b{font-size:13px;font-weight:500}.home-shortcut .icon{color:var(--accent);width:17px;height:17px}.home-shortcut>.icon{color:var(--faint);width:15px;height:15px}.home-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.home-entry p{font-size:13px;color:var(--muted);max-width:570px}.home-entry .btn{font-size:12px;flex-shrink:0}.program-days{margin-bottom:19px}.program-days .tab{min-height:40px;padding:9px 15px;font-size:12px}.program-panel{padding:6px 23px 18px;border-radius:14px;max-width:850px}.program-panel .schedule-item{grid-template-columns:105px 1fr;padding:16px 0;gap:21px;align-items:start}.program-panel .schedule-item:first-child{padding-top:15px}.program-panel .schedule-title{font-size:14px}.program-panel .schedule-time{font-size:12px;padding-top:1px}.program-panel .schedule-dot{margin-right:10px}.program-snacks{margin-top:24px;max-width:850px}.program-snacks h2{display:flex;gap:9px;align-items:center;font-size:16px}.program-snacks h2 .icon{width:18px;height:18px;color:var(--yellow)}.program-snacks>.muted{margin-top:7px;font-size:12px}.snack-times{display:grid;gap:11px;margin-top:14px}.snack-times>div{display:flex;align-items:flex-start;gap:20px;font-size:12px}.snack-times span{min-width:105px;color:var(--ink);font-variant-numeric:tabular-nums}.snack-times p{color:var(--muted);font-size:12px}.travel-choice{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.travel-choice>.small{font-size:12px}.travel-choice .segmented{background:transparent}.travel-choice .segmented button{font-size:11px;padding:8px 13px;min-height:35px}.split-top{margin-top:21px;margin-bottom:19px}.split-top .segmented button{min-height:38px}.my-ride-note{display:flex;align-items:flex-start;gap:8px;padding-bottom:17px;color:var(--muted);font-size:12px}.my-ride-note .icon{color:var(--green);margin-top:1px}.ride-capacity-note{font-size:12px;color:var(--muted);margin-top:19px}.unassigned-details{border-top:1px solid var(--line);margin-top:20px;padding-top:17px;font-size:12px;color:var(--muted)}.unassigned-details summary{cursor:pointer;color:var(--ink)}.form-subheading{font-size:14px;font-weight:550;border-top:1px solid var(--line);margin-top:20px;padding-top:18px;margin-bottom:13px}.return-settings{margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.return-settings summary{font-size:12px;color:var(--accent);cursor:pointer}.return-settings .form-grid{margin-top:15px}.ride-form-note{font-size:11px;color:var(--muted);margin-top:18px;line-height:1.65}.publication-control{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid #b9a9d23a;border-radius:13px;background:#b9a9d207;margin-bottom:24px}.publication-control h2{font-size:16px;letter-spacing:-.015em}.publication-control p{font-size:12px;color:var(--muted);margin-top:5px}.publication-control .btn{font-size:12px;flex-shrink:0}.preparation-back{display:inline-block;color:var(--muted);font-size:12px;margin-bottom:21px}.preparation-back:hover{color:var(--accent)}
@media(max-width:1100px){.header-inner{gap:17px;padding:0 24px}.header-actions .user-name{max-width:115px}.app-nav .nav-item{padding:10px 10px;font-size:12px}.main{padding:28px 24px 36px}.app-header .brand-name{font-size:19px}}
@media(max-width:850px){.header-actions .user-name{display:none}.header-inner{gap:17px}.app-nav .nav-item{padding:10px 11px}.home-info{grid-template-columns:1.2fr 1fr}}
@media(max-width:760px){.header-inner{min-height:0;flex-wrap:wrap;padding:13px 20px 0;gap:10px 17px}.app-header .brand{order:1;margin-right:auto}.header-actions{order:2;gap:9px}.app-nav{order:3;flex-basis:100%;width:100%;gap:5px;padding:6px 0 10px}.app-nav .nav-item{font-size:13px;min-height:40px;padding:10px 15px;flex:1}.app-nav:has(.nav-item:nth-child(4)) .nav-item{flex:0 0 auto}.app-header .brand-name{font-size:20px}.header-actions .user-menu{display:flex}.main{padding:25px 20px 34px}.home-intro h1{font-size:29px}.home-info{gap:14px}.home-info .panel{padding:19px}.home-shortcuts{gap:14px}.page-heading h1{font-size:29px}.page-heading p{font-size:12px}.site-footer{font-size:10px}.program-panel .schedule-item{gap:16px}.travel-choice{align-items:flex-start;flex-direction:column;gap:11px;padding-bottom:17px}.travel-choice .segmented{max-width:100%;width:100%}.travel-choice .segmented button{flex:1;min-height:36px}.publication-control{gap:17px}.publication-control .btn{font-size:11px;padding:9px 12px}}
@media(max-width:540px){.header-inner{padding:12px 17px 0;gap:8px 12px}.app-nav{padding-top:6px;padding-bottom:9px;gap:3px}.app-nav .nav-item{font-size:12px;padding:10px 14px}.header-actions{gap:8px}.header-actions .user-menu{display:none}.header-actions .icon-btn{height:32px;width:32px}.app-header .brand-name{font-size:19px}.app-header .brand-mark{width:29px;height:29px;font-size:20px;border-radius:8px}.main{padding:24px 17px 30px}.home-intro{margin-bottom:22px}.home-intro h1{font-size:28px;line-height:1.2}.event-dates{font-size:13px;margin-top:10px}.home-info{grid-template-columns:1fr;gap:12px}.home-info .panel{padding:17px 18px}.home-info h2{font-size:12px}.home-place-name{font-size:18px;margin-top:8px}.home-contact p{font-size:13px;margin-top:8px}.home-map-links{margin-top:14px}.home-shortcuts{grid-template-columns:1fr;gap:10px;margin-top:15px}.home-shortcut{min-height:48px;padding:13px 17px}.home-shortcut b{font-size:12px}.home-entry{align-items:flex-start;flex-direction:column;gap:14px;margin-top:20px}.home-entry p{font-size:12px}.home-entry .btn{width:100%;min-height:41px;font-size:12px}.home-announcements{padding:12px 15px;margin-bottom:19px}.home-announcements p{font-size:12px}.page-heading{gap:15px;margin-bottom:20px}.page-heading h1{font-size:28px}.program-days{gap:7px;margin-bottom:15px}.program-days .tab{min-height:39px;font-size:11px;padding:8px 13px}.program-panel{padding:3px 17px 13px}.program-panel .schedule-item{grid-template-columns:89px 1fr;gap:12px;padding:14px 0}.program-panel .schedule-time{font-size:10px;padding-top:2px;white-space:nowrap}.program-panel .schedule-title{font-size:12px;line-height:1.6}.program-panel .schedule-dot{width:4px;height:4px;margin-right:7px}.program-snacks h2{font-size:15px}.program-snacks>.muted{font-size:11px}.snack-times>div{gap:12px}.snack-times span{min-width:89px;font-size:11px}.snack-times p{font-size:11px}.travel-choice .segmented button{padding:8px 10px;font-size:10px}.travel-choice .small{font-size:11px}.my-ride-note{font-size:11px;line-height:1.7}.ride-capacity-note{font-size:11px;line-height:1.65}.form-subheading{font-size:13px}.publication-control{align-items:flex-start;flex-direction:column;gap:15px;padding:17px}.publication-control h2{font-size:15px}.publication-control p{font-size:11px}.publication-control .btn{min-height:39px;width:100%;font-size:12px}.site-footer{margin-top:29px;padding-top:16px}}

.ride-metro>div{min-width:0;flex:1}.metro-label{display:block;font-size:11px;margin-bottom:5px}.metro-stations{display:flex;flex-wrap:wrap;gap:6px}.metro-station{display:inline-block;max-width:100%;padding:3px 8px;border:1px solid var(--line);border-radius:6px;font-size:12px;line-height:1.5;overflow-wrap:anywhere;color:var(--ink);background:var(--panel-2)}

.ride-preview{align-self:start}.ride-preview .ride-details{margin:0}.ride-preview .ride-body{padding-top:5px;padding-bottom:21px}

.draw-settings>summary{cursor:pointer;color:var(--muted);font-size:13px;margin-bottom:15px}.draw-settings .panel{margin-top:12px}.draw-team-header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px;font-size:12px}.draw-team-header>span{color:var(--muted);white-space:nowrap}.draw-team-name{width:100%;min-width:0;font-size:13px}.draw-team ul li.draw-member{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,120px);gap:10px;align-items:center;padding:5px 0}.draw-member>span{overflow-wrap:anywhere}.draw-member select{width:100%;min-width:0;font-size:11px;padding:7px;min-height:34px}.draw-empty{font-size:12px;color:var(--muted);margin-top:14px}.draw-warning{margin-top:16px}

/* Ride dates, flexible departure plans and arrival preferences. */
.ride-details .ride-arrival{margin-top:1px}.pill.arrival{font-size:11px;line-height:1.5;white-space:normal;font-weight:500;padding:5px 9px;border:1px solid var(--line);color:var(--muted);background:var(--panel-2)}.pill.arrival-breakfast{color:var(--yellow);border-color:#c9b97f3d;background:#c9b97f0b}.pill.arrival-session{color:var(--accent);border-color:#b9a9d23d;background:#b9a9d20b}.ride-pickup{padding-top:15px;margin-top:17px;border-top:1px solid var(--line)}.ride-pickup h4{font-size:11px;font-weight:500;color:var(--muted);margin:0 0 7px;letter-spacing:0}.ride-pickup p{font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.ride-details>div>span{min-width:0;overflow-wrap:anywhere}.ride-form-intro{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 19px}.ride-arrival-field{margin-top:18px}.ride-form-details{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.ride-form-details>summary{cursor:pointer;color:var(--accent);font-size:12px}.ride-form-details>.form-grid{margin-top:16px}.ride-form-details textarea{min-height:96px}.return-settings>.form-grid{margin-top:15px}
@media(max-width:540px){.pill.arrival{font-size:10px}.ride-pickup p{font-size:11px}.ride-form-intro{font-size:11px;margin-bottom:17px}.ride-form-details>summary{font-size:11px}.ride-pickup{padding-top:13px;margin-top:15px}}

/* Organiser ride and passenger management. */
.admin-ride-top{margin-top:0}.admin-ride-help{font-size:12px;line-height:1.7;margin-bottom:20px;max-width:780px}.admin-ride-card{align-self:start}.admin-ride-card .ride-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;padding-top:16px}.admin-ride-card .ride-actions .btn{white-space:normal}.admin-ride-card .car-description{overflow-wrap:anywhere}.admin-ride-passengers{margin-top:17px;padding-top:15px;border-top:1px solid var(--line)}.admin-ride-passengers h4{margin:0;font-size:12px;font-weight:500;line-height:1.5}.admin-ride-passengers>.between{gap:12px;margin-bottom:8px}.admin-ride-passengers .small{font-size:11px}.admin-ride-passengers>p{font-size:11px;margin-top:11px}.admin-passenger-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:13px;padding:5px 0;font-size:12px}.admin-passenger-row>span{overflow-wrap:anywhere}.admin-passenger-row .btn{font-size:11px;min-height:31px;padding:6px 9px}.admin-driver-select{margin-bottom:20px}
@media(max-width:540px){.admin-ride-help{font-size:11px}.admin-passenger-row{font-size:11px}.admin-ride-card .ride-actions{gap:7px}.admin-ride-passengers h4{font-size:11px}}

.ride-destination-label{display:block;margin-bottom:3px;color:var(--muted);font-size:11px;line-height:1.4}.ride-destination .icon{color:var(--faint)}

/* One room for the whole trip, with individual arrival dates. */
.home-shortcuts .home-shortcut:last-child:nth-child(odd){grid-column:1/-1}.room-help{font-size:12px;line-height:1.75;color:var(--muted);max-width:790px;margin-top:-7px;margin-bottom:24px}.room-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:17px;margin-bottom:16px}.room-control-label{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.room-controls .segmented button{font-size:12px;min-height:39px;padding:9px 15px}.room-capacity{display:flex;align-items:center;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:var(--muted);margin-bottom:22px}.room-capacity>span{color:var(--ink)}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.room-card{min-width:0;align-self:start;padding:19px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.room-card.own{border-color:#b9a9d26b}.room-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.room-card-head h3{font-size:17px;margin-top:1px;overflow-wrap:anywhere}.room-card-head .pill{font-size:10px;flex-shrink:0}.room-hotel-number{font-size:11px;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}.room-card-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 10px;font-size:10px;color:var(--faint);margin:16px 0 13px}.room-seats{display:grid;gap:9px}.room-seat{display:flex;align-items:center;gap:10px;padding:10px;border:1px dashed var(--line);border-radius:9px;min-height:57px;background:var(--bg)}.room-seat.occupied{border-style:solid}.room-seat.me{border-color:#b9a9d252}.room-seat-index{width:23px;height:23px;border-radius:7px;display:grid;place-items:center;background:var(--panel-2);font-size:10px;color:var(--muted);flex-shrink:0}.room-seat-person{min-width:0;flex:1;overflow-wrap:anywhere;font-size:12px;line-height:1.55}.room-seat-person small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.room-seat:not(.occupied) .room-seat-person{color:var(--faint)}.room-seat>.btn{min-height:31px;padding:5px 7px;font-size:10px;flex-shrink:0}.room-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:17px}.room-card-actions .btn{font-size:11px;min-height:36px;padding:8px 10px}.room-here{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--green);margin-top:11px}.room-here .icon{width:14px;height:14px}.room-arrival-edit{display:flex;align-items:center;gap:5px;padding:3px 0;background:none;border:0;color:var(--accent);font-size:10px;line-height:1.5;text-align:left}.room-arrival-edit .icon{width:12px;height:12px}.room-admin-heading{gap:20px;margin-bottom:23px}.room-admin-heading .btn{font-size:12px;flex-shrink:0}.room-admin-heading p{font-size:12px;max-width:650px}.room-form-note{font-size:12px;color:var(--muted);line-height:1.7;margin-top:17px}.room-own-notice{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border:1px solid var(--line);background:var(--panel);border-radius:10px;margin-bottom:20px;font-size:12px}.room-own-notice .muted{font-size:11px;margin-top:5px}.room-notice-actions{display:flex;flex-wrap:wrap;gap:8px}.room-own-notice .btn{font-size:11px}.admin-room-grid .room-seat{padding:9px}.admin-room-grid .room-card-actions{gap:6px}.admin-room-grid .room-card-actions .btn{font-size:10px}
@media(max-width:1000px){.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-controls .segmented button{padding:9px 13px}}
@media(max-width:650px){.room-controls{align-items:flex-start;flex-direction:column;gap:14px}.room-group-control{max-width:100%}.room-own-notice{align-items:flex-start;flex-direction:column;gap:13px}.room-admin-heading{align-items:flex-start;flex-direction:column;gap:14px}.room-help{font-size:11px}.room-capacity{font-size:11px;margin-bottom:18px}}
@media(max-width:540px){.room-grid{grid-template-columns:1fr;gap:13px}.room-card{padding:17px}.room-card-head h3{font-size:16px}.room-controls .segmented button{font-size:11px;min-height:38px;padding:9px 13px}.room-admin-heading p{font-size:11px}.room-card-actions .btn{font-size:11px}.admin-room-grid .room-card-actions .btn{font-size:11px}.room-seat-person{font-size:12px}.room-card-meta{font-size:10px}.room-form-note{font-size:11px}}
