/* Captain Beer: quiet monochrome UI, tactile red-capped travel companion. */
:root{--sky:#a3a3a3;--sky-dark:#424242;--soft:#f5f5f5;--line:#e5e5e5;--muted:#737373;--ink:#242424;--charcoal:#242424;--charcoal-2:#383838;--canvas:#f3f3f3;--paper:#fff}
.topbar{background:#242424}.brand-logo{width:42px;height:42px;object-fit:cover;border-radius:12px;flex:none}.brand{gap:10px}.brand sup{color:#bdbdbd}
.captain-welcome{display:flex;align-items:center;gap:13px;margin:4px 0 18px;padding:12px 0 13px;border-bottom:1px solid var(--line)}.captain-welcome>img{width:60px;height:76px;object-fit:contain;flex:none}.captain-kicker{font-size:9px;font-weight:600;letter-spacing:.16em;color:#888}.captain-welcome p{font-size:15px;font-weight:600;margin:4px 0;letter-spacing:-.035em}.captain-welcome small{font-size:11px;color:var(--muted)}
.captain-empty{padding:24px 12px;display:flex;flex-direction:column;align-items:center;gap:8px}.captain-empty img{object-fit:contain}.captain-empty strong{font-size:14px;font-weight:500}.captain-empty p{margin:0;font-size:12px;line-height:1.8;color:var(--muted)}
.captain-map-hint{position:absolute;left:20px;top:72px;z-index:3;display:flex;align-items:center;gap:6px;padding:5px 12px 5px 5px;background:#fffffff0;border:1px solid #e7e7e7;border-radius:14px;box-shadow:0 3px 15px #00000009;pointer-events:none;max-width:calc(100% - 40px)}.captain-map-hint img{width:42px;height:42px;object-fit:contain}.captain-map-hint span{font-size:11px;color:#606060}.route-legend{top:134px}
.captain-editor-note{display:flex;align-items:center;gap:12px;padding:12px 28px 0;background:#fff}.captain-editor-note img{width:45px;height:52px;object-fit:contain}.captain-editor-note p{margin:0;font-size:13px;font-weight:500}.captain-editor-note small{display:block;margin-top:4px;font-size:11px;font-weight:400;color:var(--muted)}
#scheduleDialog .name-input-row{grid-template-columns:minmax(0,1fr)}.schedule-name{width:100%}
.time-select-button{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1;min-width:0;min-height:46px;padding:10px 12px;background:#fafafa;border:1px solid var(--line);border-radius:11px;color:var(--ink);font-size:15px;text-align:left;white-space:nowrap}.time-select-button>span:last-child{color:#777}.time-select-button:hover{background:#f0f0f0}.time-input-row>.time-select-button,.end-time-input{flex:1;min-width:0}.time-picker-dialog{width:380px}.time-picker-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.time-picker-columns h3{font-size:13px;text-align:center;margin:0 0 10px}.time-options{max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:5px;scrollbar-width:thin;overscroll-behavior:contain}.time-options button{display:block;width:100%;height:44px;border:0;border-radius:9px;background:transparent;font-size:16px;color:#444}.time-options button[aria-pressed=true]{background:#262626;color:#fff;font-weight:600}.time-options button:hover:not([aria-pressed=true]){background:#f1f1f1}.time-picker-dialog .dialog-submit-row{display:flex;justify-content:space-between}
.editor-map-wrap{display:flex;flex-direction:column;margin-top:12px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fafafa}.editor-map-wrap #editorMap{width:100%;height:245px;min-height:245px}.editor-place-info{padding:12px 14px;display:flex;flex-direction:column;gap:5px}.editor-place-info strong{font-size:13px}.editor-place-info span,.editor-place-info small{font-size:11px;color:#666}.place-search-results{position:relative;max-height:190px;overflow:auto;margin-top:8px;border-radius:12px;border:1px solid var(--line);box-shadow:none}.place-search-results button{display:flex;gap:10px;align-items:center;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid #eee;padding:11px}.place-search-results button:hover{background:#f4f4f4}.place-search-results button:last-child{border-bottom:0}.place-search-results strong{display:block;font-size:13px}.place-search-results small{display:block;font-size:11px;color:#777;line-height:1.5}.result-number{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#333;color:#fff;font-size:12px;flex:none}.search-map-pin{display:grid;place-items:center;width:32px;height:32px;border-radius:50% 50% 50% 3px;transform:rotate(-45deg);background:#303030;color:#fff;border:2px solid #fff;box-shadow:0 2px 6px #0004;font-weight:700}.search-map-pin{transform:none;border-radius:50%}
.place-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.place-title-row h2{min-width:0;margin:10px 0!important}.place-title-row button{flex:none;min-height:40px;border:1px solid #e3e3e3;border-radius:20px;background:#fff;color:#555;font-size:11px;padding:6px 12px}.place-card.is-collapsed .place-card-body{padding-bottom:10px}.place-card.is-collapsed{max-height:120px}.place-card{max-height:min(460px,60%);overflow-y:auto}.place-card-body{padding-top:16px}.place-card h2{font-size:19px!important}.place-review-snippet{max-height:165px;overflow:auto}
.map-pick-card{position:absolute;top:140px;right:20px;width:min(300px,calc(100% - 40px));padding:18px;background:#fff;border:1px solid #dedede;border-radius:18px;box-shadow:0 8px 30px #0002;z-index:6}.map-pick-card strong{display:block;font-size:15px;margin-right:24px}.map-pick-card p{font-size:12px;color:#777;line-height:1.6;margin:8px 0 14px}.map-pick-card>.button{width:100%;font-size:13px}.pick-dismiss{position:absolute;right:8px;top:8px;width:30px;height:30px;border:0;border-radius:50%;background:#f3f3f3;color:#555;font-size:20px}
.avatar-option{background:#fff;border:1px solid #ececec;border-radius:14px}.avatar-option img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:10px}.avatar-option[aria-pressed=true]{border-color:#333;box-shadow:0 0 0 2px #3332}.traveler-face,.traveler-avatar-button img,.traveler-map-marker img{object-fit:cover;background:#fff}.avatar-credit{color:#888;font-size:11px}.route-marker{background:#fff;color:#333}.route-marker.selected{background:#333;color:#fff}.agenda-item:hover{background:#f8f8f8}.agenda-item.is-selected{background:#f0f0f0}
@media(max-width:760px){.captain-welcome{margin:0 0 12px;padding:5px 0 10px;gap:10px}.captain-welcome>img{width:43px;height:55px}.captain-welcome p{font-size:13px}.captain-welcome small{font-size:10px}.captain-kicker{font-size:8px}.captain-map-hint{top:62px;left:12px;max-width:calc(100% - 24px);padding:3px 9px 3px 3px;border-radius:11px}.captain-map-hint img{width:30px;height:32px}.captain-map-hint span{font-size:10px}.route-legend{top:106px}.map-pick-card{top:106px;right:12px;width:min(270px,calc(100% - 24px));padding:14px}.place-card{max-height:55%;}.captain-empty{padding:15px 10px}.captain-empty img{width:72px;height:85px}.brand-logo{width:34px;height:34px;border-radius:9px}}
@media(max-width:560px){.captain-editor-note{padding:10px 20px 0}.captain-editor-note img{width:38px;height:46px}.captain-editor-note p{font-size:12px}.captain-editor-note small{font-size:10px}.editor-map-wrap #editorMap{height:210px;min-height:210px}.time-select-button{font-size:16px;min-height:46px}.time-picker-dialog{padding:20px}.time-options{max-height:220px}.place-title-row h2{font-size:16px!important}.place-title-row button{min-height:36px;font-size:10px}.brand{font-size:1rem;gap:7px}.brand sup{display:none}.topbar{padding:0 12px}.header-actions{gap:7px}.profile-button{padding:7px 9px;max-width:125px}.avatar-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Keep selected-place details available on mobile as well. */
.place-card{display:block}
