:root{--navy:#00274C;--maize:#FFCB05;--canvas:#fffaf0;--ink:var(--navy);--muted:#42566b;--teal:var(--navy);--line:#00274c30;--cream:#fff2bf;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}body{margin:0;background:var(--navy);color:var(--ink);font-family:"Apple SD Gothic Neo","Malgun Gothic",sans-serif;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--maize);outline-offset:4px}[hidden]{display:none!important}.shell{max-width:1280px;padding:0 24px 24px;margin:auto}header{height:116px;display:flex;align-items:center;justify-content:center}.brand{display:block;background:var(--maize);padding:4px 20px;border-radius:0 0 20px 20px;align-self:flex-start}.brand-logo{display:block;width:196px;height:auto}main{width:100%}.entry{outline:none;display:grid;grid-template-columns:1.12fr 1fr;align-items:stretch;gap:16px;padding:0}.intro{grid-column:2;grid-row:1;padding:40px;width:100%;background:var(--maize);border-radius:24px;display:flex;flex-direction:column;justify-content:center}h1{font-size:36px;font-weight:500;letter-spacing:-1px;margin:0 0 24px}form{margin:0}label{display:block;font-size:13px;font-weight:600;margin-bottom:9px}input{height:56px;width:100%;background:var(--canvas);border:1px solid var(--navy);border-radius:12px;padding:0 16px;font-size:17px;letter-spacing:1px;color:var(--ink);transition:border-color .2s}input::placeholder{color:var(--muted)}input:focus{outline:2px solid var(--navy);outline-offset:2px}input[aria-invalid=true]{border-color:var(--navy)}.error{color:var(--navy);font-weight:600;font-size:12px;line-height:1.5;margin:8px 0}.error:empty{margin:12px 0}.primary{width:100%;height:54px;border:0;border-radius:12px;background:var(--teal);color:var(--canvas);display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:14px;transition:transform .25s var(--ease),background .2s}.primary span{font-size:23px;transition:transform .3s var(--ease)}.primary:hover{background:#123d64}.primary:hover span{transform:translate(3px,-3px)}button:active{transform:scale(.98)}.event-poster-wrap{position:relative;grid-column:1;grid-row:1;border:0;padding:0;border-radius:24px;overflow:hidden;display:block;background:var(--canvas);transition:transform .35s var(--ease)}.event-poster{display:block;width:100%;height:auto;transition:transform .6s var(--ease)} .result{outline:none;padding:0 0 20px;animation:enter .4s var(--ease)} .back{background:none;border:0;color:var(--maize);font-size:12px;padding:10px 0;min-height:44px;margin-bottom:8px}.result-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:16px} .driver{background:var(--maize);color:var(--navy);border-radius:20px;padding:28px}.card-top{display:flex;justify-content:space-between;font-size:13px}.driver h2{font-size:28px;font-weight:500;margin:0}.driver-email{border-top:1px solid var(--line);margin-top:26px;padding-top:20px;display:flex;justify-content:space-between;gap:12px;align-items:center}.driver-email span{font-size:11px;color:var(--navy)}.driver-email strong{font-size:17px;font-weight:400;font-variant-numeric:tabular-nums} .riders{background:var(--canvas);border:1px solid var(--line);border-radius:20px;padding:24px}.list-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.list-heading h2{font-size:18px;font-weight:500;margin:0}.list-heading>span{font-size:11px;padding:6px 10px;border-radius:20px;background:var(--canvas)}ol{padding:0;margin:0;list-style:none}li{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;animation:enter .45s var(--ease) both;animation-delay:calc(var(--index)*65ms)}li:last-child{border-bottom:0} .mock-note{text-align:center;font-size:11px;color:var(--canvas);margin:16px 0 0}dialog{border:1px solid var(--line);border-radius:16px;padding:48px 8px 8px;background:var(--canvas);max-width:min(94vw,850px);max-height:94dvh;overflow:auto}dialog::backdrop{background:#00274ce0}dialog[open]{animation:enter .25s var(--ease)}dialog img{display:block;width:100%;height:auto;border-radius:8px}body:has(dialog[open]){overflow:hidden}@keyframes enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:767px){.shell{padding:0 12px 16px;max-width:560px}header{height:104px}.brand-logo{width:180px}.entry{grid-template-columns:1fr;gap:12px;padding:0}.intro{grid-column:1;grid-row:1;padding:22px;border-radius:20px}h1{font-size:26px;margin:0 0 16px}.event-poster-wrap{grid-column:1;grid-row:2;border-radius:20px}.result-grid{grid-template-columns:1fr;gap:12px}.driver{padding:22px}.driver h2{padding-top:25px;font-size:24px}.driver-email{clear:both;margin-top:18px;padding-top:16px}.riders{padding:20px}.mock-note{line-height:1.6}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.intro button:focus-visible{outline-color:var(--navy)}



/* Ride details: one compact panel with a clear driver / passenger split. */
.result{max-width:920px;margin:0 auto}.back{margin:0 0 12px}.result-grid{grid-template-columns:.9fr 1.1fr;gap:0;background:var(--canvas);border-radius:24px;overflow:hidden}.driver{border-radius:0;padding:32px;display:flex;flex-direction:column;justify-content:space-between}.card-top{align-items:center;font-size:16px;font-weight:600}.driver h2{font-size:40px;letter-spacing:-1.5px;padding:0;margin:28px 0 32px;font-weight:500}.driver-email{display:block;margin:0;padding-top:20px}.driver-email span{display:block;font-size:12px;margin-bottom:8px}.driver-email strong{font-size:22px;letter-spacing:.4px}.riders{border:0;border-radius:0;padding:28px 32px}.list-heading{padding-bottom:20px;margin:0;border-bottom:2px solid var(--navy);align-items:baseline}.list-heading h2{font-size:16px;font-weight:700}.list-heading>span{background:none;padding:0;font-size:32px;font-weight:500;letter-spacing:-1px;font-variant-numeric:tabular-nums}li{padding:17px 0;font-size:17px}.mock-note{margin-top:14px;color:#d3deea}.driver-email strong{overflow-wrap:anywhere}@media(max-width:767px){.result-grid{grid-template-columns:1fr;border-radius:20px}.driver{padding:24px}.driver h2{font-size:34px;padding:0;margin:16px 0 20px}.driver-email{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;margin:0}.driver-email span{margin:0}.driver-email strong{font-size:18px}.riders{padding:22px 24px}.list-heading{padding-bottom:14px}.list-heading>span{font-size:28px}li{padding:15px 0;font-size:16px}}

.driver-email strong{font-size:18px;letter-spacing:0;min-width:0}@media(max-width:767px){.driver-email{display:block}.driver-email span{margin-bottom:8px}.driver-email strong{font-size:17px}}



.rider-details{display:block}.rider-contacts{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:8px}.rider-contacts a,.rider-contacts span{color:var(--navy);font-size:13px;overflow-wrap:anywhere;text-underline-offset:3px;min-height:28px;display:inline-flex;align-items:center}@media(max-width:767px){.rider-contacts{flex-direction:column;gap:2px}}

.driver h2,#rider-list li>span{font-size:40px;font-weight:500;letter-spacing:-1.5px;line-height:1.25}#rider-list li>span{overflow-wrap:anywhere}.driver-email strong,.rider-contacts a,.rider-contacts span{font-size:18px;letter-spacing:0}@media(max-width:767px){.driver h2,#rider-list li>span{font-size:34px}.driver-email strong,.rider-contacts a,.rider-contacts span{font-size:17px}}

.card-top,.list-heading h2{font-size:35px;font-weight:700;line-height:1.25;letter-spacing:-1px}.driver h2,#rider-list li>span{font-size:25px;letter-spacing:-.5px}.driver-email strong,.rider-contacts a,.rider-contacts span{font-size:18px}@media(max-width:767px){.driver h2,#rider-list li>span{font-size:23px}.driver-email strong,.rider-contacts a,.rider-contacts span{font-size:16px}}

.card-top,.list-heading h2{font-size:30px}.driver{justify-content:flex-start}.driver h2,#rider-list li>span{font-size:20px}.driver h2{margin:22px 0 8px}.driver-email{border:0;padding:0;margin:0}@media(max-width:767px){.driver h2{margin:18px 0 8px}.driver-email{border:0;padding:0;margin:0}}

.card-top{padding-bottom:20px;border-bottom:2px solid var(--navy)}@media(max-width:767px){.card-top{padding-bottom:14px}}

.contact-visibility-note{margin:16px 0 0;color:var(--canvas);font-size:13px;line-height:1.6;text-align:center}@media(max-width:767px){.contact-visibility-note{padding:0 4px}}

.shell{position:relative}.admin-link{position:absolute;right:24px;top:32px;min-height:44px;padding:0 8px;background:none;border:0;color:#fff;font-size:14px}.admin-link:hover{text-decoration:underline;text-underline-offset:4px}body:has(#entry[hidden]) .admin-link{display:none}.admin-screen{max-width:460px;margin:0 auto;outline:none}.admin-panel{background:var(--maize);padding:32px;border-radius:24px}.admin-panel h1{font-size:28px;margin-bottom:24px}#admin-form label:not(:first-child){margin-top:20px}.dashboard-empty{font-size:16px;line-height:1.6;margin:0}.admin-panel .primary:focus-visible{outline-color:var(--navy)}@media(max-width:767px){.admin-link{position:static;grid-column:1;grid-row:3;justify-self:end;font-size:13px}.admin-panel{padding:24px;border-radius:20px}body:has(#entry[hidden]) header{height:104px}}

.event-poster-wrap{width:min(100%,calc(72dvh * var(--poster-ratio,1)));justify-self:center;align-self:center}.event-poster{height:auto}.intro{min-height:0;align-self:center}#lookup .error:empty{display:none}@media(max-width:767px){.event-poster-wrap{width:100%}.intro{min-height:0}}

.auth-notice{max-width:560px;margin:0 auto;outline:none}.auth-panel{padding:32px;border-radius:24px;background:var(--maize)}.auth-panel h1{font-size:28px;line-height:1.4}.auth-panel p{font-size:16px;line-height:1.7;margin:0 0 28px}.auth-panel .primary{text-decoration:none;gap:16px}.auth-panel .primary:focus-visible{outline-color:var(--navy)}.notice-home{display:block;width:fit-content;margin:20px auto 0;color:var(--navy);font-size:14px;text-underline-offset:4px}.ride-session-actions{display:flex;justify-content:flex-end;gap:20px;align-items:center;margin-bottom:16px}.ride-session-actions a,.ride-session-actions button{color:var(--canvas);font-size:14px;background:none;border:0;padding:10px 0;text-underline-offset:4px}@media(max-width:767px){.auth-panel{padding:24px;border-radius:20px}.auth-panel h1{font-size:24px}}

.intro{background:transparent}.intro .primary{position:relative;background:var(--maize);color:var(--navy);justify-content:center;font-size:20px;font-weight:600;padding:0 48px}.intro .primary span{position:absolute;right:18px}.intro .primary:hover{background:#ffda4d}.intro button:focus-visible{outline-color:var(--maize)}.intro .error{color:var(--canvas)}

#admin-form .primary{width:120px;margin-left:auto;justify-content:center}
.ride-loading{padding:72px 24px;text-align:center;color:var(--canvas);font-size:16px;line-height:1.6}
