@font-face{font-family:Golos Text;src:url(/fonts/GolosText-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Golos Text;src:url(/fonts/GolosText-700.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/Manrope-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/Manrope-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/Manrope-700.woff2) format("woff2");font-weight:700;font-display:swap}:root{--surface: #f6f5f2;--surface-raised: #ffffff;--sand: #eeebe5;--line: #dedad2;--line-strong: #7a8882;--ink: #0f2a26;--ink-muted: #56645e;--lagoon: #0d6b63;--lagoon-soft: #d8ece7;--on-lagoon: #ffffff;--action: var(--lagoon);--on-action: #ffffff;--sunset: #f2643d;--sunset-ink: #b13f1b;--sunset-soft: #fde4da;--success: #276b33;--warning: #8a5200;--danger: #b83227;--success-soft: #e2f0e4;--warning-soft: #fbefd8;--danger-soft: #fbe3e0;--lagoon-strong: #0a5751;--shadow-pop: 0 1px 2px rgba(15,42,38,.06), 0 6px 20px rgba(15,42,38,.08);--link: var(--lagoon);--focus-ring: var(--lagoon);--shadow-card: 0 1px 2px rgba(15,42,38,.05), 0 2px 8px rgba(15,42,38,.05);--shadow-sheet: 0 -1px 0 rgba(15,42,38,.12);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 999px;--font-display: "Golos Text", Manrope, system-ui, sans-serif;--font-sans: Manrope, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--surface: #0f1d1c;--surface-raised: #172a28;--sand: #1f3431;--line: #2c4340;--line-strong: #6b817c;--ink: #f1ece2;--ink-muted: #a3b3ae;--lagoon: #4cc4b3;--lagoon-soft: #123a35;--on-lagoon: #0f1d1c;--action: var(--lagoon);--on-action: #0f1d1c;--sunset: #ff7650;--sunset-ink: #ff9676;--sunset-soft: #3f2118;--success: #6fcf7f;--warning: #f0b24a;--danger: #ff8a7a;--success-soft: #16301b;--warning-soft: #3a2a0f;--danger-soft: #3d1a16;--lagoon-strong: #6fd6c7;--shadow-pop: 0 1px 2px rgba(0,0,0,.5), 0 6px 20px rgba(0,0,0,.35);--link: var(--lagoon);--focus-ring: var(--lagoon);--shadow-card: 0 1px 2px rgba(0,0,0,.5);--shadow-sheet: 0 -1px 0 rgba(0,0,0,.5)}}:root[data-theme=dark]{--surface: #0f1d1c;--surface-raised: #172a28;--sand: #1f3431;--line: #2c4340;--line-strong: #6b817c;--ink: #f1ece2;--ink-muted: #a3b3ae;--lagoon: #4cc4b3;--lagoon-soft: #123a35;--on-lagoon: #0f1d1c;--action: var(--lagoon);--on-action: #0f1d1c;--sunset: #ff7650;--sunset-ink: #ff9676;--sunset-soft: #3f2118;--success: #6fcf7f;--warning: #f0b24a;--danger: #ff8a7a;--success-soft: #16301b;--warning-soft: #3a2a0f;--danger-soft: #3d1a16;--lagoon-strong: #6fd6c7;--shadow-pop: 0 1px 2px rgba(0,0,0,.5), 0 6px 20px rgba(0,0,0,.35);--link: var(--lagoon);--focus-ring: var(--lagoon);--shadow-card: 0 1px 2px rgba(0,0,0,.5);--shadow-sheet: 0 -1px 0 rgba(0,0,0,.5)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--surface);color:var(--ink);font:400 15px/22px var(--font-sans);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}a{color:var(--link)}a:hover{color:var(--ink)}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}h1,h2,h3{font-family:var(--font-display);font-weight:600;margin:0;letter-spacing:-.01em}.h1{font-size:30px;line-height:36px}.h2{font-size:22px;line-height:28px}.h3{font-size:18px;line-height:24px}.cap{font:600 11px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.muted{color:var(--ink-muted)}.small{font-size:13px;line-height:18px}.num{font-weight:600;white-space:nowrap}.only-dark{display:none}@media (prefers-color-scheme: dark){.only-dark{display:block}.only-light{display:none}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wrap{max-width:1200px;margin:0 auto;padding:0 24px}.row{display:flex;gap:12px;align-items:center}.col{display:flex;flex-direction:column;gap:12px}.grow{flex:1 1 auto;min-width:0}.between{justify-content:space-between}.wrap-row{flex-wrap:wrap}@media (max-width: 640px){.wrap{padding:0 16px}.h1{font-size:24px;line-height:30px}}.topbar{position:sticky;top:0;z-index:20;background:var(--surface-raised);border-bottom:1px solid var(--line)}.topbar .wrap{height:60px;display:flex;align-items:center;gap:24px}.topbar nav{display:flex;gap:20px;align-self:stretch}.topbar nav a{display:flex;align-items:center;color:var(--ink-muted);text-decoration:none;font-weight:600;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px}.topbar nav a.active{color:var(--lagoon);border-bottom-color:var(--lagoon)}.topbar nav a:hover{color:var(--ink)}.logo img{height:24px;width:auto}.avatar{width:34px;height:34px;background:var(--lagoon-soft);color:var(--lagoon);display:inline-flex;align-items:center;justify-content:center;font:700 12px/1 var(--font-sans);border:0;cursor:pointer;border-radius:50%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:12px;border:1px solid transparent;background:none;color:var(--ink);font-weight:700;font-size:14px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color .15s,box-shadow .15s,transform .1s,color .15s}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--lagoon);color:var(--on-lagoon);box-shadow:0 1px 2px #0d6b6340,0 4px 12px #0d6b632e}.btn-primary:hover{background:var(--lagoon-strong);color:var(--on-lagoon)}.btn-accent{background:var(--sunset);color:#1b0f0a;box-shadow:0 1px 2px #f2643d4d,0 4px 14px #f2643d40}.btn-accent:hover{background:#e4552f;color:#1b0f0a}.btn-secondary{background:var(--surface-raised);border-color:var(--line);box-shadow:var(--shadow-card)}.btn-secondary:hover{border-color:var(--line-strong)}.btn-ghost{color:var(--lagoon);padding:0 12px}.btn-ghost:hover,.btn-ai{background:var(--lagoon-soft);color:var(--lagoon)}.btn-ai:hover{background:var(--lagoon);color:var(--on-lagoon)}.btn-ai .ico{color:var(--sunset)}.btn-ai:hover .ico{color:inherit}.btn-danger{color:var(--danger);padding:0 12px}.btn-danger:hover{background:var(--danger-soft)}.btn-sm{height:36px;padding:0 14px;font-size:13px;border-radius:10px}.btn-lg{height:52px;padding:0 26px;font-size:15px;border-radius:14px}.btn-block{width:100%}.icon-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:var(--ink-muted);cursor:pointer;border-radius:50%;padding:0;transition:background-color .15s,color .15s}.icon-btn:hover:not(:disabled){background:var(--lagoon-soft);color:var(--lagoon)}.icon-btn.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.icon-btn.ok:hover:not(:disabled){background:var(--success-soft);color:var(--success)}.icon-btn:disabled{opacity:.3;cursor:default}.ico{flex-shrink:0}.ib{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.ib-lagoon{background:var(--lagoon-soft);color:var(--lagoon)}.ib-sunset{background:var(--sunset-soft);color:var(--sunset-ink)}.ib-sand{background:var(--sand);color:var(--ink-muted)}.ib-ok{background:var(--success-soft);color:var(--success)}.ib-warn{background:var(--warning-soft);color:var(--warning)}.ib-risk{background:var(--danger-soft);color:var(--danger)}.ib-ink{background:var(--lagoon);color:var(--on-lagoon)}.field{display:flex;flex-direction:column;gap:6px}.field>label,.label{font-size:13px;font-weight:600}.input,select.input,textarea.input{height:44px;border:1px solid var(--line);transition:border-color .15s;border-radius:var(--radius-md);background:var(--surface-raised);padding:0 12px;width:100%}textarea.input{height:auto;min-height:96px;padding:10px 12px;resize:vertical}.input:hover{border-color:var(--line-strong)}.input:focus{outline:0;border-color:var(--lagoon);box-shadow:0 0 0 3px var(--lagoon-soft)}.hint{font-size:13px;color:var(--ink-muted)}.error{color:var(--danger);font-size:14px}.chip{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface-raised);font-weight:600;font-size:13px;cursor:pointer;transition:all .15s}.chip:hover{border-color:var(--lagoon);color:var(--lagoon)}.chip[aria-pressed=true]{background:var(--lagoon-soft);border-color:var(--lagoon);color:var(--lagoon)}.chip[aria-pressed=true]:before{content:"✓";font-weight:700}.stepper{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-raised)}.stepper button{width:36px;height:36px;border:0;background:none;cursor:pointer;font-weight:700;color:var(--lagoon)}.stepper button:hover{background:var(--lagoon-soft)}.stepper span{width:38px;display:flex;align-items:center;justify-content:center;font-weight:600;border-left:1px solid var(--line);border-right:1px solid var(--line)}.card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}a.card{transition:box-shadow .2s,transform .2s}a.card:hover{box-shadow:var(--shadow-pop);transform:translateY(-2px)}.list{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card)}.list>*+*{border-top:1px solid var(--line)}.li{display:flex;gap:12px;align-items:center;padding:12px 16px}.kv{display:flex;justify-content:space-between;gap:12px;padding:10px 16px}.sec-head{display:flex;justify-content:space-between;align-items:center;padding:20px 0 8px}.tag{display:inline-flex;align-items:center;gap:4px;font:700 11px/16px var(--font-sans);letter-spacing:.02em;padding:3px 9px;border-radius:var(--radius-pill);white-space:nowrap;color:var(--ink-muted);background:var(--sand)}.tag.ok{color:var(--success);background:var(--success-soft)}.tag.warn{color:var(--warning);background:var(--warning-soft)}.tag.risk{color:var(--danger);background:var(--danger-soft)}.tag.acc{color:var(--sunset-ink);background:var(--sunset-soft)}.tag.info{color:var(--lagoon);background:var(--lagoon-soft)}.meter{height:8px;background:var(--sand);display:flex;overflow:hidden;border-radius:var(--radius-pill)}.meter>span{display:block;height:100%;background:var(--action)}.meter>span+span{background:var(--sunset);opacity:.35}.thumb{object-fit:cover;border-radius:var(--radius-md);background:var(--sand);flex-shrink:0}.ph{display:flex;align-items:center;justify-content:center;background:var(--sand);color:var(--ink-muted);border-radius:var(--radius-md);flex-shrink:0}.banner{display:flex;gap:12px;align-items:center;padding:12px 16px;border:1px solid var(--line);background:var(--surface-raised);border-radius:var(--radius-md)}.banner.warn{border-color:transparent;background:var(--warning-soft);color:var(--ink)}.banner.info{border-color:transparent;background:var(--lagoon-soft)}button.banner{transition:filter .15s}button.banner:hover{filter:brightness(.97)}.empty{padding:48px 16px;text-align:center;color:var(--ink-muted)}.spinner{width:18px;height:18px;border:2px solid var(--lagoon-soft);border-top-color:var(--lagoon);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:3s}}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.tabs a{display:inline-flex;align-items:center;gap:7px;padding:12px 14px 10px;font-weight:600;font-size:14px;color:var(--ink-muted);text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap;border-radius:10px 10px 0 0;transition:color .15s,background-color .15s}.tabs a:hover{color:var(--ink);background:var(--sand)}.tabs a.active{color:var(--lagoon);border-bottom-color:var(--lagoon)}.tabs a .cnt{font-size:11px;font-weight:700;padding:0 6px;border-radius:999px;background:var(--sunset);color:#1b0f0a;line-height:16px}.tl{display:grid;grid-template-columns:52px 2px minmax(0,1fr);column-gap:16px}.tl-time{font-weight:700;font-size:14px;color:var(--ink);padding-top:14px;text-align:right}.tl-rail{background:repeating-linear-gradient(to bottom,var(--lagoon) 0 3px,transparent 3px 7px);opacity:.55;position:relative}.tl-rail i{position:absolute;left:-5px;top:17px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:3px solid var(--lagoon);box-sizing:border-box}.tl-rail:has(i){opacity:1}.tl-rail i.dest{background:var(--sunset);border-color:var(--sunset)}.tl-body{display:flex;gap:14px;align-items:flex-start;padding:10px 12px 10px 10px;margin:2px 0;border-radius:var(--radius-lg);transition:background-color .15s}.tl:hover .tl-body:not(.tl-transit){background:var(--surface-raised);box-shadow:var(--shadow-card)}.tl-leg{display:inline-flex;align-self:flex-start;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--lagoon);padding:3px 10px;margin:2px 0;background:var(--lagoon-soft);border-radius:var(--radius-pill)}.tl-leg-wrap{display:flex}.tl-actions{display:flex;gap:0;opacity:0;transition:opacity .15s}.tl:hover .tl-actions,.tl:focus-within .tl-actions{opacity:1}@media (hover: none){.tl-actions{opacity:1}}.map{width:100%;height:100%;min-height:280px;background:var(--sand)}.maplibregl-ctrl-attrib{font-size:10px}.mk{width:28px;height:28px;border-radius:50%;background:var(--lagoon);color:#fff;font:700 12px/24px var(--font-sans);text-align:center;border:2px solid #fff;box-shadow:0 2px 6px #0f2a2659}.mk.dest{background:var(--sunset);color:#1b0f0a}.mk.city{width:16px;height:16px;border-width:3px}.trip-grid{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:0;min-height:calc(100vh - 60px)}.trip-main{padding:24px 32px 64px;border-right:1px solid var(--line);min-width:0}.trip-side{position:sticky;top:60px;height:calc(100vh - 60px)}@media (max-width: 1000px){.trip-grid{grid-template-columns:1fr}.trip-side{position:static;height:300px;order:-1}.trip-main{padding:16px 16px 64px;border-right:0}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f2a2673;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:64px 16px;overflow-y:auto}.modal{width:100%;max-width:560px;background:var(--surface-raised);border-radius:20px;border:1px solid var(--line);box-shadow:0 20px 60px #0f2a2640;overflow:hidden}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.modal-body{padding:16px;display:flex;flex-direction:column;gap:14px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--surface-raised);padding:12px 18px;border-radius:999px;box-shadow:var(--shadow-pop);z-index:60;font-weight:600;font-size:14px;max-width:calc(100vw - 32px)}@media (max-width: 640px){.topbar .wrap{gap:14px}.topbar nav a.hide-sm,.topbar .hide-sm{display:none}}.photo{position:relative;overflow:hidden;background:var(--sand);border-radius:var(--radius-md);width:100%}.photo.fill{height:100%;border-radius:0}.photo>img{width:100%;height:100%;object-fit:cover;display:block}.photo .credit{position:absolute;right:8px;bottom:8px;max-width:calc(100% - 12px);padding:2px 6px;font-size:10px;line-height:14px;color:#fff;background:#0f2a268c;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo .credit:hover{text-decoration:underline}.thumb-btn{padding:0;border:0;background:none;cursor:zoom-in;flex-shrink:0;border-radius:var(--radius-md)}.thumb-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.day-head{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start}.day-head .photo{aspect-ratio:4 / 3;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}@media (max-width: 720px){.day-head{grid-template-columns:1fr}.day-head .photo{aspect-ratio:16 / 9;order:-1}}.tl-transit{background:linear-gradient(135deg,var(--lagoon-soft),var(--surface-raised));border:1px solid var(--lagoon-soft);border-radius:var(--radius-lg);padding:12px 14px;margin:6px 0}.tl-rail i.transit{background:var(--lagoon)}@media (max-width: 720px){.tl-body{flex-wrap:wrap}.tl-body>.grow{flex:1 1 0;min-width:0}.tl-actions{width:100%;justify-content:flex-end;margin-top:-6px}.tl-body .thumb-btn,.tl-body .thumb,.tl-body>.ph{width:56px!important;height:56px!important}}.days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}.day-btn{flex-shrink:0;min-width:66px;padding:8px 6px;border:1px solid var(--line);background:var(--surface-raised);color:var(--ink);cursor:pointer;text-align:center;border-radius:14px;transition:all .15s;position:relative}.day-btn:hover{border-color:var(--lagoon)}.day-btn .d{font-family:var(--font-display);font-weight:700;font-size:20px;line-height:24px}.day-btn .c{font-size:10px;font-weight:600;color:var(--ink-muted);max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-btn[aria-selected=true]{background:var(--lagoon);border-color:var(--lagoon);color:var(--on-lagoon);box-shadow:0 4px 12px #0d6b6340}.day-btn[aria-selected=true] .cap,.day-btn[aria-selected=true] .c{color:inherit;opacity:.85}.day-btn .dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%}.day-btn .dot.travel{background:var(--lagoon)}.day-btn .dot.warn{background:var(--sunset)}.day-btn[aria-selected=true] .dot.travel{background:#fff}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{display:flex;gap:10px;align-items:center;padding:10px 12px;background:var(--surface-raised);border:1px solid var(--line);border-radius:14px}.stat .num{font-size:16px}@media (max-width: 520px){.stats{gap:6px}.stat{flex-direction:column;align-items:flex-start;gap:6px;padding:10px}}.step-num{width:26px;height:26px;border-radius:50%;background:var(--lagoon);color:var(--on-lagoon);font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.step-num.dest{background:var(--sunset);color:#1b0f0a}.feature{transition:transform .2s,box-shadow .2s}.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-pop)}
