.passport{gap:24px;display:grid}.passport-shared{background:var(--accent-soft);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.passport-shared p{color:var(--muted);margin:4px 0 0}.passport-board{background:var(--sign-bg);color:#e9ecee;border-radius:18px;grid-template-columns:repeat(3,auto) 1fr;align-items:center;gap:28px;padding:22px 26px;display:grid}.passport-count{color:#9aa3ab;gap:2px;font-size:.9rem;font-weight:700;display:grid}.passport-big{color:var(--sign-fg);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:800;line-height:1}.passport-count-wish .passport-big{color:#3ddbc9}.passport-regions{border-left:1px solid #ffffff1f;gap:6px;margin:0;padding:0 0 0 24px;font-size:.88rem;list-style:none;display:grid}.passport-regions li{grid-template-columns:90px 1fr 52px;align-items:center;gap:10px;display:grid}.passport-bar{background:#ffffff1a;border-radius:4px;height:8px;overflow:hidden}.passport-bar span{background:var(--sign-fg);border-radius:4px;height:100%;display:block}.passport-ratio{text-align:right;color:#9aa3ab;font-variant-numeric:tabular-nums}.passport-map{margin:0;position:relative}.passport-map>svg{aspect-ratio:2;touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none;border-radius:16px;width:100%;height:auto;display:block}.passport-map.is-zoomed>svg{touch-action:none;cursor:grab}.passport-map.is-zoomed>svg:active{cursor:grabbing}.pm-land,.pm-graticule{vector-effect:non-scaling-stroke}.pm-zoom{z-index:1;border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(10px);border-radius:12px;display:grid;position:absolute;top:12px;right:12px;overflow:hidden;box-shadow:0 6px 20px #0000001f}.pm-zoom button{width:38px;height:38px;color:var(--text);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.pm-zoom button+button{border-top:1px solid var(--border)}.pm-zoom button:hover:not(:disabled){background:var(--surface-2)}.pm-zoom button:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.pm-zoom button:disabled{color:var(--muted);opacity:.45;cursor:default}.pm-sphere{fill:var(--surface-2)}.pm-graticule{fill:none;stroke:var(--border);stroke-width:.4px}.pm-land{fill:color-mix(in srgb, var(--muted) 35%, var(--surface));stroke:var(--bg);stroke-width:.5px;transition:fill .15s}.pm-click{cursor:pointer}.pm-click:hover{fill:color-mix(in srgb, var(--muted) 60%, var(--surface))}.pm-visited,.pm-visited:hover{fill:#ffc629}.pm-wishlist,.pm-wishlist:hover{fill:#3ddbc9}.passport-map figcaption{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:.9rem;display:flex}.pm-key{border-radius:4px;width:14px;height:14px;margin-left:8px;display:inline-block}.pm-key:first-child{margin-left:0}.pm-key-visited{background:#ffc629}.pm-key-wishlist{background:#3ddbc9}.pm-hover{color:var(--text);margin-left:auto;font-weight:700}.passport-tools{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex}.passport-add{gap:6px;font-size:.9rem;font-weight:700;display:grid}.passport-add input{font:inherit;border:1px solid var(--border);background:var(--surface);min-width:min(320px,80vw);color:var(--text);border-radius:10px;padding:11px 14px;font-weight:400}.passport-actions{flex-wrap:wrap;gap:8px;display:flex}.passport-actions .btn:disabled{opacity:.5;cursor:default}.passport-stamps h2,.passport-list h2{margin:0 0 20px;font-size:1.25rem}.passport-stamps ol{flex-wrap:wrap;gap:18px 16px;margin:0;padding:0;list-style:none;display:flex}.passport-stamps{--paper:#fbf6ea;--paper-line:#a0824614;background:var(--sign-bg);border-radius:20px;padding:22px}:root[data-theme=dark] .passport-stamps{--paper:#23211b;--paper-line:#ffe6aa0d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .passport-stamps{--paper:#23211b;--paper-line:#ffe6aa0d}}.stamps-head{color:#e9ecee;grid-template-columns:auto auto 1fr;align-items:center;gap:8px 16px;margin-bottom:18px;display:grid}.passport-stamps .stamps-head h2{color:#fff;margin:0}.stamps-total{color:#9aa3ab;font-variant-numeric:tabular-nums;font-weight:700}.stamps-total b{color:var(--sign-fg);font-size:1.4rem}.stamps-bar{background:#ffffff1a;height:8px}.stamps-pages{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:14px;display:grid}.stamps-page{background:var(--paper) repeating-linear-gradient(135deg, var(--paper-line) 0 1px, transparent 1px 9px);border-radius:12px;padding:16px 18px 22px;position:relative;box-shadow:inset 0 0 0 1px #0000000f,0 1px 2px #0003}.stamps-page:after{content:"";border-top:1px dashed #78643c40;position:absolute;bottom:10px;left:18px;right:18px}.passport-stamps .stamps-page-title{color:#6b5a3a;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 14px;font-size:.78rem;font-weight:900;display:flex}.stamps-page-title span{letter-spacing:0;font-variant-numeric:tabular-nums;background:#6b5a3a1f;border-radius:999px;margin-left:auto;padding:1px 8px}:root[data-theme=dark] .passport-stamps .stamps-page-title{color:#d8c79f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .passport-stamps .stamps-page-title{color:#d8c79f}}.stamps-page ol{justify-content:flex-start}.stamps-page .stamp-ticket:before,.stamps-page .stamp-ticket:after{background:var(--paper)}@media (width<=560px){.passport-stamps{margin:0 -4px;padding:16px 12px}.stamps-head{grid-template-columns:auto 1fr}.stamps-bar{grid-column:1/-1}.stamps-page{padding:14px 10px 20px}.stamps-page ol{justify-content:center;gap:12px 8px}.stamp{width:96px;height:96px}.stamp-oval,.stamp-ticket,.stamp-rect{width:108px;height:84px}}.stamp{--ink:var(--muted);width:112px;height:112px;color:var(--border);transform:rotate(var(--tilt));place-items:center;display:grid;position:relative}.stamp-face{box-sizing:border-box;outline-offset:-9px;text-align:center;border:3px solid;outline:1.5px solid;align-content:center;place-items:center;gap:2px;width:100%;height:100%;padding:10px;line-height:1.1;display:grid}.stamp-round .stamp-face{border-radius:50%}.stamp-oval{width:132px;height:96px}.stamp-oval .stamp-face{border-radius:50%}.stamp-rect{width:128px;height:92px}.stamp-rect .stamp-face{outline-offset:-12px;border-style:double;border-width:5px;border-radius:8px}.stamp-square .stamp-face{border-radius:16px;outline-style:dashed}.stamp-brand{letter-spacing:.16em;opacity:.85;font-size:.52rem;font-weight:800}.stamp-emblem{place-items:center;min-height:28px;display:grid}.stamp-emblem b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.55rem;font-weight:900}.stamp-label{text-transform:uppercase;letter-spacing:.04em;max-width:92px;font-size:.66rem;font-weight:800}.stamp:not(.stamp-earned) .stamp-face{color:color-mix(in srgb, var(--muted) 55%, transparent);border-style:dashed;outline-color:#0000}.stamp-earned{color:var(--ink)}.stamp-earned .stamp-face{background:color-mix(in srgb, var(--ink) 7%, transparent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.2 1.7'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E") 50%/120px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.2 1.7'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E") 50%/120px}:root[data-theme=dark] .stamp-earned{color:color-mix(in srgb, var(--ink) 55%, white)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .stamp-earned{color:color-mix(in srgb, var(--ink) 55%, white)}}.stamp.is-fresh .stamp-face{animation:1.6s cubic-bezier(.2,.8,.3,1) both stamp-print}.stamp-tool{z-index:2;filter:drop-shadow(0 6px 8px #0000004d);pointer-events:none;margin-left:-30px;animation:1.6s ease-in-out both stamp-tool;position:absolute;top:-30px;left:50%}@keyframes stamp-tool{0%{transform:translateY(-120px) rotate(calc(var(--tilt) * -1));opacity:0}25%{opacity:1;transform:translateY(-80px)}42%{transform:translateY(12px)scaleY(.94)}55%{transform:translateY(8px)}80%{opacity:1;transform:translateY(-90px)}to{opacity:0;transform:translateY(-140px)}}@keyframes stamp-print{0%,40%{opacity:0;transform:scale(1.25)}44%{opacity:1;transform:scale(.94)}52%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.stamp.is-fresh{animation:1.6s both stamp-shake}@keyframes stamp-shake{0%,41%{translate:0}44%{translate:0 2px}48%{translate:0 -1px}52%,to{translate:0}}@media (prefers-reduced-motion:reduce){.stamp.is-fresh,.stamp.is-fresh .stamp-face,.stamp-tool{animation:none}.stamp-tool{display:none}}.passport-empty{background:var(--surface);border:1px dashed var(--border);color:var(--muted);border-radius:12px;margin:0;padding:16px 20px}.passport-list h2 span{color:var(--muted);font-weight:600}.passport-list ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.passport-list li{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:6px 6px 6px 12px;font-weight:600;display:inline-flex}.passport-list-visited li{border-color:color-mix(in srgb, #ffc629 55%, var(--border))}.passport-list-wishlist li{border-color:color-mix(in srgb, #3ddbc9 55%, var(--border))}.passport-list button{background:var(--surface-2);width:24px;height:24px;color:var(--muted);cursor:pointer;border:0;border-radius:50%;font-size:1rem;line-height:1}.passport-list button:hover{color:var(--bad)}@media (width<=860px){.passport-board{grid-template-columns:repeat(3,1fr)}.passport-regions{border-top:1px solid #ffffff1f;border-left:0;grid-column:1/-1;padding:16px 0 0}}.flightlog{gap:24px;display:grid}.fl-years{flex-wrap:wrap;gap:6px;display:flex}.fl-years button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:7px 14px;font-weight:700}.fl-years button[aria-pressed=true]{background:var(--signal);border-color:var(--signal);color:var(--on-signal)}.fl-board{background:#ffffff14;border-radius:18px;grid-template-columns:repeat(6,1fr);gap:1px;display:grid;overflow:hidden}.fl-cell{background:var(--sign-bg);color:#9aa3ab;gap:4px;padding:18px 20px;font-size:.85rem;font-weight:700;display:grid}.fl-value{color:var(--sign-fg);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:800;line-height:1}.fl-note{background:var(--sign-bg);color:#e9ecee;grid-column:1/-1;margin:0;padding:12px 20px;font-weight:600}.fl-map{margin:0}.fl-map svg{width:100%;height:auto;display:block}.fl-route{fill:none;stroke:#ffc629;stroke-linecap:round;opacity:.9}.fl-dot{fill:var(--text);stroke:var(--bg);stroke-width:1px}.fl-tools{grid-template-columns:2fr 1fr;gap:16px;display:grid}.fl-add,.fl-import{background:var(--surface);border:1px solid var(--border);border-radius:16px;align-content:start;gap:14px;padding:20px;display:grid}.fl-add h2,.fl-import h2,.fl-tops h2,.fl-list h2{margin:0;font-size:1.2rem}.fl-import p{margin:0;font-size:.9rem}.fl-fields{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.fl-fields label{min-width:0;color:var(--muted);gap:4px;font-size:.85rem;font-weight:700;display:grid}.fl-fields small{font-weight:400}.fl-fields input{box-sizing:border-box;width:100%;min-width:0;font:inherit;color:var(--text);border:1px solid var(--border);background:var(--surface-2);border-radius:9px;padding:9px 10px;font-size:1rem}.fl-add .btn,.fl-import .btn{justify-self:start}.fl-message{background:var(--accent-soft);border-radius:10px;margin:0;padding:12px 16px;font-weight:600}.fl-tops{grid-template-columns:1fr 1fr;gap:16px;display:grid}.fl-tops ol{gap:6px;margin:10px 0 0;padding-left:22px;display:grid}.fl-tops li span{float:right;color:var(--muted);font-variant-numeric:tabular-nums}.fl-list table{border-collapse:collapse;width:100%;margin-top:12px}.fl-list td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 8px}.fl-date{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}.fl-km{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.fl-watch{border:1px solid var(--border);background:var(--surface);cursor:pointer;filter:grayscale();border-radius:50%;width:30px;height:30px;font-size:.9rem}.fl-watch[aria-pressed=true]{border-color:var(--signal);filter:none}.fl-remove{background:var(--surface-2);width:26px;height:26px;color:var(--muted);cursor:pointer;border:0;border-radius:50%}.fl-remove:hover{color:var(--bad)}.fl-co2{margin:0;font-size:.82rem}@media (width<=860px){.fl-board{grid-template-columns:repeat(3,1fr)}.fl-tools,.fl-tops{grid-template-columns:1fr}.fl-list td:nth-child(3){display:none}}.pl-list-title{margin:0 0 20px;font-size:1.25rem}.pl-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.pl-cards>li{min-width:0}.pl-card{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);height:100%;color:var(--text);box-shadow:var(--shadow);border-radius:18px;align-content:start;gap:8px;padding:18px 18px 20px;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:grid;position:relative}a.pl-card:hover{border-color:var(--text);transform:translateY(-2px)}.pl-card:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.pl-card.is-done{background:var(--surface-2);box-shadow:none}.pl-card-top{justify-content:space-between;align-items:center;gap:8px;min-height:30px;margin-bottom:4px;display:flex}.pl-card-flags{color:var(--muted);gap:6px;font-size:1.5rem;line-height:1;display:inline-flex}.pl-card-title{padding-right:24px;font-size:1.15rem;font-weight:800;line-height:1.25}.pl-card-row{color:var(--muted);align-items:center;gap:8px;font-size:.88rem;display:flex}.pl-card-when{background:var(--signal);color:var(--on-signal);border-radius:999px;flex:none;padding:4px 10px;font-size:.78rem;font-weight:800}.pl-card-when.is-done{background:var(--ok-soft);color:var(--ok)}.pl-card-progress{gap:6px;margin-top:6px;display:grid}.pl-card-bar{background:var(--surface-2);height:6px}.pl-card-bar span{background:var(--signal)}.pl-card-count{color:var(--muted);font-size:.8rem;font-weight:700}.pl-card-open{color:var(--muted);transition:transform .15s,color .15s;position:absolute;top:58px;right:16px}a.pl-card:hover .pl-card-open{color:var(--text);transform:translate(3px)}.pl-card-new{box-shadow:none;background:0 0;border-style:dashed;border-width:2px}.pl-card-new-icon{background:var(--sign-bg);width:36px;height:36px;color:var(--sign-fg);border-radius:10px;place-items:center;display:grid}.pl-card-new .pl-new{margin-top:4px}.pl-card-new .pl-new input{min-width:0}.pl-board{background:var(--sign-bg);color:#e9ecee;border-radius:18px;grid-template-columns:repeat(3,auto) 1fr;align-items:center;gap:28px;padding:22px 26px;display:grid}.pl-board-next{color:#fff;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;justify-self:end;gap:2px;max-width:360px;padding:12px 16px;text-decoration:none;display:grid}.pl-board-next:hover{border-color:var(--sign-fg)}.pl-board-label{color:var(--sign-fg);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:800}.pl-board-title{font-size:1.05rem;font-weight:800}.pl-board-when{color:#9aa3ab;font-size:.85rem;font-weight:600}.pl-ideas-wrap{justify-items:start;display:grid}.pl-ideas-wrap .pl-list-title{margin-bottom:10px}.pl-ideas-wrap>p{margin:0 0 18px}.pl-city-ideas{flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;list-style:none;display:flex}.pl-city-ideas button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 14px 8px 10px;font-weight:700;transition:border-color .15s,transform .15s;display:inline-flex}.pl-city-ideas button:hover{border-color:var(--text);transform:translateY(-1px)}.pl-city-ideas small{color:var(--muted);font-weight:600}@media (width<=860px){.pl-board{grid-template-columns:repeat(3,1fr);gap:16px}.pl-board-next{grid-column:1/-1;justify-self:stretch;max-width:none}}.pl-new-wrap{gap:10px;max-width:640px;display:grid}.pl-browse{font-size:.92rem;font-weight:700}.pl-back{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;justify-self:start;align-items:center;gap:8px;margin-bottom:-16px;padding:8px 14px;font-weight:700;text-decoration:none;display:inline-flex}.pl-back:hover{border-color:var(--text)}.pl-back span{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:1px 8px;font-size:.82rem}.planner{gap:36px;display:grid}.pl-empty{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.pl-empty p{margin:0}.pl-new{flex-wrap:wrap;gap:8px;display:flex}.pl-new input,.pl-add input{min-width:0;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;flex:1;padding:10px 12px}.pl-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.pl-head{background:var(--sign-bg);color:#e9ecee;border-radius:16px;gap:12px;padding:20px;display:grid}.pl-title{font:inherit;color:#fff;background:0 0;border:0;border-bottom:1px dashed #ffffff40;padding:2px 0;font-size:clamp(1.3rem,3vw,1.8rem);font-weight:800}.pl-title:focus{border-bottom-color:var(--sign-fg);outline:none}.pl-dates{flex-wrap:wrap;gap:12px;display:flex}.pl-dates label{color:#9aa3ab;gap:4px;font-size:.82rem;font-weight:700;display:grid}.pl-dates input{font:inherit;color:#fff;color-scheme:dark;background:#ffffff0f;border:1px solid #fff3;border-radius:8px;padding:7px 10px}.pl-progress{color:#9aa3ab;grid-template-columns:1fr auto;align-items:center;gap:12px;font-size:.88rem;font-weight:700;display:grid}.pl-day{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-top:18px;padding:18px}.pl-day-title{align-items:center;gap:10px;margin:0 0 12px;font-size:1.1rem;display:flex}.pl-day-title small{color:var(--muted);font-weight:600}.pl-day .day-badge{background:var(--signal);width:30px;height:30px;color:var(--on-signal);border-radius:8px;flex:none;place-items:center;margin:0;font-size:.95rem;font-weight:800;line-height:1;display:inline-grid;position:static}.pl-stops{gap:4px;margin:0;padding:0;list-style:none;display:grid}.pl-stops li{border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 8px;padding:8px 10px 8px 2px;display:grid;position:relative}.pl-stops li:hover{background:var(--surface-2)}.pl-stops li.is-done .pl-check span{color:var(--muted);text-decoration:line-through}.pl-check{cursor:pointer;align-items:flex-start;gap:10px;line-height:1.4;display:flex}.pl-check input{width:18px;height:18px;accent-color:var(--signal);flex:none;margin-top:2px}.pl-stop-tools{opacity:.7;align-items:center;gap:2px;display:flex}.pl-stops li:hover .pl-stop-tools,.pl-stop-tools:focus-within{opacity:1}.pl-stop-tools button{min-width:28px;height:28px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 6px;font-size:.85rem}.pl-stop-tools button:hover{background:var(--surface);color:var(--text)}.pl-notes{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);resize:vertical;border-radius:8px;grid-column:2/-1;margin-left:28px;padding:8px 10px;font-size:.9rem}.pl-ideas{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:.85rem;display:flex}.pl-ideas span{color:var(--muted);font-weight:700}.pl-ideas button{border:1px dashed var(--border);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:5px 10px}.pl-ideas button:hover{border-style:solid;border-color:var(--accent)}.pl-add{gap:8px;margin-top:10px;display:flex}.pl-add button{border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:0 16px;font-weight:700}.pl-transfer{border:1px dashed var(--border);color:var(--muted);border-radius:12px;flex-wrap:wrap;align-items:center;gap:4px;margin:18px 0 0;padding:10px 16px;font-size:.92rem;font-weight:700;display:flex}.pl-transfer span{color:var(--accent)}.pl-add-city{border:1px dashed var(--border);border-radius:16px;grid-template-columns:1fr auto;align-items:end;gap:8px 10px;margin-top:18px;padding:18px;display:grid}.pl-add-city label{gap:6px;font-size:.9rem;font-weight:700;display:grid}.pl-add-city select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;min-width:0;padding:10px}.pl-add-city small{grid-column:1/-1}.pl-side{gap:18px;display:grid;position:sticky;top:90px}.pl-checklist,.pl-insurance,.pl-actions{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:18px}.pl-checklist{border-top:4px solid var(--signal)}.pl-side-title,.pl-new-wrap h3{margin:0 0 12px;font-size:1.1rem}.pl-checklist ul{gap:10px;margin:0;padding:0;font-size:.92rem;list-style:none;display:grid}.pl-item-link{margin:4px 0 0 28px;font-size:.85rem;font-weight:700;display:inline-block}.pl-insurance{gap:10px;font-size:.92rem;display:grid}.pl-insurance .pl-side-title{margin:0 0 2px}.pl-actions{justify-items:start;gap:10px;display:grid}.pl-finished{color:var(--ok);margin:0;font-weight:700}.pl-countries{margin:0}@media (width<=900px){.pl-layout{grid-template-columns:1fr}.pl-side{position:static}}.passport{--stamp-ink-0:#b4462f;--stamp-ink-1:#2f5d8a;--stamp-ink-2:#2f6b4a;--stamp-ink-3:#7a4a9a}:root[data-theme=dark] .passport{--stamp-ink-0:#ec8b7e;--stamp-ink-1:#86b4e3;--stamp-ink-2:#7cc49a;--stamp-ink-3:#c39be0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .passport{--stamp-ink-0:#ec8b7e;--stamp-ink-1:#86b4e3;--stamp-ink-2:#7cc49a;--stamp-ink-3:#c39be0}}.passport-list .country-stamps{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:18px;display:grid}.passport-list li.country-stamp{border:2px dashed color-mix(in srgb, var(--ink) 70%, transparent);background:color-mix(in srgb, var(--ink) 6%, var(--surface));color:var(--ink);text-align:center;transform:rotate(var(--tilt));border-radius:14px;align-content:start;justify-items:center;gap:6px;padding:18px 12px 14px;transition:transform .15s;display:grid;position:relative}.passport-list li.country-stamp:before{content:"";border:1px solid color-mix(in srgb, var(--ink) 35%, transparent);pointer-events:none;border-radius:10px;position:absolute;inset:4px}.passport-list li.country-stamp:hover,.passport-list li.country-stamp:focus-within{transform:rotate(0)scale(1.02)}.country-stamp-flag{font-size:2.1rem}.country-stamp-name{color:var(--text);font-size:.98rem;font-weight:800;line-height:1.2}.country-stamp-region{letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.stars{gap:1px;margin-top:2px;display:inline-flex}.passport-list .star{color:color-mix(in srgb, var(--muted) 45%, transparent);font-size:1.2rem;line-height:1}.passport-list .star.is-on{color:#f5b301}.passport-list .country-stamp-remove{opacity:0;width:24px;height:24px;transition:opacity .15s;position:absolute;top:6px;right:6px}.country-stamp:hover .country-stamp-remove,.country-stamp-remove:focus-visible{opacity:1}@media (hover:none){.passport-list .country-stamp-remove{opacity:1}}.pl-head-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.pl-head-countries{flex-wrap:wrap;gap:6px;display:flex}.pl-head-country{background:#ffffff14;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 6px;font-size:.85rem;font-weight:700;display:inline-flex}.pl-head-meta{color:#9aa3ab;align-items:center;gap:10px;margin-left:auto;font-size:.85rem;font-weight:700;display:inline-flex}.pl-daynav{top:calc(var(--bar-h-min) + 8px);z-index:5;scrollbar-width:none;background:color-mix(in srgb, var(--surface) 88%, transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);border-radius:14px;gap:6px;margin-top:16px;padding:6px;display:flex;position:sticky;overflow-x:auto}.pl-daynav::-webkit-scrollbar{display:none}.pl-daynav button{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;justify-items:center;gap:0;padding:6px 12px;font-size:.85rem;font-weight:800;display:grid}.pl-daynav button small{color:var(--muted);font-size:.72rem;font-weight:600}.pl-daynav button:hover{background:var(--surface-2)}.pl-daynav button.is-done{color:var(--ok)}.pl-day{scroll-margin-top:calc(var(--bar-h-min) + 80px)}.pl-day-title,.pl-side-title{flex-wrap:wrap}.pl-day-count{background:var(--surface-2);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;margin-left:auto;padding:2px 9px;font-size:.78rem;font-weight:800}.pl-day-count.is-done{background:var(--ok-soft);color:var(--ok)}.pl-side-title{align-items:center;gap:8px;display:flex}.pl-check input{appearance:none;border:2px solid color-mix(in srgb, var(--muted) 60%, transparent);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:20px;height:20px;margin-top:1px;transition:background .12s,border-color .12s;display:grid;position:relative}.pl-check input:checked{border-color:var(--ok);background:var(--ok)}.pl-check input:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;margin-top:-2px;transform:rotate(45deg)}.pl-check input:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.pl-stop-tools button{place-items:center;width:30px;min-width:30px;height:30px;padding:0;display:grid}.pl-stop-tools .pl-stop-remove:hover{color:var(--bad)}.pl-actions{justify-items:stretch}.pl-actions .btn{justify-content:center}.pl-ics{align-items:center;gap:8px;display:inline-flex}.pl-delete{color:var(--bad);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px;font-size:.88rem;font-weight:700;display:inline-flex}.pl-delete:hover{background:var(--bad-soft)}.pl-stop-tools .pl-directions{border:1px solid var(--border);background:var(--surface);height:28px;color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;margin-right:4px;padding:0 10px;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.pl-stop-tools .pl-directions:hover{border-color:var(--accent);color:var(--accent)}@media (width<=560px){.pl-stop-tools .pl-directions span{display:none}.pl-stop-tools .pl-directions{padding:0 8px}}.pl-side-hint{color:var(--muted);margin:-4px 0 4px;font-size:.84rem;line-height:1.45}.pl-drag{width:22px;height:30px;color:var(--muted);cursor:grab;touch-action:none;opacity:.5;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.pl-drag svg path{stroke-width:3.2px}.pl-stops li:hover .pl-drag,.pl-drag:focus-visible{opacity:1}.pl-drag:active{cursor:grabbing}.pl-stops li.is-dragging{opacity:.4;background:var(--surface-2)}.pl-stops li.is-drop-before:before{content:"";background:var(--signal);border-radius:3px;height:3px;position:absolute;top:-3px;left:0;right:0}.pl-day.is-drop-end .pl-stops{border-bottom:3px solid var(--signal);padding-bottom:6px}.planner:has(.is-dragging){-webkit-user-select:none;user-select:none;cursor:grabbing}@media (hover:none){.pl-drag{opacity:.8}}.pl-head{position:relative}.pl-title-text{border-bottom-color:#0000;margin:0;padding-right:150px}.pl-head-dates{color:#c7cdd2;align-items:center;gap:8px;margin:0;font-size:.92rem;font-weight:700;display:flex}.pl-mode{color:#fff;font:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:.88rem;font-weight:800;display:inline-flex;position:absolute;top:18px;right:18px}.pl-mode:hover{border-color:var(--sign-fg)}.pl-mode.is-editing{border-color:var(--signal);background:var(--signal);color:var(--on-signal)}.pl-head:has(.pl-mode) .pl-head-top{padding-right:140px}.pl-note-text{color:var(--muted);white-space:pre-wrap;grid-column:2/-1;margin:0 0 0 28px;font-size:.88rem}@media (width<=560px){.pl-mode{order:10;justify-self:start;position:static}.pl-head:has(.pl-mode) .pl-head-top,.pl-title-text{padding-right:0}}.pl-stops.is-viewing li{grid-template-columns:1fr auto;padding-left:10px}.pl-stops.is-viewing .pl-note-text{grid-column:1/-1}.pl-stops.is-viewing .pl-stop-tools{opacity:1}.pl-daynav button[aria-current]{background:var(--sign-bg);color:var(--sign-fg)}.pl-daynav button[aria-current] small{color:#9aa3ab}@media (width<=760px){main:has(.pl-layout) .hero{min-height:0}main:has(.pl-layout) .hero-content{padding-top:16px;padding-bottom:18px}.pl-layout{grid-template-columns:minmax(0,1fr)}.pl-main{min-width:0}main:has(.pl-layout) .hero h1{margin:0;font-size:1.7rem}main:has(.pl-layout) .hero-lead,main:has(.pl-layout) .hero-note{display:none}main:has(.pl-layout) .section{padding-top:16px}.planner:has(.pl-layout){gap:14px}.pl-back{margin-bottom:0;padding:6px 12px;font-size:.9rem}.pl-head{gap:10px;padding:16px}.pl-daynav{margin-top:12px}.pl-days.is-slider{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;align-items:flex-start;gap:12px;margin:0 -16px;padding:0 16px 4px;scroll-padding:0 16px;display:flex;overflow-x:auto}.pl-days.is-slider::-webkit-scrollbar{display:none}.pl-days.is-slider>.pl-day{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 calc(100% - 20px);margin-top:12px}}.pl-day>.pl-transfer{margin:0 0 14px}.pl-card.has-cover{padding-top:0;overflow:hidden}.pl-card-cover{aspect-ratio:3/2;object-fit:cover;width:calc(100% + 36px);max-width:none;height:auto;margin:0 -18px 12px;display:block}.pl-card.has-cover .pl-card-top{position:absolute;top:12px;left:18px;right:18px}.pl-card.has-cover .pl-card-flags{-webkit-backdrop-filter:blur(10px)saturate(1.2);background:#ffffff2e;border:1px solid #ffffff4d;border-radius:12px;padding:6px 8px}.pl-card.has-cover .pl-card-flags .flag{opacity:.85;box-shadow:none}.pl-card.has-cover .pl-card-open{top:auto;bottom:20px}.pl-head.has-cover{isolation:isolate;overflow:hidden}.pl-head-cover{z-index:-2;object-fit:cover;width:100%;max-width:none;height:100%;position:absolute;inset:0}.pl-head.has-cover:before{content:"";z-index:-1;background:linear-gradient(#10121400 0%,#10121426 25%,#101214cc 60%,#101214f2 100%);position:absolute;inset:0}.pl-head.has-cover .pl-head-country{-webkit-backdrop-filter:blur(10px);background:#ffffff29;border:1px solid #ffffff47}.pl-head.has-cover .pl-head-country .flag{opacity:.85;box-shadow:none}.pl-head.has-cover{padding-top:clamp(150px,26vw,240px)}.pl-head.has-cover .pl-mode{-webkit-backdrop-filter:blur(8px);background:#10121473}.passport-list-hint{color:var(--muted);max-width:70ch;margin:-8px 0 20px;font-size:.9rem}.country-stamp-cities{color:var(--muted);font-size:.75rem;font-weight:600;line-height:1.3}.passport-list .star{cursor:default;place-items:center;width:22px;height:22px;display:inline-grid}.stamp-ticket{width:122px;height:96px}.stamp-ticket .stamp-face{-webkit-mask-composite:source-in;border-style:solid;border-radius:10px;outline-style:dotted}.stamp-ticket:before,.stamp-ticket:after{content:"";background:var(--bg);border-radius:50%;width:14px;height:14px;margin-top:-7px;position:absolute;top:50%;box-shadow:inset 0 0 0 3px}.stamp-ticket:before{clip-path:inset(0 0 0 50%);left:-7px}.stamp-ticket:after{clip-path:inset(0 50% 0 0);right:-7px}.stamp:not(.stamp-earned){opacity:.6}.passport-credit{color:var(--muted);font-size:.75rem;font-weight:400}.country-level{letter-spacing:.06em;text-transform:uppercase;background:var(--surface-2);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:.72rem;font-weight:900}.country-level-2{background:color-mix(in srgb, var(--ink) 14%, var(--surface));color:var(--ink)}.country-level-3{background:var(--ink);color:#fff}.country-level-4{color:#15181b;background:linear-gradient(135deg,#c0c6cc,#8a949c)}.country-level-5{color:#15181b;background:linear-gradient(135deg,#ffd65a,#e0a100);box-shadow:0 0 0 2px #ffc62959}.country-stamp-count{color:var(--text);font-size:.76rem;font-weight:700}.stamps-pages{align-items:start}
