:root{color:#17201c;background:#f4f1ea;--cta: #c84f2d;--cta-pressed: #a93d22;--money-green: #137a3f;--money-green-dark: #0f5f31;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}a{color:inherit}.shell{min-height:100vh}.landingShell{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f4f1ea}.landingPanel{width:min(560px,100%);display:grid;gap:18px;padding:28px;border:1px solid rgba(23,32,28,.12);border-radius:8px;background:#fffaf1;box-shadow:0 24px 80px #17201c1f}.landingPanel h1{font-size:clamp(34px,7vw,56px)}.landingAction{width:100%}.landingCopy{padding-top:6px;padding-bottom:12px;color:#3e4a42;font-size:15px;font-weight:650;line-height:1.55}.landingCopy p{margin-bottom:0}.landingCopy strong{color:#17201c;font-weight:950}.missingVenueCta{display:flex;justify-content:center;margin-top:18px}.missingVenueButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.reportPanel{width:min(680px,100%)}.reportBackButton{justify-self:start}.reportHelper{margin:0;color:#3e4a42;font-size:15px;font-weight:750;line-height:1.5}.missingVenueForm{display:grid;gap:14px}.missingVenueForm label{display:grid;gap:7px;color:#3e4a42;font-size:13px;font-weight:950;text-transform:uppercase}.missingVenueForm input,.missingVenueForm select,.missingVenueForm textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid rgba(23,32,28,.14);border-radius:8px;background:#fff;color:#17201c;font:inherit;font-weight:800;outline:0;text-transform:none}.missingVenueForm textarea{min-height:112px;resize:vertical}.gpsRow{display:flex;justify-content:flex-start}.gpsRow .secondary,.osmNoteLink{display:inline-flex;align-items:center;gap:8px}.coordinateGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.confirmRow{display:flex!important;grid-template-columns:none;align-items:flex-start;gap:10px!important;text-transform:none!important;line-height:1.4}.confirmRow input{width:18px;min-width:18px;min-height:18px;margin-top:2px}.reportMessage{margin:0;padding:12px;border:1px solid rgba(200,79,45,.28);border-radius:8px;background:#fff7ed;color:#5f2a18;font-weight:850}.reportMessage.success{border-color:#137a3f42;background:#f0fdf4;color:#0f5f31}.osmNoteLink{color:#17201c;font-weight:950;text-underline-offset:3px}.inlineGpsButton{display:inline-grid;place-items:center;width:30px;height:30px;margin:0 2px;border:1px solid rgba(15,118,110,.18);border-radius:8px;background:#f0fdfa;color:#0f766e;vertical-align:middle}.joinForm{display:grid;gap:8px}.joinForm label{color:#3e4a42;font-weight:900}.joinRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.joinRow input{min-height:44px;min-width:0;padding:0 12px;border:1px solid rgba(23,32,28,.14);border-radius:8px;background:#fff;color:#17201c;outline:0;font-weight:800}.workspace{padding:24px;background:#fffaf1}.workspace .panel{max-width:980px;margin:0 auto}.mapWrap{position:relative;min-height:560px;overflow:hidden;background:#dfe8dd}.map{position:absolute;top:0;right:0;bottom:0;left:0}.mapSection{padding:0 24px 28px;background:#f4f1ea}.mapStatic{width:min(1120px,100%);height:520px;left:50%;right:auto;top:20px;bottom:auto;overflow:hidden;border:1px solid rgba(23,32,28,.12);border-radius:8px;background:#dfe8dd;cursor:grab;touch-action:none;transform:translate(-50%)}.mapStatic.dragging{cursor:grabbing}.mapTile{position:absolute;width:256px;height:256px;-webkit-user-select:none;user-select:none}.mapStatus{position:absolute;top:18px;left:18px;z-index:1;max-width:min(360px,calc(100% - 36px));padding:9px 11px;border:1px solid rgba(23,32,28,.1);border-radius:8px;background:#ffffffeb;color:#25322b;box-shadow:0 12px 30px #17201c1f;font-size:13px;font-weight:900}.personMarker{--pin-color: #0f766e;position:relative;width:42px;height:52px;pointer-events:auto;filter:drop-shadow(0 7px 12px rgba(23,32,28,.28))}.staticMarker{position:absolute;z-index:3;transform:translate(-21px,-52px)}.simpleMarker{position:absolute;z-index:2;width:34px;height:46px;transform:translate(-17px,-46px);filter:drop-shadow(0 5px 10px rgba(23,32,28,.28))}.simpleMarker span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border:3px solid #ffffff;border-radius:999px;background:var(--pin-color, #111827);color:#fff;font-size:13px;font-weight:900;line-height:1}.simpleMarker span:after{content:"";position:absolute;left:50%;bottom:-10px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:11px solid var(--pin-color, #111827);transform:translate(-50%)}.simpleMarker.midpoint{z-index:5}.simpleMarker.venue{z-index:4}.mapControls{position:absolute;right:14px;top:14px;z-index:6;display:flex;gap:6px}.mapControls button{min-width:34px;min-height:34px;border:1px solid rgba(23,32,28,.14);border-radius:8px;background:#fff;color:#17201c;font-weight:900}.personMarker span{position:absolute;left:1px;top:0;width:40px;height:40px;display:grid;place-items:center;border:3px solid #ffffff;border-radius:999px;background:var(--pin-color);color:#fff;font-size:12px;font-weight:900;line-height:1}.personMarker span:after{content:"";position:absolute;left:50%;bottom:-12px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:14px solid var(--pin-color);transform:translate(-50%)}.personMarker em{font-style:normal;position:relative;z-index:1}.personMarker strong{position:absolute;left:48px;top:7px;max-width:110px;padding:5px 7px;overflow:hidden;border-radius:6px;background:#fff;color:#17201c;font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.panel{display:flex;flex-direction:column;gap:18px;padding:22px;background:#fffaf1;overflow:auto}.panelHeader,.sectionTitle,.personTop,.venueTop,.actionRow,.linkRow,.roomMeta,.venueMeta{display:flex;align-items:center}.panelHeader,.sectionTitle,.venueTop,.actionRow{justify-content:space-between;gap:12px}.panelHeader{flex-wrap:wrap;align-items:flex-start}.panelHeader h1{max-width:340px;font-size:22px;line-height:1.12}.panelHeader .inviteButton{margin-left:auto}.eyebrow{margin:0 0 4px;color:#5d6b60;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:28px;line-height:1.05}.titleLink{color:inherit;text-decoration:none}.titleLink:hover,.titleLink:focus-visible{text-decoration:underline;text-underline-offset:4px}h2{margin-bottom:4px;font-size:26px}h3{margin-bottom:0;font-size:18px;line-height:1.2}.iconButton,.inviteButton,.miniButton,.removeButton,.locateButton,.primary,.secondary,.segmented button,.modeGrid button{border:1px solid rgba(23,32,28,.14);border-radius:8px;background:#fff;color:#17201c}.iconButton{width:40px;height:40px;display:grid;place-items:center}.inviteButton{min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;font-weight:900;white-space:nowrap}.roomMeta{gap:8px;color:#4a5a50;font-size:14px}.locationWarning{display:flex;align-items:center;gap:8px;margin:-6px 0 0;padding:10px 12px;border:1px solid rgba(202,138,4,.24);border-radius:8px;background:#fff8e1;color:#674b12;font-size:14px;font-weight:900;line-height:1.35}.locationWarning svg{flex:0 0 auto}.resultsWarning{width:fit-content;max-width:100%;margin:10px 0 0}.divider{width:1px;height:14px;background:#17201c33}.controlGroup{display:grid;gap:12px}.sectionTitle{font-weight:800}.numberedTitle{display:inline-flex;align-items:center;gap:8px}.numberedTitle b,.personNumber,.venueNumber{display:inline-grid;place-items:center;width:26px;height:26px;flex:0 0 auto;border-radius:999px;background:#17201c;color:#fff;font-size:12px;font-weight:900;line-height:1}.miniButton{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;font-size:13px}.removeButton{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;color:#8a1f2d;background:#fff5f5}.locateButton{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;color:#0f766e;background:#f0fdfa}.locateButtonPulse{animation:gpsPulse 2s ease-in-out infinite;border-color:#0f766e5c}.segmented,.modeGrid{display:grid;gap:8px}.segmented{grid-template-columns:repeat(4,minmax(0,1fr))}.segmented button,.modeGrid button{position:relative;min-height:40px;padding:8px;font-weight:800}.modeGrid button.selected{background:#17201c;color:#fff;border-color:#17201c}.segmented button.active{background:var(--money-green);color:#fff;border-color:var(--money-green-dark)}.toggleCheck{position:absolute;top:5px;right:6px;pointer-events:none;stroke-width:3}.participants{max-height:420px;overflow:auto;padding-right:4px}.person,.venue,.emptyState{border:1px solid rgba(23,32,28,.12);border-radius:8px;background:#fff}.person{display:grid;gap:10px;padding:12px}.person.locked{background:#f8f8f4}.personTop{gap:8px}.personNumber{width:28px;height:28px}.ownerBadge{flex:0 0 auto;padding:5px 7px;border-radius:6px;background:#edf2ef;color:#4a5a50;font-size:11px;font-weight:900}.identityCard{display:grid;gap:12px;padding:12px;border:1px solid rgba(23,32,28,.12);border-radius:8px;background:#fff}.selfNameRow{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px}.selfNameRow .numberedTitle{white-space:nowrap}.selfNameRow>input{width:100%;min-height:42px;padding:0 10px;border:1px solid rgba(23,32,28,.14);border-radius:8px;outline:0;font-weight:800}.selfFields{display:grid;gap:8px}.peopleActionRow{display:flex;justify-content:center;gap:10px}.peopleActionButton{flex:1 1 0;max-width:240px;min-width:0;min-height:40px;justify-content:center;padding:0 12px;white-space:normal}.stackedField{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:10px}.stackedField>span,.stackedField>label{color:#4a5a50;font-size:12px;font-weight:900;text-transform:uppercase}.stackedField>input{width:100%;min-height:42px;padding:0 10px;border:1px solid rgba(23,32,28,.14);border-radius:8px;outline:0;font-weight:800}.stackedField>.locationRow{min-width:0}.person input,.field input{width:100%;min-width:0;border:0;outline:0;color:#17201c}.person input:disabled,.field input:disabled{background:transparent;color:#6a746d;cursor:not-allowed}.personTop input{font-weight:800;font-size:15px}.sharedName{min-width:0;flex:1;overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.sharedSummary{margin:-2px 0 0 20px;color:#5d6b60;font-size:13px;line-height:1.35}.field{position:relative;display:flex;align-items:center;gap:8px;min-height:40px;padding:0 10px;border:1px solid rgba(23,32,28,.14);border-radius:8px}.fieldWithInlineHint input{caret-color:#17201c}.locationInlineHint{position:absolute;top:50%;right:10px;max-width:calc(100% - 44px);display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;overflow:hidden;color:#4a5a50;font-size:clamp(10px,2.3vw,12px);font-weight:850;line-height:1.1;text-align:right;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;transform:translateY(-50%)}.locationInlineHint svg{flex:0 0 auto;color:#0f766e}.locationHelp{margin:0;padding:10px 12px;border:1px solid rgba(200,79,45,.32);border-radius:8px;color:#65311f;background:#fff7ed;font-size:13px;font-weight:750;line-height:1.35}.locationRow{display:flex;align-items:center;gap:8px}.locationRow .field{flex:1;min-width:0}.modeGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.modeGrid button{display:grid;justify-items:center;gap:4px;min-width:0;font-size:11px}.modeGrid button:disabled{opacity:.45;cursor:not-allowed}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 14px;font-weight:900}.primary{flex:1;background:var(--cta);border-color:var(--cta);color:#fff}.primary:hover:not(:disabled),.primary:focus-visible{background:var(--cta-pressed);border-color:var(--cta-pressed)}.primary:disabled{opacity:.7;cursor:wait}.secondary{background:transparent}.status{min-height:42px;margin:0;color:#4a5a50;font-size:14px;line-height:1.45}.recoveryText{margin-bottom:0;color:#4a5a50;line-height:1.45}.results{padding:28px}.participantRouteList{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.resultsIntro{max-width:760px}.sparseNote{max-width:620px;margin:10px 0 0;padding:10px 12px;border:1px solid rgba(202,138,4,.25);border-radius:8px;background:#fff8e1;color:#674b12;font-size:14px;font-weight:800;line-height:1.4}.routeChip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 9px;border:1px solid rgba(23,32,28,.1);border-radius:8px;background:#fff;color:#3e4a42;font-size:13px;font-weight:800}.participantRouteChip{min-height:38px;padding:6px 10px 6px 7px}.participantRouteChip.pending{opacity:.78}.participantRouteChip em{color:#68766d;font-style:italic}.participantPinBadge{display:inline-grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border-radius:999px;color:#fff;font-size:11px;font-weight:900;line-height:1}.routeChip b{color:#17201c}.venueGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.venue,.emptyState{padding:16px}.emptyState{grid-column:1 / -1;min-height:120px;display:grid;place-items:center;color:#5d6b60;text-align:center}.emptyAction{width:min(280px,100%)}.foodBadge{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:8px;background:#e7f5df;color:#246b35;font-size:12px;font-weight:900}.venueName{display:flex;align-items:center;gap:9px;min-width:0}.venueName h3{min-width:0}.mutedBadge{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:8px;background:#f2f4ed;color:#5d6b60;font-size:12px;font-weight:900}.venue p{margin:10px 0;color:#4a5a50}.venueReason{margin:10px 0 8px;color:#17201c;font-size:13px;font-weight:900}.searchingDestinations{display:grid;justify-items:center;gap:8px;min-height:150px;padding:28px 18px;color:#4a5a50;text-align:center}.searchingDestinations strong{color:#17201c;font-size:clamp(18px,3vw,22px)}.searchingDestinations span{font-size:13px;font-weight:750}.venueLoading{min-height:230px;border-style:dashed;background:linear-gradient(180deg,#ffffffeb,#fbfaf4f5)}.venueLoadingInner{min-height:100%;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;color:#4a5a50}.venueLoadingInner .spin{color:#c93f10}.venueLoadingInner strong{color:#17201c;font-size:17px}.venueLoadingInner span{color:#5d6b60;font-size:13px;font-weight:750}.venueMeta{flex-wrap:wrap;gap:8px;margin-bottom:14px}.venueMeta span{padding:5px 8px;border-radius:6px;background:#f2f4ed;color:#3e4a42;font-size:12px;font-weight:800}.linkRow{gap:10px;flex-wrap:wrap}.venueSourceNote{margin:10px 0 0;color:#68746b;font-size:11px;font-weight:750}.resultToggle{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:18px}.areaSearchActions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}.areaSearchActions a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 14px;border-radius:8px;background:#17201c;color:#fff;font-size:14px;font-weight:950;text-decoration:none}.resultToggle .secondary{position:relative}.resultToggle .secondary.active{background:#17201c;border-color:#17201c;color:#fff}.linkRow a{display:inline-flex;align-items:center;gap:5px;padding:8px 10px;border-radius:8px;background:#17201c;color:#fff;font-size:13px;font-weight:900;text-decoration:none}.versionStamp{margin:4px 0 0;color:#778178;font-size:12px;font-weight:800;text-align:center}.usageCounter{color:#38473e}.pageVersion{margin-top:22px}.siteFooter{display:grid;gap:6px;color:#5d6b60;font-size:12px;font-weight:750;line-height:1.45;text-align:center}.siteFooter p{margin:0}.siteFooter a{color:#17201c;font-weight:900;text-decoration-thickness:1px;text-underline-offset:3px}.pageFooter{margin-top:22px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes gpsPulse{0%,to{background:#f0fdfa;box-shadow:0 0 #0f766e00}45%{background:var(--cta);color:#fff;border-color:var(--cta);box-shadow:0 0 0 8px #c84f2d2e}}@media (prefers-reduced-motion: reduce){.locateButtonPulse{animation:none;box-shadow:0 0 0 3px #c84f2d29}}@media (max-width: 980px){.workspace{padding:16px}.panel{padding:0}.mapWrap{min-height:460px}.venueGrid,.coordinateGrid{grid-template-columns:1fr}}@media (max-width: 560px){.panel,.results{padding:16px}h1{font-size:24px}.panelHeader h1{font-size:21px}.modeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.stackedField{grid-template-columns:1fr;gap:6px}.selfNameRow{grid-template-columns:1fr;gap:8px}.peopleActionRow{align-items:center}.peopleActionButton{max-width:220px}}
