:root{--ink:#173b39;--muted:#7d8986;--teal:#1d6960;--light:#eef4ef;--line:#e6eae4;--orange:#e48c55;--bg:#f7f8f3;--shadow:0 12px 35px #193d3620}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Noto Sans KR',sans-serif;font-size:13px;letter-spacing:-.3px}button,input,select,textarea{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button{border:0;background:none;color:inherit}a{color:inherit}svg:not(.leaflet-zoom-animated):not(.sheet-map){width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e6a77e;outline-offset:3px}button:hover:not(:disabled){filter:brightness(.95)}.rail{position:fixed;inset:0 auto 0 0;width:82px;z-index:1001;background:#103b3a;display:flex;align-items:center;flex-direction:column;color:#c6d6cd}.brand-mark{margin-top:23px;font-size:44px;font-family:Georgia,serif;font-style:italic;color:#fff;text-decoration:none;line-height:1}.brand-mark span{color:#eea06b}.rail-menu{margin-top:58px;display:grid;gap:18px;width:100%;padding:0 9px}.rail-button{display:grid;justify-items:center;gap:8px;padding:13px 5px;border-radius:12px;color:#aac2b9}.rail-button small{font-size:10px;letter-spacing:0}.rail-button.active{background:#ffffff14;color:#f7f7e9}.rail-button svg{width:23px;height:23px}.rail-bottom{margin-top:auto;margin-bottom:24px}.app-shell{margin-left:82px}.topbar{height:86px;padding:0 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fcfcf8}.wordmark{font-weight:800;font-size:21px;text-decoration:none;letter-spacing:-1px}.wordmark span{font-size:11px;font-weight:400;color:#8a9590;letter-spacing:-.25px;margin-left:17px}.top-actions{display:flex;align-items:center;gap:22px}.saved-label{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--muted)}.saved-label i,.panel-bottom i{height:5px;width:5px;border-radius:50%;background:#73a88a;display:inline-block}.avatar{height:33px;width:33px;border-radius:50%;background:#e8eadf;font-size:11px;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap}.button svg{width:16px;height:16px}.button.outline{border:1px solid #d8dfd6;background:#fcfcf9}.button.primary{background:var(--teal);color:white;box-shadow:0 3px 5px #173b3910}.button.subtle{color:#67756d;padding:10px 5px}.button.danger{background:#f9e7de;color:#974a2a}main{max-width:1800px;margin:auto;padding:30px 36px 0}.trip-heading{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:9px;letter-spacing:1.65px;font-weight:700;color:#7d9183}.tiny-sun{color:var(--orange);font-size:14px;margin-right:5px}.example-tag{font-size:9px;letter-spacing:0;font-weight:500;background:#e9ede4;color:#75806e;padding:3px 7px;border-radius:4px;margin-left:8px}h1{font-size:35px;letter-spacing:-2px;margin:8px 0 7px;font-weight:550;line-height:1.5}h1>span:first-child{font-weight:800}.heading-wave{color:var(--orange);font-size:38px;margin-left:14px;font-family:Georgia,serif}.trip-heading p{margin:0;color:#839086;font-size:12px}.trip-heading>.button{margin-top:22px}.trip-strip{display:grid;grid-template-columns:1.05fr 1.2fr 1.4fr .75fr;margin-top:26px;background:#fdfdf9;border:1px solid var(--line);border-radius:12px;padding:19px 7px}.trip-fact{display:flex;align-items:center;gap:12px;padding:0 20px;text-align:left;border-right:1px solid var(--line);min-width:0}.trip-fact:last-child{border:0}.fact-icon{display:grid;place-items:center;width:33px;height:33px;flex-shrink:0;border-radius:9px;background:#f2f4ec;color:#768971}.fact-icon svg{width:18px;height:18px}.trip-fact small{display:block;font-size:10px;color:#8b958d;margin-bottom:5px}.trip-fact strong{display:block;font-size:12px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hotel-fact>div{flex:1;min-width:0}.hotel-fact>span:last-child svg{height:15px;color:#87978d}.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;padding:23px 0 14px;gap:15px}.toolbar-title{display:flex;align-items:center;gap:8px}.toolbar-title>svg{width:19px}.toolbar-title strong{font-size:14px;font-weight:700}.toolbar-title>span:last-child{margin-left:3px;color:#96a092;font-size:10px}.toolbar-actions{display:flex;align-items:center;gap:16px}.travel-workspace{display:grid;grid-template-columns:minmax(330px,390px) 1fr;height:660px;max-height:calc(100dvh - 365px);min-height:480px;border:1px solid #dde4da;border-radius:15px;overflow:hidden;background:#fff}.plan-panel{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);z-index:2;background:#fffefa}.day-tabs{display:flex;gap:5px;overflow:auto;padding:16px 19px 14px;border-bottom:1px solid var(--line);flex-shrink:0}.day-tab{padding:9px 12px;border-radius:8px;min-width:82px;font-size:12px;color:#879086;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.day-tab small{font-size:9px;opacity:.8}.day-tab.active{background:var(--ink);color:#fff}.plan-scroll{overflow:auto;flex:1;padding:23px 22px 15px;scrollbar-width:thin;scrollbar-color:#d8e0d2 transparent}.day-heading{display:flex;justify-content:space-between;align-items:center}.day-heading .eyebrow{font-size:8px;letter-spacing:1.4px}.day-heading h2{font-size:22px;letter-spacing:-1px;margin:6px 0 10px;font-weight:700}.day-weather{font-size:24px;color:var(--orange);padding-right:4px}.day-summary{display:flex;gap:12px;font-size:10px;color:#8b968a;align-items:center}.day-summary span{display:flex;gap:4px;align-items:center}.day-summary svg{height:12px;width:12px}.rest-banner{display:flex;align-items:center;gap:9px;padding:13px 10px;background:#f2f4eb;border-radius:9px;margin:20px 0 23px}.rest-icon{color:#9a9f7d;flex-shrink:0}.rest-icon svg{height:21px;width:21px}.rest-banner strong{font-size:10px;font-weight:650;display:block}.rest-banner p{font-size:8px;color:#8e967f;margin:4px 0 0;white-space:nowrap}.rest-banner button{font-size:9px;white-space:nowrap;margin-left:auto;font-weight:650}.rest-banner button span{color:#8e9a7c}.timeline{position:relative}.timeline::before{content:'';position:absolute;top:13px;bottom:22px;left:10px;border-left:1px solid #dae3d4}.event{position:relative;padding-left:33px;padding-bottom:23px}.event-bullet{position:absolute;top:2px;left:0;width:21px;height:21px;border:4px solid #fffefa;background:#dfe8db;border-radius:50%;z-index:1;display:grid;place-items:center}.event-bullet.selected{border:2px solid var(--teal);color:#fff;background:var(--teal);font-size:10px;font-weight:650}.event-bullet svg{width:11px;height:11px}.event-time{font-size:10px;letter-spacing:.2px;color:#8b998d;margin-bottom:9px;display:flex;align-items:center;gap:7px}.event-time .time-tag{letter-spacing:0;background:#edf3e9;color:#78926e;font-size:8px;border-radius:4px;padding:2px 5px}.event-card{border:1px solid #e5e9e0;border-radius:10px;padding:13px 12px;background:#fff;transition:box-shadow .15s}.event-card:hover{box-shadow:0 5px 14px #193d3609}.event-card.focused{border-color:#73a79d;box-shadow:0 0 0 2px #e0efe9}.event-card.is-done{opacity:.55}.event-category{display:flex;justify-content:space-between;align-items:center}.category-pill{display:inline-flex;gap:4px;align-items:center;font-size:8px;color:#9b8462;background:#f8f0e5;border-radius:4px;padding:3px 5px}.category-pill svg{width:11px;height:11px}.category-pill.food{color:#a67956;background:#fbefe4}.category-pill.sight{color:#518b76;background:#eaf3ed}.category-pill.hotel{color:#9c7c51;background:#f8efde}.event-card h3{font-size:13px;font-weight:700;margin:8px 0 4px}.event-card .event-local{font-size:9px;letter-spacing:0;color:#9aa093;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.event-card .event-actions{display:flex;justify-content:space-between;align-items:center;margin-top:11px;padding-top:9px;border-top:1px solid #f0f1ea}.status-tag{font-size:8px;color:#ac9069;display:flex;gap:3px;align-items:center}.status-tag svg{width:11px;height:11px}.status-tag.confirmed{color:#518978}.mini-actions{display:flex;gap:6px}.mini-actions button{width:21px;height:21px;display:grid;place-items:center;border-radius:4px;color:#9ca897;padding:2px}.mini-actions button svg{width:13px;height:13px}.mini-actions button.is-active{color:var(--teal);background:#eaf3eb}.move-buffer{display:flex;align-items:center;gap:5px;font-size:8px;color:#a6afa0;margin-top:9px}.move-buffer svg{height:11px;width:11px}.event-simple h3{font-size:12px;margin:0 0 5px}.event-simple p{color:#9aa492;font-size:9px;margin:0}.event.airport .event-bullet{background:#f1e2cf}.event.rest .event-bullet{background:#edf0e5}.add-place{display:flex;justify-content:center;align-items:center;gap:7px;width:calc(100% - 33px);margin-left:33px;padding:12px;border:1px dashed #cdd8c8;border-radius:8px;color:#7e9377;font-size:11px}.add-place svg{height:15px;width:15px}.plan-footnote{display:flex;gap:7px;padding:18px 0 0 33px;color:#a3ac9c}.plan-footnote svg{flex-shrink:0;height:13px;width:13px;margin-top:1px}.plan-footnote p{font-size:8px;line-height:1.8;margin:0}.panel-bottom{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:14px 18px;border-top:1px solid var(--line);font-size:9px;color:#8d9b86;background:#fcfcf7}.panel-bottom span{display:flex;gap:5px;align-items:center}.panel-bottom button{font-size:9px;font-weight:600;color:#74896e;white-space:nowrap}.map-panel{position:relative;background:#e9eee4;isolation:isolate;min-width:0}.map-panel #map{height:100%;width:100%;z-index:1}.leaflet-container{font-family:inherit!important;background:#e8eee4!important}.leaflet-tile-pane{filter:saturate(.65) contrast(.94) brightness(1.035)}.leaflet-control-attribution{font-size:9px!important;max-width:100%}.map-search{position:absolute;z-index:600;top:19px;left:20px;right:20px;max-width:460px;height:45px;border-radius:9px;display:flex;align-items:center;gap:10px;background:#fffefa;box-shadow:0 4px 18px #173b3912;padding:0 15px;color:#96a08f;text-align:left}.map-search svg{width:17px;height:17px}.map-search>span:nth-child(2){font-size:11px;flex:1}.map-search kbd{font:9px 'Noto Sans KR',sans-serif;background:#f2f3eb;border:1px solid #ebede3;border-radius:4px;padding:4px 6px;color:#9aa391}.map-filters{position:absolute;z-index:600;top:76px;left:20px;display:flex;gap:6px}.map-filters button{display:flex;align-items:center;gap:5px;padding:8px 12px;border:1px solid #e1e6da;border-radius:7px;background:#fffefa;box-shadow:0 2px 7px #173b3907;color:#7d8e73;font-size:10px}.map-filters svg{width:13px;height:13px}.map-filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.map-controls{position:absolute;z-index:600;right:18px;top:20px;display:grid;gap:1px;box-shadow:0 2px 9px #173b3912;border-radius:8px;overflow:hidden}.map-controls button{display:grid;place-items:center;width:34px;height:34px;background:#fffefa;color:#78906f;font-size:21px;border-bottom:1px solid #edf0e6}.map-controls svg{width:17px;height:17px}.map-controls button:last-child{border:0}.map-legend{position:absolute;bottom:32px;left:18px;display:flex;gap:13px;align-items:center;z-index:600;background:#fffefaf0;border-radius:7px;padding:10px 12px;font-size:9px;color:#84947b;box-shadow:0 2px 10px #173b3908}.map-legend>span{display:flex;gap:5px;align-items:center}.legend-dot{height:6px;width:6px;border-radius:50%;display:inline-block}.legend-dot.teal{background:var(--teal)}.legend-dot.orange{background:var(--orange)}.line-legend::before{content:'';width:12px;border-top:1px dashed #649780}.map-note{position:absolute;bottom:32px;right:16px;font-size:8px;color:#798f73;z-index:599;display:flex;gap:4px;align-items:center;background:#fffefadd;border-radius:4px;padding:6px 8px;max-width:230px}.map-note svg{width:11px;height:11px}.custom-marker{background:none;border:0}.map-pin{height:33px;width:33px;display:grid;place-items:center;background:#fffefa;color:var(--teal);border:1px solid #cad9c7;border-radius:50%;box-shadow:0 3px 8px #173b3920;font-size:12px;font-weight:700;position:relative}.map-pin.route{background:var(--teal);color:#fff;border:3px solid #fff;box-shadow:0 3px 8px #173b3940}.map-pin.hotel{background:var(--orange);color:#fff;border:3px solid #fff}.map-pin svg{width:15px;height:15px}.map-pin .pin-label{position:absolute;top:36px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fffefae8;box-shadow:0 1px 3px #183c3710;border-radius:4px;padding:3px 6px;font-size:9px;font-weight:600;color:#486449;max-width:160px;overflow:hidden;text-overflow:ellipsis}.map-pin.active{outline:5px solid #1d696030}.place-peek{position:absolute;left:20px;right:20px;bottom:82px;max-width:365px;z-index:700;padding:17px;background:#fffefa;border:1px solid #e3e8da;border-radius:12px;box-shadow:var(--shadow)}.peek-header{display:flex;justify-content:space-between;align-items:start}.place-peek h3{margin:7px 0 4px;font-size:17px}.place-peek p{font-size:10px;color:#8b9784;margin:6px 0;line-height:1.7}.peek-footer{margin-top:13px;display:flex;gap:10px;align-items:center}.peek-footer .button{font-size:11px;padding:9px 12px}.peek-footer a{font-size:10px;color:#788b6b}.app-footer{display:flex;justify-content:space-between;padding:17px 37px 20px;font-size:9px;color:#9aa48f;max-width:1800px;margin:auto}.app-footer b{color:#c3cabc;padding:0 5px;font-weight:400}.app-footer button{font-size:9px}.segmented{display:none}.map-error{position:absolute;z-index:800;top:45%;left:50%;transform:translate(-50%,-50%);background:#fffefa;box-shadow:var(--shadow);padding:22px;border-radius:12px;text-align:center;width:270px}.map-error p{font-size:11px;color:var(--muted)}[hidden]{display:none!important}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:3000;background:#163f3c;color:#fff;padding:14px 20px;border-radius:10px;box-shadow:var(--shadow);font-size:12px;transition:.2s;max-width:min(90vw,520px);line-height:1.7}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{width:min(620px,calc(100% - 32px));border:1px solid #e0e6d9;border-radius:18px;padding:26px;color:var(--ink);background:#fffefa;box-shadow:0 25px 100px #0b2f3330;max-height:88dvh}dialog::backdrop{background:#143d3b55;backdrop-filter:blur(3px)}.modal-top{display:flex;align-items:start;justify-content:space-between;margin-bottom:20px}.modal-top h2{font-size:23px;letter-spacing:-1px;margin:7px 0 0}.icon-button{height:28px;width:28px;display:grid;place-items:center;font-size:25px;color:#8c9987;border-radius:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:grid;gap:7px;font-size:11px;font-weight:600}.field.full{grid-column:1/-1}.field input,.field select,.field textarea,.search-row input{width:100%;min-width:0;border:1px solid #dce3d6;border-radius:8px;background:#fff;padding:11px 12px;color:var(--ink)}.field small{font-size:9px;color:#91a085;font-weight:400;line-height:1.7}.form-actions{display:flex;gap:10px;justify-content:end;margin-top:23px}.modal-intro{font-size:12px;color:#7e8f76;line-height:1.9;margin:0 0 18px}.search-row{display:flex;gap:8px}.search-row input{flex:1}.place-categories{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.place-categories button{border:1px solid var(--line);border-radius:20px;padding:6px 13px;font-size:10px;color:#8a9980}.place-categories .active{color:white;background:var(--teal);border-color:var(--teal)}.place-results{display:grid;gap:8px;max-height:48dvh;overflow:auto}.place-result{display:flex;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:10px;background:white}.result-icon{display:grid;place-items:center;border-radius:10px;background:#eff3e8;color:#839574;width:38px;height:38px;flex-shrink:0}.result-icon.food{background:#fbefe4;color:#bb8c61}.result-icon.hotel{background:#f8efdf;color:#ae8a59}.result-main{min-width:0;flex:1}.result-main strong{display:block;font-size:12px;line-height:1.6}.result-main small{display:block;font-size:9px;color:#98a18f;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-add{width:29px;height:29px;border:1px solid #dde5d7;border-radius:50%;color:#728e65;font-size:19px;flex-shrink:0}.result-add.added{background:#e8f1e4;font-size:13px}.result-view{padding:5px;font-size:10px;color:#8c9c80}.empty-state{text-align:center;color:#8f9d83;padding:30px 10px;font-size:12px;line-height:1.9}.info-box{padding:14px;background:#f1f4e9;border-radius:9px;color:#7f9173;font-size:11px;line-height:1.9;margin:16px 0}.info-box a{color:var(--teal)}.info-box.warn{background:#faf0df;color:#a18655}.details-meta{display:grid;gap:12px;margin:18px 0}.details-meta>div{padding-bottom:12px;border-bottom:1px solid var(--line)}.details-meta dt{font-size:10px;color:#95a28b;margin-bottom:6px}.details-meta dd{margin:0;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.details-links{display:flex;gap:8px;flex-wrap:wrap}.details-links a{font-size:11px;padding:9px 12px;border:1px solid var(--line);border-radius:7px;text-decoration:none}.check-list{display:grid;gap:8px}.check-row{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:8px;font-size:12px}.check-row input{accent-color:var(--teal)}.check-row .muted{margin-left:auto;color:#9ca78f;font-size:10px}.plan-warnings:empty{display:none}.plan-warnings{padding:10px;border-radius:7px;color:#aa6a45;background:#fff3e5;font-size:9px;line-height:1.8;margin-top:13px}.pending-section{margin-top:22px;border-top:1px solid var(--line);padding-top:17px}.pending-section h3{font-size:12px;margin:0 0 6px}.pending-section>p{font-size:9px;color:#98a28d}.pending-item{display:flex;align-items:center;justify-content:space-between;font-size:10px;padding:8px 0;border-bottom:1px solid var(--line)}.pending-item button{font-size:10px;color:var(--teal)}.skip{position:fixed;top:-100px;left:100px;z-index:4000;background:white;padding:10px}.skip:focus{top:10px}.export-option{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:10px;width:100%;text-align:left;margin-bottom:10px}.export-option>span{display:grid;gap:5px}.export-option strong{font-size:13px}.export-option small{font-size:10px;color:#95a18a}.file-input{width:100%;margin:10px 0;font-size:11px}.rest-choices{display:grid;gap:10px}.rest-choice{padding:15px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:11px;font-size:12px}.rest-choice input{accent-color:var(--teal)}.rest-choice div{display:grid;gap:5px}.rest-choice small{font-size:10px;color:#94a086}.hint{font-size:10px;line-height:1.8;color:#8e9b81}.notice-error{font-size:11px;color:#aa6647;margin-top:12px}.notice-error:empty{display:none}.map-pin.other{opacity:.7}.data-badge{display:inline-block;font-size:9px;color:#8d9d83;background:#f0f4e9;padding:4px 7px;border-radius:5px}
@media(min-width:1600px){main{padding-top:36px}.travel-workspace{grid-template-columns:420px 1fr;max-height:calc(100dvh - 380px)}.plan-scroll{padding-left:27px;padding-right:27px}.event-card{padding:16px}.event-card h3{font-size:14px}.rest-banner p{font-size:9px}}
@media(max-width:1180px){.wordmark span,.pace-fact,.saved-label{display:none}.trip-strip{grid-template-columns:1fr 1.15fr 1.3fr}.trip-fact:nth-child(3){border:0}.trip-fact{padding:0 14px;gap:9px}.travel-workspace{grid-template-columns:340px 1fr}.map-note{display:none}.map-search{right:61px}.map-search kbd{display:none}.map-legend{font-size:8px;gap:9px}.map-filters button{padding:7px 10px}main{padding:26px 24px 0}.topbar{padding:0 27px}.app-footer{padding-left:25px;padding-right:25px}}
@media(max-width:900px){.rail{width:65px}.app-shell{margin-left:65px}.rail-menu{padding:0 6px}.topbar{height:70px;padding:0 20px}.top-actions{gap:15px}.top-actions .button span:last-child{display:none}main{padding:21px 18px 0}h1{font-size:31px}.trip-heading p{font-size:11px}.trip-heading>.button{font-size:10px;padding:9px}.trip-strip{margin-top:20px;grid-template-columns:1fr 1fr;padding:15px 0;gap:16px}.trip-fact{padding:0 17px}.trip-fact:nth-child(2){border:0}.hotel-fact{grid-column:1/-1;border-top:1px solid var(--line)!important;padding-top:13px!important}.travel-workspace{grid-template-columns:320px 1fr;min-height:510px;max-height:calc(100dvh - 395px)}.plan-scroll{padding:18px 15px}.day-tabs{padding:13px}.day-tab{min-width:80px}.map-filters{gap:4px;left:12px}.map-filters button{padding:7px 8px}.map-search{left:12px}.map-legend{padding:8px;left:12px;gap:8px}.line-legend{display:none!important}.panel-bottom{padding:12px}.panel-bottom>span{display:none}.panel-bottom button{margin:auto}.rest-banner{padding:12px 8px}.rest-banner p{font-size:8px}}
@media(max-width:720px){body{font-size:13px}.rail{width:58px}.brand-mark{font-size:36px}.rail-menu{margin-top:43px}.rail-button small{font-size:9px}.rail-button svg{width:20px;height:20px}.app-shell{margin-left:58px}.topbar{padding:0 16px;height:65px}.wordmark{font-size:18px}.avatar{width:29px;height:29px}.top-actions{gap:12px}main{padding:21px 13px 0}.trip-heading{align-items:start}.trip-heading h1{font-size:29px;letter-spacing:-1.7px;margin-bottom:7px}.trip-heading>.button{padding:8px 9px;margin-top:28px;font-size:9px}.trip-heading>.button svg{display:none}.trip-heading p{font-size:10px;max-width:240px;line-height:1.9}.eyebrow{font-size:7px;letter-spacing:1px}.example-tag{font-size:8px;padding:2px 4px;margin-left:4px}.heading-wave{font-size:31px;margin-left:7px}.trip-strip{border-radius:10px;margin-top:17px;gap:12px;padding:13px 0}.trip-fact{gap:7px;padding:0 11px}.fact-icon{width:25px;height:28px;background:none}.fact-icon svg{width:17px;height:17px}.trip-fact strong{font-size:10px}.trip-fact small{font-size:8px}.hotel-fact{padding-top:11px!important}.workspace-toolbar{padding-top:17px;padding-bottom:11px;flex-wrap:wrap;gap:10px}.toolbar-title{display:none}.segmented{display:flex;gap:3px;background:#eaf0e4;border-radius:7px;padding:3px}.segmented button{font-size:10px;padding:7px 11px;border-radius:5px;color:#89967f}.segmented .active{background:#fffefa;color:var(--teal);box-shadow:0 1px 3px #173b3909}.toolbar-actions{margin-left:auto;gap:8px}.toolbar-actions .button{font-size:10px;padding:9px 10px;gap:5px}.toolbar-actions .button.subtle{padding:5px 2px}.toolbar-actions .button svg{width:13px;height:13px}.travel-workspace{display:block;height:650px;max-height:none;min-height:530px;border-radius:11px}.plan-panel{height:100%;border:0}.map-panel{height:100%;display:none}.mobile-map .plan-panel{display:none}.mobile-map .map-panel{display:block}.plan-scroll{padding:22px 17px}.day-tabs{padding:12px 15px}.day-tab{flex:1;min-width:78px}.day-heading h2{font-size:22px}.rest-banner{margin:20px 0 22px;padding:13px 10px;gap:9px}.rest-banner p{font-size:9px}.rest-banner strong{font-size:11px}.rest-banner button{font-size:10px}.event-card{padding:14px}.event-card h3{font-size:14px}.event-card .event-local{font-size:10px}.category-pill,.status-tag{font-size:9px}.event-time{font-size:11px}.move-buffer{font-size:9px}.plan-footnote p{font-size:9px}.panel-bottom{padding:14px 17px}.panel-bottom>span{display:flex;font-size:9px}.panel-bottom button{margin:0;font-size:9px}.app-footer{padding:15px;font-size:8px;line-height:1.8}.app-footer>span{max-width:170px}.app-footer button{font-size:8px;white-space:nowrap}.map-search{left:13px;right:62px}.map-filters{left:13px;gap:5px}.map-filters button{padding:8px 10px}.map-note{display:none}.place-peek{left:12px;right:12px;bottom:78px}.map-legend{left:12px;font-size:9px;bottom:34px}.form-grid{gap:14px}.modal-top h2{font-size:21px}dialog{padding:21px;max-height:90dvh}.place-result{padding:11px;gap:9px}.result-icon{width:31px;height:34px}.result-main strong{font-size:11px}.result-view{font-size:9px}.search-row .button{font-size:10px;padding:9px}.toast{font-size:11px;width:max-content;max-width:90vw;bottom:17px}.day-summary{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
#print-sheet{display:none}@media print{body{background:#fff;color:#111;font-size:11pt}.app-shell,.rail,dialog,.toast,.skip{display:none!important}#print-sheet{display:block;padding:20px}#print-sheet h1{font-size:25pt}#print-sheet h2{font-size:15pt;break-after:avoid;margin-top:25px}#print-sheet p{line-height:1.8;break-inside:avoid}@page{margin:15mm}}
.map-scope{position:absolute;top:76px;left:20px;z-index:600;display:flex;align-items:center;gap:3px;padding:4px;background:#fffefa;border:1px solid #dde5d8;border-radius:9px;box-shadow:0 3px 10px #173b3912;max-width:calc(100% - 40px)}.map-scope button{font-size:10px;white-space:nowrap;padding:7px 10px;border-radius:6px;color:#7a8e70}.map-scope button.active{background:#1d6960;color:#fff}.map-scope select{font-size:10px;border:0;border-left:1px solid #e3e8dc;background:#fffefa;color:#4e755e;padding:5px 3px;max-width:135px;min-width:0}.map-scope>span{font-size:9px;color:#8e9f83;padding:0 7px;white-space:nowrap}.map-filters{top:128px}.map-pin.kind-hotel{background:#fff7eb;color:#b97c3f;border-color:#e5c59e}.map-pin.kind-food{background:#fdf0ea;color:#c36f55;border-color:#e8b9a9}.map-pin.kind-sight{background:#eff8f2;color:#277766;border-color:#a7cdb7}.map-pin.kind-airport{background:#edf3fc;color:#537faf;border-color:#b4c9e4}.map-pin.chosen-hotel{background:var(--orange);color:#fff;border:3px solid #fff;box-shadow:0 2px 0 4px #e48c5528,0 3px 8px #173b3930}.map-pin.route{background:var(--teal);color:#fff;border:3px solid #fff}.map-pin.chosen-hotel .pin-label{background:#fff7eb;color:#aa713f}.legend-dot.coral{background:#c87962}.legend-dot.blue{background:#638cb8}.map-panel.show-all:not(.detail-zoom) .map-pin:not(.chosen-hotel):not(.active) .pin-label{display:none}.map-panel.show-all .custom-marker:hover .pin-label,.map-panel.show-all .custom-marker:focus .pin-label{display:block!important}.custom-marker:hover,.custom-marker:focus{z-index:1000!important}.custom-marker:focus{outline:none}.custom-marker:focus .map-pin{outline:4px solid #1d69604d}
@media(max-width:1180px){.map-scope{left:12px;max-width:calc(100% - 24px)}.map-scope button{padding:7px 8px}.map-scope>span{padding:0 4px;font-size:8px}.map-scope select{font-size:9px;max-width:112px}.map-legend{gap:10px}.map-legend .line-legend{display:none!important}}
@media(max-width:720px){main{padding-top:12px}.trip-heading{align-items:center}.trip-heading .eyebrow,.trip-heading p{display:none}.trip-heading h1{font-size:24px;margin:0}.trip-heading>.button{margin:0;padding:8px 9px}.heading-wave{font-size:26px}.trip-strip{margin-top:11px;padding:10px 0;gap:8px}.hotel-fact{padding-top:9px!important}.trip-fact small{margin-bottom:3px}.workspace-toolbar{padding-top:12px;padding-bottom:10px}.travel-workspace{height:calc(100dvh - 245px);min-height:360px}.map-scope{left:12px;top:74px;max-width:calc(100% - 24px)}.map-scope button{font-size:10px;padding:7px 9px}.map-scope select{max-width:128px}.map-filters{top:124px}.map-legend{gap:12px}.map-legend>span{font-size:9px}.app-footer{padding-top:10px}.map-pin .pin-label{font-size:9px}}
.day-navigation{display:flex;align-items:center;gap:14px;margin:0 0 10px;min-width:0}.quick-days{display:flex;gap:7px;flex:1;overflow-x:auto;scrollbar-width:thin;padding:2px 1px}.quick-day{display:grid;gap:4px;border:1px solid #dce5d7;background:#fffefa;border-radius:9px;text-align:left;padding:10px 14px;min-width:115px;flex-shrink:0}.quick-day strong{font-size:11px}.quick-day small{font-size:9px;color:#8d9c81;white-space:nowrap}.quick-day.active{background:#e9f3ed;border-color:#81ab96;color:#205d4f}.quick-day.active small{color:#608d72}.day-mode{display:grid;gap:5px;color:#8a9b7d;font-size:9px;flex-shrink:0}.day-mode select{font-size:11px;border:1px solid #dae3d3;border-radius:7px;padding:8px;color:#416849;background:#fffefa}.journey-summary{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:12px 15px;background:#eef3e9;border:1px solid #e2e9da;border-radius:10px;margin-bottom:12px}.journey-summary>div{display:grid;gap:5px;min-width:0}.journey-summary strong{font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journey-summary small{font-size:9px;color:#8b9b7d}.journey-summary .button{font-size:10px;padding:8px 10px;background:#fffefa}.search-fallback{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-radius:8px;background:#f1f4e9;font-size:10px;margin:10px 0 14px}.search-fallback>span{color:#8b9d7f}.search-fallback a{color:#3d765f}.search-fallback button{padding:0;color:#3d765f;text-decoration:underline}.add-day-field{margin-top:13px;grid-template-columns:auto 1fr;align-items:center;gap:12px}.add-day-field select{padding:8px 10px;font-size:11px}.journey-route-list{display:grid}.journey-stop{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.journey-stop>span{width:26px;height:26px;display:grid;place-items:center;background:#e8f2e8;color:#4b7e5a;border-radius:50%;font-size:10px;flex-shrink:0}.journey-stop svg{width:14px;height:14px}.journey-stop strong{font-size:12px}.journey-stop small{font-size:9px;color:#9a8e76;flex-basis:100%;padding-left:36px}.journey-leg{display:flex;justify-content:space-between;gap:8px;padding:14px 0 14px 23px;margin:5px 0 5px 12px;border-left:1px dashed #b9cdb3;font-size:10px;color:#899a7d}.journey-leg a{white-space:nowrap;color:#478069}.travel-workspace{max-height:calc(100dvh - 475px)}
@media(max-width:900px){.quick-day{min-width:105px;padding:8px 11px}.quick-day small{font-size:8px}.day-navigation{gap:8px}.journey-summary{padding:10px 12px}.journey-summary strong{font-size:10px}}
@media(max-width:720px){.quick-day{min-width:98px;padding:8px 10px}.quick-day strong{font-size:10px}.day-mode select{font-size:10px;padding:8px 4px}.journey-summary{gap:7px;padding:10px;border-radius:8px}.journey-summary strong{font-size:9px}.journey-summary small{font-size:8px}.journey-summary .button{padding:7px 8px;font-size:9px}.travel-workspace{max-height:none;height:calc(100dvh - 365px);min-height:360px}.map-scope{gap:1px}.map-scope>span{display:none}.map-scope select{max-width:115px;font-size:9px}.day-navigation{margin-bottom:8px}.search-fallback{font-size:9px;gap:8px}.journey-leg{font-size:9px}.journey-stop strong{font-size:11px}}
.navigation-panel{position:absolute;left:18px;right:18px;bottom:75px;z-index:650;max-width:570px;padding:12px;background:#fffefaf5;border:1px solid #d6e3d4;border-radius:11px;box-shadow:0 7px 25px #163a3720}.nav-toolbar{display:flex;gap:7px;align-items:center}.nav-toolbar select{min-width:0;flex:1;border:1px solid #dde6d6;border-radius:7px;background:#fafcf6;color:#436946;padding:8px;font-size:10px}.nav-toolbar button{font-size:10px;white-space:nowrap;padding:9px 11px;border-radius:7px;background:var(--teal);color:#fff}.nav-toolbar button.secondary{background:#edf2e7;color:#668057}.nav-direction{font-size:11px;font-weight:650;border-left:4px solid #2878dd;padding-left:8px;line-height:1.7;margin:10px 0 4px}.nav-meta{display:flex;gap:8px;justify-content:space-between;align-items:center;font-size:9px;color:#8c9b7e}.nav-gps{margin:7px 0 0;font-size:8px;color:#8a9c7b;line-height:1.7}.gps-tools{display:flex;gap:5px;margin-top:9px}.gps-tools button{font-size:9px;padding:5px 8px;border-radius:5px;border:1px solid #dce5d3;color:#78926a}.gps-tools button.tracking{background:#e9f2ff;color:#2c7cd3;border-color:#a9cdf1}.route-arrow-marker{background:transparent;border:0;pointer-events:none!important}.route-arrow{display:block;width:20px;height:20px;transform-origin:center;filter:drop-shadow(0 1px 1px #21413355)}.route-arrow svg{width:20px;height:20px;stroke:#fff;stroke-width:3;fill:none}.offline-mode-tag{position:absolute;left:18px;top:172px;z-index:600;background:#f6efe1;color:#977e4d;border:1px solid #e6d6b7;border-radius:5px;padding:5px 8px;font-size:9px}.place-peek{bottom:270px}.map-panel .map-note{display:none}.map-legend{bottom:32px}.navigation-panel+.place-peek{bottom:270px}
@media(max-width:900px){.navigation-panel{left:12px;right:12px;padding:10px;bottom:72px}.nav-toolbar{gap:5px}.nav-toolbar select{font-size:9px;padding:7px 5px}.nav-toolbar button{font-size:9px;padding:8px}.nav-direction{font-size:10px}.nav-meta{font-size:8px}.gps-tools button{font-size:8px;padding:5px 6px}.place-peek{bottom:260px}.offline-mode-tag{left:12px;font-size:8px}}
@media(max-width:720px){.travel-workspace{height:620px;min-height:620px}.navigation-panel{bottom:74px}.nav-direction{font-size:11px}.nav-toolbar select{font-size:10px}.nav-toolbar button{font-size:10px}.gps-tools button{font-size:9px}.map-legend{bottom:34px}.offline-mode-tag{top:166px}.nav-gps{font-size:9px}.place-peek{bottom:275px}}
@media(min-width:721px){.travel-workspace{height:700px;min-height:660px;max-height:none}}
/* v1.3: timeline legs, sheets, offline status, connections */
div.rail-bottom{display:flex;flex-direction:column;gap:4px}
.leg-row{display:flex;align-items:center;gap:8px;margin:2px 0 10px 34px;padding:6px 9px;border-left:4px solid var(--leg,#2878dd);background:#f4f7f2;border-radius:0 8px 8px 0;font-size:11px;color:#3d5a55}
.leg-row>svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:2}
.leg-row span{flex:1;min-width:0}.leg-row small{display:block;color:var(--muted);font-size:10px}
.leg-link{border:1px solid var(--line);background:#fff;border-radius:6px;padding:3px 8px;font-size:10px;color:var(--teal);cursor:pointer;min-height:28px}
.event-hours{font-size:10px;color:#6e7b6f;margin:4px 0 0}
.event-photo{display:block;width:100%;max-height:110px;object-fit:cover;border-radius:8px;margin-top:6px}
.plan-warnings .note{color:#53706a}
.road-conflict{color:#8b3d24;padding-bottom:6px;margin-bottom:6px;border-bottom:1px solid #f0d7c2}
.road-conflict .button{margin-top:6px;font-size:11px}
.same-name{display:inline-block;font-size:9px;font-weight:600;color:#a4552d;background:#fff0e3;border-radius:4px;padding:1px 5px;vertical-align:middle}
#search-note ul{margin:4px 0 0;padding-left:18px}
.confirm-map{height:190px;border-radius:10px;margin:10px 0;border:1px solid var(--line);background:#eef1e8}
.details-meta.compact div{padding:6px 0}
.local-name{font-size:16px;font-weight:700;color:var(--ink)}
.link-button{background:none;border:0;color:var(--teal);text-decoration:underline;cursor:pointer;padding:0;font:inherit}
.photo-block{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.photo-block h3{font-size:14px;margin:0 0 8px}.photo-block h3 small{display:block;font-weight:400;color:var(--muted);font-size:11px}
.photo-list{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}.photo-list figure{position:relative;margin:0;width:130px}.photo-list img{width:130px;height:96px;object-fit:cover;border-radius:8px;display:block}.photo-list figcaption{font-size:11px}.photo-list figcaption small{display:block;color:var(--muted)}.photo-list .icon-button{position:absolute;top:4px;right:4px;background:#fffc;width:26px;height:26px}
.photo-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}.photo-form .full,.photo-form .notice-error{grid-column:1/-1}
.offline-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}.offline-grid>div{background:#f4f7f2;border-radius:9px;padding:10px;font-size:12px}.offline-grid ul{margin:5px 0 0;padding-left:17px;line-height:1.7}
.offline-progress{display:flex;align-items:center;gap:10px;font-size:12px;margin:6px 0}.offline-progress progress{flex:1}
.share-url{width:100%;font-size:11px;margin:6px 0;border:1px solid var(--line);border-radius:6px;padding:6px}
fieldset.form-grid{border:1px solid var(--line);border-radius:10px;padding:10px;margin:0 0 10px}fieldset legend{font-weight:700;padding:0 6px}
.ai-answer p{white-space:normal;line-height:1.7}.ai-suggestions{list-style:none;padding:0;margin:8px 0}.ai-suggestions li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0;border-top:1px solid var(--line)}.ai-suggestions small{flex:1;color:var(--muted)}
.welcome-steps{padding-left:20px;line-height:1.6}.welcome-steps li{margin-bottom:10px}.welcome-steps span{display:block;color:var(--muted);font-size:13px}
.app-footer button{background:none;border:0;color:inherit;cursor:pointer;font:inherit;text-decoration:underline}
@media(max-width:720px){.offline-grid,.photo-form{grid-template-columns:1fr}.leg-row{margin-left:20px}.top-actions .button span:not([data-icon]){display:none}}
/* one-page day sheet (print) */
.sheet-page{font-family:"Noto Sans KR",system-ui,sans-serif;color:#111}
@media print{
 #print-sheet{padding:0}
 .sheet-page{break-after:page;page-break-after:always;min-height:0}
 .sheet-page:last-child{break-after:auto;page-break-after:auto}
 .sheet-page header{display:flex;justify-content:space-between;gap:12px;border-bottom:2px solid #183c38;padding-bottom:6px;margin-bottom:6px}
 .sheet-page h1{font-size:17pt!important;margin:0}
 .sheet-page header p{margin:2px 0 0;font-size:9pt;line-height:1.4!important}
 .sheet-side{width:62mm;flex:none;text-align:right}.sheet-map{display:block;margin-left:auto;width:62mm;height:auto;max-height:45mm;stroke-linecap:round;border:1px solid #ccc;border-radius:3mm;background:#f6f7f1}.sheet-side small{display:block;font-size:6.5pt;color:#555}
 .sheet-row{display:flex;gap:8px;align-items:flex-start;padding:4px 0;border-bottom:1px solid #e3e3e3;break-inside:avoid}
 .sheet-row .t{width:20mm;flex:none;font-weight:700;font-size:10.5pt;line-height:1.25}.sheet-row .t small{font-weight:400;font-size:8pt}
 .sheet-row strong{display:block;font-size:10.5pt}.sheet-row small{display:block;font-size:8pt;line-height:1.35;color:#333}.sheet-row small.local{font-size:9.5pt;font-weight:600;color:#000}
 .sheet-row .body{flex:1;min-width:0}.sheet-row em{font-style:normal;font-size:7pt;border:1px solid #333;border-radius:2px;padding:0 3px;margin-left:3px}
 .sheet-row figure{margin:0;width:30mm;flex:none}.sheet-row img{width:30mm;height:22mm;object-fit:cover;border-radius:2mm}.sheet-row figcaption{font-size:7pt}
 .sheet-row b.bad{color:#a02a00}
 .sheet-leg{margin:0 0 0 22mm;padding:1px 6px;border-left:3px solid #2878dd;font-size:8pt;color:#333;break-inside:avoid}
 .sheet-page footer{margin-top:6px;font-size:7pt;color:#555;line-height:1.4}
 .sheet-page p{line-height:1.5!important}
 @page{size:A4;margin:10mm}
}

/* v1.4: next-up card, bookings, phrases, show-to-staff */
.next-up{margin:0 0 12px}
.next-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:var(--ink);color:#fff;border-radius:14px;padding:14px 16px}
.next-main{display:grid;gap:4px;min-width:0;flex:1 1 280px}
.next-when{font-size:12px;font-weight:700;color:#f3c08d;letter-spacing:.02em}
.next-title{font-size:18px;line-height:1.35;overflow-wrap:anywhere}
.next-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.next-card .button.outline{background:transparent;color:#fff;border-color:#ffffff66}
.next-card .button.primary{background:var(--orange);border-color:var(--orange);color:#1f1307}
.next-nav{display:inline-flex;gap:4px}
.next-nav button{width:34px;height:34px;border-radius:8px;border:1px solid #ffffff55;background:transparent;color:#fff;font-size:18px;cursor:pointer}
.next-nav button:disabled{opacity:.35;cursor:default}
.next-empty{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:var(--light);border:1px dashed var(--line);border-radius:14px;padding:12px 16px}
.next-empty>svg{width:26px;height:26px;color:var(--teal);flex:none}
.next-empty span{flex:1 1 220px;display:grid}.next-empty small{color:var(--muted)}
.ref-row{display:flex;flex-wrap:wrap;gap:6px}
.ref-chip{display:inline-flex;align-items:center;gap:7px;border-radius:8px;padding:3px 3px 3px 9px;background:#ffffff1f;border:1px solid #ffffff40}
.ref-chip small{font-size:10.5px;opacity:.8}
.ref-chip b{font:700 15px/1.2 ui-monospace,"Cascadia Mono",Menlo,monospace;letter-spacing:.05em}
.ref-chip button{border:0;border-radius:6px;padding:4px 8px;font-size:11px;background:#fff;color:var(--ink);cursor:pointer}
.booking-card .ref-chip,dialog .ref-chip{background:var(--light);border-color:var(--line);color:var(--ink)}
.booking-card .ref-chip button,dialog .ref-chip button{background:#fff;border:1px solid var(--line)}
.ref-row.big b{font-size:20px}
.sub-h{font-size:15px;margin:18px 0 8px}
.prep-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.prep-list label{display:flex;gap:10px;align-items:flex-start;line-height:1.5;cursor:pointer}
.prep-list input{width:18px;height:18px;margin-top:2px;accent-color:var(--teal);flex:none}
.phrase{display:grid;gap:1px;padding:10px 0;border-top:1px solid var(--line)}
.phrase .vi{font-size:17px;font-weight:700;color:var(--ink)}
.phrase .ko,.ko-text{color:var(--teal);font-weight:700}
.phrase .en{color:var(--muted);font-size:13px}
.phrase-actions{display:flex;gap:6px;margin-top:4px}
.phrase-actions button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:4px 10px;font-size:12px;cursor:pointer}
.staff-card{text-align:center;display:grid;gap:12px;padding:8px 0}
.staff-card .vi{font-size:20px;font-weight:700;margin:0}
.staff-card .big{font:800 clamp(30px,8vw,48px)/1.1 ui-monospace,"Cascadia Mono",Menlo,monospace;letter-spacing:.06em;word-break:break-all;margin:0;color:var(--ink)}
.staff-card .en{font-size:16px;color:var(--muted);margin:0}
.staff-card .extra-ref b{font-family:ui-monospace,Menlo,monospace;font-size:20px}
.staff-meta{color:var(--muted);font-size:13px;margin:0}
.drop-zone{display:grid;gap:6px;justify-items:center;text-align:center;border:2px dashed var(--teal);background:var(--light);border-radius:14px;padding:18px}
.drop-zone.drag{border-color:var(--orange);background:#fff3e5}
.drop-zone small{color:var(--muted)}
.drop-thumbs{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.drop-thumbs img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.review-box{border:1px solid var(--orange);border-radius:12px;padding:12px;margin-top:12px;display:grid;gap:12px}
.booking-form{border-top:1px solid var(--line);padding-top:10px}
.booking-form .uncertain{border-color:var(--orange)!important;background:#fff3e5}
.booking-form .mono{font-family:ui-monospace,Menlo,monospace}
.booking-list{display:grid;gap:10px;margin-top:14px}
.booking-card{display:flex;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}
.booking-main{display:grid;gap:4px;flex:1;min-width:0}
.booking-main strong{font-size:16px}
.booking-main small{color:var(--muted);overflow-wrap:anywhere}
.booking-kind{font-size:11px;font-weight:700;color:var(--teal)}
.booking-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.booking-actions .button{min-height:32px;padding:4px 10px;font-size:12px}
.booking-thumb{width:86px;height:110px;object-fit:cover;border-radius:8px;border:1px solid var(--line);flex:none}
.warn-text{color:#aa6a45!important}
@media(max-width:720px){.next-card{padding:12px}.next-title{font-size:16px}.booking-thumb{display:none}.next-actions .button{flex:1 1 auto}}
.conn-test{margin-top:8px;font-size:13px;line-height:1.6}
.conn-test.ok{color:#2f7d4f}.conn-test.bad{color:#aa4a2a}
.model-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.model-chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;color:var(--ink);cursor:pointer}

/* v1.5.2: quiet one-line "next" bar; numbers on tap */
.next-up{margin:0 0 10px}
.next-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 10px 8px 14px}
.next-line.soon{border-color:var(--orange);box-shadow:0 0 0 2px #e48c5522}
.next-text{display:flex;flex-direction:column;min-width:0;flex:1 1 220px;gap:1px}
.next-text>svg{display:none}
.next-text small{font-size:11.5px;color:var(--teal);font-weight:700}
.next-text strong{font-size:14.5px;line-height:1.35;overflow-wrap:anywhere}
.next-btns{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.next-btns>button,.next-btns>a{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--light);border-radius:8px;padding:6px 10px;font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer;min-height:34px;text-decoration:none}
.next-btns svg{width:14px;height:14px}
.next-btns>button[aria-expanded="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.next-line .next-nav button{width:30px;height:34px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;font-size:16px}
.next-refs{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;padding:8px 10px;background:var(--light);border:1px solid var(--line);border-radius:12px}
.next-refs .ref-chip{background:#fff;border-color:var(--line);color:var(--ink)}
.next-refs .ref-chip button{background:var(--light);border:1px solid var(--line)}
.day-switch{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-weight:700;color:var(--teal)}
.compact-timeline .event-card .event-actions,.compact-timeline .event-photo{display:none}
@media(max-width:720px){.trip-heading{display:none}.next-text{flex-basis:100%}.next-line{padding:8px 10px}.next-btns svg{display:none}.next-btns>button,.next-btns>a{padding:6px 9px}.next-line>.next-btns{flex-wrap:nowrap}}

/* v1.5.3: automatic location finder */
.locate-btn{margin-top:8px;min-height:34px;padding:5px 12px;font-size:13px}
.locate-btn svg{width:15px;height:15px}
.locate-steps{margin:6px 0 10px;padding-left:20px;font-size:13px;line-height:1.7;color:var(--muted)}
.locate-steps li.ok{color:var(--teal)}.locate-steps li.bad{color:#aa4a2a}.locate-steps li.run::after{content:' …'}
.locate-list{display:grid;gap:8px;margin:8px 0}
.locate-item{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}
.locate-item>span:nth-child(2){flex:1;min-width:0;display:grid}.locate-item small{color:var(--muted);overflow-wrap:anywhere}
.locate-no{width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;flex:none}

/* v1.5.4: less text */
.map-note{display:none}
.nav-direction:empty,.nav-gps:empty,#nav-progress:empty{display:none}
.journey-summary small:empty{display:none}
.day-summary:empty{display:none}
.day-heading .eyebrow:empty{display:none}
#day-title{font-size:20px}
.rest-banner{display:block;padding:0;background:none;border:0;margin:6px 0}
.rest-banner[hidden]{display:none}
.rest-banner button{background:none;border:0;padding:4px 0;color:var(--teal);font-weight:600;font-size:13px;cursor:pointer;text-decoration:underline}
.leg-row{padding:5px 9px;font-size:12.5px}
.leg-row strong{font-size:13px}
.leg-row em.est{font-style:normal;font-size:10.5px;color:#aa6a45;background:#fff3e5;border-radius:4px;padding:0 4px;margin-left:2px}
.event-simple p:empty{display:none}

/* v1.6: my places by default, emergency layer */
.map-pin.kind-help{background:#c6343b;color:#fff;border-color:#fff}
.map-pin.kind-help svg{fill:#fff;stroke:none}
.category-pill.help{background:#fde8e8;color:#b02a2a}
.category-pill.help svg{fill:currentColor;stroke:none}
.map-filters .filter-help.active{background:#c6343b;border-color:#c6343b;color:#fff}
.map-filters .filter-help svg,.rail-help svg{fill:currentColor;stroke:none}
.rail-help small{color:#ffb4b4}
.em-numbers{display:grid;gap:6px;margin-bottom:6px}
.em-number{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}
.em-number b{font:800 22px/1 ui-monospace,Menlo,monospace;color:#b02a2a;min-width:64px}
.em-number span{flex:1;display:grid;font-weight:700}.em-number small{font-weight:400;color:var(--muted)}
.em-number button{border:1px solid var(--line);background:var(--light);border-radius:7px;padding:4px 10px;font-size:12px;cursor:pointer}
.locate-no.em{background:#c6343b}
.em-actions{display:flex;flex-direction:column;gap:4px}.em-actions .button{min-height:30px;padding:3px 10px;font-size:12px}

/* v1.6.1: paste a Plus Code / map link */
.paste-box{border:1px solid var(--teal);background:var(--light);border-radius:12px;padding:10px 12px;margin:6px 0 10px;display:grid;gap:6px}
.paste-box label{font-size:13px;line-height:1.55}
.paste-box .search-row{display:flex;gap:6px}.paste-box input{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:14px}
.paste-box .notice-error:empty{display:none}

/* v1.6.2: ask only when unsure */
.paste-box{border:0;background:none;padding:0;margin:8px 0}
.paste-box a{font-size:12.5px;color:var(--teal)}

.phrase .meaning{font-size:14px;font-weight:600;color:var(--ink)}
.meaning-big{font-size:17px;font-weight:700;margin:0}

/* v1.7: places near the day, food types, photos, reviews */
.sub-chips{display:flex;flex-wrap:wrap;gap:5px;width:100%;margin-top:6px}
.sub-chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer;color:var(--ink)}
.sub-chips button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.near-head{font-size:12px;color:var(--teal);font-weight:700;margin:4px 0}
.result-thumb{width:44px;height:44px;border-radius:9px;object-fit:cover;flex:none}
.auto-photo{margin:0 0 10px}.auto-photo img{width:100%;max-height:220px;object-fit:cover;border-radius:12px;display:block}
.auto-photo figcaption{font-size:10.5px;margin-top:3px}.auto-photo figcaption a{color:var(--muted)}
.review-links{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.review-links a{border:1px solid var(--line);background:var(--light);border-radius:8px;padding:6px 10px;font-size:12.5px;font-weight:600;color:var(--ink);text-decoration:none}

/* v1.7.1: blank start, save all */
.blank-start{display:grid;gap:4px;justify-items:start;background:#fff;border:1px dashed var(--teal);color:var(--ink);border-radius:12px;padding:12px 14px;font-size:13px}
.blank-start strong{font-size:15px}
.review-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}

/* v1.7.2: booking read errors stay visible */
.booking-error{color:#b3412a;font-weight:600}
