*,:before,:after{box-sizing:border-box}html,body,h1,h2,h3,h4,p,ul,ol,li,figure,figcaption,blockquote,dl,dd{margin:0}ul,ol{padding:0;list-style:none}img,picture,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}:root{--color-base:#f7f3ea;--color-surface:#fff;--color-primary:#d96b4c;--color-primary-dark:#b6543a;--color-secondary:#7c8761;--color-accent:#f2a66f;--color-text:#292725;--color-subtext:#817a70;--color-border:#e7dfcf;--color-danger:#c24c3d;--color-trip-pin:#2563eb;--color-warning:#b4791e;--color-warning-bg:#fceeda;--gradient-sunset:linear-gradient(135deg, #e87858 0%, #f2a66f 55%, #f4c98b 100%);--gradient-golden:linear-gradient(135deg, #d96b4c 0%, #e9a15a 100%);--gradient-nature:linear-gradient(135deg, #7c8761 0%, #b7b989 100%);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-full:999px;--shadow-soft:0 2px 12px #29272514;--shadow-card:0 1px 3px #2927250f, 0 8px 20px #2927250f;--font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", "Meiryo", sans-serif;--header-height:52px;--bottom-nav-height:64px;--container-max:1180px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-family);background:var(--color-base);color:var(--color-text);-webkit-font-smoothing:antialiased;padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));font-size:15px;line-height:1.6}body.no-bottom-nav{padding-bottom:0}h1,h2,h3,h4{letter-spacing:.01em;font-weight:700;line-height:1.35}p{color:var(--color-text)}.subtext{color:var(--color-subtext);font-size:13px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}body{padding-top:var(--header-height)}@media (min-width:1024px){:root{--r:calc(min(100vw, 1440px) / 102.4);--header-height:calc(5.2 * var(--r))}body{padding-bottom:0;font-size:16px}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background-color:#29272538;background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background-color:#29272561}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:#29272538 transparent}}.map-panel--search::-webkit-scrollbar-track:vertical{margin-block:var(--radius-lg)}.search-suggest::-webkit-scrollbar-track:vertical{margin-block:var(--radius-md)}.map-menu::-webkit-scrollbar-track:vertical{margin-block:var(--radius-md)}.sheet::-webkit-scrollbar-track:vertical{margin-top:var(--radius-lg)}.bottom-panel::-webkit-scrollbar-track:vertical{margin-top:var(--radius-lg)}.container{width:100%;max-width:var(--container-max);padding:0 var(--space-4);margin:0 auto}.stack{flex-direction:column;display:flex}.stack>*+*{margin-top:var(--space-4)}.row{align-items:center;display:flex}.row-between{justify-content:space-between;align-items:center;display:flex}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.page{flex-direction:column;min-height:100vh;display:flex}.page-main{padding:var(--space-5) var(--space-4) var(--space-7);flex:1}.page-main--flush{padding:0}.section{margin-bottom:var(--space-6)}.section-title{margin-bottom:var(--space-3);font-size:18px}.section-title small{margin-top:var(--space-1);color:var(--color-subtext);font-size:12px;font-weight:400;display:block}.desktop-only{display:none}.mobile-only{display:block}@media (max-width:1023px){.mobile-hidden{display:none}}@media (min-width:1024px){.page-main{padding:var(--space-6) var(--space-5) var(--space-7)}.desktop-only{display:block}.mobile-only{display:none}}.grid-cards{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}@media (min-width:768px){.grid-cards{gap:var(--space-4);grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.grid-cards{grid-template-columns:repeat(4,1fr)}}.text-center{text-align:center}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ic{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1em;height:1em}.ic-fill{fill:currentColor;stroke:none}.ic-primary{color:var(--color-primary)}.logo{color:var(--color-primary);letter-spacing:.02em;font-size:20px;font-weight:700}.logo span{color:var(--color-secondary)}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-full);white-space:nowrap;padding:12px 20px;font-size:14px;font-weight:700;transition:opacity .15s,transform .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-soft)}.btn-primary:hover{opacity:.92}.btn-gradient{background:var(--gradient-golden);color:#fff;box-shadow:var(--shadow-soft)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-ghost{color:var(--color-primary);background:0 0;padding:12px 16px}.btn-outline{border:1px solid var(--color-primary);color:var(--color-primary);background:0 0}.btn-sm{padding:8px 14px;font-size:13px}.btn-icon{border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:16px;display:inline-flex}.btn-danger{background:var(--color-danger);color:#fff}.app-header{height:var(--header-height);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#fbf7f0f0;border-bottom:1px solid #eee7da;position:fixed;top:0;left:0;right:0}.app-header-inner{height:100%;padding:0 var(--space-4);justify-content:space-between;align-items:center;display:flex}.app-header .logo{white-space:nowrap;color:var(--color-primary);transform-origin:0;font-family:Snell Roundhand,Segoe Script,Apple Chancery,Brush Script MT,Lucida Handwriting,cursive;font-size:30px;font-style:italic;font-weight:400;line-height:1;display:inline-block;transform:rotate(-3deg)}.app-header-nav{display:none}.app-header-right{align-items:center;gap:var(--space-3);display:flex}.app-header-user{align-items:center;gap:var(--space-2);color:#4a4642;display:flex}.app-header-avatar{background:var(--gradient-nature);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.app-header-avatar img{object-fit:cover;width:100%;height:100%}.app-header-chevron{width:12px;height:12px}.app-header-locale{color:var(--color-subtext);background:0 0;border:none;font-size:13px}.app-bottom-nav{height:var(--bottom-nav-height);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--color-surface);border-top:1px solid var(--color-border);z-index:100;display:flex;position:fixed;bottom:0;left:0;right:0}.app-bottom-nav a,.app-bottom-nav button{color:var(--color-subtext);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex}.app-bottom-nav .nav-icon{font-size:20px;line-height:1}.app-bottom-nav .nav-icon .ic{width:20px;height:20px}.app-bottom-nav a.is-active{color:var(--color-primary);font-weight:700}.app-bottom-nav a.is-fab .nav-icon{border-radius:var(--radius-full);background:var(--gradient-golden);color:#fff;width:36px;height:36px;box-shadow:var(--shadow-soft);justify-content:center;align-items:center;font-size:18px;display:flex}@media (min-width:1024px){.app-bottom-nav{display:none}.app-header-inner{width:min(90vw, calc(92.1 * var(--r)));column-gap:calc(2 * var(--r));grid-template-columns:minmax(21%,auto) 1fr auto;align-items:center;height:100%;margin:0 auto;padding:0;display:grid}.app-header .logo{font-size:calc(3.2 * var(--r))}.app-header-nav{align-self:stretch;align-items:stretch;gap:calc(2.6 * var(--r));display:flex}.app-header-nav a{align-items:center;gap:calc(.8 * var(--r));padding:calc(.3 * var(--r)) 0 0;font-size:calc(1.05 * var(--r));color:#4a4642;font-weight:500;display:flex;position:relative}.app-header-nav .ic{width:calc(1.5 * var(--r));height:calc(1.5 * var(--r))}.app-header-nav a.is-active{color:var(--color-primary);font-weight:700}.app-header-nav a.is-active:after{content:"";left:0;right:0;bottom:calc(.3 * var(--r));height:calc(.2 * var(--r));background:var(--color-primary);border-radius:calc(.1 * var(--r));position:absolute}.app-header-right{gap:calc(2.4 * var(--r))}.app-header-locale{font-size:calc(1 * var(--r))}.app-header-avatar{width:calc(2.4 * var(--r));height:calc(2.4 * var(--r));font-size:calc(1 * var(--r))}.app-header-user{gap:calc(.8 * var(--r))}.app-header-chevron{width:calc(1 * var(--r));height:calc(1 * var(--r))}}.card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden}.card-flat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.card-body{padding:var(--space-4)}.photo{aspect-ratio:4/3;border-radius:var(--radius-md);background:var(--gradient-sunset);color:#fff;align-items:flex-end;width:100%;display:flex;position:relative;overflow:hidden}.photo:after{content:"";background:linear-gradient(#0000 40%,#00000059 100%);position:absolute;inset:0}.photo.photo-tall{aspect-ratio:3/4}.photo.photo-wide{aspect-ratio:16/9}.photo.photo-square{aspect-ratio:1}.photo.gradient-nature{background:var(--gradient-nature)}.photo.gradient-golden{background:var(--gradient-golden)}.photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.photo-caption{z-index:1;padding:var(--space-3);font-size:13px;font-weight:700;position:relative}.ai-badge{top:var(--space-2);left:var(--space-2);z-index:2;border-radius:var(--radius-full);color:#fff;letter-spacing:.02em;pointer-events:none;background:#2927258c;border:0;padding:1px 7px;font-size:11px;font-weight:600;line-height:18px;position:absolute}.ai-badge-wrap{top:var(--space-2);left:var(--space-2);z-index:3;max-width:calc(100% - var(--space-4));position:absolute}.ai-badge-wrap .ai-badge{position:static}.ai-badge-button{cursor:pointer;pointer-events:auto}.ai-badge-button:focus-visible{outline-offset:1px;outline:2px solid #fff}.ai-badge-tip{max-width:280px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);margin-top:6px;font-size:12px;font-weight:400;line-height:1.6;display:none;box-shadow:0 4px 16px #2927252e}.ai-badge-tip.is-open{display:block}.spot-card{gap:var(--space-2);flex-direction:column;display:flex}.spot-card-title{font-size:14px;font-weight:700}.spot-card-meta{color:var(--color-subtext);gap:var(--space-2);flex-wrap:wrap;font-size:12px;display:flex}.list-card{gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);text-align:left;align-items:center;width:100%;display:flex}.list-card .photo{aspect-ratio:1;flex:none;width:84px}.list-card-body{flex:1;min-width:0}.list-card-title{margin-bottom:2px;font-size:14px;font-weight:700}.badge{border-radius:var(--radius-full);background:var(--color-base);color:var(--color-secondary);border:1px solid var(--color-border);align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-primary{color:var(--color-primary-dark);background:#d96b4c1f;border-color:#0000}.badge-accent{color:#8a5326;background:#f2a66f38;border-color:#0000}.badge-open{color:var(--color-secondary);background:#7c876126;border-color:#0000}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:#0000}.chip{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);align-items:center;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.chip.is-selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.chip-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.field{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field label{color:var(--color-text);font-size:13px;font-weight:700}.field .hint{color:var(--color-subtext);font-size:12px}.field .error-text{color:var(--color-danger);font-size:12px}.input,.textarea,.select{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);width:100%;padding:12px 14px;font-size:14px}.input:focus,.textarea:focus,.select:focus{outline:2px solid var(--color-accent);outline-offset:1px}.textarea{resize:vertical;min-height:96px}.input[aria-invalid=true]{border-color:var(--color-danger)}.password-input{position:relative}.password-input .input{padding-right:48px}.password-toggle{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--color-subtext);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-toggle:hover{color:var(--color-text)}.search-bar{align-items:center;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-soft);padding:10px 16px;display:flex}.search-bar input{background:0 0;border:none;outline:none;flex:1;font-size:14px}.switch{flex:none;width:44px;height:26px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch .track{background:var(--color-border);border-radius:var(--radius-full);transition:background .15s;position:absolute;inset:0}.switch .track:before{content:"";width:20px;height:20px;box-shadow:var(--shadow-soft);background:#fff;border-radius:50%;transition:transform .15s;position:absolute;top:3px;left:3px}.switch input:checked+.track{background:var(--color-primary)}.switch input:checked+.track:before{transform:translate(18px)}.tabs{gap:var(--space-5);border-bottom:1px solid var(--color-border);display:flex;overflow-x:auto}.tabs button,.tabs a{padding:var(--space-3) 2px;color:var(--color-subtext);white-space:nowrap;border-bottom:2px solid #0000;font-size:14px;font-weight:700}.tabs button.is-active,.tabs a.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-panel{padding-top:var(--space-4);display:none}.tab-panel.is-active{display:block}.alert{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-warning-bg);color:var(--color-warning);align-items:flex-start;font-size:13px;display:flex}.alert-danger{color:var(--color-danger);background:#c24c3d1a}.empty-state{text-align:center;padding:var(--space-7) var(--space-4);color:var(--color-subtext)}.avatar{background:var(--gradient-nature);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar.avatar-lg{width:72px;height:72px;font-size:22px}.rating{color:var(--color-accent);font-size:12px;font-weight:700}.overlay{z-index:200;background:#29272566;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.overlay[hidden]{display:none}.sheet{background:var(--color-base);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:480px;padding:var(--space-5) var(--space-4) var(--space-6);max-height:86vh;overflow-y:auto;box-shadow:0 -8px 30px #2927252e}.sheet-handle{border-radius:var(--radius-full);background:var(--color-border);width:40px;height:4px;margin:0 auto var(--space-4)}@media (min-width:1024px){.overlay{align-items:center}.sheet{border-radius:var(--radius-lg);max-height:80vh}}.map-placeholder{border-radius:var(--radius-md);background:repeating-linear-gradient(90deg,#7c876124 0 2px,#0000 2px 64px),repeating-linear-gradient(0deg,#7c876124 0 2px,#0000 2px 64px),#eae6d8;width:100%;min-height:320px;position:relative;overflow:hidden}.map-placeholder-pins{position:absolute;inset:0}.map-pin{filter:drop-shadow(0 2px 2px #2927254d);background:0 0;border:none;padding:0;font-size:22px;line-height:1;position:absolute;transform:translate(-50%,-100%)}.map-pin-label{background:var(--color-text);color:#fff;border-radius:var(--radius-full);white-space:nowrap;pointer-events:none;padding:2px 8px;font-size:11px;font-weight:700;position:absolute;transform:translate(-50%,-170%)}.map-current-location{bottom:var(--space-3);right:var(--space-3);white-space:nowrap;background:var(--color-surface);position:absolute}.map-view{border-radius:var(--radius-md);width:100%;min-height:320px;position:relative;overflow:hidden}.map-view .map-view-canvas{position:absolute;inset:0}.map-menu{z-index:5;width:min(280px,100% - 16px);max-height:min(460px,100% - 16px);padding:var(--space-3);background:var(--color-base);border-radius:var(--radius-md);font-size:13px;position:absolute;overflow-y:auto;box-shadow:0 8px 24px #2927252e}.map-menu-photo{aspect-ratio:16/9;border-radius:var(--radius-sm);background:#2927250f;position:relative;overflow:hidden}.map-menu-photo img{object-fit:cover;width:100%;height:100%;display:block}.map-menu-list{margin:0;padding:0;list-style:none}.map-menu-item{justify-content:space-between;align-items:baseline;gap:var(--space-2);text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:none;border-bottom:1px solid #29272514;padding:6px 4px;display:flex}.map-menu-item:hover{background:#d96b4c14}.map-trip-label{z-index:4;max-width:180px;color:var(--color-text);background:var(--color-surface);border:1.5px solid var(--color-trip-pin);border-radius:var(--radius-full);box-shadow:var(--shadow-soft);white-space:nowrap;cursor:pointer;align-items:center;gap:4px;padding:2px 8px 2px 2px;font-size:11px;font-weight:700;line-height:1.4;display:flex;position:absolute}.map-trip-label-order{color:#fff;text-align:center;background:var(--color-trip-pin);border-radius:var(--radius-full);flex-shrink:0;min-width:18px;padding:0 4px}.map-trip-label-name{text-overflow:ellipsis;overflow:hidden}.map-trip-leaders{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.map-trip-leaders line{stroke:var(--color-trip-pin);stroke-width:1.5px}.map-menu-item-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-menu-item-score{color:var(--color-primary);flex-shrink:0;font-size:11px;font-weight:700}.map-menu-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.map-menu-dl{gap:2px var(--space-2);grid-template-columns:auto 1fr;margin:0;display:grid}.map-menu-dl dt{color:var(--color-subtext,#8a847d)}.map-menu-dl dd{margin:0}.bottom-panel{left:0;right:0;bottom:var(--bottom-nav-height);background:var(--color-base);border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:90;max-height:40vh;transition:max-height .2s;position:fixed;overflow-y:auto;box-shadow:0 -6px 24px #2927251f}.bottom-panel.is-expanded{max-height:82vh}.bottom-panel-header{background:var(--color-base);padding:var(--space-3) var(--space-4) 0;position:sticky;top:0}.bottom-panel-body{padding:0 var(--space-4) var(--space-5)}@media (min-width:1024px){.bottom-panel{border-radius:var(--radius-lg);max-height:none;box-shadow:var(--shadow-card);position:static}.bottom-panel.is-expanded{max-height:none}}.itinerary-item{gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:flex-start;display:flex}.itinerary-item .item-move{flex-direction:column;gap:2px;display:flex}.itinerary-item .item-move button{color:var(--color-subtext);padding:2px;font-size:12px}.itinerary-item .item-move button:disabled{opacity:.3}.itinerary-item-time{color:var(--color-subtext);min-width:46px;font-size:12px}.itinerary-item-body{flex:1;min-width:0}.itinerary-item-title{font-size:14px;font-weight:700}.itinerary-connector{align-items:center;gap:var(--space-2);color:var(--color-subtext);padding-left:58px;font-size:12px;display:flex}.back-bar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f7f3eaeb;display:flex;position:sticky;top:0}.back-bar .btn-icon{background:0 0;border:none}.back-bar-title{font-size:15px;font-weight:700}@media (min-width:1024px){.back-bar{display:none}}.divider{background:var(--color-border);height:1px;margin:var(--space-4) 0;border:none}.two-col{gap:var(--space-5);grid-template-columns:1fr;display:grid}@media (min-width:1024px){.two-col{grid-template-columns:1.3fr 1fr;align-items:start}}.stat-card{text-align:center;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.stat-card .stat-value{color:var(--color-primary);font-size:18px;font-weight:700}.stat-card .stat-label{color:var(--color-subtext);font-size:11px}.error-page{text-align:center;min-height:100vh;padding:var(--space-6) var(--space-4);justify-content:center;align-items:center;display:flex}.error-page .error-code{background:var(--gradient-golden);color:#0000;margin-bottom:var(--space-3);-webkit-background-clip:text;background-clip:text;font-size:56px;font-weight:700}.error-page p{color:var(--color-subtext);margin-bottom:var(--space-5)}.map-page{height:calc(100dvh - var(--header-height) - var(--bottom-nav-height) - env(safe-area-inset-bottom,0px));position:relative;overflow:hidden}body:has(.map-page){overflow:hidden}.page-main:has(>.map-page){padding:0}.map-page-map{z-index:0;position:absolute;inset:0}.map-page-map .map-view,.map-page-map .map-placeholder{border-radius:0;height:100%;min-height:0}.map-page-tabs{top:var(--space-3);left:var(--space-3);right:var(--space-3);z-index:30;position:absolute}.map-page-tabs .tabs{padding:0 var(--space-4);border-radius:var(--radius-full);background:var(--color-surface);box-shadow:var(--shadow-soft);border-bottom:none}.map-panel--search{z-index:20;padding:64px var(--space-4) var(--space-4);background:var(--color-base);position:absolute;inset:0;overflow-y:auto}.map-panel--trip{z-index:20;position:absolute}.map-page-map .maplibregl-ctrl-bottom-right{bottom:calc(var(--space-3) + 64px)}.map-page-map .map-current-location{bottom:calc(var(--space-3) + 64px + 24px + 96px)}@media (min-width:1024px){.map-page{height:calc(100dvh - var(--header-height))}.map-panel--search{inset:var(--space-4) auto auto var(--space-4);width:320px;max-height:calc(100% - var(--space-4) * 2);padding:var(--space-3);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:#f7f3eaf5}.map-panel--trip{top:var(--space-4);right:var(--space-4);width:300px}.map-page-map .maplibregl-ctrl-bottom-right{bottom:var(--space-3)}.map-page-map .map-current-location{bottom:calc(var(--space-3) + 24px + 96px)}.map-page-map .map-placeholder-pins{left:calc(320px + var(--space-4) * 2);right:calc(300px + var(--space-4) * 2)}}.itinerary-bar{left:var(--space-3);right:var(--space-3);bottom:calc(var(--bottom-nav-height) + var(--space-3));background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-3) var(--space-4);z-index:95;position:fixed}@media (min-width:1024px){.itinerary-bar{display:none}}.gallery{gap:var(--space-2);grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr;display:grid}.gallery .photo:first-child{grid-row:span 2}.detail-grid{gap:var(--space-5);grid-template-columns:1fr;display:grid}@media (min-width:1024px){.detail-grid{grid-template-columns:1.4fr 1fr;align-items:start}}.search-autocomplete{position:relative}.search-suggest{z-index:30;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:min(420px,60vh);margin:0;padding:6px;font-size:13px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #2927252e}.search-suggest ul{margin:0;padding:0;list-style:none}.search-suggest-heading{letter-spacing:.04em;color:var(--color-subtext);padding:6px 10px 2px;font-size:10px;font-weight:700}.search-suggest>li+li{margin-top:10px}.search-suggest-option{justify-content:space-between;align-items:baseline;gap:var(--space-2);color:var(--color-text);border-radius:var(--radius-sm);cursor:pointer;padding:8px 10px;font-size:14px;display:flex}.search-suggest-option.is-active{background:#d96b4c1a}.search-suggest-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.search-suggest-sub{color:var(--color-subtext);flex-shrink:0;font-size:11px}.search-suggest-empty{color:var(--color-subtext);padding:10px}.trip-pick-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.trip-pick-item{text-align:left;width:100%;min-width:0;color:inherit;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.trip-pick-item:hover{border-color:var(--color-primary)}.trip-pick-row{gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;padding:10px 12px;display:flex}.trip-pick-row-head{flex-direction:column;gap:2px;min-width:0;display:flex}.trip-pick-row-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.trip-pick-row-actions .select,.trip-pick-row-actions select{width:auto}.trip-setup-dates{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.trip-card-list{max-height:320px;overflow-y:auto}.trip-select-row{align-items:stretch;display:flex;position:relative}.trip-select-row .trip-pick-item{padding-right:40px}.trip-pick-item.is-selected{border-color:var(--color-trip-pin);box-shadow:inset 0 0 0 1px var(--color-trip-pin)}.trip-selected-badge{color:#fff;background:var(--color-trip-pin);border-radius:var(--radius-full);align-self:flex-start;padding:0 8px;font-size:11px;font-weight:700}.trip-actions-button{width:28px;height:28px;color:var(--color-subtext);border-radius:var(--radius-full);cursor:pointer;background:0 0;border:none;font-size:16px;line-height:1;position:absolute;top:6px;right:6px}.trip-actions-button:hover,.trip-actions-button[aria-expanded=true]{color:var(--color-text);background:#2927250f}.trip-actions-menu{z-index:50;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:120px;box-shadow:var(--shadow-card);flex-direction:column;padding:4px;display:flex;position:fixed}.trip-actions-item{font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-size:13px}.trip-actions-item:hover{background:#2927250f}.trip-actions-item--danger{color:var(--color-danger)}.search-bar-icon{color:var(--color-subtext)}.link-button{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:13px}
