:root{--ink:#1c2029;--ink-soft:#2a2f3b;--paper:#efe8d8;--paper-dim:#e3dac5;--moss:#5c6e4f;--moss-bright:#7c9169;--wine:#7a3b45;--cream:#f3efe4;--line:#f3efe424;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{background:var(--ink);color:var(--cream);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,sans-serif}#root{min-height:100vh}a{color:inherit}button{font-family:inherit}.page{background-color:#0000;background-image:linear-gradient(#1c2029d1,#1c2029d1),url(/assets/intro-background-CGMvmUDI.webp);background-position:50% 100%;background-repeat:no-repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;min-height:100%;display:flex}@media (width<=768px){.page{background-color:#0000;background-image:linear-gradient(#1c2029d1,#1c2029d1),url(/assets/intro-background-phone-BW2F1QAY.webp);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}}.topbar{justify-content:space-between;align-items:center;padding:28px clamp(20px,5vw,64px) 0;display:flex}.wordmark{letter-spacing:.01em;font-family:Fraunces,serif;font-size:1.05rem;font-weight:500}.signin{border:1px solid var(--line);color:var(--cream);cursor:pointer;background:0 0;border-radius:999px;padding:9px 18px;font-size:.85rem;transition:border-color .15s,background .15s}.signin:hover{border-color:var(--moss-bright);background:#7c91691a}.signin:focus-visible{outline:2px solid var(--moss-bright);outline-offset:2px}.hero{flex:1;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:48px;width:100%;max-width:1180px;margin:0 auto;padding:0 clamp(20px,5vw,64px) 40px;display:grid}.copy{max-width:46ch}.eyebrow{align-items:center;gap:8px;margin-bottom:22px;font-family:Fraunces,serif;font-size:1.15rem;font-style:italic;display:flex}.eyebrow-lead{color:var(--paper-dim)}.rotator{align-items:center;height:1.4em;display:inline-flex;position:relative}.word{white-space:nowrap;display:inline-block}@media (prefers-reduced-motion:no-preference){.word{animation:.4s word-in}}@keyframes word-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}h1{letter-spacing:-.01em;margin:0 0 20px;font-family:Fraunces,serif;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:500;line-height:1.08}h1 em{color:var(--moss-bright);font-style:italic}.lede{color:var(--paper-dim);margin:0 0 32px;font-size:1.05rem;line-height:1.6}.actions{align-items:center;gap:20px;display:flex}.primary{background:var(--paper);color:var(--ink);cursor:pointer;border:none;border-radius:8px;padding:13px 26px;font-size:.95rem;font-weight:500;transition:transform .15s,background .15s}.primary:hover{background:var(--cream);transform:translateY(-1px)}.primary:focus-visible{outline:2px solid var(--moss-bright);outline-offset:2px}.hint{color:#efe8d873;font-size:.85rem}.cluster{height:420px;display:none;position:relative}.card{border-radius:10px;width:190px;padding:16px;position:absolute;box-shadow:0 18px 40px #00000059}.card .label{letter-spacing:.02em;font-size:.72rem}.card .body{margin-top:10px;font-family:Fraunces,serif;font-size:1.15rem;line-height:1.3}.card.note-a{background:var(--wine);color:var(--cream);z-index:4;top:20px;right:0;transform:rotate(4deg)}.card.note-b{background:var(--moss);color:var(--cream);z-index:3;top:300px;right:150px;transform:rotate(2deg)}.photo{background:var(--paper);border-radius:6px;width:150px;padding:10px 10px 16px;position:absolute;box-shadow:0 18px 40px #00000059}.photo-frame{border-radius:3px;flex-direction:column;height:110px;display:flex;position:relative;overflow:hidden}.photo-frame span{display:block}.photo-caption{color:var(--ink);text-align:center;margin-top:10px;font-family:Fraunces,serif;font-size:.85rem;font-style:italic}.photo-frame--zajedno span:first-child{background:#8fb3c9;flex:6}.photo-frame--zajedno span:last-child{background:url(/assets/intro-zajedno-DxkFHaeD.webp) 50%/cover;flex:4}.photo-frame--tara span:first-child{background:#e3b873;flex:5}.photo-frame--tara span:last-child{background:url(/assets/intro-tara-cMYaVXJk.webp) 50%/cover;flex:4}.photo-frame--ernad span:first-child{background:var(--ink-soft);flex:7}.photo-frame--ernad span:last-child{background:url(/assets/intro-ernad-6zLNe-XA.webp) 50%/cover;flex:4}.photo.photo-a{z-index:2;top:0;right:200px;transform:rotate(-6deg)}.photo.photo-b{z-index:1;top:150px;right:260px;transform:rotate(3deg)}.photo.photo-c{z-index:3;top:190px;right:30px;transform:rotate(-5deg)}.sprocket{align-items:center;gap:6px;height:22px;padding:0 clamp(20px,5vw,64px);display:flex}.sprocket .rule{background:var(--line);flex:1;height:1px}.sprocket .holes{gap:8px;display:flex}.sprocket .hole{background:#f3efe440;border-radius:1px;width:5px;height:5px}footer{color:#efe8d866;justify-content:space-between;padding:18px clamp(20px,5vw,64px) 30px;font-size:.8rem;display:flex}@media (width>=860px){.cluster{display:block}}@media (prefers-reduced-motion:reduce){.primary,.signin{transition:none}}@media (width<=600px){.hero{grid-template-columns:1fr;padding-top:40px}.actions{flex-direction:column;align-items:flex-start;gap:14px}}.stage{position:fixed;inset:0;overflow:hidden}.track{will-change:transform;transition:transform .85s cubic-bezier(.77,0,.18,1);position:absolute;inset:0}.track[data-view=home]{transform:translate(0)}.track[data-view=couple]{transform:translate(-100%)}.track[data-view=guests]{transform:translateY(-100%)}.panel{width:100%;height:100%;position:absolute;overflow:hidden auto}.panel:focus{outline:none}.panel--home{top:0;left:0}.panel--couple{top:0;left:100%}.panel--guests{top:100%;left:0}.section{min-height:100%;color:var(--cream);background-position:50% 100%;background-repeat:no-repeat;background-size:cover;flex-direction:column;display:flex}.section--guests{background-image:linear-gradient(#263428db,#1c2029eb),url(/assets/intro-background-CGMvmUDI.webp)}@media (width<=768px){.section--guests{background-image:linear-gradient(#263428db,#1c2029eb),url(/assets/intro-background-phone-BW2F1QAY.webp);background-position:50%}}.section-body{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:1180px;margin:0 auto;padding:48px clamp(20px,5vw,64px) 56px;display:flex}.section-body h2{letter-spacing:-.01em;max-width:20ch;margin:0 0 18px;font-family:Fraunces,serif;font-size:clamp(2.2rem,4.6vw,3.2rem);font-weight:500;line-height:1.1}.section-body .lede{max-width:52ch}.info{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;max-width:760px;margin:12px 0 28px;display:grid}.info-item{border-left:2px solid var(--moss-bright);padding:2px 0 2px 16px}.info-label{color:var(--paper-dim);font-size:.8rem}.info-value{margin-top:4px;font-family:Fraunces,serif;font-size:1.2rem}.mail-link{color:var(--cream);text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--moss-bright);text-decoration-color:var(--moss-bright);display:inline-block}.mail-link:focus-visible{outline:2px solid var(--moss-bright);outline-offset:4px}@media (prefers-reduced-motion:reduce){.track{transition-duration:.01ms}}.diagonal{width:100%;height:100%;color:var(--cream);background:var(--ink,#1c2029);--t:0px;position:relative;overflow:hidden}.half{padding:clamp(24px,5vw,64px);display:flex;position:absolute;inset:0}.half--a{clip-path:polygon(-300% -100%, calc(200% + var(--t)) -100%, calc(-100% + var(--t)) 200%, -300% 200%);justify-content:flex-start;align-items:flex-start;padding-top:110px}.half--b{clip-path:polygon(calc(200% + var(--t)) -100%, 400% -100%, 400% 200%, calc(-100% + var(--t)) 200%);justify-content:flex-end;align-items:flex-end}.half-img{filter:brightness(.82)saturate(.85);will-change:transform;background-position:50%;background-repeat:no-repeat;background-size:cover;transition:scale .5s cubic-bezier(.2,.7,.2,1),filter .5s;position:absolute;inset:0%}.half--tara .half-img{transform:translate3d(var(--ax,0px), var(--ay,0px), 0);background-image:url(/assets/tara-split-DbXdT96Q.webp);background-position:60%;background-size:cover}.half--ernad .half-img{transform:translate3d(var(--bx,0px), var(--by,0px), 0);background-image:url(/assets/ernad-split-Bqhiwoer.webp);background-position:50% 60%;background-size:cover}.half-shade{pointer-events:none;transition:opacity .5s;position:absolute;inset:0}.half--a .half-shade{background:linear-gradient(135deg,#1c2029b3,#1c20291a 70%)}.half--b .half-shade{background:linear-gradient(315deg,#1c2029b3,#1c20291a 70%)}.half.is-hot .half-img{filter:brightness(1.1)saturate(1.12);scale:1.07}.half.is-hot .half-shade{opacity:.35}.half.is-dim .half-img{filter:brightness(.55)saturate(.6)}.half-btn{color:inherit;cursor:pointer;font:inherit;text-align:inherit;background:0 0;border:none;padding:0;position:static}.half-btn:after{content:"";position:absolute;inset:0}.half-btn:focus-visible{outline:none}.half-btn:focus-visible .half-name{outline:2px solid var(--moss-bright);outline-offset:10px;border-radius:4px}.half-name{letter-spacing:-.01em;text-shadow:0 4px 32px #00000073;font-family:Fraunces,serif;font-size:clamp(3rem,9vw,7rem);font-style:italic;font-weight:500;line-height:1;transition:scale .4s cubic-bezier(.2,.7,.2,1);display:block;scale:1}.half--tara .half-name{transform:translate3d(calc(var(--ax,0px) * -.5), calc(var(--ay,0px) * -.5), 0);transform-origin:0 0}.half--ernad .half-name{transform:translate3d(calc(var(--bx,0px) * -.5), calc(var(--by,0px) * -.5), 0);transform-origin:100% 100%}.half.is-hot .half-name{scale:1.06}.diag-line{pointer-events:none;z-index:3;width:100%;height:100%;transform:translate3d(var(--t,0px), 0, 0);filter:drop-shadow(0 0 6px #f3efe459);transition:filter .4s;position:absolute;inset:0;overflow:visible}.diag-line line{stroke:var(--cream);stroke-width:2px}.diagonal.has-hot .diag-line{filter:drop-shadow(0 0 12px #f3efe4b3)}.topbar--float{z-index:5;pointer-events:none;position:absolute;top:0;left:0;right:0}.topbar--float .signin{pointer-events:auto;background:#1c202966}@media (prefers-reduced-motion:reduce){.half-img,.half-shade,.half-name,.diag-line{transition:none}}.login-backdrop{z-index:10;-webkit-backdrop-filter:blur(6px);background:#1c202999;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.login-card{background:var(--paper);width:min(100%,360px);color:var(--ink);border-radius:12px;flex-direction:column;align-items:center;padding:28px 28px 22px;display:flex;box-shadow:0 30px 80px #00000080}.login-avatar{border:4px solid var(--paper);background-color:var(--ink-soft);background-position:50%;background-size:cover;border-radius:50%;width:72px;height:72px;margin-top:-56px;box-shadow:0 8px 20px #0000004d}.login-avatar--tara{background-image:url(/assets/tara-split-DbXdT96Q.webp)}.login-avatar--ernad{background-image:url(/assets/ernad-split-Bqhiwoer.webp)}.login-title{margin:16px 0 4px;font-family:Fraunces,serif;font-size:1.6rem;font-style:italic;font-weight:500}.login-sub{opacity:.65;margin:0 0 20px;font-size:.9rem}.login-input{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #1c202940;border-radius:8px;padding:12px 14px;font-size:1rem}.login-input:focus-visible{outline:2px solid var(--moss-bright);outline-offset:1px}.login-error{min-height:1.3em;color:var(--wine);text-align:center;margin:8px 0 6px;font-size:.85rem}.login-submit{width:100%;color:var(--paper);background:var(--ink);cursor:pointer;border:none;border-radius:8px;padding:12px 20px;font-size:.95rem;font-weight:500;transition:transform .15s,opacity .15s}.login-submit:hover:not(:disabled){transform:translateY(-1px)}.login-submit:disabled{opacity:.45;cursor:default}.login-submit:focus-visible,.login-cancel:focus-visible{outline:2px solid var(--moss-bright);outline-offset:2px}.login-cancel{color:var(--ink);opacity:.6;cursor:pointer;background:0 0;border:none;margin-top:12px;padding:6px 10px;font-size:.85rem}.login-cancel:hover{opacity:1}@media (prefers-reduced-motion:no-preference){.login-backdrop{animation:.25s login-fade}.login-card{animation:.3s cubic-bezier(.2,.7,.2,1) login-rise}}@keyframes login-fade{0%{opacity:0}to{opacity:1}}@keyframes login-rise{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.login-submit{transition:none}}.home-page{--h-bg:#1c2029;--h-text:#f3efe4;--h-accent:#7c9169;--h-bar:#1c2029;--h-text-dim:color-mix(in srgb, var(--h-text) 68%, var(--h-bg));--h-line:color-mix(in srgb, var(--h-text) 18%, transparent);--h-danger:#c98d94;min-height:100dvh;color:var(--h-text);background:var(--h-bg);opacity:0}.home-page.is-ready{opacity:1;transition:opacity .2s}.home-topbar{z-index:20;background:color-mix(in srgb, var(--h-bar) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--h-line);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:28px clamp(20px,5vw,64px) 18px;display:grid;position:sticky;top:0}.home-wordmark{letter-spacing:.01em;justify-self:start;font-family:Fraunces,serif;font-size:1.05rem;font-weight:500}.home-signout{border:1px solid var(--h-line);color:var(--h-text);cursor:pointer;background:0 0;border-radius:999px;justify-self:end;padding:9px 18px;font-size:.85rem;transition:border-color .15s,background .15s}.home-signout:hover:not(:disabled){border-color:var(--h-accent);background:color-mix(in srgb, var(--h-accent) 10%, transparent)}.home-signout:disabled{opacity:.5;cursor:default}.home-signout:focus-visible{outline:2px solid var(--h-accent);outline-offset:2px}.home-tabs{border:1px solid var(--h-line);border-radius:999px;gap:4px;padding:4px;display:flex}.home-tab{color:var(--h-text-dim);white-space:nowrap;border-radius:999px;padding:7px 16px;font-size:.85rem;text-decoration:none;transition:color .15s,background .15s}.home-tab-dot{vertical-align:middle;background:var(--h-accent);border-radius:50%;width:6px;height:6px;margin-left:8px;animation:1.4s ease-in-out infinite home-pulse;display:inline-block}@keyframes home-pulse{50%{opacity:.3}}.home-tab:hover{color:var(--h-text)}.home-tab[aria-current=page]{color:var(--h-text);background:color-mix(in srgb, var(--h-accent) 22%, transparent)}.home-tab:focus-visible{outline:2px solid var(--h-accent);outline-offset:2px}.home-main{max-width:1180px;margin:0 auto;padding:48px clamp(20px,5vw,64px) 64px}.home-page h1{margin:0 0 12px;font-family:Fraunces,serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:500}.home-page p{color:var(--h-text-dim);margin:0;font-size:1.05rem;line-height:1.6}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=640px){.home-topbar{grid-template-columns:1fr auto;row-gap:14px}.home-wordmark{grid-area:1/1}.home-signout{grid-area:1/2}.home-tabs{grid-area:2/1/auto/-1;justify-content:flex-start;justify-self:center;width:100%;overflow-x:auto}.home-tab{text-align:center;flex:none;padding-inline:8px;font-size:.75rem}}@media (prefers-reduced-motion:reduce){.home-tab-dot{animation:none}.home-page.is-ready,.home-signout,.home-tab{transition:none}}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:20px;max-width:960px;margin-top:32px;display:grid}.settings-card{border:1px solid var(--h-line);background:color-mix(in srgb, var(--h-text) 5%, transparent);border-radius:12px;padding:24px}.settings-card h2{margin:0 0 6px;font-family:Fraunces,serif;font-size:1.3rem;font-weight:500}.settings-card .card-sub{margin:0 0 18px;font-size:.9rem}.color-row{cursor:pointer;align-items:center;gap:14px;padding:10px 0;display:flex}.color-row+.color-row{border-top:1px solid var(--h-line)}.color-swatch{border:1px solid var(--h-line);cursor:pointer;background:0 0;border-radius:10px;flex:none;width:44px;height:44px;padding:0}.color-swatch::-webkit-color-swatch-wrapper{padding:3px}.color-swatch::-webkit-color-swatch{border:none;border-radius:7px}.color-swatch::-moz-color-swatch{border:none;border-radius:7px}.color-swatch:focus-visible{outline:2px solid var(--h-accent);outline-offset:2px}.color-text{flex-direction:column;gap:2px;display:flex}.color-name{font-size:.95rem}.color-hex{color:var(--h-text-dim);font-variant-numeric:tabular-nums;font-size:.8rem}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--h-text-dim);font-size:.85rem}.field input{font:inherit;color:var(--h-text);background:color-mix(in srgb, var(--h-text) 8%, transparent);border:1px solid var(--h-line);border-radius:8px;padding:11px 13px;font-size:1rem}.field input:focus-visible{outline:2px solid var(--h-accent);outline-offset:1px}.btn-row{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:11px 20px;font-size:.9rem;font-weight:500;transition:transform .15s,background .15s,border-color .15s}.btn:disabled{opacity:.45;cursor:default}.btn:focus-visible{outline:2px solid var(--h-accent);outline-offset:2px}.btn--primary{color:var(--h-bg);background:var(--h-text)}.btn--primary:hover:not(:disabled){transform:translateY(-1px)}.btn--ghost{color:var(--h-text);border-color:var(--h-line);background:0 0}.btn--ghost:hover:not(:disabled){border-color:var(--h-accent);background:color-mix(in srgb, var(--h-accent) 10%, transparent)}.form-msg{min-height:1.3em;margin-top:12px;font-size:.88rem}.form-msg--ok{color:var(--h-accent)}.form-msg--error{color:var(--h-danger)}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.radio{grid-template-columns:minmax(0,1fr);gap:24px;max-width:720px;margin-top:28px;display:grid}.radio-now{border:1px solid var(--h-line);background:color-mix(in srgb, var(--h-text) 5%, transparent);border-radius:12px;padding:24px}.radio-title{overflow-wrap:anywhere;min-height:1.4em;font-family:Fraunces,serif;font-size:clamp(1.3rem,3vw,1.7rem);font-style:italic;line-height:1.25}.radio-error{color:var(--h-danger);margin-top:6px;font-size:.88rem}.radio-progress{align-items:center;gap:12px;margin:18px 0 8px;display:flex}.radio-progress input[type=range]{min-width:0;accent-color:var(--h-accent);flex:1}.radio-progress input[type=range]:focus-visible{outline:2px solid var(--h-accent);outline-offset:4px}.radio-time{min-width:2.8em;color:var(--h-text-dim);font-variant-numeric:tabular-nums;font-size:.8rem}.radio-time:last-child{text-align:right}.radio-controls{justify-content:center;align-items:center;gap:14px;display:flex}.radio-btn{width:46px;height:46px;color:var(--h-text);border:1px solid var(--h-line);cursor:pointer;background:0 0;border-radius:50%;place-items:center;font-size:1.15rem;transition:border-color .15s,background .15s;display:grid}.radio-btn:hover{border-color:var(--h-accent);background:color-mix(in srgb, var(--h-accent) 10%, transparent)}.radio-btn:focus-visible{outline:2px solid var(--h-accent);outline-offset:2px}.radio-btn--main{width:58px;height:58px;color:var(--h-bg);background:var(--h-text);border-color:#0000;font-size:1.4rem}.radio-btn--main:hover{background:var(--h-text);transform:translateY(-1px)}.radio-btn--small{width:38px;height:38px;color:var(--h-text-dim);font-size:1rem}.radio-btn--small.is-on{color:var(--h-text);border-color:var(--h-accent);background:color-mix(in srgb, var(--h-accent) 22%, transparent)}.radio-retry{margin-top:14px}.radio-pills{flex-wrap:wrap;gap:8px;display:flex}.radio-pill{font:inherit;color:var(--h-text-dim);border:1px solid var(--h-line);cursor:pointer;background:0 0;border-radius:999px;padding:7px 14px;font-size:.85rem;transition:color .15s,background .15s,border-color .15s}.radio-pill:hover{color:var(--h-text);border-color:var(--h-accent)}.radio-pill[aria-pressed=true]{color:var(--h-text);border-color:var(--h-accent);background:color-mix(in srgb, var(--h-accent) 22%, transparent)}.radio-pill:focus-visible{outline:2px solid var(--h-accent);outline-offset:2px}.radio-pill-count{opacity:.6;margin-left:4px;font-size:.75rem}.radio-list{margin:0;padding:0;list-style:none}.radio-track{width:100%;font:inherit;text-align:left;color:var(--h-text-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:baseline;gap:14px;padding:11px 12px;font-size:.95rem;transition:background .15s,color .15s;display:flex}.radio-track:hover{color:var(--h-text);background:color-mix(in srgb, var(--h-text) 6%, transparent)}.radio-track.is-current{color:var(--h-text);background:color-mix(in srgb, var(--h-accent) 20%, transparent)}.radio-track:focus-visible{outline:2px solid var(--h-accent);outline-offset:-2px}.radio-track-num{text-align:right;font-variant-numeric:tabular-nums;min-width:1.6em;font-size:.8rem}.radio-track-name{overflow-wrap:anywhere}@media (prefers-reduced-motion:reduce){.radio-btn,.radio-pill,.radio-track{transition:none}}.photo-section{margin-top:36px}.photo-section:first-of-type{margin-top:28px}.photo-section-title{margin:0 0 14px;font-family:Fraunces,serif;font-size:1.4rem;font-weight:500}.photo-section-count{color:var(--h-text-dim);margin-left:6px;font-family:system-ui,sans-serif;font-size:.8rem}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.photo-tile{aspect-ratio:1;background:color-mix(in srgb, var(--h-text) 8%, transparent);border:1px solid var(--h-line);cursor:pointer;border-radius:10px;width:100%;padding:0;display:block;overflow:hidden}.photo-tile img{object-fit:cover;width:100%;height:100%;transition:transform .35s cubic-bezier(.2,.7,.2,1);display:block}.photo-tile:hover img{transform:scale(1.05)}.photo-tile:focus-visible{outline:2px solid var(--h-accent);outline-offset:2px}.photo-retry{margin-top:14px}.photo-viewer{width:100%;max-width:100vw;height:100%;max-height:100dvh;color:var(--h-text);background:color-mix(in srgb, var(--h-bg) 94%, transparent);border:none;margin:0;padding:0}.photo-viewer::backdrop{background:var(--h-bg,#000)}.photo-viewer[open]{place-items:center;display:grid}.photo-full{object-fit:contain;max-width:100%;max-height:100%}.photo-close,.photo-nav{color:var(--h-text);background:color-mix(in srgb, var(--h-bg) 60%, transparent);border:1px solid var(--h-line);cursor:pointer;border-radius:50%;place-items:center;transition:border-color .15s,background .15s;display:grid;position:absolute}.photo-close:hover,.photo-nav:hover{border-color:var(--h-accent);background:color-mix(in srgb, var(--h-accent) 25%, transparent)}.photo-close:focus-visible,.photo-nav:focus-visible{outline:2px solid var(--h-accent);outline-offset:2px}.photo-close{width:42px;height:42px;font-size:1rem;top:16px;right:16px}.photo-nav{width:46px;height:46px;margin-top:-23px;font-size:1.8rem;line-height:1;top:50%}.photo-nav--prev{left:16px}.photo-nav--next{right:16px}.photo-count{font-variant-numeric:tabular-nums;color:var(--h-text-dim);background:color-mix(in srgb, var(--h-bg) 60%, transparent);border-radius:999px;padding:4px 12px;font-size:.8rem;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.photo-tile img,.photo-close,.photo-nav{transition:none}}.notes-page{max-width:820px;margin:0 auto}.notes-intro{margin-bottom:34px}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--h-accent)!important;font-size:.78rem!important}.notes-intro h1{margin-bottom:8px}.note-composer,.note-card{border:1px solid var(--h-line);background:color-mix(in srgb, var(--h-text) 4%, transparent)}.note-composer{margin-bottom:30px;padding:18px}.note-form-top,.note-form-bottom,.note-card-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.note-title-input,.note-composer textarea{width:100%;color:var(--h-text);font:inherit;background:0 0;border:0;outline:0}.note-title-input{font-family:Fraunces,serif;font-size:1.3rem}.note-composer textarea{resize:vertical;min-height:120px;margin:18px 0;line-height:1.6}.note-title-input::placeholder,.note-composer textarea::placeholder{color:var(--h-text-dim)}.note-kind{border:1px solid var(--h-line);flex:none;padding:3px;display:flex}.note-kind button,.note-submit{cursor:pointer;color:var(--h-text);font:inherit;background:0 0;border:0;padding:8px 12px}.note-kind button.is-active{background:color-mix(in srgb, var(--h-accent) 25%, transparent)}.note-form-bottom{border-top:1px solid var(--h-line);padding-top:14px}.note-author,.note-meta{color:var(--h-text-dim);font-size:.82rem!important}.note-submit{background:var(--h-accent);color:var(--h-bg);font-weight:600}.notes-list{gap:14px;display:grid}.note-card{padding:20px}.note-card h2{margin:0 0 5px;font:500 1.35rem Fraunces,serif}.note-meta{margin:0}.note-body{white-space:pre-wrap;margin-top:20px!important}.note-delete{color:var(--h-text-dim);cursor:pointer;background:0 0;border:0;font-size:1.5rem;line-height:1}.note-delete:hover{color:var(--h-danger)}.note-checklist{margin:20px 0 0;padding:0;list-style:none}.note-checklist li+li{margin-top:11px}.note-checklist label{cursor:pointer;color:var(--h-text);align-items:flex-start;gap:10px;display:flex}.note-checklist input{accent-color:var(--h-accent);margin-top:4px}.note-checklist .is-checked span{color:var(--h-text-dim);text-decoration:line-through}.notes-empty,.notes-status{padding:20px 0}@media (width<=560px){.note-form-top{flex-direction:column;align-items:flex-start}.note-kind{align-self:stretch}.note-kind button{flex:1}.note-form-bottom{flex-direction:column;align-items:flex-start}.note-submit{width:100%}}.calendar-page{max-width:960px;margin:0 auto}.calendar-intro{margin-bottom:34px}.calendar-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--h-accent)!important;font-size:.78rem!important}.calendar-intro h1{margin-bottom:8px}.event-composer{border:1px solid var(--h-line);background:color-mix(in srgb, var(--h-text) 4%, transparent);margin-bottom:32px;padding:18px}.event-form-main{grid-template-columns:minmax(0,1fr) 150px 105px;gap:10px;display:grid}.event-form-main input,.event-composer textarea{border:1px solid var(--h-line);color:var(--h-text);font:inherit;background:0 0;padding:10px 12px}.event-title-input{font-size:1.15rem;font-family:Fraunces,serif!important}.event-composer textarea{resize:vertical;width:100%;min-height:74px;margin:12px 0}.event-form-main input::placeholder,.event-composer textarea::placeholder{color:var(--h-text-dim)}.event-form-bottom{color:var(--h-text-dim);justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.event-submit{background:var(--h-accent);color:var(--h-bg);font:inherit;cursor:pointer;border:0;padding:10px 14px;font-weight:600}.calendar-heading{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.calendar-heading h2{text-transform:capitalize;margin:0;font:500 1.5rem Fraunces,serif}.calendar-nav{border:1px solid var(--h-line);color:var(--h-text);cursor:pointer;background:0 0;width:38px;height:38px;font-size:1.2rem}.calendar-grid{border-top:1px solid var(--h-line);border-left:1px solid var(--h-line);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekday,.calendar-day{border-right:1px solid var(--h-line);border-bottom:1px solid var(--h-line)}.calendar-weekday{color:var(--h-text-dim);text-transform:uppercase;padding:10px;font-size:.76rem}.calendar-day{min-height:104px;padding:9px}.calendar-day.is-empty{background:color-mix(in srgb, var(--h-bg) 35%, transparent)}.calendar-day-number{place-items:center;width:25px;height:25px;display:inline-grid}.calendar-day.is-today .calendar-day-number{background:var(--h-accent);color:var(--h-bg);border-radius:50%;font-weight:700}.calendar-day-events{gap:4px;margin-top:8px;display:grid}.calendar-event-dot{white-space:nowrap;text-overflow:ellipsis;background:color-mix(in srgb, var(--h-accent) 25%, transparent);padding:3px 5px;font-size:.75rem;display:block;overflow:hidden}.upcoming-events{margin-top:34px}.upcoming-events h2{font:500 1.5rem Fraunces,serif}.upcoming-events>p{color:var(--h-text-dim)}.event-card{border-top:1px solid var(--h-line);justify-content:space-between;align-items:flex-start;gap:16px;padding:15px 0;display:flex}.event-card h3{margin:0 0 5px;font-size:1rem}.event-card p,.event-card small{color:var(--h-text-dim);margin:0;font-size:.82rem;line-height:1.5;display:block}.event-card small{margin-top:4px}.event-delete{color:var(--h-text-dim);cursor:pointer;background:0 0;border:0;font-size:1.5rem}.event-delete:hover{color:var(--h-danger)}.calendar-status{color:var(--h-danger)!important}@media (width<=650px){.event-form-main{grid-template-columns:1fr 1fr}.event-title-input{grid-column:1/-1}.calendar-day{min-height:78px;padding:5px}.calendar-weekday{padding:7px 4px;font-size:.65rem}.calendar-event-dot{font-size:.68rem}}@media (width<=430px){.calendar-day{min-height:58px}.calendar-day-events{margin-top:4px}.calendar-event-dot{border-radius:50%;width:5px;height:5px;padding:0;font-size:0}.event-form-bottom{flex-direction:column;align-items:stretch;gap:12px}.event-submit{width:100%}}.watchlist-page{max-width:1080px;margin:0 auto}.watchlist-intro{margin-bottom:30px}.watchlist-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--h-accent)!important;font-size:.78rem!important}.watchlist-intro h1{margin-bottom:8px}.watch-search{border:1px solid var(--h-line);background:color-mix(in srgb, var(--h-text) 4%, transparent);grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:28px;padding:14px;display:grid}.watch-search-row{gap:8px;display:flex}.watch-search input{border:1px solid var(--h-line);min-width:0;color:var(--h-text);font:inherit;background:0 0;flex:1;padding:11px 12px}.watch-search input::placeholder{color:var(--h-text-dim)}.watch-search-row button,.watch-result button{background:var(--h-accent);color:var(--h-bg);font:inherit;cursor:pointer;white-space:nowrap;border:0;padding:10px 14px;font-weight:600}.watch-search-row button:disabled,.watch-result button:disabled{opacity:.55;cursor:default}.watch-type{border:1px solid var(--h-line);align-items:center;padding:3px;display:flex}.watch-type button{color:var(--h-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 11px}.watch-type button.is-active{background:color-mix(in srgb, var(--h-accent) 25%, transparent)}.watch-results{margin-bottom:30px}.watch-results h2,.watchlist-heading h2{font:500 1.5rem Fraunces,serif}.watch-result-list{gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.watch-result{border:1px solid var(--h-line);flex:0 0 255px;gap:12px;padding:10px;display:flex}.watch-result img,.watch-result .watch-image-fallback{width:54px;height:76px}.watch-result h3{margin:0 0 4px;font-size:.95rem}.watch-result p{color:var(--h-text-dim);margin:0 0 10px;font-size:.8rem}.watch-result button{padding:7px 9px;font-size:.78rem}.watchlist-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.watchlist-heading span{color:var(--h-text-dim);font-size:.82rem}.watch-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.watch-card{border:1px solid var(--h-line);background:color-mix(in srgb, var(--h-text) 4%, transparent);grid-template-columns:110px minmax(0,1fr);min-height:194px;display:grid;overflow:hidden}.watch-card>img,.watch-image-fallback{object-fit:cover;background:color-mix(in srgb, var(--h-accent) 24%, var(--h-bg));width:100%;height:100%;min-height:194px}.watch-image-fallback{color:var(--h-text-dim);letter-spacing:.12em;place-items:center;font:500 .7rem Fraunces,serif;display:grid}.watch-card-content{min-width:0;padding:14px}.watch-card-topline{color:var(--h-text-dim);justify-content:space-between;gap:8px;font-size:.72rem;display:flex}.watch-kind{text-transform:uppercase;letter-spacing:.08em}.watch-rating{color:var(--h-accent)}.watch-card h2{margin:9px 0 2px;font:500 1.2rem Fraunces,serif}.watch-year,.watch-summary,.watch-added{color:var(--h-text-dim);margin:0;line-height:1.45;font-size:.78rem!important}.watch-summary{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:8px;display:-webkit-box;overflow:hidden}.watch-added{margin-top:10px;font-size:.7rem!important}.watch-card-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.watch-check{color:var(--h-text-dim);cursor:pointer;font-size:.76rem}.watch-check input{accent-color:var(--h-accent)}.watch-card-actions button{color:var(--h-danger);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.76rem}.watch-card.is-watched{opacity:.62}.watch-card.is-watched h2{text-decoration:line-through}.watch-empty,.watch-status{padding:16px 0}@media (width<=620px){.watch-search{grid-template-columns:1fr}.watch-type{justify-content:center}.watch-type button{flex:1}}.travel-page{max-width:1120px;margin:0 auto}.travel-hero{justify-content:space-between;align-items:flex-end;gap:30px;padding-bottom:34px;display:flex}.travel-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--h-accent)!important;font-size:.76rem!important}.travel-hero h1{margin-bottom:8px}.travel-stats{border-left:1px solid var(--h-line);grid-template-columns:auto auto;align-items:center;gap:2px 9px;min-width:170px;padding-left:20px;display:grid}.travel-stats strong{color:var(--h-accent);font:500 1.7rem Fraunces,serif}.travel-stats span{color:var(--h-text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;line-height:1.1}.travel-map-wrap{border:1px solid var(--h-line);position:relative;overflow:hidden}.travel-map{background:#d5e0dd;height:390px}.map-caption{z-index:400;background:color-mix(in srgb, var(--h-bg) 88%, transparent);color:var(--h-text-dim);padding:5px 8px;font-size:.7rem;position:absolute;bottom:12px;left:12px}.travel-layout{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:34px;margin-top:42px;display:grid}.travel-section-title h2,.travel-form h2,.travel-log-form h2{margin:0 0 16px;font:500 1.55rem Fraunces,serif}.trip-list{gap:12px;display:grid}.trip-card{border:1px solid var(--h-line);cursor:pointer;padding:17px;transition:border-color .15s,background .15s}.trip-card:hover,.trip-card.is-selected{border-color:var(--h-accent);background:color-mix(in srgb, var(--h-accent) 7%, transparent)}.trip-card.is-visited{opacity:.72}.trip-card-topline{color:var(--h-text-dim);justify-content:space-between;gap:12px;font-size:.72rem;display:flex}.trip-status{color:var(--h-accent);text-transform:uppercase;letter-spacing:.07em}.trip-card h3{margin:12px 0 2px;font:500 1.3rem Fraunces,serif}.trip-place{color:var(--h-text);margin:0}.trip-dates,.trip-description{color:var(--h-text-dim);margin:9px 0 0;line-height:1.5;font-size:.84rem!important}.trip-added{color:var(--h-text-dim);margin:10px 0 0;font-size:.7rem!important}.trip-actions{gap:14px;margin-top:15px;display:flex}.trip-actions button{color:var(--h-accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.78rem}.trip-actions .trip-remove{color:var(--h-danger)}.travel-form,.travel-log-form{border:1px solid var(--h-line);background:color-mix(in srgb, var(--h-text) 4%, transparent);padding:18px}.travel-log-form{margin-top:16px}.travel-form input,.travel-form textarea,.travel-form select,.travel-log-form input,.travel-log-form textarea{border:1px solid var(--h-line);width:100%;color:var(--h-text);font:inherit;background:0 0;margin-bottom:10px;padding:10px}.travel-form textarea,.travel-log-form textarea{resize:vertical;min-height:90px}.travel-form select option{background:var(--h-bg)}.travel-date-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.travel-date-row label{color:var(--h-text-dim);font-size:.75rem}.travel-date-row input{margin-top:4px}.travel-form button,.travel-log-form button{background:var(--h-accent);width:100%;color:var(--h-bg);font:inherit;cursor:pointer;border:0;padding:11px;font-weight:600}.travel-status{color:var(--h-danger)!important;margin-top:12px!important;font-size:.8rem!important}.travel-empty{color:var(--h-text-dim);padding:25px 0}.travel-journal{margin-top:44px}.journal-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.journal-entry{border-top:2px solid var(--h-accent);background:color-mix(in srgb, var(--h-text) 4%, transparent);padding:14px}.journal-entry time,.journal-entry small{color:var(--h-text-dim);font-size:.75rem}.journal-entry p{white-space:pre-wrap;margin:12px 0;line-height:1.55}@media (width<=760px){.travel-hero{flex-direction:column;align-items:flex-start}.travel-stats{border-left:0;border-top:1px solid var(--h-line);padding:12px 0 0}.travel-layout{grid-template-columns:1fr}.travel-map{height:300px}}
