:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f7efe3;--paper-2:#efe3d0;--paper-3:#e7d8c0;--card:#fbf6ec;--card-raised:#fffaf2;--ink:#1b2a4a;--ink-soft:#4a5670;--ink-faint:#6f7891;--gold:#b8863b;--clay:#b0643a;--clay-strong:#9e552d;--clay-ink:#8f4e2a;--sea:#5d7a95;--wa:#1f7a4d;--wa-ink:#fff;--line:#1b2a4a24;--edge:#e6d7bf;--dots:#b0643a12;--tape:#b8863b47;--shadow-sm:0 1px 2px #1b2a4a0f, 0 6px 16px -10px #1b2a4a38;--shadow-md:0 2px 4px #1b2a4a0d, 0 18px 36px -22px #1b2a4a61;--photo-filter:none;--seal-blend:multiply;--on-dark:#fbf6ec;--serif:var(--font-cormorant), "Cormorant Garamond", Georgia, serif;--hand:var(--font-caveat), "Caveat", cursive;--sans:var(--font-karla), "Karla", system-ui, sans-serif;--t-xs:13px;--t-sm:15px;--t-base:17px;--t-md:21px;--t-lg:26px;--t-xl:32px;--t-2xl:40px;--gutter:18px;--radius:16px;--radius-sm:12px;--tabbar-h:64px;--ease-out:cubic-bezier(.22, 1, .36, 1);--column:560px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#12192a;--paper-2:#1a2336;--paper-3:#232e45;--card:#192235;--card-raised:#1f293e;--ink:#f1e6d3;--ink-soft:#bdb4a4;--ink-faint:#958e82;--gold:#d9a95b;--clay:#e08d5e;--clay-strong:#c8703f;--clay-ink:#eba57c;--sea:#93aecb;--wa:#25915c;--line:#f1e6d324;--edge:#f1e6d31f;--dots:#d9a95b12;--tape:#d9a95b38;--shadow-sm:0 1px 2px #0000004d, 0 8px 18px -12px #0009;--shadow-md:0 2px 4px #00000040, 0 20px 40px -22px #000000bf;--photo-filter:brightness(.9) saturate(.95);--seal-blend:normal}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#12192a;--card:#192235;--ink:#f1e6d3;--ink-soft:#bdb4a4}}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--paper);scrollbar-color:var(--paper-3) transparent}body.carnet{background-color:var(--paper);background-image:radial-gradient(var(--dots) 1px, transparent 1px);min-height:100dvh;color:var(--ink);font-family:var(--sans);font-size:var(--t-base);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;background-size:22px 22px;margin:0;line-height:1.55}:where(body.carnet) ::selection{background:color-mix(in srgb, var(--gold) 38%, transparent);color:var(--ink)}:where(body.carnet) :where(input,button,textarea){font:inherit;color:inherit}:where(body.carnet) :where(a){color:inherit}:where(body.carnet) :where(img){max-width:100%;display:block}:where(body.carnet) :focus-visible{outline:3px solid var(--clay);outline-offset:2px;border-radius:8px}:where(body.carnet) :where(h1,h2,h3){text-wrap:balance;margin:0}:where(body.carnet) :where(p){text-wrap:pretty;margin:0}[hidden]{display:none!important}.skip{z-index:100;background:var(--ink);color:var(--paper);border-radius:10px;padding:10px 14px;font-weight:700;text-decoration:none;position:absolute;top:-80px;left:12px}.skip:focus{top:calc(12px + env(safe-area-inset-top))}.grow{flex:1;min-width:0}.app{max-width:var(--column);min-height:100dvh;margin:0 auto;position:relative}@media (min-width:640px){.app{background:var(--paper);box-shadow:0 0 0 1px var(--line), 0 30px 60px -40px #1b2a4a59}}.main{padding-bottom:calc(40px + env(safe-area-inset-bottom))}.app[data-tabs=true] .main{padding-bottom:calc(var(--tabbar-h) + 32px + env(safe-area-inset-bottom))}.screen{padding:calc(6px + env(safe-area-inset-top)) var(--gutter) 0;padding-left:max(var(--gutter), env(safe-area-inset-left));padding-right:max(var(--gutter), env(safe-area-inset-right))}.preview-banner~.main .screen,.net-banner~.main .screen{padding-top:6px}.center-screen{text-align:center;align-content:center;place-items:center;gap:12px;min-height:72vh;display:grid}.splash{place-items:center;min-height:100dvh;display:grid}.brand-seal{mix-blend-mode:var(--seal-blend);object-fit:cover;border-radius:50%}:root[data-theme=dark] .brand-seal{box-shadow:0 0 0 1px #d9a95b59,0 12px 30px -12px #000c}.seal-sm{width:72px;height:72px}.seal-md{width:132px;height:132px}.pulse{animation:2.4s ease-in-out infinite breathe}.preview-banner,.net-banner{z-index:30;padding:9px var(--gutter);padding-top:calc(9px + env(safe-area-inset-top));font-size:var(--t-xs);align-items:center;gap:10px;line-height:1.35;display:flex;position:sticky;top:0}.preview-banner{background:var(--gold);color:#1b2a4a}.preview-banner b{letter-spacing:.02em;text-transform:uppercase;font-weight:700}.net-banner{background:var(--ink);color:var(--paper);font-weight:600}.preview-banner+.net-banner{padding-top:9px;top:0}.preview-banner svg,.net-banner svg{flex:none}.tabbar{z-index:40;width:100%;max-width:var(--column);grid-template-columns:repeat(var(--tabs,5), 1fr);background:color-mix(in srgb, var(--card) 96%, transparent);border-top:1px solid var(--line);padding:4px max(6px, env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-right));display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -10px 24px -20px #1b2a4a66}.tabbar a{min-height:56px;color:var(--ink-faint);letter-spacing:.01em;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:700;text-decoration:none;transition:color .2s;display:flex;position:relative}.tabbar a[aria-current=page]{color:var(--clay-ink)}.tabbar a[aria-current=page]:before{content:"";background:var(--clay);border-radius:3px;width:22px;height:3px;position:absolute;top:2px}.tabbar a:active{transform:scale(.96)}.update-prompt{z-index:45;left:50%;bottom:calc(var(--tabbar-h) + 14px + env(safe-area-inset-bottom));width:calc(100% - 2 * var(--gutter));max-width:calc(var(--column) - 2 * var(--gutter));background:var(--ink);color:var(--paper);box-shadow:var(--shadow-md);font-size:var(--t-sm);animation:rise .35s var(--ease-out);border-radius:16px;align-items:center;gap:10px;padding:8px 8px 8px 14px;font-weight:600;display:flex;position:fixed;transform:translate(-50%)}.update-prompt span{flex:1}.toasts{z-index:60;left:50%;bottom:calc(var(--tabbar-h) + 14px + env(safe-area-inset-bottom));width:calc(100% - 2 * var(--gutter));max-width:calc(var(--column) - 2 * var(--gutter));pointer-events:none;gap:8px;display:grid;position:fixed;transform:translate(-50%)}.toast{background:var(--ink);color:var(--paper);font-size:var(--t-sm);box-shadow:var(--shadow-md);animation:rise .3s var(--ease-out);border-radius:14px;padding:12px 14px}.toast[data-tone=error]{color:#fff;background:#7a2e1d}.toast[data-tone=success]{color:#fff;background:#1f5e3b}.section-title{font-family:var(--serif);font-weight:600;font-size:var(--t-lg);align-items:center;gap:8px;margin:34px 0 12px;line-height:1.1;display:flex}.section-title svg{color:var(--gold)}.section-hint{color:var(--ink-soft);font-size:var(--t-sm);margin:-6px 0 12px}.hand-line{font-family:var(--hand);color:var(--clay-ink);font-size:23px;line-height:1.2}.hand-note{font-family:var(--hand);color:var(--clay-ink);font-size:23px;line-height:1.25}.hand-note.small{margin-top:10px;font-size:20px}.signature{text-align:right;margin-top:4px;display:block}.lede{font-family:var(--serif);color:var(--ink);margin:22px 0 0;font-size:21px;line-height:1.45}.prose{gap:12px;max-width:68ch;margin-top:18px;display:grid}.prose b{font-weight:700}.empty-line{color:var(--ink-soft);font-style:italic}.screen-sub{color:var(--ink-soft);font-size:var(--t-sm);margin:-4px 0 8px}.link{color:var(--clay-ink);text-underline-offset:3px;font-weight:700;text-decoration:underline;text-decoration-thickness:1px}.topbar{z-index:20;min-height:58px;margin:0 calc(-1 * var(--gutter)) 6px;padding:env(safe-area-inset-top) calc(var(--gutter) - 8px) 0;background:var(--paper);align-items:center;gap:6px;display:flex;position:sticky;top:0}.preview-banner~.main .topbar,.net-banner~.main .topbar{padding-top:0}.topbar h1{min-width:0;font-family:var(--serif);font-weight:600;font-size:var(--t-xl);flex:1;padding:4px 8px 0;line-height:1.05}.topbar h1:focus{outline:none}.icon-btn{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;text-decoration:none;display:grid}.icon-btn:hover{background:var(--paper-2)}.btn{width:100%;min-height:52px;font-weight:700;font-size:var(--t-base);text-align:center;cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:0 18px;line-height:1.2;text-decoration:none;transition:transform .12s,background-color .2s,box-shadow .2s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.985)}.btn:disabled{opacity:.55;cursor:default}.btn[aria-busy=true]{cursor:progress}.btn svg{flex:none}.btn-ink{background:var(--ink);color:var(--paper);box-shadow:var(--shadow-sm)}.btn-clay{background:var(--clay-strong);color:#fff;box-shadow:var(--shadow-sm)}.btn-wa{background:var(--wa);color:var(--wa-ink);box-shadow:var(--shadow-sm)}.btn-outline{border-color:color-mix(in srgb, var(--ink) 55%, transparent);color:var(--ink);background:0 0}.btn-outline:hover{background:color-mix(in srgb, var(--ink) 5%, transparent)}.btn-sm{width:auto;min-height:40px;font-size:var(--t-sm);border-radius:11px;padding:0 14px}.btn-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.btn-row>:only-child{grid-column:1/-1}.stack{gap:10px;width:100%;display:grid}.text-btn{min-height:44px;color:var(--clay-ink);font-weight:700;font-size:var(--t-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 2px;text-decoration:none;display:inline-flex}.text-btn.center{margin:8px auto 0;display:flex}.link-row{border-top:1px solid var(--line);align-items:center;gap:14px;min-height:58px;padding:0 4px;font-weight:700;text-decoration:none;display:flex}.link-row:last-child{border-bottom:1px solid var(--line)}.link-row span{flex:1}.link-row svg:first-child{color:var(--sea)}.link-row svg:last-child{color:var(--ink-faint)}.form{gap:14px;display:grid}.field{gap:6px;display:grid}.field label,.field-label{font-size:var(--t-sm);color:var(--ink-soft);font-weight:700}.field input{border:1.5px solid color-mix(in srgb, var(--ink) 22%, transparent);background:var(--card-raised);width:100%;min-height:52px;font-size:var(--t-base);caret-color:var(--clay);border-radius:12px;padding:0 14px;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--clay);box-shadow:0 0 0 4px color-mix(in srgb, var(--clay) 18%, transparent);outline:none}.field input:disabled{opacity:.6}.field input::placeholder{color:var(--ink-faint)}.field[data-invalid=true] input{border-color:#b3261e}:root[data-theme=dark] .field[data-invalid=true] input{border-color:#f2b8b5}.field-hint{font-size:var(--t-xs);color:var(--ink-soft)}.field-error,.form-error{font-size:var(--t-sm);color:#a1281c;font-weight:600}:root[data-theme=dark] .field-error,:root[data-theme=dark] .form-error{color:#f6b4a8}.form-error{background:#a1281c17;border-radius:12px;padding:10px 12px}.field-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.password-field{position:relative}.password-field .reveal-pw{color:var(--ink-soft);position:absolute;top:30px;right:4px}.password-field input{padding-right:52px}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.check{font-size:var(--t-sm);color:var(--ink-soft);cursor:pointer;grid-template-columns:26px 1fr;align-items:start;gap:12px;min-height:44px;display:grid;position:relative}.check input{opacity:0;width:26px;height:26px;margin:0;position:absolute}.check-box{border:1.5px solid color-mix(in srgb, var(--ink) 40%, transparent);background:var(--card-raised);color:#0000;border-radius:8px;place-items:center;width:26px;height:26px;transition:background-color .15s;display:grid}.check input:checked+.check-box{background:var(--ink);border-color:var(--ink);color:var(--paper)}.check input:focus-visible+.check-box{outline:3px solid var(--clay);outline-offset:2px}.check[data-invalid=true] .check-box{border-color:#b3261e}.seg{background:var(--paper-2);border-radius:13px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.seg button{min-height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:10px;font-weight:700;transition:background-color .2s,color .2s}.seg button[aria-pressed=true]{background:var(--card-raised);color:var(--ink);box-shadow:var(--shadow-sm)}.welcome{text-align:center;flex-direction:column;align-items:center;padding-bottom:24px;display:flex}.welcome-lang{align-self:flex-end;width:112px;margin-top:8px}.welcome-lang .seg button{min-height:36px;font-size:var(--t-sm)}.welcome-logo{width:200px;height:200px;animation:settle .9s var(--ease-out) both;margin-top:4px}.welcome-title{font-family:var(--serif);font-weight:600;font-size:var(--t-2xl);letter-spacing:-.01em;max-width:13ch;margin-top:10px;line-height:1.02}.welcome-title:focus{outline:none}.welcome-sketch{width:100%;margin:6px 0 0}.welcome-text{color:var(--ink-soft);max-width:34ch;margin-top:2px}.welcome-actions{gap:10px;width:100%;max-width:380px;margin-top:24px;display:grid}.note-card{text-align:left;background:var(--card);border:1px solid var(--edge);border-radius:var(--radius);width:100%;max-width:380px;box-shadow:var(--shadow-sm);font-size:var(--t-sm);color:var(--ink-soft);align-items:flex-start;gap:12px;margin-top:22px;padding:14px 16px;display:flex;transform:rotate(-.6deg)}.note-card svg{color:var(--sea);flex:none;margin-top:2px}.note-card b{color:var(--ink)}.welcome-foot{font-size:var(--t-xs);color:var(--ink-soft);margin-top:26px;line-height:1.8}.auth{max-width:440px;margin:0 auto}.auth .brand-seal{margin:0 auto}.auth-title{font-family:var(--serif);font-weight:600;font-size:var(--t-2xl);text-align:center;margin-top:10px;line-height:1.05}.auth-title:focus{outline:none}.auth-sub{text-align:center;color:var(--ink-soft);margin:4px 0 22px}.auth-switch{text-align:center;font-size:var(--t-sm);color:var(--ink-soft);margin-top:18px}.auth-note{font-size:var(--t-xs);color:var(--ink-soft);justify-content:center;align-items:center;gap:6px;margin-top:14px;display:flex}.notice{text-align:center;justify-items:center;gap:10px;max-width:360px;display:grid}.notice-icon{background:var(--paper-2);width:64px;height:64px;color:var(--clay);border-radius:50%;place-items:center;display:grid}.notice h2{font-family:var(--serif);font-weight:600;font-size:var(--t-lg);line-height:1.15}.notice-text{color:var(--ink-soft)}.notice .stack,.notice>.btn{margin-top:10px}.skeleton{gap:12px;padding-top:8px;display:grid}.skeleton span{background:linear-gradient(90deg, var(--paper-2), var(--paper-3), var(--paper-2));background-size:200% 100%;border-radius:12px;animation:1.4s linear infinite shimmer;display:block}.skeleton-hero{height:230px;margin:0 calc(-1 * var(--gutter)) 8px;border-radius:0!important}.skeleton-line{height:18px}.img{background-color:var(--paper-2);background-image:radial-gradient(var(--dots) 1px, transparent 1px), linear-gradient(135deg, var(--paper-2), var(--paper-3));background-size:14px 14px,100% 100%;display:block;position:relative;overflow:hidden}.img img{object-fit:cover;width:100%;height:100%;filter:var(--photo-filter);opacity:0;transition:opacity .45s}.img[data-state=ok] img{opacity:1}.stamp{width:84px;height:84px;color:var(--clay-strong);background:color-mix(in srgb, var(--card) 82%, transparent);animation:stamp .5s var(--ease-out) .25s both;border-radius:50%;place-items:center;display:grid;position:absolute;transform:rotate(-9deg);box-shadow:0 6px 18px -10px #1b2a4a99}.stamp[data-tone=ink]{color:var(--ink)}.stamp svg{width:100%;height:100%;position:absolute;inset:0}.stamp-text{justify-items:center;line-height:1;display:grid;position:relative}.stamp-text small{letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.stamp-text b{font-family:var(--serif);font-variant-numeric:lining-nums;font-size:34px;font-weight:600;line-height:.95}.stamp-text b[data-long=true]{font-family:var(--hand);text-align:center;max-width:70px;font-size:19px;font-weight:600;line-height:1}.trips-head{margin-bottom:4px;padding-top:18px}.trips-head h1{font-family:var(--serif);font-weight:600;font-size:var(--t-2xl);letter-spacing:-.01em;line-height:1}.trips-head h1:focus{outline:none}.trip-group{margin-top:18px}.trip-group .section-title{font-size:var(--t-md);color:var(--ink-soft);margin-top:26px}.trip-card{background:var(--card-raised);border:1px solid var(--edge);box-shadow:var(--shadow-md);transform:rotate(var(--tilt,0deg));transition:transform .25s var(--ease-out), box-shadow .25s ease;border-radius:6px;margin:18px 0 26px;padding:10px 10px 0;text-decoration:none;display:block;position:relative}.trip-card:hover{transform:rotate(0)translateY(-2px)}.trip-card:active{transform:rotate(0)scale(.99)}.tape{z-index:2;background:var(--tape);border-left:1px dashed #ffffff59;border-right:1px dashed #ffffff59;width:96px;height:24px;margin-left:-48px;position:absolute;top:-11px;left:50%;transform:rotate(-3deg)}.trip-card-photo{aspect-ratio:4/3;border-radius:2px}.trip-card[data-phase=past] .trip-card-photo img{filter:sepia(.35) saturate(.8) var(--photo-filter)}.trip-card .stamp{top:18px;right:18px}.trip-card-body{gap:4px;padding:14px 6px 16px;display:grid}.trip-card-status{font-family:var(--hand);color:var(--clay-ink);font-size:21px;line-height:1.1}.trip-card-title{font-family:var(--serif);font-weight:600;font-size:var(--t-lg);color:var(--ink);line-height:1.1}.trip-card-dates{font-weight:700;font-size:var(--t-sm);color:var(--ink);font-variant-numeric:tabular-nums;align-items:center;gap:6px;margin-top:4px;display:flex}.trip-card-dates svg{color:var(--sea)}.trip-card-facts{font-size:var(--t-sm);color:var(--ink-soft)}.request-card{background:var(--card);border:1px solid var(--edge);border-radius:var(--radius);margin-bottom:14px;padding:16px}.request-ref{font-size:var(--t-xs);letter-spacing:.04em;color:var(--ink-soft);font-weight:700}.request-card h3{font-family:var(--serif);font-weight:600;font-size:var(--t-md);text-transform:capitalize;margin-top:2px}.request-meta{font-size:var(--t-sm);color:var(--ink-soft)}.steps{grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0 4px;padding:0;list-style:none;display:grid}.steps li{font-size:var(--t-xs);color:var(--ink-soft);padding-top:14px;position:relative}.steps li:before{content:"";background:var(--paper-3);border-radius:3px;height:6px;position:absolute;top:0;left:0;right:0}.steps li[data-done=true]:before{background:var(--clay)}.steps li[aria-current=step]{color:var(--ink);font-weight:700}.empty{text-align:center;background:var(--card);border:1px solid var(--edge);box-shadow:var(--shadow-md);border-radius:6px;justify-items:center;gap:12px;margin-top:26px;padding:28px 22px 24px;display:grid;transform:rotate(-.5deg)}.empty h2{font-family:var(--serif);font-weight:600;font-size:var(--t-xl);line-height:1.05}.empty>p{color:var(--ink-soft);max-width:34ch}.empty .hand-note{max-width:28ch}.empty .btn{margin-top:6px}.install-hint{border:1.5px dashed color-mix(in srgb, var(--ink) 25%, transparent);border-radius:var(--radius);font-size:var(--t-sm);color:var(--ink-soft);align-items:flex-start;gap:12px;margin-top:26px;padding:14px 16px;display:flex}.install-hint>svg{color:var(--sea);flex:none;margin-top:2px}.install-hint-title{color:var(--ink);font-weight:700}.install-hint-actions{align-items:center;gap:12px;margin-top:8px;display:flex}.hero{margin:calc(-6px - env(safe-area-inset-top)) calc(-1 * var(--gutter)) 0;color:#fff;height:min(58vh,400px);min-height:300px;position:relative}.preview-banner~.main .hero,.net-banner~.main .hero{margin-top:-6px}.hero-photo{position:absolute;inset:0}.hero:after{content:"";pointer-events:none;background:linear-gradient(#12192a73 0%,#12192a00 26%),linear-gradient(#12192a00 40%,#12192ad1 100%);position:absolute;inset:0}.hero-back{z-index:2;top:calc(10px + env(safe-area-inset-top));color:#1b2a4a;background:#f7efe3eb;position:absolute;left:10px;box-shadow:0 4px 14px -6px #00000080}.hero-back:hover{background:#fff}.preview-banner~.main .hero-back,.net-banner~.main .hero-back{top:10px}.hero-over{z-index:1;left:var(--gutter);right:var(--gutter);position:absolute;bottom:18px}.hero-status{font-family:var(--hand);color:#f4d7b6;font-size:24px;line-height:1.1}.hero h1{font-family:var(--serif);font-weight:600;font-size:var(--t-xl);letter-spacing:-.005em;text-shadow:0 2px 18px #00000059;margin-top:2px;line-height:1.04}.hero h1:focus{outline:none}.hero-dates{font-weight:700;font-size:var(--t-sm);opacity:.95;font-variant-numeric:tabular-nums;margin-top:6px}.today-card{z-index:3;background:var(--clay-strong);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md);gap:4px;margin:-26px 0 0;padding:16px 18px;text-decoration:none;display:grid;position:relative}.today-card-label{font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;opacity:.92;font-weight:700}.today-card-title{font-family:var(--serif);font-weight:600;font-size:var(--t-lg);line-height:1.1}.today-card-route{font-size:var(--t-sm);opacity:.95}.today-card-cta{align-items:center;gap:4px;margin-top:6px;font-weight:700;display:inline-flex}.facts{background:var(--card);border:1px solid var(--edge);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:0;margin:18px 0 0;display:grid;overflow:hidden}.facts>div{border-bottom:1px solid var(--line);padding:12px 14px}.facts>div:nth-child(odd):not(.facts-wide){border-right:1px solid var(--line)}.facts>div:last-child,.facts>div:nth-last-child(2):nth-child(odd):not(.facts-wide){border-bottom:0}.facts-wide{grid-column:1/-1}.facts dt{font-size:var(--t-xs);color:var(--ink-soft);text-transform:capitalize;align-items:center;gap:6px;font-weight:700;display:flex}.facts dt svg{color:var(--sea)}.facts dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-weight:700}.sketch{background:var(--card);border:1px solid var(--edge);border-radius:var(--radius);margin:0;padding:4px;position:relative;overflow:hidden}.sketch:before{content:"";background:color-mix(in srgb, var(--clay) 22%, transparent);width:1px;position:absolute;top:0;bottom:0;left:22px}.sketch svg{width:100%;height:auto;display:block;position:relative;overflow:visible}.sketch-schematic{background:0 0;border:0;padding:0}.sketch-schematic:before{display:none}.sketch-pencil{stroke:color-mix(in srgb, var(--ink) 16%, transparent);stroke-width:1px;stroke-dasharray:2 5;stroke-linecap:round}.sketch-line{stroke:var(--clay);stroke-width:2.6px;stroke-dasharray:7 6;stroke-linecap:round;stroke-linejoin:round}.sketch-draw{stroke-dasharray:1 1;stroke-dashoffset:1px;animation:draw 1.8s var(--ease-out) .15s forwards}.sketch .dot{fill:var(--ink)}.sketch .dot-hollow{fill:var(--card);stroke:var(--ink);stroke-width:2px}.sketch-schematic .dot-hollow{fill:var(--paper)}.sketch-stop{opacity:0;animation:pop .45s var(--ease-out) forwards;animation-delay:calc(.25s + var(--i) / max(var(--n), 1) * 1.4s);transform-box:fill-box;transform-origin:50%}.sketch .town{font-family:var(--sans);fill:var(--ink);paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-linejoin:round;font-size:11px;font-weight:700}.sketch-schematic .town{stroke:var(--paper)}.sketch .town-minor{fill:var(--ink-soft);font-weight:500}.sketch .days{font-family:var(--hand);fill:var(--clay-ink);paint-order:stroke;stroke:var(--card);stroke-width:3px;font-size:14px;font-weight:600}.sketch-label{opacity:0;animation:.6s 1.2s forwards fade}.sketch .today-ring{fill:color-mix(in srgb, var(--clay) 18%, transparent);stroke:var(--clay);stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;animation:2.6s ease-in-out infinite ring}.sketch .today-dot{fill:var(--clay);stroke:var(--card);stroke-width:2px}.compass{fill:var(--ink-soft);opacity:.75}.compass .compass-south{fill:none;stroke:var(--ink-soft);stroke-width:1px}.compass text{font-family:var(--hand);fill:var(--ink-soft);font-size:13px;font-weight:600}.trip-actions{gap:12px;margin-top:24px;display:grid}.tip-line{font-size:var(--t-sm);color:var(--ink-soft);gap:8px;display:flex}.tip-line svg{color:var(--sea);flex:none;margin-top:3px}.offline-card{background:var(--card);border:1px solid var(--edge);border-radius:var(--radius);padding:14px 16px}.offline-card[data-state=saved]{border-style:dashed;border-color:#1f5e3b73}.offline-idle{font-size:var(--t-sm);color:var(--ink-soft);gap:12px;display:grid}.offline-outdated{color:var(--clay-ink);font-weight:700}.offline-done{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.offline-badge{color:#1f5e3b;align-items:center;gap:6px;font-weight:700;display:inline-flex}:root[data-theme=dark] .offline-badge{color:#8fd1a8}.offline-when{font-size:var(--t-xs);color:var(--ink-soft);flex:1}.offline-note{font-size:var(--t-xs);color:var(--ink-faint);margin-top:10px}.road-progress p{font-size:var(--t-sm);font-variant-numeric:tabular-nums;margin-top:4px;font-weight:700}.road-progress svg{width:100%;height:28px;overflow:visible}.road-todo{fill:none;stroke:color-mix(in srgb, var(--ink) 22%, transparent);stroke-width:2px;stroke-dasharray:.012 .012;stroke-linecap:round}.road-done{fill:none;stroke:var(--clay);stroke-width:3.2px;stroke-linecap:round;transition:stroke-dasharray .35s var(--ease-out)}.day-list{margin:0;padding:0;list-style:none}.day-list li+li .day-row{border-top:1px solid var(--line)}.day-row{grid-template-columns:54px 1fr 20px;align-items:center;gap:14px;min-height:72px;padding:12px 2px;text-decoration:none;display:grid;position:relative}.day-row[data-today=true]:before{content:"";background:color-mix(in srgb, var(--clay) 10%, transparent);z-index:-1;border-radius:14px;position:absolute;inset:4px -10px}.leaf{background:var(--card-raised);border:1px solid var(--edge);border-top:5px solid var(--clay);width:54px;height:60px;box-shadow:var(--shadow-sm);font-variant-numeric:tabular-nums;border-radius:8px;align-content:center;justify-items:center;line-height:1;display:grid}.leaf small{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:10px;font-weight:700}.leaf b{font-family:var(--serif);margin:1px 0;font-size:24px;font-weight:600;line-height:1}.day-row-body{gap:1px;min-width:0;display:grid}.day-row-n{font-size:var(--t-xs);color:var(--clay-ink);letter-spacing:.03em;align-items:center;gap:8px;font-weight:700;display:flex}.day-row-title{font-weight:700;line-height:1.3}.day-row-route{font-size:var(--t-sm);color:var(--ink-soft)}.day-row .chev{color:var(--ink-faint)}.route-arrow{vertical-align:middle;width:22px;height:10px;color:var(--clay);margin:0 2px;display:inline-block}.today-tag{background:var(--clay-strong);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.trip-links{margin-top:30px}.day-bar{z-index:20;margin:0 calc(-1 * var(--gutter));background:var(--paper);border-bottom:1px solid var(--line);padding:0 0 8px;position:sticky;top:0}.day-bar .topbar{min-height:52px;margin:0;position:static}.day-bar-title{min-width:0;font-weight:700;font-size:var(--t-sm);color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.day-strip{padding:2px var(--gutter);scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain;gap:6px;margin:0;list-style:none;display:flex;overflow-x:auto}.day-strip::-webkit-scrollbar{display:none}.day-strip li{scroll-snap-align:center}.day-strip a{border:1px solid var(--edge);background:var(--card);font-variant-numeric:tabular-nums;border-radius:12px;align-content:center;justify-items:center;width:46px;height:52px;line-height:1.05;text-decoration:none;transition:background-color .2s,color .2s;display:grid;position:relative}.day-strip b{font-family:var(--serif);font-size:21px;font-weight:600}.day-strip small{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-size:10px;font-weight:700}.day-strip a[aria-current=page]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.day-strip a[aria-current=page] small{color:color-mix(in srgb, var(--paper) 75%, transparent)}.day-strip a[data-today=true]:after{content:"";background:var(--clay);border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:5px}.day-body{view-transition-name:day-body}.day-head{padding-top:20px;position:relative}.day-head h1{font-family:var(--serif);font-weight:600;font-size:var(--t-xl);margin-top:4px;padding-right:4px;line-height:1.05}.day-head h1:focus{outline:none}.day-stamp .stamp{width:88px;height:88px;top:8px;right:0}.day-head:has(.day-stamp) h1{padding-right:92px}.day-head:has(.day-stamp) .hand-line{padding-right:92px}.day-of{color:var(--ink-faint);font-size:19px}.day-route{margin-top:8px;font-weight:700}.chips{flex-wrap:wrap;gap:8px;margin:14px 0 6px;padding:0;list-style:none;display:flex}.chips li{background:var(--card);border:1px solid var(--edge);font-size:var(--t-sm);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-weight:700;display:inline-flex}.chips svg{color:var(--sea)}.day-body>.sketch-schematic{margin-top:8px}.tip-card{box-shadow:var(--shadow-sm);background:#fff8e8;border:1px solid #ecdcc0;border-radius:4px;margin:26px 4px 0;padding:18px 18px 14px;position:relative;transform:rotate(-.8deg)}:root[data-theme=dark] .tip-card{background:#2a2a2e;border-color:#d9a95b40}.tip-card:before{content:"";background:var(--tape);width:70px;height:20px;position:absolute;top:-10px;left:28px;transform:rotate(4deg)}.tip-card h2{font-family:var(--hand);color:var(--clay-ink);font-size:25px;font-weight:600;line-height:1.1}.tip-card ul{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.tip-card li{font-family:var(--hand);color:var(--ink);padding-left:18px;font-size:22px;line-height:1.2;position:relative}.tip-card li:before{content:"";border:1.5px solid var(--clay);border-radius:50%;width:8px;height:8px;position:absolute;top:.55em;left:2px}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline:before{content:"";border-left:2px dashed color-mix(in srgb, var(--clay) 40%, transparent);position:absolute;top:20px;bottom:20px;left:19px}.stop{grid-template-columns:40px 1fr;gap:14px;padding:8px 0 14px;display:grid;position:relative}.stop-icon{background:var(--card-raised);border:1.5px solid var(--clay);width:40px;height:40px;color:var(--clay-ink);z-index:1;border-radius:50%;place-items:center;display:grid;position:relative}.stop-body{min-width:0;padding-top:2px}.stop-kind{font-size:var(--t-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--clay-ink);font-weight:700}.stop-body h3{font-weight:700;font-size:var(--t-base);line-height:1.3}.stop-note{color:var(--ink-soft);font-size:var(--t-sm);margin-top:4px}.stop .provider{margin-top:10px}.night .section-title{margin-top:34px}.day-nav{grid-template-columns:1fr 1fr;gap:10px;margin-top:30px;display:grid}.day-nav .btn{font-size:var(--t-sm);padding:0 10px}.day-nav .btn:only-child{grid-column:2}.provider{background:var(--card);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.provider-photo{aspect-ratio:16/9}.provider-body{padding:14px 16px 16px}.provider[data-variant=compact]{box-shadow:none}.provider[data-variant=compact] .provider-body{padding:12px 14px 14px}.provider-head{align-items:center;gap:12px;display:flex}.provider-head>div{min-width:0}.provider-thumb{border-radius:12px;flex:none;width:60px;height:60px}.provider-meta{font-size:var(--t-xs);letter-spacing:.03em;color:var(--clay-ink);font-weight:700}.provider-name{font-family:var(--serif);font-weight:600;font-size:var(--t-md);margin-top:2px;line-height:1.15}.provider[data-variant=compact] .provider-name{font-family:var(--sans);font-weight:700;font-size:var(--t-base);line-height:1.3}.provider-desc{color:var(--ink-soft);font-size:var(--t-sm);margin-top:8px;line-height:1.55}.provider-desc[data-clamped=true]{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.provider-rows{margin:8px 0 0;padding:0;list-style:none}.provider-rows li{min-height:44px;font-size:var(--t-sm);border-top:1px solid var(--line);align-items:center;gap:10px;display:flex}.provider-rows li>svg{color:var(--sea);flex:none}.provider-rows .grow{text-overflow:ellipsis;overflow:hidden}.provider-nophone{font-size:var(--t-sm);color:var(--ink-faint);margin-top:8px}.reveal{border-top:1px solid var(--line);gap:10px;margin-top:6px;padding-top:10px;display:grid}.reveal-number{font-weight:700;font-size:var(--t-md);letter-spacing:.04em;font-variant-numeric:tabular-nums;align-items:center;gap:10px;display:flex}.reveal-number svg{color:var(--sea)}.reveal-number .masked{color:var(--ink-soft)}.ink-in{animation:ink .9s var(--ease-out) both;display:inline-block}.reveal-direct{font-size:var(--t-xs);color:var(--ink-soft)}.reveal .btn-clay{min-height:48px}.scrim{z-index:80;background:#12192a80;justify-content:center;align-items:flex-end;animation:.2s fade;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:var(--column);background:var(--paper);padding:10px 22px calc(24px + env(safe-area-inset-bottom));animation:sheet .34s var(--ease-out);border-radius:26px 26px 0 0;box-shadow:0 -20px 40px -20px #00000073}.sheet-grab{background:var(--paper-3);border-radius:3px;width:44px;height:5px;margin:0 auto 16px;display:block}.sheet h2{font-family:var(--serif);font-weight:600;font-size:var(--t-lg);margin-bottom:10px;line-height:1.1}.sheet-text{color:var(--ink-soft);margin-bottom:16px}.sheet-note{background:color-mix(in srgb, var(--gold) 22%, transparent);font-size:var(--t-sm);border-radius:12px;margin:-6px 0 16px;padding:10px 12px;font-weight:700}.sheet .form-error{margin-bottom:14px}.booking-provider{font-size:var(--t-sm);color:var(--ink-soft);margin-bottom:8px}.booking-provider b{color:var(--ink)}.booking-thanks{font-family:var(--serif);font-size:var(--t-md);color:var(--ink);animation:ink .9s var(--ease-out) both;margin:6px 0 18px}.stays{gap:22px;margin:10px 0 0;padding:0;list-style:none;display:grid}.stay{border-left:2px solid var(--paper-3);padding-left:18px;position:relative}.stay[data-tonight=true]{border-left-color:var(--clay)}.stay:before{content:"";background:var(--paper);border:2px solid var(--clay);border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:-7px}.stay-when{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:10px;display:flex}.stay-nights{font-family:var(--serif);font-weight:600;font-size:var(--t-md)}.stay-dates{font-size:var(--t-sm);color:var(--ink-soft);font-variant-numeric:tabular-nums}.stay .text-btn{margin-top:4px}.numbers ul{background:var(--card);border:1px solid var(--edge);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.numbers li+li{border-top:1px solid var(--line)}.number-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 12px;min-height:60px;padding:8px 16px;text-decoration:none;display:flex}a.number-row:active{background:var(--paper-2)}.number-label{font-weight:600}.number-value{font-family:var(--serif);font-weight:600;font-size:var(--t-lg);color:var(--clay-ink);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.number-value svg{color:var(--clay)}.number-value[data-long=true]{font-family:var(--sans);font-weight:700;font-size:var(--t-base)}.practical p{border-bottom:1px dashed var(--line);padding-bottom:12px}.practical p:last-child{border-bottom:0}.agnes{background:var(--card);border:1px solid var(--edge);border-radius:var(--radius);grid-template-columns:72px 1fr;align-items:center;gap:14px;margin-top:30px;padding:18px;display:grid}.agnes h2{font-family:var(--serif);font-weight:600;font-size:var(--t-lg);line-height:1.1}.agnes p{font-size:var(--t-sm);color:var(--ink-soft);margin-top:2px}.agnes-actions{grid-column:1/-1}.address-book{gap:12px;display:grid}.profile-head{align-items:center;gap:14px;margin:6px 0 4px;display:flex}.avatar{background:var(--ink);width:64px;height:64px;color:var(--paper);font-family:var(--serif);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:26px;font-weight:600;display:grid}.profile-name{font-weight:700;font-size:var(--t-md);line-height:1.2}.profile-email{color:var(--ink-soft);font-size:var(--t-sm);overflow-wrap:anywhere}.panel{background:var(--card);border:1px solid var(--edge);border-radius:var(--radius);gap:12px;margin-top:18px;padding:16px;display:grid}.panel-title{font-family:var(--serif);font-weight:600;font-size:var(--t-md);align-items:center;gap:8px;line-height:1.15;display:flex}.panel-title svg{color:var(--sea)}.panel-text{color:var(--ink-soft);font-size:var(--t-sm)}.panel-text.small{font-size:var(--t-xs)}.status-dot{background:#2e8b57;border-radius:50%;width:9px;height:9px;margin-left:auto}.status-dot[data-online=false]{background:var(--clay)}.saved-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.saved-list li{font-size:var(--t-sm);align-items:flex-start;gap:10px;display:flex}.saved-list svg{color:#2e8b57;flex:none;margin-top:3px}.saved-list b,.saved-list small{display:block}.saved-list small{color:var(--ink-soft)}.install-steps{color:var(--ink-soft);font-size:var(--t-sm);gap:6px;margin:0;padding-left:20px;display:grid}.install-steps svg{vertical-align:-3px;color:var(--sea)}.logout{margin-top:26px}.profile-foot{text-align:center;font-size:var(--t-xs);color:var(--ink-soft);margin-top:22px;line-height:2}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes ring{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.35)}}@keyframes rise{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.toast{animation-name:toast}@keyframes toast{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes sheet{0%{transform:translateY(100%)}to{transform:none}}@keyframes stamp{0%{opacity:0;transform:rotate(-22deg)scale(1.35)}to{opacity:1;transform:rotate(-9deg)scale(1)}}@keyframes ink{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(.97)}}@keyframes settle{0%{opacity:0;transform:translateY(8px)rotate(-4deg)}to{opacity:1;transform:none}}@keyframes shimmer{to{background-position:-200% 0}}::view-transition-old(root){animation-duration:.2s}::view-transition-new(root){animation-duration:.2s}@keyframes slide-out-left{to{opacity:0;transform:translate(-28%)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(28%)}}@keyframes slide-out-right{to{opacity:0;transform:translate(28%)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-28%)}}::view-transition-group(day-body){animation-duration:.32s;animation-timing-function:var(--ease-out)}html[data-nav=next]::view-transition-old(day-body){animation:slide-out-left .28s var(--ease-out) both}html[data-nav=next]::view-transition-new(day-body){animation:slide-in-right .32s var(--ease-out) both}html[data-nav=prev]::view-transition-old(day-body){animation:slide-out-right .28s var(--ease-out) both}html[data-nav=prev]::view-transition-new(day-body){animation:slide-in-left .32s var(--ease-out) both}::view-transition-old(day-body){object-fit:none;object-position:top;height:auto}::view-transition-new(day-body){object-fit:none;object-position:top;height:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.sketch-draw{stroke-dashoffset:0}.sketch-stop,.sketch-label,.img img{opacity:1}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}@media (max-width:360px){:root{--gutter:14px;--t-2xl:34px;--t-xl:28px}.field-pair{grid-template-columns:1fr}}@media print{.tabbar,.update-prompt,.toasts,.net-banner,.hero-back{display:none!important}}.qn-app{border-left:4px solid var(--clay)}.qn-app[data-status=complete]{border-left-color:var(--gold)}.request-card h3.qn-app-title{text-transform:none}.qn-app-state{font-family:var(--sans);font-weight:600;font-size:var(--t-sm);color:var(--clay-ink)}.qn-app[data-status=complete] .qn-app-state{color:var(--ink-soft)}.qn-app-check{vertical-align:-2px;color:var(--gold);margin-left:4px;display:inline-flex}.qn-app .request-meta{margin:6px 0 12px}.qn-app-bar{background:color-mix(in srgb, var(--clay) 18%, transparent);border-radius:999px;height:6px;margin:-4px 0 14px;display:block;overflow:hidden}.qn-app-bar>span{background:var(--clay);transform-origin:0;height:100%;display:block}.qn-app .btn{width:100%}
