@layer reset,dialog-lightbox,maptiler,tokens,base,syntax,layout,components,schemes,presets,site,utilities,custom;@layer reset{*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable;-webkit-tap-highlight-color:transparent}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}:target{scroll-margin-block:5ex}img,picture,video,canvas,svg{display:block;max-inline-size:100%}img,video{block-size:auto}button{font:inherit}p,li,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{text-wrap:balance}p{text-wrap:pretty}ul[role=list],ol[role=list]{padding:0;list-style:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@layer tokens{:root{--step--2: clamp(.7378rem, .7rem + .168vw, .8681rem);--step--1: clamp(.8854rem, .8401rem + .2016vw, 1.0417rem);--step-0: clamp(1.0625rem, 1.0081rem + .2419vw, 1.25rem);--step-1: clamp(1.275rem, 1.2097rem + .2903vw, 1.5rem);--step-2: clamp(1.53rem, 1.4516rem + .3484vw, 1.8rem);--step-3: clamp(1.836rem, 1.7419rem + .4181vw, 2.16rem);--step-4: clamp(2.2032rem, 2.0903rem + .5017vw, 2.592rem);--space-3xs: clamp(.2656rem, .252rem + .0605vw, .3125rem);--space-2xs: clamp(.5312rem, .504rem + .121vw, .625rem);--space-xs: clamp(.7969rem, .756rem + .1815vw, .9375rem);--space-s: clamp(1.0625rem, 1.0081rem + .2419vw, 1.25rem);--space-m: clamp(1.5938rem, 1.5121rem + .3629vw, 1.875rem);--space-l: clamp(2.125rem, 2.0161rem + .4839vw, 2.5rem);--space-xl: clamp(3.1875rem, 3.0242rem + .7258vw, 3.75rem);--space-s-m: clamp(1.0625rem, .8266rem + 1.0484vw, 1.875rem);--space-m-l: clamp(1.5938rem, 1.3306rem + 1.1694vw, 2.5rem);--space-l-xl: clamp(2.125rem, 1.6532rem + 2.0968vw, 3.75rem);--width-content: clamp(45rem, 19.1667rem + 33.3333vw, 52.5rem);--width-wide: clamp(64rem, 36.4444rem + 35.5556vw, 72rem);--gutter: var(--space-s-m);--font-body: "PT Serif", Georgia, serif;--font-heading: var(--font-body);--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--leading: 1.6;--leading-tight: 1.2;--radius-s: .2rem;--radius-m: .5rem;--icon-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .7))}}@layer tokens{:root{color-scheme:light;--color-bg: #f7f2e7;--color-surface: #fdfaf3;--color-text: #2a2e35;--color-primary: #132e51;--color-secondary: #656056;--color-tertiary: #dfd5c2;--color-accent: #ae520b;--color-border: #e6ddcd;--pattern: var(--pattern-grid);--pattern-color: #6babd5;--pattern-strength: 35%;--shadow: 0 1px 1px rgb(70 55 30 / .1), 0 2px 6px rgb(70 55 30 / .08);--shadow-raised: 0 10px 20px rgb(70 55 30 / .14);--card-bg: var(--color-surface);--card-border: 1px solid var(--color-border);--card-border-top: var(--card-border);--card-padding-inline: var(--space-m);--heading-weight: 700;--heading-transform: none;--heading-spacing: normal;--lightbox-bg: #0c0c0c;--lightbox-accent: color-mix(in srgb, var(--color-accent) 65%, white);--route: var(--color-accent)}:root[data-theme=dark]{color-scheme:dark;--color-bg: #172820;--color-surface: #1d3128;--color-text: #d8d6cc;--color-primary: #efede4;--color-secondary: #a8b5ad;--color-tertiary: #384c42;--color-accent: #f68f31;--color-border: #2b4237;--pattern: var(--pattern-dots);--pattern-color: #e4eee8;--pattern-strength: 18%;--lightbox-accent: var(--color-accent);--shadow: 0 1px 2px rgb(0 0 0 / .25);--shadow-raised: 0 8px 18px rgb(0 0 0 / .4)}}@layer base{:root{--pattern-major: color-mix(in srgb, var(--pattern-color) var(--pattern-strength), var(--color-bg));--pattern-minor: color-mix(in srgb, var(--pattern-color) calc(var(--pattern-strength) / 2), var(--color-bg));--pattern-grid: linear-gradient(90deg, var(--pattern-major) 1px, transparent 0) 5px 0 / 100px 100px, linear-gradient(var(--pattern-major) 1px, transparent 0) 0 5px / 100px 100px, linear-gradient(90deg, var(--pattern-minor) 1px, transparent 0) 5px 0 / 10px 10px, linear-gradient(var(--pattern-minor) 1px, transparent 0) 0 5px / 10px 10px;--pattern-dots: radial-gradient(circle, var(--pattern-major) .5px, transparent .9px) .5px .5px / 10px 10px}body{background:var(--pattern),var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--step-0);line-height:var(--leading)}h1,h2,h3,h4{color:var(--color-primary);font-family:var(--font-heading);font-weight:var(--heading-weight);letter-spacing:var(--heading-spacing);line-height:var(--leading-tight);text-transform:var(--heading-transform)}h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}h4{font-size:var(--step-1)}a{color:var(--color-primary);text-decoration-color:var(--color-accent);text-underline-offset:.25em}@media(hover:hover){a:hover{color:var(--color-accent)}}code,pre{font-family:var(--font-mono)}code{font-size:.85em}button{cursor:pointer}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}}@layer syntax{.chroma{color:var(--color-text)}.chroma :is(.c,.ch,.cm,.c1,.cs,.cp,.cpf){color:var(--color-secondary);font-style:italic}.chroma :is(.k,.kc,.kd,.kn,.kp,.kr,.kt,.nt,.ow,.nd){color:var(--color-primary);font-weight:600}.chroma :is(.nf,.fm,.nc,.na,.py,.nb,.bp,.no,.ne,.nn){color:var(--color-primary)}.chroma :is(.s,.sa,.sb,.sc,.dl,.sd,.s2,.se,.sh,.si,.sx,.sr,.s1,.ss,.m,.mb,.mf,.mh,.mi,.il,.mo,.ld){color:var(--color-accent)}.chroma .gd{color:var(--color-accent)}.chroma .gi,.chroma .gs,.chroma .gh,.chroma .gu{font-weight:600}.chroma .ge{font-style:italic}.chroma .gl{text-decoration:underline}.chroma .err{color:var(--color-accent);text-decoration:underline wavy}.chroma .line{display:flex}.chroma :is(.ln,.lnt){margin-inline-end:.4em;padding-inline:.4em;color:var(--color-secondary);white-space:pre;-webkit-user-select:none;user-select:none}.chroma .hl{background:var(--color-tertiary)}.chroma :is(.lntable,.lntd){margin:0;padding:0;border:0;border-spacing:0;vertical-align:top}}@layer layout{.wrapper{inline-size:min(var(--wrapper-width, var(--width-content)),100% - 2 * var(--gutter));margin-inline:auto}.stack{--stack-gap: var(--space-m);display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:var(--stack-gap)}.cluster{--cluster-gap: var(--space-s);display:flex;flex-wrap:wrap;align-items:center;gap:var(--cluster-gap)}.breakout{--breakout-width: min(var(--width-wide), 100vw - 2 * var(--gutter));inline-size:var(--breakout-width);margin-inline:calc((100% - var(--breakout-width)) / 2)}body{display:grid;grid-template-rows:auto 1fr auto;min-block-size:100svh}html{overflow-x:clip}.site-main{padding-block:var(--space-l-xl) var(--space-xl)}}@layer components{.skip-link{position:absolute;z-index:2;inset-block-start:var(--space-2xs);inset-inline-start:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);background:var(--color-surface);box-shadow:var(--shadow);translate:0 -200%}.skip-link:focus{translate:none}}@layer components{.icon{display:inline-block;flex:none;inline-size:1em;block-size:1em;vertical-align:-.125em}}@layer components{.icon-button{display:grid;place-items:center;padding:0;border:0;background:none;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .2s,opacity .2s}.icon-button .icon{display:block;filter:var(--icon-shadow)}@media(hover:hover){.icon-button:hover{color:var(--lightbox-accent)}}}@layer components{.site-header{--wrapper-width: var(--width-wide)}.site-header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;column-gap:var(--space-m);padding-block:var(--space-2xs)}.site-brand{display:flex;align-items:center;gap:var(--space-3xs)}.site-title{font-size:var(--step-2);font-weight:700;text-decoration:none}.theme-toggle{display:grid;padding:var(--space-2xs);border:0;background:none;color:var(--color-primary)}@media(hover:hover){.theme-toggle:hover{color:var(--color-accent)}}:root[data-theme=dark] .theme-toggle .icon-moon,:root:not([data-theme=dark]) .theme-toggle .icon-sun{display:none}.site-nav{font-size:.9em}.site-nav ul{--cluster-gap: 0 var(--space-m)}.site-nav a{display:block;padding-block:var(--space-2xs);text-decoration:none}.site-nav a[aria-current]{text-decoration-line:underline;text-decoration-color:var(--color-accent);text-decoration-thickness:2px;text-underline-offset:.3em}.site-nav .icon-external-link{margin-inline-start:.25em;font-size:.7em;vertical-align:.5em}}@layer components{.site-footer{padding-block:var(--space-s) var(--space-m);color:var(--color-secondary);font-size:var(--step--2);text-align:center}.site-footer-inner{display:grid;gap:var(--space-2xs)}.site-footer a{color:inherit}@media(hover:hover){.site-footer a:hover{color:var(--color-accent)}}}@layer components{.top-link{position:fixed;z-index:1;inset-block-end:var(--space-l);inset-inline-end:var(--space-m);display:grid;place-items:center;inline-size:2.5rem;block-size:2.5rem;border-radius:50%;background:var(--color-tertiary);color:var(--color-primary);transition:opacity .3s,visibility .3s}.top-link:not([data-visible]){visibility:hidden;opacity:0}@media(hover:hover){.top-link:hover{color:var(--color-accent)}}}@layer components{.page-header{display:grid;gap:var(--space-3xs)}}@layer components{.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.4em;font-size:.9em}.breadcrumbs li:after{content:"\203a";content:"\203a" / "";margin-inline-start:.4em;color:var(--color-secondary)}.breadcrumbs a{text-decoration:none}}@layer components{.meta{color:var(--color-secondary);font-size:var(--step--1)}}@layer components{.prose>*+*{margin-block-start:var(--flow-space, 1em)}.prose :is(h2,h3,h4){--flow-space: 1.2em}.prose :is(h2,h3,h4)+*{--flow-space: .8em}.prose :is(ul,ol):not([role=list]){padding-inline-start:1.25em}.prose :is(ul,ol):not([role=list])>li+li{margin-block-start:.3em}.prose blockquote{padding-inline-start:1em;border-inline-start:.3em solid var(--color-accent)}.heading-anchor{margin-inline-start:.4em;color:var(--color-secondary);font-weight:400;text-decoration:none;visibility:hidden}@media(hover:hover){:is(h2,h3,h4):hover>.heading-anchor{visibility:visible}.heading-anchor:hover{color:var(--color-accent)}}.prose img{border-radius:var(--radius-m)}.prose figure{display:grid;gap:var(--space-2xs)}.prose figcaption{color:var(--color-secondary);font-size:var(--step--1);font-style:italic}.prose hr{border:0;border-block-start:1px solid var(--color-border)}.prose .footnotes{--flow-space: var(--space-l);font-size:var(--step--1)}.prose .footnotes ol{margin-block-start:var(--space-s)}.prose sup a{padding-inline:.1em;text-decoration:none}.prose .photo a{cursor:zoom-in}}@layer components{:not(pre)>code{padding:.15em .3em;border-radius:var(--radius-s);background:var(--color-surface)}.highlight pre{padding:var(--space-xs) var(--space-s);border:1px solid var(--color-border);border-radius:var(--radius-m);background:var(--color-surface);line-height:1.5;overflow-x:auto}.highlight{position:relative}.code-copy{position:absolute;inset-block-start:var(--space-3xs);inset-inline-end:var(--space-3xs);display:grid;place-items:center;inline-size:2rem;block-size:2rem;padding:0;border:0;border-radius:var(--radius-s);background:var(--color-surface);color:var(--color-secondary);opacity:0;transition:opacity .15s}.code-copy .icon{grid-area:1 / 1;inline-size:1rem;block-size:1rem}.code-copy .icon:last-child,.code-copy[data-copied] .icon:first-child{visibility:hidden}.code-copy[data-copied] .icon:last-child{visibility:visible;color:var(--color-accent)}.highlight:focus-within .code-copy,.code-copy:focus-visible{opacity:1}@media(hover:hover){.highlight:hover .code-copy{opacity:1}.code-copy:hover{background:var(--color-tertiary);color:var(--color-text)}}@media(hover:none){.code-copy{opacity:1}}}@layer components{mjx-container[data-overflow]{display:inline-block;max-inline-size:100%;overflow-x:auto;overflow-y:hidden;vertical-align:middle}}@layer components{.table-scroll{overflow-x:auto}.table-scroll table{inline-size:100%;border-collapse:collapse;font-size:var(--step--1);line-height:1.5;text-align:start}.table-scroll th{padding:0 var(--space-xs) var(--space-2xs);border-block-end:1px solid color-mix(in srgb,var(--color-text) 35%,transparent);color:var(--color-primary);font-weight:700;text-align:start;vertical-align:bottom}.table-scroll td{padding:var(--space-2xs) var(--space-xs);vertical-align:top}.table-scroll tbody tr+tr{border-block-start:1px solid var(--color-border)}.table-scroll :is(th,td):first-child{padding-inline-start:0}.table-scroll :is(th,td):last-child{padding-inline-end:0}.table-scroll td code{overflow-wrap:break-word}@media(max-width:40rem){.table-scroll td code{overflow-wrap:anywhere}}}@layer components{.card,.display-card{position:relative;display:grid;gap:var(--space-2xs);padding:var(--space-s) var(--card-padding-inline);border:var(--card-border);border-block-start:var(--card-border-top);border-radius:var(--radius-m);background:var(--card-bg);box-shadow:var(--shadow)}.card{transition:translate .2s ease,box-shadow .2s ease}.card:focus-within{box-shadow:var(--shadow-raised);translate:0 -2px}@media(hover:hover){.card:hover{box-shadow:var(--shadow-raised);translate:0 -2px}.card:hover .card-title a{color:var(--color-accent)}}.card-title{font-size:var(--step-2)}.card-title a{text-decoration:none}.card-title a:after{content:"";position:absolute;inset:0}.card-title .icon-external-link{margin-inline-start:.25em;font-size:.6em;vertical-align:.6em}.card:focus-within .card-title a{color:var(--color-accent)}@supports selector(:has(*)){.card-title a:focus-visible{outline:none}.card:has(:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}}.card-summary{display:-webkit-box;overflow:hidden;color:var(--color-secondary);font-size:var(--step--1);-webkit-box-orient:vertical;-webkit-line-clamp:2}.card .meta{font-size:var(--step--2)}.card-list{--stack-gap: var(--space-s-m)}.display-card>*+*{margin-block-start:var(--space-xs)}}@layer components{.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2xs);padding:0;list-style:none}.page-link{display:grid;place-items:center;min-inline-size:2.5rem;block-size:2.5rem;padding-inline:var(--space-2xs);border-radius:1.25rem;background:var(--color-tertiary);font-size:var(--step--1);text-decoration:none}.page-item.active .page-link{background:var(--color-primary);color:var(--color-bg)}}@layer components{.prose>.trip-map{--flow-space: var(--space-m-l)}.trip-map-canvas,.trip-map-missing{inline-size:100%;aspect-ratio:3 / 2;min-block-size:360px;max-block-size:80vh;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-m);background:var(--color-surface);box-shadow:var(--shadow-raised)}.trip-map figcaption{padding-block-start:var(--space-2xs);color:var(--color-secondary);font-size:var(--step--1);font-style:italic}.trip-map-missing{display:grid;place-content:center;gap:var(--space-2xs);padding:var(--space-m);color:var(--color-secondary);font-size:var(--step--1);text-align:center}.trip-map-missing p{margin:0;max-inline-size:40ch}.trip-map-missing strong{color:var(--color-text)}.trip-map .maplibregl-popup-content{border-radius:var(--radius-m);background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);box-shadow:var(--shadow-raised)}.trip-map .maplibregl-popup-tip{border-top-color:var(--color-surface);border-bottom-color:var(--color-surface)}.trip-map .maplibregl-popup-close-button{color:var(--color-secondary)}.trip-map :is(.maplibregl-ctrl-attrib,.maplibregl-ctrl-scale){background:color-mix(in srgb,var(--color-surface) 85%,transparent);color:var(--color-secondary);font-family:var(--font-body)}.trip-map .maplibregl-ctrl-attrib a{color:inherit;text-decoration:none}@media(hover:hover){.trip-map .maplibregl-ctrl-attrib a:hover{color:var(--color-text);text-decoration:underline}}.trip-map .maplibregl-ctrl-scale{border-color:var(--color-secondary)}[data-theme=dark] .trip-map .maplibregl-ctrl-attrib-button{filter:invert(1)}}@layer components{.gallery{--breakout-width: min(var(--width-wide), 100vw);--gallery-height: clamp(11rem, 9rem + 8vw, 15rem);--gallery-gap: 6px;position:relative}.prose>.gallery{--flow-space: var(--space-s)}.gallery-track{overflow:auto hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery-track::-webkit-scrollbar{display:none}.gallery-row{display:flex;gap:var(--gallery-gap);inline-size:max-content}.gallery-item{flex:none;scroll-snap-align:start}.gallery-frame{position:relative}.gallery-frame img{inline-size:auto;min-inline-size:calc(var(--gallery-height) * .8);block-size:var(--gallery-height);object-fit:cover}.gallery-caption{position:absolute;inset:0 auto auto 0;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.gallery-progress{block-size:3px;margin-block-start:var(--space-2xs);margin-inline:calc((100% - min(100%,100vw - 2 * var(--gutter)))/2);border-radius:2px;background:var(--color-tertiary)}.gallery-progress span{display:block;inline-size:calc(var(--size, 1) * 100%);block-size:100%;margin-inline-start:calc(var(--start, 0) * 100%);border-radius:inherit;background:var(--color-secondary)}.gallery-controls:not([hidden]){display:contents}.gallery-button{position:absolute;inset-block-start:calc(var(--gallery-height) / 2 - 1.5rem);inline-size:3rem;block-size:3rem;font-size:2.25rem;transition:color .2s,opacity .2s,visibility .2s}.gallery-button[data-direction="-1"]{inset-inline-start:0}.gallery-button[data-direction="1"]{inset-inline-end:0}.gallery-button:disabled{visibility:hidden;opacity:0}@media(hover:none){.gallery-controls:not([hidden]){display:none}}.gallery-frame a{display:block;-webkit-tap-highlight-color:transparent}.gallery-video{position:relative}.gallery-video .icon{position:absolute;inset:var(--space-2xs) var(--space-2xs) auto auto;font-size:1.25rem;color:#fff;fill:#fff;filter:var(--icon-shadow);pointer-events:none}}@layer components{.lightbox{background:transparent;color:#fff}.lightbox::backdrop{background:color-mix(in srgb,var(--lightbox-bg) calc(var(--dlb-opacity) * 96%),transparent)}.lightbox [data-dlb-viewport]{padding:3rem 0 2.75rem}@media(min-width:48rem){.lightbox [data-dlb-viewport]{padding-inline:4rem}}.lightbox-bar{position:absolute;inset-inline:0;display:flex;align-items:center;gap:var(--space-2xs);padding:.5rem max(var(--gutter),env(safe-area-inset-left));transition:opacity .2s}.lightbox-top{inset-block-start:0}.lightbox-bottom{inset-block-end:0;flex-direction:column;padding-block-end:max(.75rem,env(safe-area-inset-bottom))}.lightbox-counter{margin-inline-end:auto;color:var(--lightbox-accent);font:600 var(--step--1) / 1 var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.1em}.lightbox-side{position:absolute;inset-block-start:50%;translate:0 -50%;font-size:2rem}.lightbox [data-dlb-prev]{inset-inline-start:var(--gutter)}.lightbox [data-dlb-next]{inset-inline-end:var(--gutter)}.lightbox-side:disabled{visibility:hidden}.lightbox-caption{margin:0;font-size:var(--step--1);text-align:center;text-shadow:0 1px 3px rgb(0 0 0 / .8)}.lightbox-place{color:var(--lightbox-accent);font:600 .75rem / 1.5 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.lightbox-text:not(:empty)+.lightbox-place:not(:empty):before{content:" \b7  "}.lightbox [data-dlb-overlay]{pointer-events:none}.lightbox-overlay-top{position:absolute;inset:0 0 auto;display:flex;padding:.25rem .25rem 2.5rem;background:linear-gradient(rgb(0 0 0 / .45),rgb(0 0 0 / .15) 60%,transparent)}.lightbox-icon{inline-size:2.5rem;block-size:2.5rem;font-size:1.5rem;pointer-events:auto}.lightbox-icon:disabled{opacity:.3;cursor:default}.lightbox-close{font-size:2rem}.lightbox-fullscreen{margin-inline-start:auto}.lightbox-fullscreen:disabled{display:none}.lightbox-progress{position:absolute;inset:auto 0 0;block-size:4px;background:linear-gradient(var(--lightbox-accent),var(--lightbox-accent)) left / calc(var(--dlb-progress, 0) * 100%) 100% no-repeat,#ffffff40}.lightbox[data-dlb-paused] .icon-pause,.lightbox:not([data-dlb-paused]) .icon-play,.lightbox[data-dlb-muted] .icon-volume-2,.lightbox:not([data-dlb-muted]) .icon-volume-x{display:none}.lightbox [data-dlb-slide]:not([data-dlb-current]) .icon-play{display:block}.lightbox [data-dlb-slide]:not([data-dlb-current]) .icon-pause{display:none}.lightbox[data-dlb-ui-hidden] :is(.lightbox-bar,.lightbox-side){opacity:0;pointer-events:none}.lightbox[data-dlb-zoomable] [data-dlb-current] img{cursor:zoom-in}.lightbox[data-dlb-zoomed] [data-dlb-current] img{cursor:zoom-out}.lightbox[data-dlb-error] .lightbox-caption:before{content:"This photo could not be loaded. "}.lightbox[data-dlb-loading]:after{content:"";position:absolute;inset:50% auto auto 50%;inline-size:2rem;block-size:2rem;margin:-1rem;border:2px solid rgb(255 255 255 / .3);border-block-start-color:#fff;border-radius:50%;opacity:0;animation:lightbox-spin .8s linear infinite,lightbox-appear 0s .4s both}@keyframes lightbox-spin{to{rotate:1turn}}@keyframes lightbox-appear{to{opacity:1}}@media(pointer:coarse){.lightbox-side{display:none}}.lightbox[data-single] .lightbox-counter{visibility:hidden}}@layer components{.home{--stack-gap: var(--space-xl)}}@layer components{.intro{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-m) var(--space-l)}.intro-photo{flex:none}.intro-photo img{inline-size:150px;block-size:150px;border-radius:var(--radius-m);object-fit:cover;box-shadow:var(--shadow-raised)}.intro-text{--stack-gap: var(--space-xs);flex:1 1 18rem}.intro-text p{color:var(--color-secondary)}}@layer components{.social{--cluster-gap: var(--space-s)}.social a{display:block;font-size:1.5rem}}@layer components{.not-found{display:grid;place-content:center;gap:var(--space-s);min-block-size:100%;text-align:center}.not-found h1{font-size:clamp(5rem,4rem + 8vw,9rem);line-height:1}}@layer utilities{.visually-hidden{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@layer custom{.playground{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--space-xs) var(--space-s);align-items:end}.playground label{display:grid;gap:var(--space-3xs);color:var(--color-secondary);font-size:var(--step--1)}.playground :is(select,input[type=text]),.playground-actions button{padding:.35em .6em;border:1px solid var(--color-border);border-radius:var(--radius-s);background:var(--color-bg);color:var(--color-text);font:inherit;font-size:var(--step--1)}.playground-config{margin:0;padding:var(--space-xs) var(--space-s);border:1px solid var(--color-border);border-radius:var(--radius-m);background:var(--color-bg);font-size:var(--step--1)}.playground-actions{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}}@layer presets{:root[data-preset=minimal]{--pattern: none;--font-body: "Inter", system-ui, sans-serif;--font-heading: var(--font-body);--font-mono: "JetBrains Mono", ui-monospace, monospace;--heading-weight: 600;--radius-m: .375rem;--shadow: none;--shadow-raised: none}[data-preset=minimal] .site-header{border-block-end:1px solid var(--color-border)}[data-preset=minimal] .card{transition:border-color .15s}[data-preset=minimal] :is(.card:hover,.card:focus-within){translate:none;border-color:var(--color-secondary)}[data-preset=minimal] .intro-photo img{border-radius:50%}[data-preset=minimal] .trip-map-canvas{box-shadow:none}}@layer schemes{:root[data-scheme=ink]{--color-bg: #ffffff;--color-surface: #ffffff;--color-text: #1f2328;--color-primary: #0f1115;--color-secondary: #59636e;--color-tertiary: #e8eaee;--color-accent: #1d4ed8;--color-border: #e2e5e9;--pattern-color: #9aa1a9}:root[data-scheme=ink][data-theme=dark]{--color-bg: #0d1117;--color-surface: #151b23;--color-text: #d1d7e0;--color-primary: #f0f3f6;--color-secondary: #9198a1;--color-tertiary: #262c36;--color-accent: #6ea8fe;--color-border: #262c36;--pattern-color: #6e7681}}
