:root{--paper:#f3e3c8;--paper-deep:#e6cfa6;--paper-fold:#ddc090;--ink:#2e1f12;--ink-soft:#6a4f36;--ink-faint:rgba(var(--ink-rgb),0.45);--marker:#1f140a;--rose:#b53b48;--rose-deep:#842736;--terracotta:#b04a2f;--terracotta-d:#82331c;--gold:#b88340;--photo-frame:#fdf6e5;--photo-shadow:rgba(70,40,20,0.22);--thread:#2a1a10;--rule:rgba(var(--ink-rgb),0.18);--ink-rgb:46,31,18;--card:#fdf6e5;--card-soft:rgba(253,246,229,0.5);--surface:#fff;--surface-soft:rgba(255,255,255,0.45);--glow-a:rgba(255,240,210,0.85);--glow-b:rgba(180,80,45,0.2);--grain:url(/grain.png);--veil:none;--money-in:#8f6224;--money-out:var(--terracotta);--focus-ring:rgba(176,74,47,0.18);--stamp-bf:#2f5a7a;--stamp-gf:#b53b48;--stamp-ice:#5b93bd;--stamp-steam:#c9772e;color-scheme:light;--ease-out:cubic-bezier(0.2,0.7,0.2,1);--ease-soft:cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box}body,html{padding:0;margin:0}body{overflow-x:hidden;overflow-x:clip}html{scroll-behavior:smooth}body{background-color:var(--paper);background-image:var(--grain),var(--veil),radial-gradient(ellipse 80% 60% at 18% 12%,var(--glow-a),transparent 60%),radial-gradient(ellipse 70% 60% at 88% 92%,var(--glow-b),transparent 65%),radial-gradient(ellipse 60% 50% at 50% 60%,rgba(120,70,30,.05),transparent 80%);background-size:80px 80px,auto,auto,auto,auto;background-attachment:fixed;color:var(--ink);font-family:var(--font-display),"Iowan Old Style",Georgia,serif;font-feature-settings:"ss01","ss02","kern";font-variation-settings:"opsz" 14,"SOFT" 50;font-size:18px;line-height:1.55;min-height:100vh;letter-spacing:.005em}::selection{background:rgba(181,59,72,.25);color:var(--ink)}.signout{display:flex;justify-content:center;margin:56px 0 -100px}.signout button{background:none;border:none;padding:6px 10px;font-family:var(--font-hand),cursive;font-size:1.05rem;color:var(--ink-soft);cursor:pointer;opacity:.6;transition:opacity .2s var(--ease-out)}.signout button:focus-visible,.signout button:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}a{color:var(--terracotta);text-decoration:none}a:hover{color:var(--terracotta-d)}button{font:inherit;color:inherit}h1,h2,h3{font-family:var(--font-display),serif;font-weight:500;letter-spacing:-.012em;line-height:1.05;margin:0}h1{font-size:clamp(2.6rem,5.6vw,4.4rem);font-variation-settings:"opsz" 144,"SOFT" 30;font-weight:500}h2{font-size:clamp(1.7rem,3vw,2.4rem);font-variation-settings:"opsz" 72,"SOFT" 40}.italic-title{font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100}.hand{font-family:var(--font-hand),"Caveat",cursive;font-weight:500}.page{position:relative;max-width:none;margin:0 auto;padding:56px max(clamp(20px,4vw,72px),env(safe-area-inset-right)) 140px max(clamp(20px,4vw,72px),env(safe-area-inset-left))}.entry-page .chapter,.entry-page .footer-actions{max-width:1180px;margin-left:auto;margin-right:auto}.masthead{position:relative;text-align:center;padding:28px 0 36px;margin-bottom:60px;border-bottom:1px solid var(--rule)}.masthead:after,.masthead:before{content:"";position:absolute;bottom:-1px;height:4px;width:80px;background:var(--rule)}.masthead:before{left:0}.masthead:after{right:0}.masthead-lights{position:absolute;top:22px;right:0}.masthead .brand{display:inline-block;text-align:center;color:inherit}.masthead .brand-mark{display:block;font-family:var(--font-hand),cursive;font-size:1.05rem;letter-spacing:.32em;color:var(--ink-soft);text-transform:uppercase;margin-bottom:2px}.brand-oops{position:relative;display:inline-block;opacity:.75}.brand-scribble{position:absolute;left:-.2em;width:calc(100% + .25em);top:50%;height:.8em;transform:translateY(-50%) rotate(-5deg);overflow:visible;pointer-events:none}.brand-scribble path{fill:none;stroke:var(--rose);stroke-width:1.8;stroke-linecap:round;stroke-dasharray:1.02;stroke-dashoffset:0}.brand-scribble path+path{stroke-width:1.3}[data-lights=off] .brand-scribble path{stroke:#e8828d}.brand-fix{display:inline-block;margin:0 .05em 0 .2em;font-weight:700;font-size:1.4em;letter-spacing:.02em;line-height:0;color:var(--rose);transform:rotate(-9deg) translateY(-.12em)}[data-lights=off] .brand-fix{color:#e8828d}@media (prefers-reduced-motion:no-preference){html:not([data-date-fixed]) .brand-oops{animation:date-dim .3s .55s both}html:not([data-date-fixed]) .brand-scribble path{animation:date-draw .55s ease-in-out .25s both}html:not([data-date-fixed]) .brand-scribble path+path{animation-delay:.6s;animation-duration:.25s}html:not([data-date-fixed]) .brand-fix{animation:date-write .35s cubic-bezier(.3,1.6,.5,1) .85s both}html:not([data-date-fixed]) [aria-busy=true] .brand-mark{visibility:hidden}}@keyframes date-draw{0%{stroke-dashoffset:1.02}}@keyframes date-dim{0%{opacity:1}}@keyframes date-write{0%{opacity:0;transform:rotate(-9deg) translateY(-.12em) scale(.4)}}.masthead .brand-line{display:block;font-family:var(--font-display),serif;font-variation-settings:"opsz" 60,"SOFT" 30;font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:500;letter-spacing:.02em;color:var(--ink-soft);margin-bottom:2px}.masthead .brand-title{font-family:var(--font-display),serif;font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100;font-size:clamp(2rem,4.4vw,3.2rem);font-weight:500;line-height:1;letter-spacing:-.018em}.masthead .brand-sub{display:block;margin-top:8px;font-size:1.25rem}.masthead .brand-sub,.masthead .nav-link{font-family:var(--font-hand),cursive;color:var(--ink-soft)}.masthead .nav-link{font-size:1.2rem}.masthead .nav-link:hover{color:var(--terracotta-d)}.add-glyph{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(var(--ink-rgb),.35);font-family:var(--font-display),serif;font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100;font-size:1.6rem;line-height:1;color:var(--ink);text-decoration:none;background:transparent;transition:background .2s var(--ease-out),color .2s var(--ease-out),transform .2s var(--ease-out)}button.add-glyph{padding:0;cursor:pointer}.add-glyph:hover{background:var(--ink);color:var(--paper);transform:rotate(90deg);text-decoration:none}a.add-glyph[title=Edit]:hover{transform:none}.add-glyph svg,.wire-head .edit-pencil svg{display:block}.wire-head .edit-pencil{display:inline-flex;align-items:center}.masthead .ornament{font-family:var(--font-display),serif;color:var(--ink-faint);font-size:1.1rem;letter-spacing:.5em}.site-dock-tab.is-here>span:after,.site-row-link.is-here>span:after{content:"";position:absolute;left:-3px;right:-3px;bottom:-1px;height:6px;background:var(--rose);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 8' preserveAspectRatio='none'%3E%3Cpath d='M2 5.5C22 3 48 6.5 70 4s20-1 28-.5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center /100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 8' preserveAspectRatio='none'%3E%3Cpath d='M2 5.5C22 3 48 6.5 70 4s20-1 28-.5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center /100% 100% no-repeat;opacity:.8}.site-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 30px;margin-top:22px}.site-row-link{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-hand),cursive;font-size:1.3rem;line-height:1.2;color:var(--ink-soft);text-decoration:none;transition:color .2s var(--ease-out)}.site-row-link svg{width:20px;height:20px;flex:none;transition:transform .26s var(--ease-out)}.site-row-link>span{position:relative}.site-row-link:hover{color:var(--terracotta-d);text-decoration:none}.site-row-link:hover svg{transform:rotate(-8deg) scale(1.08)}.site-row-link.is-here{color:var(--ink)}.site-row-add{display:inline-flex;padding-left:26px;border-left:1px solid var(--rule)}.site-row-add:empty{display:none}.site-row-add .add-glyph{width:34px;height:34px}.site-dock{display:none}@media (max-width:720px){.site-row{display:none}body:has(.site-dock){--dock-space:calc(62px + env(safe-area-inset-bottom));padding-bottom:var(--dock-space)}.piggy-toast{bottom:calc(var(--dock-space, 0px) + 14px)}.site-dock{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;padding:7px max(6px,env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 5px) max(6px,env(safe-area-inset-left));background:var(--card);border-top:1px solid var(--rule);box-shadow:0 -8px 24px rgba(60,35,15,.08);view-transition-name:site-dock}[data-lights=off] .site-dock{box-shadow:0 -8px 24px rgba(0,0,0,.35)}.site-dock-tab{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0;width:100%;padding:2px 0 0;border:0;background:none;font:inherit;font-family:var(--font-hand),cursive;font-size:1.02rem;line-height:1.2;color:var(--ink-soft);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.site-dock-tab svg{width:25px;height:25px;transition:transform .22s var(--ease-out)}.site-dock-tab>span{position:relative;white-space:nowrap}.site-dock-tab:active svg{transform:scale(.88)}.site-dock-tab.is-here{color:var(--ink)}.site-dock-tab.is-here svg{transform:rotate(-6deg)}.site-dock-add{display:flex;justify-content:center;align-self:start}.site-dock-add .add-glyph{width:54px;height:54px;margin-top:-26px;border:4px solid var(--card);background:var(--rose);color:#fff;box-shadow:0 6px 14px rgba(132,39,54,.32)}.site-dock-add .add-glyph svg{width:24px;height:24px}.site-dock-add .add-glyph:hover{background:var(--rose-deep);color:#fff}.site-dock-more{position:relative;display:flex}.site-dock-sheet{position:absolute;right:2px;bottom:calc(100% + 14px);min-width:178px;padding:6px;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--rule);border-radius:16px;box-shadow:0 14px 34px rgba(60,35,15,.2);transform-origin:85% 100%;animation:dock-sheet-in .2s var(--ease-out)}[data-lights=off] .site-dock-sheet{box-shadow:0 14px 34px rgba(0,0,0,.5)}.site-dock-sheet-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;font-family:var(--font-hand),cursive;font-size:1.3rem;line-height:1.1;color:var(--ink-soft);text-decoration:none}.site-dock-sheet-link>span{position:relative}.site-dock-sheet-link:active{background:var(--card-soft)}.site-dock-sheet-link.is-here{color:var(--ink);background:rgba(var(--ink-rgb),.06)}}@keyframes dock-sheet-in{0%{opacity:0;transform:translateY(6px) scale(.96)}}.postage{position:relative;display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display),serif;font-weight:600;font-variation-settings:"opsz" 60,"SOFT" 30;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);text-decoration:none;background:radial-gradient(circle at 50% 50%,transparent 1.6px,rgba(var(--ink-rgb),.1) 2px,transparent 2.4px) 0 0/9px 9px,var(--card);padding:12px 20px;border:1.5px dashed rgba(var(--ink-rgb),.3);outline:4px solid var(--card);outline-offset:-1px;cursor:pointer;transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out);box-shadow:0 1px 0 rgba(var(--ink-rgb),.06),0 6px 14px rgba(70,40,20,.14)}.postage:before{content:"";position:absolute;inset:6px;border:1px solid rgba(var(--ink-rgb),.14);pointer-events:none}.postage:hover{transform:translateY(-2px) rotate(-.6deg);box-shadow:0 1px 0 rgba(var(--ink-rgb),.06),0 12px 22px rgba(70,40,20,.18);text-decoration:none}.postage .crest{font-family:var(--font-display),serif;font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100;font-size:1.1rem;letter-spacing:0;color:var(--terracotta);text-transform:none;line-height:1}.postage.sealed{color:#ffeed4;background:radial-gradient(circle at 50% 50%,transparent 1.6px,rgba(255,255,255,.16) 2px,transparent 2.4px) 0 0/9px 9px,linear-gradient(135deg,var(--rose),var(--rose-deep));border-color:rgba(255,220,200,.65);outline-color:var(--rose-deep);text-shadow:0 1px 0 rgba(60,10,15,.35)}.postage.sealed:before{border-color:rgba(255,220,200,.3)}.postage.sealed .crest{color:#ffe8c5}.ornament{text-align:center;font-family:var(--font-display),serif;font-size:1.4rem;letter-spacing:.6em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ornament,.ornament-line{color:var(--ink-faint);margin:56px 0}.ornament-line{display:flex;align-items:center;justify-content:center;gap:22px}.ornament-line:after,.ornament-line:before{content:"";flex:1 1;max-width:110px;height:1px;background:var(--rule)}.ornament-line .glyph{font-family:var(--font-display),serif;font-size:1.4rem;letter-spacing:.4em}.wire-section .wire{content-visibility:auto;contain-intrinsic-size:auto 545px}@media (max-width:480px){.wire-section .wire{contain-intrinsic-size:auto 431px}}.wire-section{position:relative;margin:36px 0;animation:rise .7s var(--ease-out) backwards}.wire-section:first-child{animation-delay:60ms}.wire-section:nth-child(2){animation-delay:.16s}.wire-section:nth-child(3){animation-delay:.26s}.wire-section:nth-child(4){animation-delay:.36s}.wire-section:nth-child(5){animation-delay:.46s}.wire-section:nth-child(n+6){animation-delay:.54s}@keyframes rise{0%{opacity:0}}.wire-head{display:grid;grid-template-columns:auto 1fr auto auto;align-items:baseline;grid-gap:18px;gap:18px;padding:0 6px 14px}.wire-head .edit-pencil{font-family:var(--font-display),serif;font-size:1.05rem;color:var(--ink-soft);opacity:.55;transition:opacity .2s var(--ease-out),color .2s var(--ease-out);text-decoration:none;letter-spacing:.02em}.wire-head .edit-pencil:hover{opacity:1;color:var(--terracotta-d)}@media (max-width:720px){.wire-head{grid-template-columns:auto 1fr auto;gap:12px}.wire-head .edit-pencil{display:none}}.wire-head .chapter-no{font-family:var(--font-hand),cursive;color:var(--ink-faint);font-size:1.1rem;letter-spacing:.05em;white-space:nowrap}.wire-head .title-link{font-family:var(--font-display),serif;font-style:italic;font-variation-settings:"opsz" 96,"SOFT" 80;font-size:clamp(1.7rem,2.8vw,2.4rem);color:var(--ink);font-weight:500;letter-spacing:-.012em}.wire-head .title-link:hover{color:var(--terracotta-d);text-decoration:none}.wire-head .date{font-family:var(--font-hand),cursive;color:var(--ink-soft);font-size:1.35rem;white-space:nowrap}.wire{position:relative;padding:0;overflow:visible;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.wire-line{height:8px;z-index:1}.wire-lights,.wire-line{position:absolute;top:24px;left:0;right:0;pointer-events:none}.wire-lights{height:12px;list-style:none;margin:0;padding:0;z-index:60}.wire-glow{--glow:rgba(255,211,125,0.45),rgba(253,202,110,0.2) 6px,rgba(255,159,53,0.094) 12px,rgba(255,128,32,0.031) 20px,rgba(255,120,20,0.008) 30px,transparent 45px;position:absolute;top:calc(var(--bulb-y, 26.5px) - 176.5px);left:0;right:0;height:400px;background-image:radial-gradient(circle 200px at calc(100% / 15) 176.5px,var(--glow)),radial-gradient(circle 200px at calc(200% / 15) 176.5px,var(--glow)),radial-gradient(circle 200px at calc(300% / 15) 176.5px,var(--glow)),radial-gradient(circle 200px at calc(400% / 15) 176.5px,var(--glow)),radial-gradient(circle 200px at calc(500% / 15) 176.5px,var(--glow)),radial-gradient(circle 200px at calc(600% / 15) 176.5px,var(--glow)),radial-gradient(circle 200px at calc(700% / 15) 176.5px,var(--glow)),radial-gradient(circle 200px at calc(800% / 15) 176.5px,var(--glow)),radial-gradient(circle 200px at calc(900% / 15) 176.5px,var(--glow)),radial-gradient(circle 200px at calc(1000% / 15) 176.5px,var(--glow)),radial-gradient(circle 200px at calc(1100% / 15) 176.5px,var(--glow)),radial-gradient(circle 200px at calc(1200% / 15) 176.5px,var(--glow)),radial-gradient(circle 200px at calc(1300% / 15) 176.5px,var(--glow)),radial-gradient(circle 200px at calc(1400% / 15) 176.5px,var(--glow));pointer-events:none;z-index:0}[data-lights=off] .wire-glow{--glow:rgba(255,225,150,0.5),rgba(255,215,140,0.35) 6px,rgba(255,195,103,0.32) 12px,rgba(255,172,78,0.2) 20px,rgba(250,153,60,0.13) 30px,rgba(255,128,28,0.07) 45px,rgba(255,121,24,0.04) 65px,rgba(255,100,20,0.02) 90px,rgba(255,95,10,0.008) 120px,rgba(255,90,0,0.003) 160px,transparent}.wire-wrap{position:relative}.wire-wrap>.wire-glow{left:calc(50% - 50vw);right:auto;width:100vw}.wire-lights li{position:absolute;top:-1px;width:7px;height:7px;border-radius:50%;background:#fff2b8;box-shadow:0 0 4px 1px rgba(255,215,130,.85);transform:translateX(-50%);animation-name:twinkle;animation-iteration-count:infinite;animation-timing-function:ease-in-out}@keyframes twinkle{0%,36%,44%,70%,76%,to{opacity:.92}39%{opacity:.5}41%{opacity:1}72%{opacity:.74}74%{opacity:1}}@keyframes star-twinkle{0%,to{opacity:.4}50%{opacity:1}}.room-footer{position:relative;width:100%;height:clamp(220px,22vw,300px);overflow:hidden;content-visibility:auto;contain-intrinsic-size:auto 300px;pointer-events:none;display:block}.room-floor{left:0;right:0;height:22%;background:radial-gradient(ellipse at 50% 100%,rgba(70,40,20,.2) 0,rgba(70,40,20,.1) 30%,transparent 70%)}.room-floor,.room-lamp{position:absolute;bottom:0}.room-lamp{left:6%;width:clamp(220px,30%,420px);height:100%;background:radial-gradient(circle at 50% 70%,rgba(255,215,138,.55) 0,rgba(255,175,95,.28) 35%,rgba(255,145,60,0) 70%)}.room-twinkles{position:absolute;inset:0;list-style:none;margin:0;padding:0;--twinkle-halo:rgba(255,210,130,0.22),transparent 14px}[data-lights=off] .room-twinkles{--twinkle-halo:rgba(255,215,140,0.5),rgba(255,185,95,0.2) 6px,rgba(255,160,70,0.06) 13px,transparent 20px}.room-twinkles li{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff2b8;box-shadow:0 0 5px 2px rgba(255,215,130,.6);animation:star-twinkle 9s ease-in-out infinite}.bed-bg{position:absolute;inset:0;width:100%;height:100%;display:block}.bed-tufts{left:0;right:0;bottom:32%;height:30%;background-image:radial-gradient(circle 3px at 30px 25%,rgba(40,10,12,.3),transparent 70%),radial-gradient(circle 3px at 30px 75%,rgba(40,10,12,.3),transparent 70%);background-size:60px 100%;background-repeat:repeat-x;background-position:0 0;opacity:.85}.bed-figures,.bed-tufts{position:absolute;pointer-events:none}.bed-figures{bottom:0;left:50%;transform:translateX(-50%);height:100%;width:auto;max-width:calc(100% - 24px);display:block}.bed-figures .bed-lights>g{animation:twinkle 12s ease-in-out infinite}.room-footer.is-still *,.room-footer.is-still :after,.room-footer.is-still :before{animation-play-state:paused!important}.bed-figures .bed-lights>g:nth-child(2){animation-delay:1.7s;animation-duration:11s}.bed-figures .bed-lights>g:nth-child(3){animation-delay:3.4s;animation-duration:13s}.bed-figures .bed-lights>g:nth-child(4){animation-delay:5.1s;animation-duration:10s}.bed-figures .bed-lights>g:nth-child(5){animation-delay:6.8s;animation-duration:14s}.bed-figures .bed-lights>g:nth-child(6){animation-delay:8.5s;animation-duration:12s}.bed-figures .bed-lights>g:nth-child(7){animation-delay:.9s;animation-duration:15s}.wire-photos{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;gap:18px;padding:60px 12px 58px;align-items:flex-start;scrollbar-width:thin;position:relative;z-index:2;scroll-padding-left:12px}.wire-photos.preview{flex-wrap:wrap;justify-content:center;align-items:flex-start;overflow-x:hidden;scroll-snap-type:none;padding-bottom:36px}.wire-photos.preview .photo{scroll-snap-align:none}.wire-photos::-webkit-scrollbar{height:6px}.wire-photos::-webkit-scrollbar-thumb{background:rgba(var(--ink-rgb),.18);border-radius:3px}.wire-photos::-webkit-scrollbar-track{background:transparent}.photo{--ink-rgb:46,31,18;position:relative;background:var(--photo-frame);padding:12px 12px 38px;border:1px solid rgba(70,40,20,.1);box-shadow:inset 0 0 0 1px rgba(255,250,240,.6),0 1px 0 rgba(var(--ink-rgb),.04),0 14px 26px var(--photo-shadow),0 4px 8px rgba(0,0,0,.06);flex:0 0 auto;scroll-snap-align:start;transform-origin:top center;transition:transform .28s var(--ease-out),box-shadow .28s var(--ease-out);cursor:default}.photo .img-wrap{cursor:-webkit-grab;cursor:grab}.photo .img-wrap:active{cursor:-webkit-grabbing;cursor:grabbing}.photo:hover{transform:rotate(var(--tilt,0deg)) translateY(-5px) scale(1.012);box-shadow:inset 0 0 0 1px rgba(255,250,240,.6),0 1px 0 rgba(var(--ink-rgb),.04),0 22px 34px var(--photo-shadow),0 6px 12px rgba(0,0,0,.08)}.photo .img-wrap{width:240px;height:240px;background:#d4c0a0;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:inset 0 0 0 1px rgba(var(--ink-rgb),.06)}.photo img{width:100%;height:100%;object-fit:cover;display:block}.photo .img-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 65%,rgba(40,20,0,.18))}.photo.size-tall .img-wrap{height:300px;width:220px}.photo.size-wide .img-wrap{height:200px;width:290px}.caption-write{display:block;margin-top:14px;text-align:center;width:0;min-width:100%}.caption,.marker-write{display:block;width:100%;font-weight:700;font-size:1.22rem;letter-spacing:.005em;color:var(--marker);text-align:center;line-height:1.1;transform:rotate(var(--cap-tilt,-1deg));text-shadow:0 0 .4px var(--marker);background:transparent;outline:none;padding:2px 4px;min-height:1.2em;caret-color:var(--terracotta);border:none;border-bottom:1px dashed transparent;transition:border-color .2s var(--ease-out);white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;resize:none;overflow:hidden;font-family:var(--font-hand),cursive}button.caption{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;cursor:text}textarea.caption,textarea.marker-write{font-family:var(--font-hand),cursive}.marker-write::placeholder{color:transparent;font-weight:400;font-size:.95rem;font-style:italic}.photo:hover .marker-write::placeholder{color:rgba(var(--ink-rgb),.22)}.marker-write:focus::placeholder{color:rgba(var(--ink-rgb),.32)}.photo:hover .marker-write{border-bottom-color:rgba(var(--ink-rgb),.14)}.marker-write:focus{border-bottom-color:rgba(var(--ink-rgb),.4);caret-color:var(--terracotta)}.pin,.tape{display:block;background:50%/100% 100% no-repeat}.pin{background-image:url(/pin.svg)}.tape-rose{background-image:url(/tape-rose.svg)}.tape-kraft{background-image:url(/tape-kraft.svg)}.tape-dotted{background-image:url(/tape-dotted.svg)}.tape-stripe{background-image:url(/tape-stripe.svg)}.photo .pin{position:absolute;top:-32px;left:50%;transform:translateX(-50%) rotate(var(--pin-tilt,0deg));width:26px;height:40px;z-index:3}.photo .tape{position:absolute;pointer-events:none;width:78px;height:22px;z-index:4;opacity:.7}.photo .tape.tl{top:-10px;left:-16px;transform:rotate(-32deg)}.photo .tape.tr{top:-10px;right:-16px;transform:rotate(32deg)}.photo .tape.bl{bottom:6px;left:-14px;transform:rotate(28deg)}.photo .tape.br{bottom:6px;right:-14px;transform:rotate(-28deg)}.entry-page .chapter{text-align:center;margin:40px auto 24px;max-width:760px}.entry-page .chapter-mark{display:block;font-family:var(--font-hand),cursive;font-size:1.05rem;letter-spacing:.32em;color:var(--ink-soft);text-transform:uppercase;margin-bottom:12px}.entry-page .chapter h1{font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100;font-weight:500}.entry-page .chapter .date{display:block;margin-top:14px;font-family:var(--font-hand),cursive;font-size:1.6rem;color:var(--ink-soft)}.entry-page .chapter .rule{display:flex;align-items:center;justify-content:center;gap:14px;margin:22px auto 0;color:var(--ink-faint)}.entry-page .chapter .rule:after,.entry-page .chapter .rule:before{content:"";width:60px;height:1px;background:var(--rule)}.entry-page .hero-wire{margin:28px 0 56px}.entry-page .story{max-width:660px;margin:32px auto;padding:0 8px;font-family:var(--font-display),serif;font-variation-settings:"opsz" 14,"SOFT" 60;font-size:1.13rem;line-height:1.78;color:var(--ink)}.entry-page .story:first-letter{font-family:var(--font-display),serif;font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100;font-size:3.4em;float:left;line-height:.9;margin:.08em .08em 0 0;color:var(--terracotta)}.entry-page .story p{margin:0 0 1em}.entry-page .story p:last-child{margin-bottom:0}.entry-page .end-mark{display:block;text-align:center;margin:36px auto 0;color:var(--ink-faint);font-size:1.6rem;letter-spacing:.4em}.entry-page .footer-actions{display:flex;gap:18px;margin:48px auto 0;flex-wrap:wrap;justify-content:center;align-items:center}.back-link{font-family:var(--font-hand),cursive;font-size:1.25rem;color:var(--ink-soft);display:inline-flex;align-items:center;gap:6px}.back-link:hover{color:var(--terracotta-d)}.entry-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.signin-screen{min-height:100vh;display:grid;place-items:center;padding:32px;position:relative;z-index:1}.envelope{position:relative;background:var(--card);width:min(440px,100%);padding:60px 44px 48px;box-shadow:inset 0 0 0 1px rgba(var(--ink-rgb),.1),inset 0 0 0 4px var(--card),inset 0 0 0 5px rgba(var(--ink-rgb),.1),0 28px 60px rgba(70,40,20,.2),0 4px 10px rgba(0,0,0,.06);transform:rotate(-.4deg);border-radius:1px}.envelope:before{content:"";position:absolute;inset:10px;border:1px dashed rgba(var(--ink-rgb),.22);pointer-events:none}.envelope .seal{position:absolute;top:-28px;left:50%;transform:translateX(-50%) rotate(-6deg);z-index:2}.envelope .postmark{position:absolute;top:14px;right:12px;width:86px;height:86px;opacity:.4;pointer-events:none}.envelope .heading{text-align:center;margin:18px 0 6px}.envelope .heading .eyebrow{font-family:var(--font-hand),cursive;letter-spacing:.32em;text-transform:uppercase;font-size:.92rem;color:var(--ink-soft)}.envelope .heading h1{font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100;font-size:2.2rem;margin:4px 0 6px;line-height:1.05}.envelope .heading .sub{font-family:var(--font-hand),cursive;color:var(--ink-soft);font-size:1.25rem}.envelope .field{margin-top:18px}.envelope label{display:block;font-family:var(--font-hand),cursive;font-size:1rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}.envelope input[type=password],.envelope input[type=text]{width:100%;padding:10px 4px;font-family:var(--font-display),serif;font-variation-settings:"opsz" 14;font-size:1.1rem;background:transparent;border:none;border-bottom:1px solid rgba(var(--ink-rgb),.45);color:var(--ink);outline:none;transition:border-color .2s var(--ease-out)}.envelope input:focus{border-bottom-color:var(--terracotta)}.envelope .open-letter{margin-top:28px;width:100%;padding:14px 16px;font-family:var(--font-display),serif;font-weight:600;font-variation-settings:"opsz" 60;letter-spacing:.28em;text-transform:uppercase;font-size:.84rem;background:var(--ink);color:var(--paper);border:none;cursor:pointer;transition:background .2s var(--ease-out)}.envelope .open-letter:hover{background:var(--terracotta-d)}.envelope .error{text-align:center;color:var(--rose);font-family:var(--font-hand),cursive;font-size:1.15rem;margin-top:14px;min-height:1.4em}.envelope .corner{position:absolute;width:70px;height:70px;pointer-events:none;opacity:.6}.envelope .corner.bl{bottom:0;left:0}.envelope .corner.br{bottom:0;right:0;transform:scaleX(-1)}.form-page{margin:0 auto}.notebook{position:relative;background:linear-gradient(to right,transparent 0,transparent 60px,rgba(181,59,72,.18) 60px,rgba(181,59,72,.18) 61px,transparent 61px),repeating-linear-gradient(to bottom,var(--card) 0,var(--card) 31px,rgba(var(--ink-rgb),.08) 32px);border:1px solid rgba(var(--ink-rgb),.14);padding:40px 36px 36px 76px;box-shadow:0 1px 0 rgba(var(--ink-rgb),.06),0 22px 48px rgba(70,40,20,.16)}.notebook:before{content:"";position:absolute;top:24px;bottom:24px;left:28px;width:14px;background-image:radial-gradient(circle at 7px 7px,rgba(var(--ink-rgb),.18) 2px,transparent 2.4px);background-size:14px 26px;background-repeat:repeat-y}.notebook .form-eyebrow{font-family:var(--font-hand),cursive;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);font-size:.92rem;margin-bottom:6px}.notebook h1{font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100;font-size:clamp(2rem,4vw,2.8rem);margin-bottom:24px}.form-page form{display:flex;flex-direction:column;gap:22px}.form-page .field-row{display:flex;flex-direction:column;gap:6px}.date-pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:22px;gap:22px}@media (max-width:520px){.date-pair{grid-template-columns:1fr}}.form-page label{font-family:var(--font-hand),cursive;font-size:1.18rem;color:var(--ink-soft);letter-spacing:.02em;transform:rotate(-.4deg);display:inline-block}.form-page input[type=date],.form-page input[type=text],.form-page input[type=url],.form-page textarea{width:100%;padding:8px 4px 6px;font-family:var(--font-display),serif;font-variation-settings:"opsz" 14;font-size:1.1rem;background:transparent;border:none;border-bottom:1px solid rgba(var(--ink-rgb),.38);color:var(--ink);outline:none;transition:border-color .2s var(--ease-out)}.form-page textarea{min-height:220px;line-height:1.78;resize:vertical;border:1px solid rgba(var(--ink-rgb),.18);padding:14px 16px;background:var(--card-soft)}.form-page input:focus,.form-page textarea:focus{border-color:var(--terracotta)}.form-page .file-area{border:1.5px dashed rgba(var(--ink-rgb),.32);padding:22px;background:var(--card-soft);display:flex;flex-direction:column;gap:18px}.form-page .file-area .hint{font-family:var(--font-hand),cursive;font-size:1.18rem;color:var(--ink-soft)}.form-page input[type=file]{font-family:inherit;font-size:.95rem;color:var(--ink-soft);max-width:100%}.form-page input[type=file]::-webkit-file-upload-button{margin-right:12px;padding:8px 14px;border:1px solid rgba(var(--ink-rgb),.25);border-radius:999px;background:var(--card);color:var(--ink);font-family:var(--font-display),serif;font-size:.9rem;cursor:pointer;-webkit-transition:background .2s var(--ease-out),border-color .2s var(--ease-out);transition:background .2s var(--ease-out),border-color .2s var(--ease-out)}.form-page input[type=file]::file-selector-button{margin-right:12px;padding:8px 14px;border:1px solid rgba(var(--ink-rgb),.25);border-radius:999px;background:var(--card);color:var(--ink);font-family:var(--font-display),serif;font-size:.9rem;cursor:pointer;transition:background .2s var(--ease-out),border-color .2s var(--ease-out)}.form-page input[type=file]::-webkit-file-upload-button:hover{border-color:var(--terracotta)}.form-page input[type=file]::file-selector-button:hover{border-color:var(--terracotta)}.form-page .actions{display:flex;gap:18px;align-items:center;margin-top:8px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.form-page .dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:150px;padding:22px;border:1.5px dashed rgba(var(--ink-rgb),.3);border-radius:14px;background:var(--card-soft);color:var(--ink-soft);cursor:pointer;transform:none!important;transition:border-color .2s var(--ease-out),background .2s var(--ease-out),color .2s var(--ease-out)}.form-page .dropzone.is-dragging,.form-page .dropzone:hover{border-color:var(--terracotta);color:var(--terracotta);background:var(--focus-ring)}.dropzone:focus-within{outline:2px solid var(--terracotta);outline-offset:3px}.dropzone.is-full{opacity:.5;pointer-events:none}.dropzone-title{font-family:var(--font-display),serif;font-size:1.1rem;color:var(--ink)}.dropzone-count{font-family:var(--font-hand),cursive;font-size:1.05rem}.preview-remove{position:absolute;top:-10px;right:-10px;width:28px;height:28px;border-radius:50%;border:none;background:var(--ink);color:var(--paper);display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2);z-index:5}.preview-grid:not(:empty){margin-top:18px}.preview-grid{display:flex;flex-wrap:wrap;gap:22px;padding:6px 4px}.preview-photo{cursor:default;padding:10px 10px 14px}.preview-photo:hover{transform:rotate(var(--tilt,0deg))}.preview-photo .img-wrap{width:160px;height:160px}.preview-photo .caption-input{margin-top:8px}.caption-input{width:100%;text-align:center;font-family:var(--font-hand),cursive;font-weight:700;font-size:1.05rem;color:var(--marker);background:transparent;border:none;border-bottom:1px dashed rgba(var(--ink-rgb),.35);padding:4px 2px;outline:none}.caption-input::placeholder{color:rgba(var(--ink-rgb),.32);font-weight:500}.caption-input:focus{border-bottom-color:var(--terracotta)}.caption-form{display:flex;align-items:center;gap:4px;margin-top:8px}.caption-form .caption-input{flex:1 1}.caption-save{background:none;border:none;color:var(--ink-soft);cursor:pointer;font-family:var(--font-display),serif;font-size:1rem;padding:2px 6px}.caption-save:hover{color:var(--terracotta-d)}.danger-link{background:none;border:none;padding:4px 8px;border-radius:999px;cursor:pointer;color:var(--rose);font-family:var(--font-hand),cursive;font-size:1.1rem;transition:background .2s var(--ease-out),color .2s var(--ease-out)}.danger-link:hover{text-decoration:underline}.danger-link.armed{background:var(--rose);color:#fff;text-decoration:none}.empty{text-align:center;padding:80px 0;color:var(--ink-soft);position:relative}.empty .glyph{font-size:2.4rem;color:var(--ink-faint);letter-spacing:.4em;margin-bottom:14px;display:block}.empty .glyph,.empty .invitation{font-family:var(--font-display),serif}.empty .invitation{font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100;font-size:2rem;color:var(--ink);margin-bottom:8px}.empty .note{font-family:var(--font-hand),cursive;font-size:1.4rem;color:var(--ink-soft);margin-bottom:28px}.empty-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px}.error-digest{margin-top:24px;font-size:.8rem;color:var(--ink-faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}html[data-season=autumn]:not([data-season-off]):not([data-lights=off]){--glow-a:rgba(255,228,190,0.85);--glow-b:rgba(196,92,38,0.24)}html[data-season=winter]:not([data-season-off]):not([data-lights=off]){--glow-a:rgba(246,246,250,0.9);--glow-b:rgba(150,165,190,0.2)}html[data-season=spring]:not([data-season-off]):not([data-lights=off]){--glow-a:rgba(255,244,236,0.9);--glow-b:rgba(232,140,165,0.18)}html[data-season=summer]:not([data-season-off]):not([data-lights=off]){--glow-a:rgba(255,238,190,0.95);--glow-b:rgba(230,140,50,0.2)}html[data-season=winter][data-lights=off]:not([data-season-off]){--glow-a:rgba(140,170,230,0.06);--glow-b:rgba(90,110,160,0.12)}.seasonal-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;contain:strict;animation:sl-arrive 2.4s ease-out both}@keyframes sl-arrive{0%{opacity:0}}.sl-back{z-index:1}.sl-front{z-index:45}.sl-p{position:absolute;top:0;animation:sl-fall var(--fall) linear var(--delay) infinite;transform:translateY(-12vh)}.sl-sway{display:block;animation:sl-sway var(--sway-dur) ease-in-out infinite alternate}.sl-spin{display:block;animation:sl-flutter var(--spin-dur) ease-in-out infinite}.sl-p svg{display:block;overflow:visible}.sl-far{opacity:.4}.sl-mid{opacity:.75}.sl-near{opacity:.6}@keyframes sl-fall{0%{transform:translateY(-12vh)}to{transform:translateY(112vh)}}@keyframes sl-sway{0%{transform:translateX(calc(var(--sway) * -1))}to{transform:translateX(var(--sway))}}@keyframes sl-flutter{0%{transform:rotate(-20deg) scale(1)}25%{transform:rotate(10deg) scaleX(.35)}50%{transform:rotate(30deg) scaleX(-.9)}75%{transform:rotate(5deg) scaleX(-.3)}to{transform:rotate(-20deg) scale(1)}}.sl-spring .sl-p{animation-duration:calc(var(--fall) * 1.15)}.sl-spring .sl-spin{animation-name:sl-petal}@keyframes sl-petal{0%,to{transform:rotate(0deg) scale(1)}50%{transform:rotate(80deg) scaleY(-.6)}}.sl-winter .sl-spin{animation:none}.sl-winter .sl-dot{display:block;border-radius:50%;background:radial-gradient(circle,#fff 0,rgba(255,255,255,.85) 45%,rgba(255,255,255,0) 72%);box-shadow:0 0 2px rgba(150,170,200,.25)}html:not([data-lights=off]) .sl-winter .sl-dot{background:radial-gradient(circle,#fff 0,#f4f8ff 40%,rgba(170,190,220,.55) 62%,rgba(255,255,255,0) 74%)}.sl-summer .sl-p{animation:sl-wander var(--fall) ease-in-out var(--delay) infinite alternate;transform:none}.sl-summer .sl-sway{animation-duration:calc(var(--sway-dur) * 1.6)}.sl-summer .sl-spin{animation:sl-blink var(--spin-dur) ease-in-out infinite}.sl-summer .sl-dot{display:block;border-radius:50%;background:#fff3b0;box-shadow:0 0 6px 3px rgba(255,210,110,.75)}html:not([data-lights=off]) .sl-summer{opacity:.55}@keyframes sl-wander{0%{transform:translate(0)}33%{transform:translate(30px,-40px)}66%{transform:translate(-24px,-70px)}to{transform:translate(12px,-20px)}}@keyframes sl-blink{0%,to{opacity:.15}45%,60%{opacity:1}}.season-only{display:none}html[data-season=autumn]:not([data-season-off]):not([data-halloween]) .season-only.autumn,html[data-season=spring]:not([data-season-off]) .season-only.spring,html[data-season=summer]:not([data-season-off]) .season-only.summer,html[data-season=winter]:not([data-season-off]) .season-only.winter{display:block}html[data-season]:not([data-season-off]):not([data-halloween]) .season-fallback{display:none}.wire-decor{position:absolute;inset:0 0 auto 0;height:60px;pointer-events:none;z-index:3}.wire-decor .season-only{position:absolute;inset:0}.wire-leaf{position:absolute;transform-origin:50% 96%;transform:translateX(-50%) rotate(var(--rot));animation:wire-leaf-sway 6s ease-in-out infinite}@keyframes wire-leaf-sway{0%,to{transform:translateX(-50%) rotate(var(--rot))}50%{transform:translateX(-50%) rotate(calc(var(--rot) + 7deg))}}.wire-snow{position:absolute;top:24px;left:0;width:100%;height:8px;overflow:visible}.wire-snow ellipse{stroke:rgba(110,130,165,.35);stroke-width:.8;vector-effect:non-scaling-stroke}.wire-icicle{position:absolute;transform:translateX(-50%)}.wire-icicle path{stroke:rgba(120,140,170,.35);stroke-width:.5}.wire-blossom{position:absolute;display:flex;align-items:flex-end;gap:0;transform:translateX(-50%)}.wire-blossom svg:last-child{margin-left:-3px;margin-bottom:-2px}.season-glyph{display:inline-flex;align-items:center;justify-content:center;min-width:20px}.season-glyph svg{display:none}html[data-season=autumn]:not([data-season-off]):not([data-halloween]) .season-glyph svg.autumn{display:block;color:#c0622b;transform:rotate(-14deg)}html[data-season=winter]:not([data-season-off]) .season-glyph svg.winter{display:block;color:#8aa2c0}html[data-season=spring]:not([data-season-off]) .season-glyph svg.spring{display:block;color:#e48aa6}html[data-season=summer]:not([data-season-off]) .season-glyph svg.summer{display:block;color:#e0a43a}.ornament-line .glyph{letter-spacing:0}.site-foot{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 18px;margin:56px 0 -100px}.site-foot .signout{margin:0}.season-toggle{background:none;border:none;padding:6px 10px;font-family:var(--font-hand),cursive;font-size:1.05rem;color:var(--ink-soft);cursor:pointer;opacity:.6;transition:opacity .2s var(--ease-out)}.season-toggle:focus-visible,.season-toggle:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}.piggy-section.piggy-scene{position:relative;padding:0 0 26px;overflow:hidden;border:none;border-radius:18px;background:var(--card);box-shadow:inset 0 0 0 1px rgba(var(--ink-rgb),.08),0 10px 30px rgba(70,40,20,.08)}.scene-wall{position:relative;align-self:stretch;display:flex;flex-direction:column;padding-bottom:34px;border-bottom:5px solid #e3c7af;box-shadow:0 1px 0 rgba(var(--ink-rgb),.08);background:radial-gradient(circle at 50% 0,rgba(255,214,150,.35),transparent 60%),radial-gradient(circle 1.3px at 12px 12px,rgba(181,59,72,.22) 99%,transparent),repeating-linear-gradient(90deg,rgba(var(--ink-rgb),.035) 0 14px,transparent 14px 28px),linear-gradient(#f6e2d3,#f1d9c6);background-size:auto,28px 28px,auto,auto}[data-lights=off] .scene-wall{background:radial-gradient(circle at 50% 0,rgba(255,190,110,.18),transparent 60%),radial-gradient(circle 1.3px at 12px 12px,rgba(220,120,130,.18) 99%,transparent),repeating-linear-gradient(90deg,rgba(255,240,220,.025) 0 14px,transparent 14px 28px),linear-gradient(#2f231c,#2a1f19);background-size:auto,28px 28px,auto,auto;border-bottom-color:#3a2c23}.scene-wall .scene-lights{position:absolute;inset:0 0 auto 0;width:100%;margin:0;height:40px}.scene-wall .scene-lights .wire-lights,.scene-wall .scene-lights .wire-line{top:10px}.scene-wall .scene-lights .wire-glow{--bulb-y:12.5px}.scene-shelf-row{align-self:stretch;position:relative;display:flex;align-items:flex-end;justify-content:center;gap:4px;padding:46px 18px 0;min-height:254px}.piggy-scene .piggy-container{flex:0 1 300px;margin:0 0 -6px;max-width:300px}.scene-shelf{align-self:stretch;position:relative;height:18px;margin:0 12px;border-radius:4px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.04) 0 2px,transparent 2px 40px),linear-gradient(#b58553,#8d5f35 60%,#6f4728);box-shadow:inset 0 2px 0 rgba(255,255,255,.25),0 10px 16px rgba(70,40,20,.25)}.scene-shelf:after,.scene-shelf:before{content:"";position:absolute;top:18px;width:10px;height:22px;background:linear-gradient(#7a4f2c,#5b3a20);-webkit-clip-path:polygon(0 0,100% 0,100% 100%);clip-path:polygon(0 0,100% 0,100% 100%)}.scene-shelf:before{left:16%}.scene-shelf:after{right:16%}.goal-postcard{position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:128px;min-height:92px;margin:0 0 4px;padding:12px 12px 10px;border:none;background:repeating-linear-gradient(transparent 0 19px,rgba(var(--ink-rgb),.12) 19px 20px) 0 34px /100% calc(100% - 44px) no-repeat,#fbf4e6;color:#3a2716;text-align:left;cursor:pointer;transform:rotate(5deg);transform-origin:bottom center;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),3px 6px 10px rgba(70,40,20,.22);transition:transform .2s var(--ease-out)}.goal-postcard:hover{transform:rotate(2deg) translateY(-3px)}.goal-postcard:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}.postcard-stamp{position:absolute;top:8px;right:8px;width:30px;height:34px;display:grid;place-items:center;color:#a04951;background:#f6e1d7;outline:1.5px dashed rgba(160,73,81,.5);outline-offset:-3px}.postcard-to{margin-top:30px;padding-right:4px;font-size:1.2rem;line-height:1.05;color:#3a2716}.postcard-amount,.postcard-to{font-family:var(--font-hand),cursive}.postcard-amount{font-size:1.05rem;color:#8f6224}.piggy-scene .piggy-metrics{position:relative;padding:18px 22px 0}.piggy-scene .metric-value{margin:0 0 12px}.piggy-scene .piggy-metrics .progress-rail{height:14px;border-radius:3px;background:rgba(var(--ink-rgb),.08)}.piggy-scene .piggy-metrics .progress-bar{border-radius:3px;background:linear-gradient(transparent 2px,rgba(255,255,255,.55) 2px 3px,transparent 3px calc(100% - 3px),rgba(255,255,255,.55) calc(100% - 3px) calc(100% - 2px),transparent calc(100% - 2px)),repeating-linear-gradient(90deg,transparent 0 4px,rgba(255,255,255,0) 4px 8px),linear-gradient(90deg,#d4707f,#b53b48)}.travel-notebook .piggy-action-form{position:relative;border-radius:6px;background:var(--card);border:1.5px dashed rgba(var(--ink-rgb),.18);box-shadow:0 8px 22px rgba(70,40,20,.08)}.travel-notebook .piggy-action-form:before{content:"";position:absolute;left:10px;right:10px;top:-6px;height:10px;background:radial-gradient(circle 4px at 8px 5px,var(--paper) 98%,transparent) 0 0 /16px 10px repeat-x}.form-page .travel-notebook .piggy-action-form input[type=text]{background:transparent;border:none;border-bottom:1.5px solid rgba(var(--ink-rgb),.25);border-radius:0;padding-left:4px;box-shadow:none}.form-page .travel-notebook .piggy-action-form .money-input input[type=text]{padding-left:24px}.travel-notebook .money-input>span{left:4px}.travel-notebook .notebook-history{gap:0}.travel-notebook .history-item{background:transparent;border:none;border-bottom:1px solid rgba(181,59,72,.18);border-radius:0;padding:10px 2px 8px;animation:history-in .32s var(--ease-out)}.travel-notebook .history-item:first-child{border-top:1px solid rgba(181,59,72,.18)}.travel-notebook .tx-item-amount{font-family:var(--font-hand),cursive;font-size:1.35rem;font-weight:700}@media (max-width:720px){.scene-shelf-row{padding:40px 10px 0;min-height:210px}.piggy-scene .piggy-container{flex-basis:210px;max-width:210px}.goal-postcard{width:104px;min-height:80px;padding:10px 10px 8px}.postcard-to{font-size:1.05rem}}.ideas-notebook{width:100%;max-width:900px;margin:18px auto 0}.wheel-stage{display:flex;flex-direction:column;align-items:center;gap:18px;margin:26px 0 8px}.wheel-frame{position:relative;width:min(460px,100%);aspect-ratio:1}.wheel-frame:before{content:"";position:absolute;inset:10% 6% -5%;border-radius:50%;background:radial-gradient(closest-side,rgba(70,40,20,.24),rgba(70,40,20,.1) 60%,transparent);pointer-events:none}.wheel{position:absolute;inset:0;transition:transform 5.2s cubic-bezier(.12,.72,.08,1)}.wheel svg{display:block;width:100%;height:100%}.wheel-label{font-family:var(--font-display),serif;letter-spacing:.01em}.rim-bulb{fill:#fff4c2;stroke:rgba(255,210,120,.5);stroke-width:2.6}.wheel-frame.is-spinning .rim-bulb{animation:bulb-chase .45s ease-in-out infinite}@keyframes bulb-chase{0%,to{opacity:1}50%{opacity:.35}}.wheel-pointer{position:absolute;top:-14px;left:50%;z-index:3;transform:translateX(-50%);transform-origin:50% 25%;filter:drop-shadow(0 3px 3px rgba(40,20,5,.35))}.wheel-pointer svg{display:block}.wheel-hub{position:absolute;top:50%;left:50%;z-index:2;width:92px;height:92px;margin:-46px 0 0 -46px;padding:0;border:none;background:none;cursor:pointer;border-radius:50%;transition:transform .2s var(--ease-out)}.wheel-hub:hover:not(:disabled){transform:scale(1.05) rotate(-4deg)}.wheel-hub:active:not(:disabled){transform:scale(.97)}.wheel-hub:disabled{cursor:default}.wheel-hub:focus-visible{outline:3px solid var(--terracotta);outline-offset:4px}.wheel-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px}.spin-button{min-height:46px}.spin-button:disabled{opacity:.7;cursor:default}.wheel-mini{background:none;border:none;padding:6px 8px;font-family:var(--font-hand),cursive;font-size:1.1rem;color:var(--ink-soft);cursor:pointer;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-underline-offset:3px}.wheel-mini:disabled{opacity:.4;cursor:default}.wheel-empty{font-size:1.2rem;color:var(--ink-soft);text-align:center;margin:0}.wheel-result{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease-out)}.wheel-result.show{grid-template-rows:1fr}.wheel-result>*{min-height:0}.ticket{position:relative;margin:18px auto 6px;max-width:520px;padding:22px 26px 20px;text-align:center;background:radial-gradient(circle at 0 50%,transparent 12px,rgba(70,40,20,.22) 12.5px,var(--card) 15.5px) 0 /51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 12px,rgba(70,40,20,.22) 12.5px,var(--card) 15.5px) 100% /51% 100% no-repeat;box-shadow:0 10px 22px rgba(70,40,20,.18);animation:ticket-in .52s var(--ease-out)}.ticket:before{content:"";position:absolute;inset:8px 22px;border:1.5px dashed rgba(var(--ink-rgb),.22);border-radius:4px;pointer-events:none}@keyframes ticket-in{0%{opacity:0;transform:translateY(16px) rotate(-1.5deg) scale(.96)}to{opacity:1;transform:none}}.ticket-eyebrow{font-family:var(--font-hand),cursive;font-size:1.15rem;letter-spacing:.24em;text-transform:uppercase;color:var(--terracotta)}.ticket-title{font-family:var(--font-display),serif;font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100;font-size:clamp(1.6rem,4.5vw,2.2rem);line-height:1.12;color:var(--ink);margin:6px 0 10px}.ticket-meta{margin:-4px 0 16px;font-size:1.2rem;color:var(--money-in)}.idea-tags span,.ticket-meta{font-family:var(--font-hand),cursive}.idea-tags span{padding:1px 10px;border-radius:999px;background:rgba(var(--ink-rgb),.07);font-size:1rem;color:var(--ink-soft)}.ticket-actions{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.ticket-btn{min-height:40px;padding:8px 16px;border-radius:999px;border:1px solid rgba(var(--ink-rgb),.2);background:transparent;color:var(--ink);font-family:var(--font-display),serif;font-size:.95rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}.ticket-btn:hover{border-color:var(--terracotta);color:var(--ink)}.ticket-btn.primary{background:var(--rose);border-color:var(--rose);color:#fff3e6}.ticket-btn.primary:disabled{background:var(--money-in);border-color:var(--money-in);opacity:.9}.idea-jar{margin-top:36px;display:flex;flex-direction:column;gap:12px}.jar-count{font-family:var(--font-hand),cursive;font-style:normal;font-size:1.1rem;color:var(--ink-soft);margin-left:4px}.form-page form.idea-add{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:8px;gap:8px;padding:12px;border-radius:16px;background:var(--surface);border:1px solid rgba(var(--ink-rgb),.08)}.form-page .idea-add input[type=text],.idea-add select{min-height:44px;padding:8px 12px;border:1.5px solid rgba(var(--ink-rgb),.14);border-radius:10px;background:var(--card);color:var(--ink);font-family:var(--font-display),serif;font-size:1rem}.idea-add select{width:100%;min-width:0;padding-right:34px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5l5 5 5-5' fill='none' stroke='%23a04951' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center}.form-page .idea-add input[type=text]:focus,.idea-add select:focus{outline:none;border-color:var(--terracotta);box-shadow:0 0 0 4px var(--focus-ring)}.idea-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.idea-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:10px;gap:10px;padding:8px 8px 8px 14px;border-radius:12px;background:var(--surface);border:1px solid rgba(var(--ink-rgb),.07)}.idea-title{font-family:var(--font-display),serif;font-size:1rem;color:var(--ink);overflow-wrap:anywhere}.idea-item.is-done .idea-title{color:var(--ink-soft);text-decoration:line-through;-webkit-text-decoration-color:rgba(var(--ink-rgb),.35);text-decoration-color:rgba(var(--ink-rgb),.35)}.idea-tags{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.idea-tags span{font-size:.92rem;padding:0 8px}.idea-tags .tag-autumn{background:rgba(192,98,43,.14)}.idea-tags .tag-winter{background:rgba(120,150,190,.18)}.idea-tags .tag-spring{background:rgba(228,138,166,.18)}.idea-tags .tag-summer{background:rgba(224,164,58,.18)}.idea-actions{display:flex;gap:2px}.done-button:hover{background:rgba(143,98,36,.12);color:var(--money-in)}.jar-more{align-self:center}.idea-item.is-waiting{opacity:.62;background:transparent;border-style:dashed}.idea-done summary{cursor:pointer;font-family:var(--font-hand),cursive;font-size:1.2rem;color:var(--ink-soft);padding:6px 0}.idea-done .idea-list{margin-top:6px}@media (max-width:640px){.form-page form.idea-add{grid-template-columns:minmax(0,1fr) auto}.idea-add input[type=text]{grid-column:1/-1}.idea-item{grid-template-columns:minmax(0,1fr) auto}.idea-tags{grid-column:1;grid-row:2;justify-content:flex-start}.idea-actions{grid-column:2;grid-row:1/span 2}.wheel-hub{margin:-34px 0 0 -34px}.wheel-hub,.wheel-hub svg{width:68px;height:68px}}::view-transition-new(root),::view-transition-old(root){animation-duration:.26s;animation-timing-function:var(--ease-soft)}::view-transition-group(*){animation-duration:.38s;animation-timing-function:var(--ease-out)}.light-switch{view-transition-name:light-switch}.page-loading{margin-top:36px;height:60px;opacity:0;animation:page-loading-in .5s ease-out .35s forwards}@keyframes page-loading-in{to{opacity:1}}.lightbox{position:fixed;inset:0;background:rgba(24,14,6,.9);z-index:100;padding:max(20px,env(safe-area-inset-top)) max(80px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(80px,env(safe-area-inset-left));animation:fade .2s var(--ease-out);-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:pan-y}.lb-close,.lightbox{display:flex;align-items:center;justify-content:center}.lb-close{position:absolute;top:14px;left:18px;background:rgba(20,14,8,.6);border:1px solid rgba(245,233,200,.22);color:var(--photo-frame);font-family:var(--font-display),serif;font-size:1.6rem;line-height:1;cursor:pointer;width:40px;height:40px;border-radius:50%;opacity:.85;z-index:2;transition:opacity .2s var(--ease-out),background .2s var(--ease-out)}.lb-close:hover{opacity:1;background:rgba(20,14,8,.65)}.lb-counter{position:absolute;top:18px;right:22px;font-family:var(--font-hand),cursive;color:var(--photo-frame);font-size:1.2rem;letter-spacing:.06em;z-index:2;display:flex;gap:8px;align-items:baseline;background:rgba(20,14,8,.6);padding:6px 12px;border-radius:999px;border:1px solid rgba(245,233,200,.22)}.lb-counter-divider{font-style:italic;opacity:.55}.lb-arrow,.lb-counter-divider{font-family:var(--font-display),serif}.lb-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(20,14,8,.6);border:1px solid rgba(245,233,200,.22);color:var(--photo-frame);font-size:2.4rem;line-height:1;cursor:pointer;width:52px;height:52px;display:flex;align-items:center;justify-content:center;z-index:2;opacity:.85;transition:opacity .2s var(--ease-out),background .2s var(--ease-out);border-radius:50%}.lb-arrow:hover{opacity:1;background:rgba(20,14,8,.65)}.lb-prev{left:18px}.lb-next{right:18px}.lb-figure{display:flex;flex-direction:column;align-items:center;gap:22px;margin:0;max-width:100%;max-height:100%;animation:lb-rise .28s var(--ease-out)}@keyframes lb-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.lb-frame{--ink-rgb:46,31,18;position:relative;background:var(--photo-frame);padding:14px 14px 0;box-shadow:inset 0 0 0 1px rgba(255,250,240,.4),0 30px 60px rgba(0,0,0,.55),0 6px 12px rgba(0,0,0,.35);max-width:100%;display:flex;flex-direction:column;align-items:center;transform:rotate(-.8deg)}.lb-frame:before{content:"";position:absolute;top:-14px;left:50%;width:96px;height:26px;transform:translateX(-50%) rotate(-3deg);background:repeating-linear-gradient(45deg,rgba(255,255,255,.18) 0 6px,transparent 6px 12px),rgba(214,140,150,.72);box-shadow:0 1px 2px rgba(0,0,0,.15)}.lb-frame img{display:block;max-width:calc(min(90vw, 1100px) - 28px);max-height:calc(78dvh - 80px);object-fit:contain}.lb-caption{width:100%;min-height:58px;display:flex;align-items:center;justify-content:center;padding:8px 12px 10px;font-family:var(--font-hand),cursive;font-weight:700;color:var(--marker);font-size:1.6rem;line-height:1.15;text-align:center;transform:rotate(-1deg)}@keyframes fade{0%{opacity:0}to{opacity:1}}.bed-figures g,.bed-figures path{transform-box:fill-box}.dog-wander{transition-property:transform;transition-timing-function:ease-in-out}.dog-facing{transform-origin:50% 50%;transition:transform .3s ease}.dog-bob{transform-origin:50% 100%;transition:transform .4s ease}.dog-up .dog-bob{transform:translateY(-6px) scaleY(1.04)}.dog-walk .dog-bob{animation:dog-trot .32s ease-in-out infinite alternate}@keyframes dog-trot{0%{transform:translateY(-6px) rotate(-2deg)}to{transform:translateY(-1px) rotate(2deg)}}.dog-breathe,.husky-breathe{transform-origin:50% 100%;animation:dog-breathe 3.6s ease-in-out infinite}.husky-breathe{animation-duration:4.4s}@keyframes dog-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.015,1.045)}}.dog-sleep{display:none}.dog-blink{transform-origin:50% 50%;animation:dog-blink 5.3s infinite}.husky-blink{animation-duration:7.1s;animation-delay:-2s}@keyframes dog-blink{0%,94%,to{transform:scaleY(1)}96.5%{transform:scaleY(.1)}}.dog-pant{transform-origin:50% 0;animation:dog-pant .55s ease-in-out infinite alternate}@keyframes dog-pant{to{transform:scaleY(1.22)}}.pom-tail{transform-origin:100% 50%;animation:pom-wag 6.7s ease-in-out infinite}@keyframes pom-wag{0%,74%,to{transform:rotate(0deg)}77%,83%,89%{transform:rotate(-16deg)}80%,86%,92%{transform:rotate(12deg)}}.pom-head{transform-origin:50% 90%;animation:pom-tilt 13.3s ease-in-out infinite}@keyframes pom-tilt{0%,55%,72%,to{transform:rotate(0deg)}60%,67%{transform:rotate(-9deg)}}.pom-ear-l{transform-origin:70% 100%;animation:ear-flick-l 9.1s ease-in-out infinite}.pom-ear-r{transform-origin:30% 100%;animation:ear-flick-r 11.7s ease-in-out infinite}@keyframes ear-flick-l{0%,40%,46%,to{transform:rotate(0deg)}42%{transform:rotate(-14deg)}44%{transform:rotate(4deg)}}@keyframes ear-flick-r{0%,70%,76%,to{transform:rotate(0deg)}72%{transform:rotate(14deg)}74%{transform:rotate(-4deg)}}.husky-tail{transform-origin:0 100%;animation:husky-thump 8.9s ease-in-out infinite}@keyframes husky-thump{0%,60%,76%,to{transform:rotate(0deg)}63%,69%{transform:rotate(-22deg)}66%,72%{transform:rotate(6deg)}}.husky-head{transform-origin:80% 90%;animation:husky-look 17.9s ease-in-out infinite}@keyframes husky-look{0%,30%,48%,to{transform:translateY(0) rotate(0deg)}34%,44%{transform:translateY(-3px) rotate(6deg)}}.husky-ear-l,.husky-ear-r{transform-origin:50% 100%;animation:ear-flick-l 10.3s ease-in-out infinite}.husky-ear-r{animation-name:ear-flick-r;animation-duration:14.1s}[data-lights=off]{--paper:#1b1410;--paper-deep:#241a14;--paper-fold:#2f2219;--ink:#f2e6d0;--ink-soft:#c7b193;--ink-rgb:242,230,208;--ink-faint:rgba(var(--ink-rgb),0.42);--rule:rgba(var(--ink-rgb),0.16);--rose:#d4606c;--rose-deep:#9c3242;--terracotta:#e8875f;--terracotta-d:#f4a988;--gold:#e2b56c;--photo-frame:#e7dcc4;--photo-shadow:rgba(0,0,0,0.5);--card:#251c16;--card-soft:rgba(255,240,215,0.04);--surface:#2e231b;--surface-soft:rgba(255,240,215,0.035);--glow-a:rgba(255,170,90,0.07);--glow-b:rgba(160,60,40,0.14);--grain:none;--veil:radial-gradient(ellipse 120% 90% at 50% 40%,transparent 40%,rgba(0,0,0,0.45) 100%);--money-in:#e8c27a;--money-out:#ef9474;--focus-ring:rgba(232,135,95,0.25);--stamp-bf:#8fb7d6;--stamp-gf:#e88591;--stamp-ice:#a9d0ec;--stamp-steam:#f0a865;color-scheme:dark}html.lights-ready .envelope,html.lights-ready .notebook,html.lights-ready .photo,html.lights-ready .postage,html.lights-ready body{transition:background-color .5s ease-in-out,color .5s ease-in-out}[data-lights=off] .wire-lights li{box-shadow:0 0 6px 2px rgba(255,235,170,.95)}[data-lights=off] .room-twinkles li{box-shadow:0 0 6px 2px rgba(255,222,150,.95)}.bed-light-glow{opacity:0}[data-lights=off] .bed-light-glow{opacity:1}.bed-head-a{stop-color:#c66b6f}.bed-head-b{stop-color:#a04951}.bed-duvet-a{stop-color:#fbf2e3}.bed-duvet-b{stop-color:#ecdcbf}.bed-mattress{fill:#fdf6e5}[data-lights=off] .bed-head-a{stop-color:#52332c}[data-lights=off] .bed-head-b{stop-color:#412420}[data-lights=off] .bed-duvet-a{stop-color:#666658}[data-lights=off] .bed-duvet-b{stop-color:#68604a}[data-lights=off] .bed-mattress{fill:#666659}[data-lights=off] .bed-tufts{opacity:.5}[data-lights=off] .bed-figures [fill="#0e0805"]{fill:#0b0704}[data-lights=off] .bed-figures [fill="#151518"]{fill:#121112}[data-lights=off] .bed-figures [fill="#1c0d06"]{fill:#150b06}[data-lights=off] .bed-figures [fill="#22120a"]{fill:#1a0f09}[data-lights=off] .bed-figures [fill="#24130a"]{fill:#1b100a}[data-lights=off] .bed-figures [fill="#2b2b33"]{fill:#242326}[data-lights=off] .bed-figures [fill="#3d1a1e"]{fill:#2e1718}[data-lights=off] .bed-figures [fill="#5a3818"]{fill:#452e18}[data-lights=off] .bed-figures [fill="#6a3416"]{fill:#502c17}[data-lights=off] .bed-figures [fill="#c2202c"]{fill:#8a2327}[data-lights=off] .bed-figures [fill="#c8ac76"]{fill:#a18c63}[data-lights=off] .bed-figures [fill="#d35a64"]{fill:#9e5051}[data-lights=off] .bed-figures [fill="#d93744"]{fill:#9d363a}[data-lights=off] .bed-figures [fill="#df9240"]{fill:#ac793f}[data-lights=off] .bed-figures [fill="#e6c48f"]{fill:#b9a076}[data-lights=off] .bed-figures [fill="#e6d0a4"]{fill:#bba985}[data-lights=off] .bed-figures [fill="#e8a0a8"]{fill:#b78683}[data-lights=off] .bed-figures [fill="#e9a04a"]{fill:#b58447}[data-lights=off] .bed-figures [fill="#eca853"]{fill:#b88a4d}[data-lights=off] .bed-figures [fill="#ecdab2"]{fill:#c1b18f}[data-lights=off] .bed-figures [fill="#ee8ba4"]{fill:#b9777f}[data-lights=off] .bed-figures [fill="#f0b05c"]{fill:#bc9054}[data-lights=off] .bed-figures [fill="#f1e5cf"]{fill:#c7baa3}[data-lights=off] .bed-figures [fill="#f3e4c8"]{fill:#c7b99e}[data-lights=off] .bed-figures [fill="#f59a9a"]{fill:#bf827a}[data-lights=off] .bed-figures [fill="#f5b5b8"]{fill:#c39690}[data-lights=off] .bed-figures [fill="#f6e8c8"]{fill:#c7bc9f}[data-lights=off] .bed-figures [fill="#f6ecda"]{fill:#c7c0ab}[data-lights=off] .bed-figures [fill="#f6efde"]{fill:#c7c2ad}[data-lights=off] .bed-figures [fill="#f9eed7"]{fill:#c7c1a9}[data-lights=off] .bed-figures [fill="#fcd9b0"]{fill:#c7b18e}[data-lights=off] .bed-figures [fill="#fde7c0"]{fill:#c7bc9a}[data-lights=off] .bed-figures [fill="#fefaf0"]{fill:#c7c7ba}[data-lights=off] .bed-figures [fill="#ffeedd"]{fill:#c7c2ad}[data-lights=off] .bed-figures [fill="#fff"]{fill:#c7c7c4}[data-lights=off] .bed-figures [fill="#fff0d4"]{fill:#c7c3a7}[data-lights=off] .bed-figures [fill="#fff3dc"]{fill:#c7c5ad}[data-lights=off] .bed-figures [fill="#fff4e0"]{fill:#c7c6b0}[data-lights=off] .bed-figures [fill="#fff5b6"]{fill:#c7c695}[data-lights=off] .bed-figures [stroke="#1c0d06"]{stroke:#150b06}[data-lights=off] .bed-figures [stroke="#1a0d05"]{stroke:#140b05}[data-lights=off] .bed-figures [stroke="#24130a"]{stroke:#1b100a}[data-lights=off] .bed-figures [stroke="#2b2b33"]{stroke:#242326}[data-lights=off] .bed-figures [stroke="#3a230d"]{stroke:#2c1d0e}[data-lights=off] .bed-figures [stroke="#4a2a14"]{stroke:#382314}[data-lights=off] .bed-figures [stroke="#4b4b57"]{stroke:#3f3d41}[data-lights=off] .bed-figures [stroke="#7d1018"]{stroke:#581316}[data-lights=off] .bed-figures [stroke="#8a2f3a"]{stroke:#662b2f}[data-lights=off] .bed-figures [stroke="#a01724"]{stroke:#711a20}[data-lights=off] .bed-figures [stroke="#cf6c88"]{stroke:#9f5e69}[data-lights=off] .bed-figures [stroke="#d4be8c"]{stroke:#ac9a73}[data-lights=off] .bed-figures [stroke="#df9240"]{stroke:#ac793f}[data-lights=off] .bed-figures [stroke="#f5b5b8"]{stroke:#c39690}[data-lights=off] .bed-figures [stroke="#fbe5c6"]{stroke:#c7ba9d}[data-lights=off] .bed-figures [stroke="#fcd9b0"]{stroke:#c7b18e}[data-lights=off] .bed-figures [stroke="#ff8e8e"]{stroke:#c47972}[data-lights=off] .bed-figures [stroke="rgba(46, 31, 18, 0.16)"]{stroke:rgba(36,26,16,.16)}[data-lights=off] .bed-figures [stroke="rgba(46, 31, 18, 0.5)"]{stroke:rgba(36,26,16,.5)}[data-lights=off] .bed-figures [stop-color="rgb(255, 150, 60)"]{stop-color:#c37d3e}[data-lights=off] .bed-figures [stop-color="rgb(255, 170, 80)"]{stop-color:#c68c4d}[data-lights=off] .bed-figures [stop-color="rgb(255, 205, 120)"]{stop-color:#c7a769}[data-lights=off] .bed-figures [stop-color="rgb(255, 236, 170)"]{stop-color:#c7bf8c}[data-lights=off] .bed-figures *,[data-lights=off] .bed-figures .dog-wander{animation:none!important;transition:none!important}[data-lights=off] .bed-figures .dog-blink{display:none}[data-lights=off] .bed-figures .dog-sleep{display:inline}[data-lights=off] .bed-figures .dog-pant{display:none}[data-lights=off] .room-lamp{background:radial-gradient(circle at 50% 70%,rgba(255,200,120,.32) 0,rgba(255,165,85,.14) 40%,rgba(255,145,60,0) 80%)}[data-lights=off] .room-floor{background:radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.4) 0,rgba(0,0,0,.18) 30%,transparent 80%)}[data-lights=off] .photo .tape{opacity:.55}[data-lights=off] .photo .img-wrap:after{background:radial-gradient(ellipse at center,transparent 65%,rgba(40,20,0,.22)),rgba(12,6,0,.1)}.light-switch{position:fixed;bottom:max(14px,env(safe-area-inset-bottom));right:max(14px,env(safe-area-inset-right));z-index:70;width:42px;height:42px;border-radius:50%;border:1px solid rgba(var(--ink-rgb),.22);background:color-mix(in srgb,var(--card) 88%,transparent);color:var(--ink-soft);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;box-shadow:0 4px 14px rgba(70,40,20,.12);transition:transform .2s var(--ease-out),background .4s var(--ease-out),color .4s var(--ease-out),border-color .4s var(--ease-out),box-shadow .4s var(--ease-out)}body:has(.masthead) .light-switch{display:none}.add-glyph.light-toggle{cursor:pointer;padding:0;font:inherit}.add-glyph.light-toggle:hover{transform:rotate(-12deg)}[data-lights=off] .add-glyph.light-toggle{color:#ffe7a6;border-color:rgba(255,220,140,.4);box-shadow:0 0 14px 1px rgba(255,200,120,.25)}.light-switch svg{width:20px;height:20px;display:block}.light-switch:hover{transform:scale(1.06);color:var(--ink)}.light-switch:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}[data-lights=off] .light-switch{color:#ffe7a6;border-color:rgba(255,220,140,.35);box-shadow:0 0 18px 2px rgba(255,200,120,.25)}.piggy-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(var(--ink-rgb),.35);font-size:1.25rem;line-height:1;color:var(--ink);text-decoration:none;background:transparent;transition:background .2s var(--ease-out),color .2s var(--ease-out),transform .2s var(--ease-out)}.piggy-button:hover{background:var(--ink);color:var(--paper);transform:scale(1.12) rotate(-8deg);text-decoration:none}.travel-notebook{width:100%;max-width:1040px;margin:18px auto 0}.travel-notebook h1{margin-bottom:6px}.goal-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 22px;font-family:var(--font-hand),cursive;font-size:1.3rem;color:var(--ink-soft)}.goal-line strong{font-family:var(--font-display),serif;font-style:italic;font-weight:500;font-size:1.15rem;color:var(--ink)}.goal-cancel,.goal-edit{background:none;border:none;padding:2px 4px;font-family:var(--font-hand),cursive;font-size:1.05rem;color:var(--terracotta);cursor:pointer;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-underline-offset:3px}.goal-cancel:hover,.goal-edit:hover{color:var(--terracotta-d)}.form-page form.goal-editor{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;align-items:end;grid-gap:12px;gap:12px;margin:4px 0 22px;padding:14px;border-radius:16px;background:var(--surface);border:1px solid rgba(var(--ink-rgb),.08)}.goal-editor label{display:flex;flex-direction:column;gap:4px;font-family:var(--font-hand),cursive;font-size:1.1rem;color:var(--ink-soft)}.form-page .goal-editor input[type=text]{min-height:44px;padding:8px 12px;border:1.5px solid rgba(var(--ink-rgb),.14);border-radius:10px;background:var(--card);color:var(--ink);font-family:var(--font-display),serif;font-size:1.05rem}.form-page .goal-editor input[type=text]:focus{outline:none;border-color:var(--terracotta);box-shadow:0 0 0 4px var(--focus-ring)}.form-page .goal-editor .money-input input[type=text]{padding-left:26px}.goal-editor .money-input{display:block}.goal-actions{display:flex;align-items:center;gap:6px}.goal-save{min-height:44px;padding:0 18px;border:none;border-radius:10px;background:var(--ink);color:var(--paper);font-family:var(--font-display),serif;font-size:.95rem;cursor:pointer}.goal-save:disabled{opacity:.6}@media (max-width:600px){.form-page form.goal-editor{grid-template-columns:minmax(0,1fr)}}.piggy-dashboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-gap:36px;gap:36px;margin-top:8px;align-items:start}.piggy-section{display:flex;flex-direction:column;align-items:center;background:var(--surface-soft);border:1px solid rgba(var(--ink-rgb),.08);border-radius:20px;padding:28px 28px 30px}.piggy-container{position:relative;width:100%;max-width:340px;aspect-ratio:200/170;margin:4px auto 22px}.svg-piggy{display:block;width:100%;height:100%;overflow:visible;transform-origin:center bottom;transform:rotate(-1deg)}.piggy-fill{transition:transform .9s cubic-bezier(.2,.8,.2,1)}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.piggy-eye{animation:blink 4.5s infinite;transform-box:fill-box;transform-origin:center}@keyframes piggyBounceDeposit{0%,to{transform:rotate(-1deg)}18%{transform:scale(1.08,.92) translateY(3px)}42%{transform:scale(.96,1.06) translateY(-10px) rotate(2deg)}68%{transform:scale(1.02,.98) rotate(-2deg)}}@keyframes piggyBounceWithdrawal{0%,to{transform:rotate(-1deg)}25%{transform:rotate(-5deg)}55%{transform:rotate(4deg)}80%{transform:rotate(-2deg)}}.piggy-bounce-deposit{animation:piggyBounceDeposit .8s var(--ease-out)}.piggy-bounce-withdrawal{animation:piggyBounceWithdrawal .7s var(--ease-out)}.piggy-coin{position:absolute;left:52%;top:28%;width:22px;height:22px;margin:-11px 0 0 -11px;pointer-events:none;opacity:0;z-index:2;filter:drop-shadow(0 2px 2px rgba(120,70,10,.3))}.piggy-coin svg{display:block}.piggy-coin.in{animation:coin-in .75s cubic-bezier(.45,0,.8,.6) forwards}.piggy-coin.out{animation:coin-out 1.05s cubic-bezier(.2,.6,.4,1) forwards}@keyframes coin-in{0%{opacity:0;transform:translate(var(--dx),-90px) rotate(0deg) scaleX(1)}15%{opacity:1}80%{opacity:1;transform:translateY(-6px) rotate(0deg) scaleX(.35)}to{opacity:0;transform:translateY(4px) scaleX(.2)}}@keyframes coin-out{0%{opacity:0;transform:translateY(4px) scale(.6)}12%{opacity:1}40%{transform:translate(calc(var(--dx) * .6),-46px) rotate(140deg) scale(1)}to{opacity:0;transform:translate(var(--dx),70px) rotate(320deg) scale(.9)}}.piggy-metrics{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.metric-label{font-family:var(--font-hand),cursive;font-size:1.3rem;color:var(--ink-soft);line-height:1}.metric-value{font-family:var(--font-display),serif;font-variation-settings:"opsz" 144,"SOFT" 60;font-size:clamp(2.2rem,5vw,2.8rem);font-weight:500;color:var(--ink);font-feature-settings:lining-nums tabular-nums;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.02em;line-height:1.1;margin:4px 0 16px}.piggy-metrics .progress-rail{width:100%;height:10px;border-radius:999px;background:rgba(var(--ink-rgb),.08);overflow:hidden}.piggy-metrics .progress-bar{height:100%;background:linear-gradient(90deg,#f5c542,#d9962e);border-radius:999px;transition:width .9s cubic-bezier(.2,.8,.2,1)}.progress-text{width:100%;display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-family:var(--font-hand),cursive;font-size:1.1rem;color:var(--ink-soft)}.logging-section{display:flex;flex-direction:column;gap:28px;min-width:0}.piggy-action-form{display:flex;flex-direction:column;gap:16px;background:var(--surface);border:1px solid rgba(var(--ink-rgb),.08);border-radius:20px;padding:20px;box-shadow:0 10px 28px rgba(70,40,20,.06)}.piggy-toggle{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;padding:4px;border-radius:14px;background:rgba(var(--ink-rgb),.06)}.piggy-toggle button{min-height:42px;border:none;border-radius:10px;background:transparent;color:var(--ink-soft);font-family:var(--font-display),serif;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s var(--ease-out),color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.piggy-toggle button.is-on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(70,40,20,.14)}.piggy-toggle button.is-on.in{color:var(--money-in)}.piggy-toggle button.is-on.out{color:var(--money-out)}[data-lights=off] .piggy-toggle button.is-on{background:rgba(var(--ink-rgb),.12);box-shadow:none}.piggy-toggle button:focus-visible{outline:2px solid var(--terracotta);outline-offset:1px}.piggy-field{display:flex;flex-direction:column;gap:4px}.form-page .piggy-field label{font-size:1.15rem;transform:none}.form-page .piggy-action-form input[type=text]{width:100%;min-height:48px;padding:10px 14px;border:1.5px solid rgba(var(--ink-rgb),.14);border-radius:12px;background:var(--card);color:var(--ink);font-family:var(--font-display),serif;font-size:1.05rem;transition:border-color .2s,box-shadow .2s}.form-page .piggy-action-form input::placeholder{color:rgba(var(--ink-rgb),.38)}.form-page .piggy-action-form input[type=text]:focus{outline:none;border-color:var(--terracotta);box-shadow:0 0 0 4px var(--focus-ring)}.money-input{position:relative}.money-input>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-soft);font-family:var(--font-display),serif;font-size:1.2rem;pointer-events:none}.form-page .piggy-action-form .money-input input[type=text]{padding-left:30px;font-size:1.35rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.piggy-submit{align-self:stretch;justify-content:center;min-height:48px;margin-top:4px}.piggy-submit:disabled{opacity:.7;cursor:wait}.piggy-alert{padding:10px 14px;border-radius:12px;font-size:.95rem}.piggy-alert.error{background:rgba(176,74,47,.08);border:1px solid rgba(176,74,47,.22);color:var(--terracotta-d)}.animate-shake{animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.piggy-history-list{display:flex;flex-direction:column;gap:12px}.history-title{font-family:var(--font-display),serif;font-style:italic;font-size:1.35rem;color:var(--ink);border-bottom:1px solid rgba(var(--ink-rgb),.12);padding-bottom:8px}.piggy-history-empty{color:var(--ink-soft);text-align:center;font-size:1.25rem;padding:20px 0}.notebook-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.history-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 10px 10px 14px;background:var(--surface);border:1px solid rgba(var(--ink-rgb),.07);border-radius:14px;animation:history-in .32s var(--ease-out)}@keyframes history-in{0%{opacity:0;transform:translateY(-4px)}}.tx-meta-info{display:flex;flex-direction:column;min-width:0}.tx-item-desc{font-family:var(--font-display),serif;font-size:1rem;line-height:1.3;color:var(--ink);overflow-wrap:anywhere}.tx-item-date{font-family:var(--font-hand),cursive;font-size:1rem;line-height:1.2;color:var(--ink-soft)}.tx-item-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.tx-item-amount{font-family:var(--font-display),serif;font-size:1.1rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.history-item.deposit .tx-item-amount{color:var(--money-in)}.history-item.withdrawal .tx-item-amount{color:var(--money-out)}.tx-delete-button{min-width:36px;height:36px;padding:0 10px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--ink-faint);font-size:1.2rem;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.tx-delete-button:hover{background:rgba(176,74,47,.1);color:var(--terracotta)}.tx-delete-button.confirming{background:var(--terracotta);border-color:var(--terracotta);color:#fff;font-family:var(--font-display),serif;font-size:.85rem;font-weight:600}.tx-delete-button:disabled{opacity:.4;cursor:default}.piggy-toast{position:fixed;left:50%;bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px));z-index:80;transform:translate(-50%,16px);opacity:0;pointer-events:none;max-width:calc(100vw - 120px);padding:10px 18px;border-radius:999px;background:var(--ink);color:var(--paper);font-family:var(--font-display),serif;font-size:.95rem;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.2);transition:opacity .25s var(--ease-out),transform .25s var(--ease-out)}.piggy-toast.show{opacity:1;transform:translate(-50%)}@media (max-width:900px){.piggy-dashboard{grid-template-columns:minmax(0,1fr);gap:24px}}@media (max-width:720px){.piggy-section{padding:18px 16px 20px}.piggy-container{max-width:230px;margin-bottom:14px}.piggy-action-form{padding:16px}.lightbox{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.lb-arrow{display:none}.lb-frame{padding:10px 10px 0}.lb-frame img{max-width:calc(100dvw - 44px);max-height:calc(72dvh - 60px)}.lb-caption{font-size:1.3rem;min-height:46px}.lb-close{width:36px;height:36px;font-size:1.5rem;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left))}.lb-counter{font-size:1.1rem;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right))}}@media (max-width:900px){.wire-head .edit-pencil{font-size:.95rem}}@media (max-width:720px){body{font-size:17px}.page{padding:24px 16px 60px}.masthead{padding:14px 0 18px;margin-bottom:24px}.masthead-lights{top:8px}.masthead-lights .add-glyph{width:36px;height:36px}.masthead .brand{min-width:0}.masthead .brand-title{font-size:clamp(2rem,8vw,2.8rem)}.masthead .brand-line{font-size:.95rem}.masthead .brand-mark{font-size:.78rem;letter-spacing:.24em}.add-glyph,.piggy-button{width:42px;height:42px;flex-shrink:0}.wire-section{margin:28px 0 60px}.wire-head{grid-template-columns:1fr auto;grid-template-areas:"no    date" "title title" "edit  edit";gap:4px 10px;padding:0 4px 10px}.wire-head .chapter-no{grid-area:no;font-size:.95rem}.wire-head .title-link{grid-area:title;font-size:1.6rem}.wire-head .date{grid-area:date;font-size:1.2rem;text-align:right}.wire-head .edit-pencil{grid-area:edit;display:inline-block;font-size:.92rem;padding-top:2px}.photo{padding:10px 10px 30px}.photo .img-wrap{width:200px;height:200px}.photo.size-tall .img-wrap{width:180px;height:240px}.photo.size-wide .img-wrap{width:240px;height:170px}.photo .caption,.photo .marker-write{font-size:1.08rem}.wire-photos{gap:14px;padding:52px 6px 46px}.notebook{padding:24px 16px 22px 40px;background:linear-gradient(to right,transparent 0,transparent 30px,rgba(181,59,72,.18) 30px,rgba(181,59,72,.18) 31px,transparent 31px),repeating-linear-gradient(to bottom,var(--card) 0,var(--card) 31px,rgba(var(--ink-rgb),.08) 32px)}.notebook:before{left:12px;width:10px;background-size:10px 22px}.notebook h1{font-size:1.7rem;margin-bottom:18px}.form-page form{gap:18px}.form-page textarea{min-height:180px}.form-page .file-area{padding:16px}.entry-page .chapter{margin:28px auto 16px}.entry-page .chapter h1{font-size:clamp(2rem,8vw,3rem)}.entry-page .chapter .date{font-size:1.3rem}.entry-page .story{padding:0 4px;font-size:1.05rem}.entry-page .story:first-letter{font-size:2.6em}.entry-page .hero-wire{margin:18px 0 36px}.entry-page .wire-photos.preview{gap:46px 14px;padding:56px 8px 42px}.entry-page .wire-photos.preview .photo{margin:0;padding:8px 8px 24px}.entry-page .wire-photos.preview .photo .img-wrap{width:140px;height:140px}.entry-page .wire-photos.preview .photo.size-tall .img-wrap{width:128px;height:170px}.entry-page .wire-photos.preview .photo.size-wide .img-wrap{width:152px;height:114px}.entry-page .wire-photos.preview .caption,.entry-page .wire-photos.preview .marker-write{font-size:.98rem}.entry-page .wire-photos.preview .caption-write{margin-top:8px}.entry-page .wire-photos.preview .photo .pin{transform:translateX(-50%) rotate(var(--pin-tilt,0deg)) scale(.8);transform-origin:bottom center}.footer-actions{gap:12px}.envelope{padding:50px 28px 32px}.envelope .heading h1{font-size:2.2rem}.envelope .postmark{width:64px;height:64px}.room-footer{height:clamp(170px,30vw,240px)}.ornament{font-size:1.1rem}.ornament,.ornament-line{margin:36px 0}.preview-grid{gap:14px}.preview-photo{padding:8px 8px 12px}.preview-photo .img-wrap{width:130px;height:130px}}@media (max-width:480px){.postage{font-size:.7rem;padding:9px 12px;letter-spacing:.16em;gap:6px;outline-width:3px}.postage:before{inset:4px}.postage .crest{font-size:1rem}.photo .img-wrap{width:180px;height:180px}.photo.size-tall .img-wrap{width:160px;height:220px}.photo.size-wide .img-wrap{width:220px;height:160px}.lightbox{padding:12px}.lightbox .close{top:8px;right:12px;font-size:1.6rem}}@media (prefers-reduced-motion:reduce){.bed-figures g,.bed-figures path{animation:none!important}.wheel{transition-duration:.8s}.rim-bulb,.wire-leaf{animation:none}::view-transition-group(*),::view-transition-new(*),::view-transition-old(*){animation:none!important}.wire-section{opacity:1;transform:none;animation:none}.photo:hover{transform:rotate(var(--tilt,0deg))}.bed-figures .bed-lights>g,.room-twinkles li,.wire-lights li{animation:none}}.is-offscreen *,.is-offscreen :after,.is-offscreen :before{animation-play-state:paused!important}html.is-zoomed .seasonal-layer{display:none}html.is-zoomed *,html.is-zoomed :after,html.is-zoomed :before{animation-play-state:paused!important}.cafe-menu{position:relative;max-width:1280px;margin:92px auto 0;background:var(--card);border:1px solid rgba(var(--ink-rgb),.14);box-shadow:0 1px 0 rgba(var(--ink-rgb),.06),0 22px 48px rgba(70,40,20,.16);padding:48px clamp(22px,5vw,80px) 52px}.cafe-menu:before{content:"";position:absolute;inset:12px;pointer-events:none;border:1px solid rgba(var(--ink-rgb),.22);outline:1px solid rgba(var(--ink-rgb),.12);outline-offset:-5px}.cafe-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 72px;gap:0 72px;margin-bottom:8px}.cafe-section-title{display:flex;align-items:center;gap:14px;margin:0 0 24px;font-family:var(--font-hand),cursive;font-weight:500;font-size:1.25rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft)}.cafe-section-title:after,.cafe-section-title:before{content:"";flex:1 1;height:1px;background:var(--rule)}.cafe-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:30px}.cafe-item{display:grid;grid-template-columns:104px minmax(0,1fr);grid-gap:18px;gap:18px;align-items:center}.cafe-cup{display:block;width:104px;height:84px;overflow:visible}.cafe-cup-saucer{fill:rgba(var(--ink-rgb),.16)}[data-lights=off] .cafe-cup-saucer{fill:rgba(0,0,0,.35)}.cafe-item-line{display:flex;align-items:baseline;gap:8px}.cafe-item-name{font-size:1.36rem;font-weight:500;line-height:1.2}.cafe-item-desc{margin:2px 0 0;font-style:italic;font-size:1rem;color:var(--ink-soft)}.cafe-nowrap{white-space:nowrap}.cafe-stamp{display:inline-block;width:24px;height:24px;color:var(--stamp-bf)}.cafe-item-name .cafe-stamp{margin-left:8px;vertical-align:-.28em}.cafe-stamp.gf{color:var(--stamp-gf)}.cafe-stamp.temp.iced{color:var(--stamp-ice)}.cafe-stamp.temp.hot{color:var(--stamp-steam)}.cafe-item-name .cafe-stamp+.cafe-stamp{margin-left:5px}.cafe-stamp text{font-family:var(--font-hand),cursive;font-weight:700;font-size:12px;fill:currentColor}.cafe-frame{container-type:inline-size}@media (max-width:520px){.cafe-page{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}@media (max-width:900px){.cafe-menu{--px:min(1px,calc(100cqi / 700));margin-top:calc(70 * var(--px));padding:calc(40 * var(--px)) calc(24 * var(--px)) calc(36 * var(--px))}.cafe-menu:before{inset:calc(10 * var(--px));outline-offset:calc(-4 * var(--px))}.cafe-sections{gap:0 calc(24 * var(--px));margin-bottom:0}.cafe-section-title{gap:calc(12 * var(--px));margin-bottom:calc(22 * var(--px));font-size:calc(20 * var(--px))}.cafe-items{gap:calc(24 * var(--px))}.cafe-item{grid-template-columns:calc(76 * var(--px)) minmax(0,1fr);gap:calc(12 * var(--px))}.cafe-cup{width:calc(76 * var(--px));height:calc(62 * var(--px))}.cafe-item-line{gap:calc(7 * var(--px))}.cafe-item-name{font-size:calc(19 * var(--px))}.cafe-item-name .cafe-stamp{width:calc(19 * var(--px));height:calc(19 * var(--px));margin-left:calc(6 * var(--px))}.cafe-item-name .cafe-stamp+.cafe-stamp{margin-left:calc(4 * var(--px))}.cafe-item-desc{margin-top:calc(2 * var(--px));font-size:calc(15 * var(--px));line-height:1.4}}.cafe-empty{margin:8px 0;text-align:center;font-family:var(--font-hand),cursive;font-size:1.3rem;color:var(--ink-soft)}.cafe-pad{--px:1px;max-width:900px;margin:18px auto 0;scroll-margin-top:20px}.cafe-pad .tape{position:absolute;width:86px;height:24px;opacity:.8;pointer-events:none}.cafe-pad .tape.tl{top:-9px;left:-20px;transform:rotate(-24deg)}.cafe-pad .tape.tr{top:-9px;right:-20px;transform:rotate(22deg)}[data-lights=off] .cafe-pad .tape{mix-blend-mode:normal;opacity:.45}.cafe-pad-title{font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100;font-size:clamp(1.8rem,4vw,2.5rem);overflow-wrap:anywhere;margin-bottom:26px}.cafe-preview{position:relative;padding:26px 22px 18px;background:var(--card);border:1px solid rgba(var(--ink-rgb),.16);outline:1px solid rgba(var(--ink-rgb),.1);outline-offset:-6px;box-shadow:0 8px 18px rgba(70,40,20,.1);transform:rotate(-.5deg)}.cafe-preview-label{position:absolute;top:-13px;left:18px;padding:0 8px;background:var(--card);font-family:var(--font-hand),cursive;font-size:1.1rem;color:var(--rose);transform:rotate(-2deg)}.cafe-field-label{display:inline-block;font-family:var(--font-hand),cursive;font-size:1.18rem;color:var(--ink-soft);letter-spacing:.02em;transform:rotate(-.4deg)}.cafe-field-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.6fr);grid-gap:22px;gap:22px}.cafe-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.cafe-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:2px 15px;border:1.5px dashed rgba(var(--ink-rgb),.3);border-radius:999px;background:transparent;font-family:var(--font-hand),cursive;font-size:1.22rem;line-height:1;color:var(--ink-soft);cursor:pointer;transition:border-color .2s var(--ease-out),background .2s var(--ease-out),color .2s var(--ease-out),transform .2s var(--ease-out)}.cafe-chip:hover{border-color:var(--terracotta);color:var(--ink)}.cafe-chip.is-on{border-style:solid;border-color:var(--rose);background:rgba(181,59,72,.08);color:var(--rose-deep);transform:rotate(-1.5deg)}[data-lights=off] .cafe-chip.is-on{background:rgba(212,96,108,.14);color:var(--rose)}.cafe-chip:focus-visible,.cafe-icon-option:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.cafe-chip .cafe-stamp{width:20px;height:20px}.cafe-field-hint{margin-left:6px;font-size:.95rem;opacity:.75}.cafe-icon-row{margin-top:8px}.cafe-icon-row-label{display:block;font-family:var(--font-hand),cursive;font-size:1.05rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}.cafe-icon-row+.cafe-chips{margin-top:14px}.cafe-temp-choice{justify-content:center}.cafe-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));grid-gap:10px;gap:10px;margin-top:6px}.cafe-icon-option{position:relative;display:grid;place-items:center;aspect-ratio:1;padding:8px 6px;border:1px solid rgba(var(--ink-rgb),.12);border-radius:12px;background:var(--card);cursor:pointer;transition:transform .2s var(--ease-out),border-color .2s var(--ease-out)}.cafe-icon-option:hover{border-color:rgba(var(--ink-rgb),.3);transform:translateY(-2px) rotate(-2deg)}.cafe-icon-option .cafe-cup{width:100%;height:auto}.cafe-icon-option.is-on{border-color:transparent}.cafe-icon-option.is-on:after{content:"";position:absolute;inset:-4px;border:2px solid var(--rose);border-radius:46% 54% 50% 48%/52% 46% 54% 48%;transform:rotate(-5deg);pointer-events:none}.form-page form.cafe-remove{margin-top:40px;padding-top:18px;border-top:1px solid var(--rule);align-items:flex-start}.cafe-pad-list{display:flex;flex-direction:column;gap:14px}.cafe-pad-group-title{margin:4px 0 2px;font-family:var(--font-hand),cursive;font-size:1.05rem;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-soft)}.cafe-pad-group ul{list-style:none;margin:0;padding:0}.cafe-pad-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:6px 8px 6px 0;border-bottom:1px dashed rgba(var(--ink-rgb),.16)}.cafe-pad-row .cafe-cup{width:52px;height:42px}.cafe-pad-name{min-width:0;font-size:1.08rem;line-height:1.3}.cafe-pad-name .cafe-stamp{width:20px;height:20px;margin-left:7px;vertical-align:-.25em}.cafe-pad-actions{display:flex;gap:2px}.cafe-edit-button{display:inline-grid;place-items:center}.cafe-edit-button:hover{background:rgba(var(--ink-rgb),.08);color:var(--ink)}.cafe-pad-empty{margin:0;color:var(--ink-soft);font-size:1.2rem}@media (max-width:520px){.cafe-pad{--px:0.82px}.cafe-pad .tape{width:70px;height:20px}.cafe-pad .tape.tl{left:-8px}.cafe-pad .tape.tr{right:-8px}.cafe-field-pair{grid-template-columns:minmax(0,1fr);gap:22px}.cafe-icon-grid{grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:8px}.cafe-preview{padding:22px 14px 14px}}.cafe-item.is-orderable{position:relative}.cafe-order-hit{position:absolute;inset:calc(-6 * var(--px, 1px)) calc(-10 * var(--px, 1px));z-index:1;padding:0;border:none;border-radius:10px;background:transparent;cursor:pointer;transition:background .2s var(--ease-out)}.cafe-order-hit:hover{background:rgba(181,59,72,.06)}.cafe-order-hit:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.cafe-below{gap:4px;margin-top:20px;text-align:center}.cafe-below,.cafe-below-links{display:flex;flex-direction:column;align-items:center}.cafe-below-links{gap:2px}.cafe-alerts-note{font-family:var(--font-hand),cursive;font-size:1.1rem;color:var(--ink-soft)}.cafe-who{display:flex;flex-direction:column;align-items:center;gap:6px}.cafe-who-prompt{margin:0;font-family:var(--font-hand),cursive;font-size:1.25rem;color:var(--ink-soft)}.cafe-order{width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:none;background:transparent;color:var(--ink);overflow:visible}.cafe-order:focus,.cafe-order:focus-visible{outline:none}.cafe-order::-webkit-backdrop{background:rgba(30,18,10,.5)}.cafe-order::backdrop{background:rgba(30,18,10,.5)}.cafe-order[open] .cafe-ticket{animation:cafe-ticket-in .26s var(--ease-out)}@keyframes cafe-ticket-in{0%{opacity:0;transform:translateY(14px) rotate(-1deg)}}@media (prefers-reduced-motion:reduce){.cafe-order[open] .cafe-ticket{animation:none}}.cafe-orders{gap:14px;max-width:440px;margin:6px auto 30px;padding:0 16px}.cafe-order-note,.cafe-orders{display:flex;flex-direction:column;align-items:center}.cafe-order-note{position:relative;width:100%;gap:2px;padding:20px 22px 18px;text-align:center;background:var(--card);transform:rotate(-.6deg);animation:cafe-ticket-in .26s var(--ease-out);-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom /12px 51% repeat-x,conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top /12px 51% repeat-x;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom /12px 51% repeat-x,conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top /12px 51% repeat-x}.cafe-order-note.mine{transform:rotate(.5deg)}.cafe-order-note:before{content:"";position:absolute;inset:11px 9px;border:1px dashed rgba(var(--ink-rgb),.18);pointer-events:none}.cafe-order-state,.cafe-order-when,.cafe-order-who{font-family:var(--font-hand),cursive;color:var(--ink-soft)}.cafe-order-who{font-size:1.15rem}.cafe-order-when{font-size:1rem;opacity:.8}.cafe-order-drink{font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100;font-size:1.45rem;line-height:1.2}.cafe-order-extra{font-style:italic;font-size:.98rem;color:var(--ink-soft)}.cafe-order-state{font-size:1.25rem}.cafe-order-note.is-on .cafe-order-state{color:var(--terracotta-d)}.cafe-order-accept{margin-top:10px}.cafe-order-cancel{margin-top:4px;font-size:1.05rem;padding:4px 8px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:4px}.cafe-order-cancel,.cafe-order-hide{background:none;border:0;cursor:pointer}.cafe-order-hide{position:absolute;top:12px;right:12px;width:30px;height:30px;font-size:1.3rem;line-height:1;color:var(--ink-soft)}@media (prefers-reduced-motion:reduce){.cafe-order-note{animation:none}}.cafe-ticket{--px:1px;position:relative;padding:30px 26px 28px;text-align:center;background:var(--card);box-shadow:0 24px 50px rgba(30,15,5,.3);-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom /16px 51% repeat-x,conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top /16px 51% repeat-x;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom /16px 51% repeat-x,conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top /16px 51% repeat-x}.cafe-ticket:before{content:"";position:absolute;inset:18px 14px;border:1px dashed rgba(var(--ink-rgb),.18);pointer-events:none}.yap.is-playing{transform-origin:50% 85%;animation:yap-zoom 7s ease-in-out both}@keyframes yap-zoom{12%,to{transform:scale(1.3)}}.yap.is-playing .yap-fin{animation:yap-circle 1.5s ease-in-out .15s both}@keyframes yap-circle{20%{transform:translateX(-16px)}45%{transform:translateX(13px)}68%{transform:translateX(-6px)}80%{transform:translateX(0)}to{transform:translateY(34px)}}.yap.is-playing .yap-drop{animation:yap-splash .55s ease-out 1.5s both}@keyframes yap-splash{0%{opacity:0}10%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(var(--dx),var(--dy))}}.yap.is-playing .yap-shark{animation:yap-rise .6s cubic-bezier(.3,1.5,.6,1) 1.6s both}@keyframes yap-rise{0%{transform:translateY(50px)}}.yap.is-playing .yap-talk{transform-box:fill-box;transform-origin:center;animation:yap-yap .1s ease-in-out 2.15s 36 alternate both}@keyframes yap-yap{0%{transform:scaleY(1)}to{transform:scaleY(.25)}}.yap.is-playing .yap-lean{transform-box:fill-box;transform-origin:50% 100%;animation:yap-lean 1.2s ease-in-out var(--sad) both}@keyframes yap-lean{0%{transform:translateX(-5px) rotate(-9deg)}}.yap.is-playing .yap-pupils{animation:yap-pupils 1.2s ease-in-out var(--sad) both}@keyframes yap-pupils{0%{transform:translate(-3px,1.5px)}}.yap.is-playing .yap-chomp{transform-box:fill-box;transform-origin:50% 0;animation:yap-chomp .16s ease-in-out 1.95s 6 alternate both}@keyframes yap-chomp{to{transform:scaleY(.25)}}.yap.is-playing .yap-hungry{animation:yap-fade-out 1.2s ease-in-out var(--sad) both}.yap.is-playing .yap-sad{animation:yap-fade-in 1.2s ease-in-out var(--sad) both}@keyframes yap-fade-out{to{opacity:0}}@keyframes yap-fade-in{0%{opacity:0}}.yap.is-playing .yap-lip{transform-box:fill-box;transform-origin:center;animation:yap-wobble .4s ease-in-out calc(var(--sad) + .8s) 8 alternate both}@keyframes yap-wobble{to{transform:translateY(.6px) scaleX(.85)}}.yap.is-playing .yap-shrimp{transform-box:fill-box;transform-origin:50% 100%;animation:yap-startle 2s ease-in-out .3s both}@keyframes yap-startle{10%{transform:translateY(-7px) rotate(-8deg)}20%,66%{transform:none}72%{transform:translateY(-10px) rotate(6deg)}84%,to{transform:none}}.yap.is-playing .yap-bubble{transform-box:fill-box;transform-origin:100% 80%;animation:yap-pop .4s cubic-bezier(.3,1.7,.6,1) 2.1s both}.yap-word{font-family:var(--font-hand),cursive;font-weight:700;font-size:10px;fill:#2e1f12}.yap.is-playing .yap-word{opacity:0;animation:yap-line var(--dur) var(--at) step-end forwards}.yap.is-playing .yap-word.is-last{animation-name:yap-line-last}@keyframes yap-line{0%{opacity:1}to{opacity:0}}@keyframes yap-line-last{0%,to{opacity:1}}.yap.is-playing .yap-bubble path{transform-box:fill-box;transform-origin:90% 80%;animation:yap-jitter .14s linear 2.15s 26 alternate both}@keyframes yap-jitter{0%{transform:rotate(-1.5deg)}to{transform:rotate(1.5deg) scale(1.02)}}.yap.is-playing .yap-heart{visibility:hidden}@keyframes yap-pop{0%{transform:scale(0)}}.yap.is-playing .yap-heart-float{transform-box:fill-box;transform-origin:center;animation:yap-float 1.4s var(--at) ease-out both}@keyframes yap-float{0%{opacity:0;transform:translateY(20px) scale(.5)}25%{opacity:.9}to{opacity:0;transform:translateY(-60px) scale(1.1) rotate(14deg)}}@media (prefers-reduced-motion:reduce){.yap.is-playing,.yap.is-playing *{animation:none!important}.yap.is-playing .yap-drop,.yap.is-playing .yap-fin,.yap.is-playing .yap-heart-float{display:none}.yap.is-playing .yap-word:first-of-type{opacity:1}.yap.is-playing .yap-hungry{opacity:0}}.cafe-cup.is-pouring .cup-fill{transform-box:fill-box;transform-origin:50% 100%;animation:cup-fill var(--dur) var(--at) cubic-bezier(.3,.1,.4,1) both}@keyframes cup-fill{0%{transform:scaleY(0)}}.cafe-cup.is-pouring .cup-stream{transform-box:fill-box;transform-origin:50% 0;animation:cup-stream var(--dur) var(--at) linear both}@keyframes cup-stream{0%{transform:scaleY(0);opacity:1}18%,80%{transform:scaleY(1);opacity:1}to{transform:scaleY(1) scaleX(.3);opacity:0}}.cafe-cup.is-pouring .cup-ice{animation:cup-ice .5s var(--at) cubic-bezier(.3,1.5,.6,1) both}@keyframes cup-ice{0%{transform:translateY(-40px);opacity:0}30%{opacity:1}}.cafe-cup.is-pouring .cup-pop{transform-box:fill-box;transform-origin:center;animation:cup-pop .45s var(--at) cubic-bezier(.3,1.6,.6,1) both}@keyframes cup-pop{0%{transform:scale(0)}}.cafe-cup.is-pouring .cup-steam path{transform-box:fill-box;transform-origin:50% 100%;animation:cup-steam 1.8s var(--at) ease-out 3 both}@keyframes cup-steam{0%{transform:translateY(4px) scaleY(.6);opacity:0}35%{opacity:1}to{transform:translateY(-8px) scaleY(1.1);opacity:0}}@media (prefers-reduced-motion:reduce){.cafe-cup.is-pouring *{animation:none!important}.cafe-cup.is-pouring .cup-steam,.cafe-cup.is-pouring .cup-stream{display:none}}.cafe-ticket .cafe-cup{width:120px;height:96px;margin:10px auto 4px}.cafe-ticket-name{font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100;font-size:1.9rem}.cafe-ticket-desc{margin:4px 0 0;font-style:italic;font-size:.98rem;color:var(--ink-soft)}.cafe-ticket .cafe-who,.cafe-ticket-big,.cafe-ticket-form{position:relative;margin-top:18px}.cafe-ticket-form{display:flex;flex-direction:column;align-items:center;gap:16px}.cafe-ticket-note{width:100%;padding:8px 4px 6px;border:none;border-bottom:1px solid rgba(var(--ink-rgb),.38);background:transparent;color:var(--ink);font-family:var(--font-display),serif;font-size:1.05rem;text-align:center;outline:none}.cafe-ticket-note::placeholder{font-family:var(--font-hand),cursive;font-size:1.2rem;color:var(--ink-faint)}.cafe-ticket-note:focus{border-color:var(--terracotta)}.cafe-ticket-big{margin-bottom:0;font-style:italic;font-size:1.35rem}.cafe-ticket-close{position:absolute;top:22px;right:18px;z-index:1;width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:var(--ink-faint);font-size:1.5rem;line-height:1;cursor:pointer}.cafe-ticket-close:hover{color:var(--ink)}.cafe-dogs{--edge-inset:28px;position:absolute;top:0;left:var(--edge-inset);right:var(--edge-inset);height:0;z-index:2;pointer-events:none}.cafe-dog{--w:82px;position:absolute;bottom:-5px;left:calc((100% - var(--w)) * var(--x, 0));width:var(--w);padding:0;border:none;background:none;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition-property:left;transition-timing-function:ease-in-out}.cafe-dog-husky{--w:132px;bottom:-3px}.cafe-dog svg{display:block;width:100%;height:auto;overflow:visible}.cafe-dog g,.cafe-dog path{transform-box:fill-box}.cafe-dog.is-hopping .dog-bob{animation:dog-hop .43s ease-in-out 3}@keyframes dog-hop{0%,to{transform:translateY(0)}45%{transform:translateY(-14px) rotate(-3deg)}}.cafe-dog.is-hopping .husky-tail,.cafe-dog.is-hopping .pom-tail{animation:dog-wag-fast .16s ease-in-out infinite alternate}@keyframes dog-wag-fast{0%{transform:rotate(-16deg)}to{transform:rotate(14deg)}}.cafe-dogs.is-still *,.cafe-dogs.is-still :after,.cafe-dogs.is-still :before{animation-play-state:paused!important}@media (max-width:900px){.cafe-dogs{--edge-inset:calc(22 * var(--px))}.cafe-dog{--w:calc(62 * var(--px));bottom:calc(-5 * var(--px))}.cafe-dog-husky{--w:calc(100 * var(--px));bottom:calc(-3 * var(--px))}}@media (prefers-reduced-motion:reduce){.cafe-dog g,.cafe-dog path{animation:none!important}}.days-form{max-width:640px;margin-left:auto;margin-right:auto}.days-eyebrow{font-family:var(--font-hand),cursive;font-size:1.15rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);text-align:center;margin:0}.days-head{display:flex;align-items:center;justify-content:space-between;margin:4px 0 2px}.days-date,.days-month{font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100;margin:0;text-align:center;line-height:1.1}.days-month{font-size:2.1rem}.days-date{font-size:1.85rem}.days-arrow{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(var(--ink-rgb),.35);display:grid;place-items:center;font-size:1.3rem;color:var(--ink-soft)}.days-sub{font-family:var(--font-hand),cursive;font-size:1.2rem;color:var(--terracotta-d);text-align:center;margin:2px 0 18px}[data-lights=off] .days-sub{color:var(--terracotta)}.days-cal{position:relative;background:var(--card);border-radius:4px;padding:16px 10px;box-shadow:0 10px 30px rgba(70,40,20,.14),0 1px 0 rgba(70,40,20,.08)}.days-cal:before{content:"";position:absolute;inset:8px;border:1px dashed rgba(var(--ink-rgb),.14);pointer-events:none}.days-rings{position:absolute;top:-9px;left:0;right:0;display:flex;justify-content:space-around;padding:0 18%}.days-rings i{width:9px;height:20px;border-radius:5px;background:linear-gradient(#8a7a6a,#4a3c30);box-shadow:0 1px 1px rgba(0,0,0,.25)}.days-dow,.days-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px}.days-dow span{font-family:var(--font-hand),cursive;font-size:1rem;color:var(--ink-soft);text-align:center;letter-spacing:.1em}.days-grid{--col-gap:4px;margin-top:4px}.days-cell{position:relative;aspect-ratio:1/1.18;display:flex;align-items:center;justify-content:center;color:inherit;border-radius:6px}.days-cell-hit{position:absolute;inset:0;border-radius:6px}.days-cell-hit:hover{background:rgba(var(--ink-rgb),.04)}.days-cell b,.days-stamp{pointer-events:none}.days-trip{--tape:#cf9150;position:absolute;bottom:0;left:calc(var(--col-gap) / -2 - 1px);right:calc(var(--col-gap) / -2 - 1px);height:12px;display:flex;align-items:center;text-decoration:none}.days-trip:before{content:"";position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;background:var(--tape)}.days-trip.is-start{left:2px}.days-trip.is-start:before{border-top-left-radius:2px;border-bottom-left-radius:2px}.days-trip.is-end{right:2px}.days-trip.is-end:before{border-top-right-radius:2px;border-bottom-right-radius:2px}.days-cell.is-other .days-trip{--tape:#e7c8a1}.days-trip:hover{--tape:#c27f3d}.days-trip-name{position:relative;z-index:1;padding:1px 5px 2px;border-radius:6px;background:var(--tape);font-weight:700;font-size:.68rem;color:#fffaf0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;max-width:calc(var(--run, 1) * (100% + var(--col-gap)) - var(--col-gap));text-shadow:0 1px 1px rgba(90,45,15,.35)}.days-cell b,.days-trip-name{font-family:var(--font-hand),cursive;line-height:1}.days-cell b{position:absolute;top:1px;left:4px;z-index:2;font-weight:600;font-size:.98rem;color:var(--ink-soft)}.days-cell.is-other b{opacity:.3}.days-cell.is-future b{opacity:.45}.days-stamp{display:block;width:84%;margin-top:9px;padding:3px;background:var(--photo-frame);-webkit-mask:radial-gradient(2.1px at 2.6px 2.6px,#0000 96%,#000) -2.6px -2.6px /5.2px 5.2px,linear-gradient(#000 0 0) content-box;mask:radial-gradient(2.1px at 2.6px 2.6px,#0000 96%,#000) -2.6px -2.6px /5.2px 5.2px,linear-gradient(#000 0 0) content-box}.days-stamp-img{position:relative;display:block;aspect-ratio:1/1.12;overflow:hidden}.days-stamp-img img{object-fit:cover}.days-today{position:absolute;inset:-3px -2px 0;z-index:3;width:calc(100% + 4px);height:calc(100% + 3px);pointer-events:none;overflow:visible}.days-today path{fill:none;stroke:var(--rose);stroke-width:2.2;stroke-linecap:round;vector-effect:non-scaling-stroke}.days-actions{display:flex;justify-content:center;margin:24px 0 6px}.days-sheet{position:relative;background:var(--card);padding:26px 18px 28px;margin:14px 0 8px}.days-sheet:after,.days-sheet:before{content:"";position:absolute;left:0;right:0;height:8px;background:var(--card);pointer-events:none}.days-sheet:before{bottom:100%;-webkit-mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top /16px 100% repeat-x;mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top /16px 100% repeat-x}.days-sheet:after{top:100%;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom /16px 100% repeat-x;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom /16px 100% repeat-x}.days-note{font-family:var(--font-hand),cursive;font-size:1.45rem;line-height:1.2;text-align:center;color:var(--terracotta-d);margin:4px 0 0}[data-lights=off] .days-note{color:var(--terracotta)}.days-empty{font-family:var(--font-hand),cursive;font-size:1.3rem;text-align:center;color:var(--ink-soft);margin:28px 0}.days-pols{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px 14px;gap:18px 14px;padding:22px 6px 4px}.days-pol{--ink-rgb:46,31,18;position:relative;display:block;margin:0;padding:7px 7px 6px;background:var(--photo-frame);box-shadow:0 6px 14px var(--photo-shadow)}.days-pol .caption-write{margin-top:6px}.days-pol .caption{min-height:1.6em;font-size:1.15rem}.days-pol.is-big{grid-column:1/-1;width:80%;justify-self:center}.days-pols.count-1 .days-pol.is-big{width:86%}.days-pol-img{position:relative;display:block;width:100%;aspect-ratio:1;overflow:hidden;padding:0;border:0;background:none;cursor:zoom-in}.days-pol-img img{object-fit:cover}.days-pol-tape{position:absolute;top:-10px;left:50%;z-index:1;width:62px;height:20px;transform:translateX(-50%) rotate(-4deg)}.days-who{font-size:1.1rem;text-align:center;color:var(--ink-soft);margin:18px 0 0}.days-nav,.days-who{font-family:var(--font-hand),cursive}.days-nav{display:flex;justify-content:space-between;margin:16px 4px 0;font-size:1.25rem}.days-nav a{color:var(--ink-soft)}.days-form .field-row{margin-top:14px}.days-pick-day{display:flex;justify-content:center;align-items:center;gap:8px;margin:6px 0 4px;font-family:var(--font-hand),cursive;font-size:1.1rem;color:var(--ink-soft)}.days-pick-day input{width:auto;max-width:11em;font:inherit;font-size:1rem;color:var(--ink);background:transparent;border:0;border-bottom:1px dashed rgba(var(--ink-rgb),.35);padding:2px 4px}.days-have{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px;margin:14px 0 4px}.days-have-photo{position:relative;margin:0}.days-have-img{position:relative;display:block;aspect-ratio:1;border-radius:8px;overflow:hidden;box-shadow:0 3px 8px rgba(70,40,20,.2)}.days-have-img img{object-fit:cover}.days-have-remove{position:absolute;top:-6px;right:-6px;min-width:24px;height:24px;padding:0 6px;border-radius:12px;border:0;background:#2e1f12;color:#fff;font-size:.75rem;cursor:pointer}.days-have-remove.armed{background:var(--rose);font-size:.95rem}.days-full,.days-have-remove.armed{font-family:var(--font-hand),cursive}.days-full{font-size:1.2rem;text-align:center;color:var(--ink-soft);margin:12px 0 0}.days-form .preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px 12px;gap:14px 12px}.days-form .preview-photo{padding:5px 5px 9px}.days-form .preview-photo .img-wrap{width:100%;height:auto;aspect-ratio:1}.dropzone-note{font-family:var(--font-hand),cursive;font-size:1.1rem;color:var(--terracotta-d);text-align:center;margin:8px 0 0}@media (min-width:900px){.days-month{font-size:2.8rem}.days-date{font-size:2.4rem}.days-eyebrow{font-size:1.3rem}.days-sub{font-size:1.4rem;margin-bottom:30px}.days-head{max-width:720px;margin-left:auto;margin-right:auto}.days-cal{padding:30px 32px 26px}.days-rings{padding:0 12%}.days-dow,.days-grid{--col-gap:14px;gap:10px var(--col-gap)}.days-trip{bottom:4px;height:18px}.days-trip:before{height:6px;margin-top:-3px}.days-trip-name{padding:2px 9px 3px;border-radius:9px;font-size:.95rem}.days-dow span{font-size:1.3rem}.days-cell{aspect-ratio:1/.78}.days-cell b{font-size:1.25rem;top:6px;left:10px}.days-stamp{width:min(54%,120px);margin-top:14px}.days-sheet{padding:44px clamp(28px,4vw,64px) 40px}.days-note{font-size:1.8rem}.days-pols{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:34px 24px;padding:38px 0 8px}.days-pol,.days-pol.is-big{width:clamp(180px,14vw,260px);justify-self:auto}.days-pol.is-big{width:clamp(220px,18vw,330px)}.days-pols.count-1 .days-pol.is-big{width:clamp(300px,30vw,440px)}.days-pols.count-2 .days-pol,.days-pols.count-2 .days-pol.is-big{width:clamp(260px,24vw,380px)}.days-pol:nth-child(2n){margin-top:26px}.days-nav{font-size:1.4rem}.days-have{gap:12px}}.fridge .is-butter{--note-bg:#ffe78f}.fridge .is-rose{--note-bg:#ffc9d4}.fridge .is-mint{--note-bg:#c9f0d9}.fridge .is-sky{--note-bg:#c7e2ff}.fridge .is-lilac{--note-bg:#e3d6ff}.fridge .is-peach{--note-bg:#ffd4ad}.fridge{--enamel-a:#d3e6dc;--enamel-b:#e6f2ec;--enamel-c:#bcd6ca;margin:0 auto}[data-lights=off] .fridge{--enamel-a:#33433c;--enamel-b:#42544c;--enamel-c:#2a3833}.fridge-tools,.fridge-who{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}.fridge-tools{margin:0 0 22px}.fridge-who span{color:var(--ink-soft)}.fridge-tool,.fridge-who span{font-family:var(--font-hand),cursive;font-size:1.2rem}.fridge-tool{padding:8px 15px 9px;border:none;border-radius:2px 2px 3px 10px;background:var(--note-bg,#fffdf7);color:#2e1f12;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 1px 1px rgba(0,0,0,.08),0 5px 12px rgba(60,40,20,.14);transform:rotate(-2deg);transition:transform .16s var(--ease-out)}.fridge-tool:nth-child(2){transform:rotate(1.5deg)}.fridge-tool:nth-child(3){transform:rotate(-1deg)}.fridge-tool:hover{transform:rotate(0) translateY(-2px)}.fridge-tool.is-list{background:linear-gradient(transparent 0 70%,rgba(80,140,200,.35) 70% 74%,transparent 74%),#fffdf7}.fridge-tool.is-doodle{background:#fffdf7;border-radius:999px 999px 999px 4px}.fridge-tool.is-stickers{background:#d8f0e2;border-radius:999px}.fridge-error{text-align:center;font-family:var(--font-hand),cursive;color:#b0303c}.fridge-body{flex-direction:column;height:calc(100vh - 84px - var(--dock-space, 0px));height:calc(100svh - 84px - var(--dock-space, 0px));min-height:460px;padding:14px 14px 0;border-radius:38px 38px 18px 18px;background:linear-gradient(90deg,var(--enamel-c) 0,var(--enamel-b) 16%,var(--enamel-a) 58%,var(--enamel-c) 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.45),0 22px 44px rgba(50,40,30,.18),0 4px 10px rgba(50,40,30,.1)}.fridge-body,.fridge-freezer{position:relative;display:flex}.fridge-freezer{flex:none;align-items:center;justify-content:center;height:clamp(58px,15vw,92px);margin-bottom:10px;border-radius:26px 26px 8px 8px;background:linear-gradient(180deg,var(--enamel-b),var(--enamel-a));box-shadow:inset 0 2px 0 rgba(255,255,255,.6),inset 0 -3px 6px rgba(40,70,60,.14),0 2px 0 rgba(40,70,60,.18)}.fridge-freezer:after{content:"";position:absolute;right:7%;bottom:16%;width:22%;height:9px;border-radius:999px;background:linear-gradient(180deg,#f6f8f9,#a4adb2 55%,#e0e5e8);box-shadow:0 2px 4px rgba(0,0,0,.22)}.fridge-badge{font-family:var(--font-display),serif;font-style:italic;font-weight:700;font-size:clamp(1.15rem,4.6vw,1.7rem);letter-spacing:.02em;background:linear-gradient(180deg,#ffffff,#c3cacd 45%,#7f888d 55%,#e9edef);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 rgba(40,60,55,.35))}.fridge-door{--u:1cqmin;flex:1 1;min-height:0;position:relative;container-type:size;border-radius:8px 8px 16px 16px;background:linear-gradient(90deg,var(--enamel-a) 0,var(--enamel-b) 22%,var(--enamel-a) 64%,var(--enamel-c) 100%);box-shadow:inset 0 2px 0 rgba(255,255,255,.6),inset 0 -4px 10px rgba(40,70,60,.14)}.fridge-handle{position:absolute;top:5%;right:3.2%;width:calc(var(--u) * 2.6);height:30%;border-radius:999px;background:linear-gradient(90deg,#7d868b,#f4f6f7 40%,#b6bdc1 72%,#848d92);box-shadow:2px 3px 6px rgba(0,0,0,.22)}.fridge-kick{flex:none;height:20px;margin:12px 10px 0;border-radius:0 0 12px 12px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.2) 0 3px,transparent 3px 10px),linear-gradient(180deg,#96a29d,#707b77)}.fridge-thing{position:absolute;left:min(calc(var(--x) * 100%),calc(100% - var(--w)));top:min(calc(var(--y) * 100%),calc(100% - var(--h)));width:var(--w);touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;cursor:-webkit-grab;cursor:grab;transform:rotate(var(--tilt,0deg));transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out)}.fridge-thing:focus-visible{outline:2px dashed rgba(46,31,18,.6);outline-offset:5px}.fridge-thing.is-doodle,.fridge-thing.is-note{--w:calc(var(--u) * 27);--h:calc(var(--u) * 27);min-height:calc(var(--u) * 25);padding:calc(var(--u) * 4.4) calc(var(--u) * 3) calc(var(--u) * 4.6);background:linear-gradient(180deg,rgba(255,255,255,.35),transparent 22%),var(--note-bg);border-radius:1px 1px 3px 1px;box-shadow:0 1px 1px rgba(0,0,0,.08),0 5px 12px rgba(50,40,20,.16)}.fridge-thing.is-doodle:after,.fridge-thing.is-note:after{content:"";position:absolute;right:0;bottom:0;width:calc(var(--u) * 7);height:calc(var(--u) * 7);background:linear-gradient(315deg,rgba(0,0,0,.08),rgba(255,255,255,.45) 46%,transparent 52%);pointer-events:none}.fridge-words{margin:0;max-height:calc(calc(var(--u) * 4) * 1.14 * 8);overflow:hidden;font-family:var(--font-hand),cursive;font-weight:600;font-size:calc(var(--u) * 4);line-height:1.14;color:#2e1f12;white-space:pre-wrap;overflow-wrap:anywhere}.fridge-thing.is-list{--w:calc(var(--u) * 36);--h:calc(var(--u) * 34);padding:calc(var(--u) * 5.6) calc(var(--u) * 3.4) calc(var(--u) * 4.6) calc(var(--u) * 6.6);border-top:calc(var(--u) * 2.2) solid var(--note-bg);background:linear-gradient(90deg,transparent calc(var(--u) * 4.8),rgba(226,72,90,.45) calc(var(--u) * 4.8) calc(calc(var(--u) * 4.8) + 1.5px),transparent calc(calc(var(--u) * 4.8) + 1.5px)),repeating-linear-gradient(180deg,transparent 0 calc(calc(var(--u) * 5.4) - 1px),rgba(80,140,200,.32) calc(calc(var(--u) * 5.4) - 1px) calc(var(--u) * 5.4)) 0 calc(var(--u) * 10.4) /100% calc(100% - calc(var(--u) * 10.4)) no-repeat,#fffdf7;border-radius:2px;box-shadow:0 1px 1px rgba(0,0,0,.08),0 5px 12px rgba(50,40,20,.16)}.fridge-list-title{margin:0 0 calc(var(--u) * .6);font-family:var(--font-hand),cursive;font-weight:700;font-size:calc(var(--u) * 4.2);line-height:1.1;color:#2e1f12;overflow-wrap:anywhere}.fridge-list{margin:0;padding:0;list-style:none}.fridge-list li{display:flex;align-items:center;gap:calc(var(--u) * 1.6);min-height:calc(var(--u) * 5.4);font-family:var(--font-hand),cursive;font-size:calc(var(--u) * 3.6);line-height:1.1;color:#2e1f12;cursor:pointer}.fridge-box{flex:none;display:inline-flex;align-items:center;justify-content:center;width:calc(var(--u) * 3.4);height:calc(var(--u) * 3.4);border:1.5px solid #2e1f12;border-radius:calc(var(--u) * .8);font-size:calc(var(--u) * 3);font-weight:700;color:#2a8a5a;background:rgba(255,255,255,.6)}.fridge-line{position:relative;overflow-wrap:anywhere}.fridge-list li.is-done .fridge-line{color:rgba(46,31,18,.5)}.fridge-scratch{position:absolute;left:-3%;top:30%;width:106%;height:.6em;overflow:visible;pointer-events:none}.fridge-scratch path{fill:none;stroke:#2e1f12;stroke-width:1.6px;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:120;animation:fridge-scratch .35s ease-out both}@keyframes fridge-scratch{0%{stroke-dashoffset:120}to{stroke-dashoffset:0}}.fridge-thing.is-sticker{--w:calc(var(--u) * 13);--h:calc(var(--u) * 13)}.fridge-sticker-art{display:block;width:100%;height:auto}.fridge-sign{right:calc(var(--u) * 2.6);bottom:calc(var(--u) * 1.2);font-size:calc(var(--u) * 3.2);color:rgba(46,31,18,.55)}.fridge-new,.fridge-sign{position:absolute;font-family:var(--font-hand),cursive}.fridge-new{top:calc(var(--u) * -1.8);left:calc(var(--u) * -2.4);padding:calc(var(--u) * .5) calc(var(--u) * 1.8) calc(var(--u) * .7);border-radius:999px;background:#e2485a;color:#fff;font-weight:700;font-size:calc(var(--u) * 2.9);line-height:1;transform:rotate(-12deg);box-shadow:0 2px 4px rgba(0,0,0,.2)}.fridge-magnet{position:absolute;top:calc(var(--u) * -2.6);left:50%;width:calc(var(--u) * 5.4);height:calc(var(--u) * 5.4);margin-left:calc(var(--u) * -2.7);border-radius:50%;background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.9) 0 12%,rgba(255,255,255,0) 32%),var(--magnet);box-shadow:0 2px 3px rgba(0,0,0,.3),inset 0 -2px 3px rgba(0,0,0,.25)}.fridge-tape{position:absolute;top:calc(var(--u) * -2.4);left:50%;width:calc(var(--u) * 15);height:calc(var(--u) * 4.4);margin-left:calc(var(--u) * -7.5);background:50%/100% 100% no-repeat;opacity:.82;transform:rotate(-4deg)}.fridge-thing.is-lifted{cursor:-webkit-grabbing;cursor:grabbing;transform:rotate(0deg) scale(1.07);transition:transform .14s var(--ease-out)}.fridge-thing.is-doodle.is-lifted,.fridge-thing.is-list.is-lifted,.fridge-thing.is-note.is-lifted{box-shadow:0 2px 2px rgba(0,0,0,.08),0 18px 30px rgba(50,40,20,.24)}.fridge-thing.is-dropped{animation:fridge-snap .3s var(--ease-out)}@keyframes fridge-snap{0%{transform:rotate(var(--tilt)) scale(1.07)}55%{transform:rotate(var(--tilt)) scale(.97)}to{transform:rotate(var(--tilt)) scale(1)}}.fridge-thing.is-fresh{animation:fridge-stick .55s cubic-bezier(.3,1.45,.6,1) both}@keyframes fridge-stick{0%{opacity:0;transform:translateY(-22px) rotate(calc(var(--tilt) - 8deg)) scale(1.15)}40%{opacity:1}}.fridge-thing.is-peeling{pointer-events:none;animation:fridge-peel .38s ease-in forwards}@keyframes fridge-peel{to{opacity:0;transform:translate(16px,-26px) rotate(calc(var(--tilt) + 22deg)) scale(.9)}}.fridge-editor{width:min(92vw,420px);max-width:none;padding:0;border:none;background:transparent;overflow:visible}.fridge-editor::-webkit-backdrop{background:rgba(30,20,10,.38)}.fridge-editor::backdrop{background:rgba(30,20,10,.38)}.fridge-sheet{padding:22px 20px 18px;background:#fffdf7;border-radius:3px;box-shadow:0 24px 50px rgba(20,12,4,.35);transform:rotate(-1deg);color:#2e1f12}.fridge-sheet.is-doodle,.fridge-sheet.is-note{background:linear-gradient(180deg,rgba(255,255,255,.35),transparent 22%),var(--note-bg)}.fridge-sheet.is-list{border-top:12px solid var(--note-bg)}.fridge-pad{display:block;width:100%;min-height:9em;border:none;outline:none;resize:none;background:transparent;font-family:var(--font-hand),cursive;font-weight:600;font-size:1.6rem;line-height:1.18;color:#2e1f12}.fridge-pad input::placeholder,.fridge-pad::placeholder{color:rgba(46,31,18,.35)}.fridge-pad.is-list{min-height:0}.fridge-pad input{min-width:0;border:none;outline:none;background:transparent;font-family:var(--font-hand),cursive;color:#2e1f12}.fridge-pad-title{width:100%;margin-bottom:8px;font-size:1.55rem;font-weight:700}.fridge-pad ul{margin:0;padding:0;list-style:none}.fridge-pad li{display:flex;align-items:center;gap:10px;padding:4px 0;border-bottom:1px solid rgba(80,140,200,.3)}.fridge-pad li input{flex:1 1;font-size:1.3rem}.fridge-pad .fridge-box{width:20px;height:20px;border-radius:5px;font-size:.95rem;padding:0;cursor:pointer}.fridge-row-x{border:none;background:none;font-size:1.3rem;color:rgba(46,31,18,.45);cursor:pointer}.fridge-colors{display:flex;gap:10px;margin:14px 0 16px}.fridge-swatch{width:30px;height:30px;padding:0;border-radius:50%;border:2px solid rgba(46,31,18,.22);background:var(--note-bg);cursor:pointer;transition:transform .14s var(--ease-out)}.fridge-swatch.is-on{border-color:#2e1f12;transform:scale(1.14)}.fridge-sheet-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.fridge-cancel,.fridge-peel{border:none;background:none;padding:6px 2px;font-family:var(--font-hand),cursive;font-size:1.2rem;color:rgba(46,31,18,.7);-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:4px;cursor:pointer}.fridge-peel{color:#b0303c}.fridge-sheet-title{margin:0 0 12px;text-align:center;font-family:var(--font-hand),cursive;font-size:1.4rem;font-weight:700}.fridge-sticker-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px}.fridge-sticker-pick{padding:2px;border:none;background:none;cursor:pointer;transition:transform .16s var(--ease-out)}.fridge-sticker-pick:focus-visible,.fridge-sticker-pick:hover{transform:scale(1.12) rotate(-6deg)}.fridge-sticker-big{width:42%;margin:0 auto 18px}.fridge-thing.is-doodle{padding:calc(var(--u) * 3.4) calc(var(--u) * 2.4) calc(var(--u) * 3.6)}.fridge-doodle{display:block;width:100%;height:auto;overflow:visible}.fridge-doodle path{fill:none;stroke-linecap:round;stroke-linejoin:round}.fridge-doodle-paper{position:relative;aspect-ratio:1;touch-action:none;cursor:crosshair;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(46,31,18,.08)}.fridge-doodle-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-hand),cursive;font-size:1.6rem;color:rgba(46,31,18,.28);pointer-events:none}.fridge-doodle-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.fridge-ink{width:26px;height:26px;padding:0;border:2px solid rgba(255,255,255,.85);border-radius:50%;box-shadow:0 0 0 1px rgba(46,31,18,.25);cursor:pointer;transition:transform .14s var(--ease-out)}.fridge-ink.is-on{transform:scale(1.18);box-shadow:0 0 0 2px #2e1f12}.fridge-nib{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1.5px dashed rgba(46,31,18,.35);border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer}.fridge-nib span{display:block;border-radius:50%}.fridge-doodle-btn{margin-left:auto;padding:4px 6px;border:none;background:none;font-family:var(--font-hand),cursive;font-size:1.15rem;color:rgba(46,31,18,.75);-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:4px;cursor:pointer}.fridge-doodle-btn+.fridge-doodle-btn{margin-left:0}.fridge-doodle-btn:disabled{opacity:.35;cursor:default}@media (min-width:900px){.fridge-door{--u:0.8cqmin;background:linear-gradient(90deg,transparent calc(50% - 1px),rgba(40,70,60,.22) calc(50% - 1px) 50%,rgba(255,255,255,.45) 50% calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(90deg,var(--enamel-a) 0,var(--enamel-b) 14%,var(--enamel-a) 40%,var(--enamel-c) 50%,var(--enamel-b) 64%,var(--enamel-a) 88%,var(--enamel-c) 100%)}.fridge-handle{right:calc(50% + 14px)}.fridge-door:after{content:"";position:absolute;top:5%;left:calc(50% + 14px);width:calc(var(--u) * 2.6);height:30%;border-radius:999px;background:linear-gradient(90deg,#7d868b,#f4f6f7 40%,#b6bdc1 72%,#848d92);box-shadow:2px 3px 6px rgba(0,0,0,.22);pointer-events:none}}@media (max-width:600px){.fridge-body{margin-inline:calc(50% - 50vw);padding:8px 8px 0;border-radius:26px 26px 12px 12px}.fridge-freezer{height:46px;margin-bottom:7px;border-radius:18px 18px 6px 6px}.fridge-kick{height:14px;margin-top:8px}.fridge-tools{gap:8px;margin-bottom:14px}.fridge-tool{padding:7px 11px 8px;font-size:1.05rem}}@media (prefers-reduced-motion:reduce){.fridge-scratch path,.fridge-thing,.fridge-thing.is-dropped,.fridge-thing.is-fresh{animation:none;transition:none}}.woof-page{--wf-0:#f3dc9f;--wf-1:#dfae7f;--wf-2:#e99a93;--wf-3:#c7a1ad;--wf-4:#b0a6c8;--wf-5:#71b1e5;--wf-6:#76e2fd;--wf-7:#a1f4ef;--wf-8:#d2eec2;--wf-9:#d5cdc3;--wf-line:#3a2817;--wf-thin:rgba(58,40,23,0.16)}[data-lights=off] .woof-page{--wf-0:#7b733f;--wf-1:#ad8a68;--wf-2:#9e6860;--wf-3:#784e58;--wf-4:#6b5888;--wf-5:#5192be;--wf-6:#7395a4;--wf-7:#46797b;--wf-8:#48603b;--wf-9:#969087;--wf-line:#120c07;--wf-thin:rgba(0,0,0,0.28)}.wf-0{--c:var(--wf-0)}.wf-1{--c:var(--wf-1)}.wf-2{--c:var(--wf-2)}.wf-3{--c:var(--wf-3)}.wf-4{--c:var(--wf-4)}.wf-5{--c:var(--wf-5)}.wf-6{--c:var(--wf-6)}.wf-7{--c:var(--wf-7)}.wf-8{--c:var(--wf-8)}.wf-9{--c:var(--wf-9)}.woof{max-width:640px;margin:0 auto;min-height:60vh}.woof-title{margin:0 0 6px;text-align:center;font-family:var(--font-display),serif;font-style:italic;font-weight:500;font-variation-settings:"opsz" 144,"SOFT" 100;font-size:clamp(2.2rem,7vw,3rem);line-height:1.05}.woof-who-ask{text-align:center;font-family:var(--font-hand),cursive;font-size:1.5rem;color:var(--ink-soft);margin:10px 0 18px}.woof-who{display:flex;justify-content:center;gap:28px}.woof-who-pick{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 14px 8px;border:0;border-radius:18px;background:none;font-family:var(--font-hand),cursive;font-size:1.4rem;color:var(--ink);cursor:pointer;transition:transform .22s var(--ease-out),background .22s var(--ease-out)}.woof-who-pick .fridge-sticker-art{width:104px;height:104px}.woof-who-pick:hover{transform:rotate(-4deg) scale(1.04);background:rgba(var(--ink-rgb),.05)}.woof-rules{list-style:none;margin:8px auto 26px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 18px;gap:8px 18px;max-width:640px;font-family:var(--font-hand),cursive;font-size:1.12rem;line-height:1.2;color:var(--ink-soft)}.woof-rules li{display:flex;align-items:center;gap:10px}.woof-rule-art{flex:none;width:44px;height:27px;fill:none;stroke:var(--ink-soft);stroke-width:1.2}.woof-rule-art .is-dog{fill:var(--rose);stroke:none}.woof-rule-art .wf-fill-1{fill:var(--wf-2)}.woof-rule-art .wf-fill-2{fill:var(--wf-5)}.woof-rule-art .is-no{stroke:var(--rose);stroke-width:2;stroke-linecap:round}.woof-rule-art .is-print{fill:var(--ink);stroke:none;opacity:.45}.woof-rule-art .is-arrow{stroke-linecap:round;stroke-linejoin:round}.woof-levels{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px 12px;gap:16px 12px}.woof-level{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;padding:0 0 6px;border:0;background:none;color:var(--ink);cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}.woof-level-map{display:grid;grid-template-columns:repeat(var(--n),1fr);width:100%;aspect-ratio:1;border:2px solid var(--wf-line);border-radius:9px;overflow:hidden;box-shadow:0 3px 8px rgba(60,35,15,.14);transform:rotate(var(--tilt,0deg));transition:transform .26s var(--ease-out),box-shadow .26s var(--ease-out)}.woof-levels li:nth-child(3n+1) .woof-level-map{--tilt:-1.6deg}.woof-levels li:nth-child(3n+2) .woof-level-map{--tilt:1.2deg}.woof-level-map i{background:var(--c)}.woof-level:hover .woof-level-map{transform:rotate(0deg) translateY(-3px);box-shadow:0 8px 16px rgba(60,35,15,.2)}.woof-level-no{position:absolute;top:50%;left:50%;transform:translate(-50%,-78%);min-width:1.9em;padding:0 .3em;border-radius:999px;background:var(--card);box-shadow:0 2px 6px rgba(60,35,15,.2);font-family:var(--font-display),serif;font-weight:600;font-size:1.15rem;line-height:1.7;text-align:center}.woof-level-times{display:flex;align-items:center;gap:8px;font-family:var(--font-hand),cursive;font-size:.98rem;line-height:1;color:var(--ink)}.woof-level-theirs{display:inline-flex;align-items:center;gap:1px;color:var(--ink-soft)}.woof-level-theirs .fridge-sticker-art{width:18px;height:18px}.woof-level.is-locked{cursor:default}.woof-level.is-locked .woof-level-map{filter:grayscale(.85) opacity(.45);box-shadow:none}.woof-level.is-locked .woof-level-no{display:none}.woof-level-lock{position:absolute;top:50%;left:50%;width:30px;height:30px;transform:translate(-50%,-78%);fill:var(--card);stroke:var(--ink-soft);stroke-width:1.5}.woof-level.is-next .woof-level-map{outline:3px solid var(--rose);outline-offset:3px}.woof-level.is-next .woof-level-no{background:var(--rose);color:#fff}.woof-level-paw{position:absolute;top:-7px;right:-6px;width:30px;height:30px;border-radius:50%;background:var(--rose) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 12.6c-2.6 0-5.4 2.6-5.4 5 0 1.6 1.3 2.4 2.6 2.4 1.1 0 1.8-.6 2.8-.6s1.7.6 2.8.6c1.3 0 2.6-.8 2.6-2.4 0-2.4-2.8-5-5.4-5Z'/%3E%3Cellipse cx='6' cy='10.4' rx='1.7' ry='2.2'/%3E%3Cellipse cx='9.6' cy='6.4' rx='1.8' ry='2.4'/%3E%3Cellipse cx='14.4' cy='6.4' rx='1.8' ry='2.4'/%3E%3Cellipse cx='18' cy='10.4' rx='1.7' ry='2.2'/%3E%3C/svg%3E") center /19px no-repeat;box-shadow:0 0 0 2.5px var(--paper),0 3px 6px rgba(60,35,15,.25);transform:rotate(14deg)}.woof-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:4px}.woof-back{justify-self:start;display:inline-flex;align-items:center;gap:2px;padding:6px 8px 6px 0;border:0;background:none;font-family:var(--font-hand),cursive;font-size:1.25rem;color:var(--ink-soft);cursor:pointer}.woof-back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.woof-back:hover{color:var(--terracotta-d)}.woof-level-title{display:flex;flex-direction:column;align-items:center;gap:2px;margin:0;font-family:var(--font-display),serif;font-style:italic;font-weight:500;font-variation-settings:"opsz" 144,"SOFT" 100;font-size:1.7rem;line-height:1.1;white-space:nowrap}.woof-help{width:32px;height:32px;border-radius:50%;border:1px solid rgba(var(--ink-rgb),.35);background:none;font-family:var(--font-display),serif;font-style:italic;font-size:1.1rem;color:var(--ink-soft);cursor:pointer}.woof-playing{scroll-margin-top:14px}.woof-playing .woof-rules{margin:8px auto 12px}.woof-status{display:flex;justify-content:space-between;align-items:center;margin:8px 2px 10px}.woof-hearts{display:inline-flex;gap:4px}.woof-hearts svg{width:26px;height:26px;stroke-width:1.6;stroke-linejoin:round}.woof-hearts .is-full{fill:var(--rose);stroke:var(--rose-deep)}.woof-hearts .is-gone{fill:none;stroke:rgba(var(--ink-rgb),.3);stroke-dasharray:3 2.4;animation:woof-heart-gone .42s var(--ease-out)}@keyframes woof-heart-gone{0%{transform:scale(1.3);fill:var(--rose)}}.woof-clock{font-family:var(--font-display),serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:1.25rem;color:var(--ink-soft)}.woof-board-wrap{position:relative}.woof-board{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));width:100%;max-width:min(560px,calc(100svh - 210px));margin:0 auto;border:2px solid var(--wf-line);border-radius:12px;overflow:hidden;background:var(--wf-line);box-shadow:0 10px 26px rgba(60,35,15,.16);touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:pointer}.woof-cell{position:relative;aspect-ratio:1;display:grid;place-items:center;background:var(--c);border:.5px solid var(--wf-thin);-webkit-tap-highlight-color:transparent}.woof-cell.t{border-top:1.5px solid var(--wf-line)}.woof-cell.r{border-right:1.5px solid var(--wf-line)}.woof-cell.b{border-bottom:1.5px solid var(--wf-line)}.woof-cell.l{border-left:1.5px solid var(--wf-line)}@media (hover:hover){.woof-board:not(.is-won):not(.is-lost) .woof-cell:hover{background:color-mix(in srgb,var(--c) 82%,#fff)}}.woof-x{width:52%;height:52%;fill:var(--wf-line);opacity:.3;transform:rotate(var(--turn,0deg));animation:woof-x-in .18s var(--ease-out)}.woof-x.is-wrong{fill:#c0283a;opacity:.85;width:58%;height:58%}[data-lights=off] .woof-x{fill:#f2e6d0;opacity:.32}[data-lights=off] .woof-x.is-wrong{fill:#ff8a96;opacity:.9}@keyframes woof-x-in{0%{transform:rotate(var(--turn,0deg)) scale(.4);opacity:0}}.woof-cell.is-oops{animation:woof-oops .42s ease-in-out}@keyframes woof-oops{20%,60%{transform:translateX(-3px)}40%,80%{transform:translateX(3px)}}.woof-dog{width:92%;height:92%;animation:woof-dog-in .38s cubic-bezier(.3,1.6,.5,1)}.woof-dog .fridge-sticker-art{display:block;width:100%;height:100%}@keyframes woof-dog-in{0%{transform:scale(.3) rotate(-20deg);opacity:0}}.woof-board.is-won .woof-dog{animation:woof-hop .56s calc(var(--row, 0) * 70ms) cubic-bezier(.3,1.4,.5,1) 2}@keyframes woof-hop{40%{transform:translateY(-22%) rotate(-8deg)}}.woof-board.is-lost,.woof-board.is-won{cursor:default}.woof-board.is-lost .woof-cell{filter:grayscale(.6)}.woof-done{position:absolute;left:50%;top:50%;width:min(86%,330px);transform:translate(-50%,-50%);padding:22px 20px 18px;border-radius:20px;background:var(--card);box-shadow:0 18px 44px rgba(40,20,8,.32);text-align:center;animation:woof-done-in .42s cubic-bezier(.3,1.4,.5,1) .45s both}.woof-done.is-lost{animation-delay:.3s}@keyframes woof-done-in{0%{opacity:0;transform:translate(-50%,-40%) scale(.92)}}.woof-done-stamp{display:block;width:78px;height:78px;margin:-64px auto 2px;animation:woof-hop .7s ease-in-out .9s 2}.woof-done-stamp .fridge-sticker-art{width:100%;height:100%}.woof-done-title{margin:0;font-family:var(--font-display),serif;font-style:italic;font-weight:500;font-variation-settings:"opsz" 144,"SOFT" 100;font-size:2rem;line-height:1.1}.woof-done-line{margin:4px 0 14px;font-size:1.25rem;color:var(--ink-soft)}.woof-done-all,.woof-done-line{font-family:var(--font-hand),cursive}.woof-done-all{margin:0;font-size:1.2rem}.woof-done-buttons{display:flex;flex-direction:column;align-items:center;gap:6px}.woof-go{padding:10px 26px;border:0;border-radius:999px;background:var(--rose);color:#fff;font-family:var(--font-hand),cursive;font-size:1.35rem;line-height:1.2;box-shadow:0 5px 12px rgba(132,39,54,.3);cursor:pointer;transition:transform .2s var(--ease-out)}.woof-go:hover{transform:rotate(-2deg) scale(1.04)}.woof-link{padding:6px 10px;border:0;background:none;font-family:var(--font-hand),cursive;font-size:1.15rem;color:var(--ink-soft);text-decoration:underline;-webkit-text-decoration-color:rgba(var(--ink-rgb),.3);text-decoration-color:rgba(var(--ink-rgb),.3);text-underline-offset:4px;cursor:pointer}.woof-link:disabled{opacity:.4;cursor:default}.woof-tools{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px 14px;margin-top:16px}@media (min-width:720px){.woof-levels{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 18px}}@media (max-width:720px){.woof-playing .woof-board{max-width:none;width:calc(100% - 16px);margin:0 8px;border-width:2px}.woof-rules{grid-template-columns:1fr;gap:6px;max-width:330px;font-size:1.08rem}.woof-levels{gap:14px 10px}.woof-level-no{font-size:1rem}}@media (prefers-reduced-motion:reduce){.woof-board.is-won .woof-dog,.woof-cell.is-oops,.woof-dog,.woof-done,.woof-done-stamp,.woof-hearts .is-gone,.woof-x{animation:none}}.woof-board:focus{outline:none}.woof-board:focus-visible{outline:3px solid var(--rose);outline-offset:3px}.woof-cell.is-cursor{box-shadow:inset 0 0 0 3px var(--rose);z-index:1}.woof-paws{display:inline-flex;gap:2px;margin-top:6px;line-height:0}.woof-paws svg{width:15px;height:15px;fill:rgba(var(--ink-rgb),.16)}.woof-paws svg.is-on{fill:var(--rose)}.woof-level-title .woof-paws{margin-top:0}.woof-level-title .woof-paws svg{width:14px;height:14px}.woof-nearly{margin:14px 0 0;text-align:center;font-family:var(--font-hand),cursive;font-size:1.3rem;color:var(--rose);animation:woof-x-in .3s var(--ease-out)}.woof-status{gap:10px}.woof-bar-end{justify-self:end;display:inline-flex;align-items:center;gap:8px}.woof-sniff{position:relative;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid rgba(var(--ink-rgb),.35);border-radius:50%;background:none;color:var(--ink-soft);cursor:pointer;transition:transform .2s var(--ease-out),border-color .2s var(--ease-out)}.woof-sniff:hover{transform:rotate(-8deg);border-color:var(--rose)}.woof-sniff.is-on{border-color:var(--rose);box-shadow:0 0 0 3px rgba(181,59,72,.15)}.woof-sniff .woof-nose{width:18px;height:18px;fill:var(--ink-soft)}.woof-sniff .woof-nose .woof-nose-hole{fill:var(--paper)}.woof-nose{width:18px;height:18px;flex:none;fill:var(--ink)}.woof-nose .woof-nose-hole{fill:var(--card)}.woof-sniff-count{position:absolute;top:-6px;right:-7px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--rose);color:#fff;font-size:.8rem;line-height:17px}.woof-hint,.woof-sniff-count{font-family:var(--font-hand),cursive;text-align:center}.woof-hint{margin:0 auto 10px;padding:8px 14px;max-width:560px;border-radius:14px;background:var(--card);box-shadow:0 4px 12px rgba(60,35,15,.12);font-size:1.2rem;line-height:1.25;color:var(--ink);animation:woof-x-in .22s var(--ease-out)}.woof-hint-why{display:block;margin-top:2px;color:var(--rose)}.woof-cell.is-look:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.5);pointer-events:none;animation:woof-glow 1.4s ease-in-out infinite}[data-lights=off] .woof-cell.is-look:after{background:rgba(255,235,200,.28)}@keyframes woof-glow{50%{opacity:.25}}.woof-cell.is-point:before{content:"";position:absolute;inset:3px;border:2.5px dashed var(--rose);border-radius:7px;pointer-events:none;z-index:1}[data-lights=off] .woof-cell.is-point:before{border-color:#ff9aa5}.woof-sniffs{display:inline-flex;align-items:center;gap:1px;margin-left:3px;font-size:.85em;color:var(--ink-soft)}.woof-sniffs .woof-nose{width:12px;height:12px;fill:var(--ink-soft)}.woof-sniffs .woof-nose .woof-nose-hole{fill:var(--paper)}.woof-level-paw.is-clean{background-color:var(--gold)}@media (prefers-reduced-motion:reduce){.woof-cell.is-look:after,.woof-hint{animation:none}}body:has(.woof-page) .seasonal-layer{display:none}.woof-hold{position:absolute;inset:4%;width:92%;height:92%;pointer-events:none;z-index:2;transform:rotate(-90deg)}.woof-hold circle{fill:rgba(255,255,255,.35);stroke:var(--rose);stroke-width:4;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;opacity:0;animation:woof-hold-fill .35s linear .1s forwards}@keyframes woof-hold-fill{0%{opacity:1;stroke-dashoffset:100}to{opacity:1;stroke-dashoffset:0}}.woof-board.is-won .woof-x{animation:woof-ripple .52s calc(var(--d, 0) * 45ms) ease-out both}@keyframes woof-ripple{0%{transform:rotate(var(--turn,0deg)) scale(1)}40%{transform:rotate(var(--turn,0deg)) scale(1.45);opacity:.95;fill:var(--rose)}to{transform:rotate(var(--turn,0deg)) scale(1)}}.woof-board.is-won .woof-dog{animation:woof-hop .56s calc(var(--n, 5) * 80ms + var(--row, 0) * 70ms) cubic-bezier(.3,1.4,.5,1) 2}.woof-board.is-won~.woof-done{animation-delay:calc(var(--n, 5) * 90ms + .7s)}@media (prefers-reduced-motion:reduce){.woof-hold circle{animation-duration:1ms;animation-delay:349ms}.woof-board.is-won .woof-dog,.woof-board.is-won .woof-x{animation:none}}.woof-board.is-shaped{border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;filter:drop-shadow(0 8px 14px rgba(60,35,15,.18))}.woof-cell.is-off{background:none;border:0;pointer-events:none}.woof-board.is-shaped .woof-cell.ot{border-top-width:3px}.woof-board.is-shaped .woof-cell.or{border-right-width:3px}.woof-board.is-shaped .woof-cell.ob{border-bottom-width:3px}.woof-board.is-shaped .woof-cell.ol{border-left-width:3px}@media (max-width:720px){.woof-playing .woof-board.is-shaped{border:0}}.woof-specials{margin-top:44px}.woof-specials-title{margin:0 0 16px;text-align:center;font-family:var(--font-hand),cursive;font-weight:400;font-size:1.5rem;color:var(--rose)}.woof-specials-title:after,.woof-specials-title:before{content:"♡";margin:0 10px;font-size:.9em;opacity:.7}.woof-level.is-special .woof-level-map{border:0;border-radius:0;box-shadow:none;overflow:visible;filter:drop-shadow(0 3px 5px rgba(60,35,15,.18))}.woof-level-map i.is-off{background:none}.woof-public{padding-top:max(28px,env(safe-area-inset-top))}body:has(.woof-public) .seasonal-layer{display:none}.woof-maybe{width:66%;height:66%;opacity:.26;filter:brightness(0);animation:woof-x-in .16s var(--ease-out)}[data-lights=off] .woof-maybe{opacity:.4;filter:brightness(0) invert(1)}.woof-maybe .fridge-sticker-art{display:block;width:100%;height:100%}.woof-maybe-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 6px;border:1.5px dashed rgba(var(--ink-rgb),.35);border-radius:999px;background:none;font-family:var(--font-hand),cursive;font-size:1.15rem;color:var(--ink-soft);cursor:pointer}.woof-maybe-toggle-dog{width:24px;height:24px;opacity:.35;filter:brightness(0)}[data-lights=off] .woof-maybe-toggle-dog{filter:brightness(0) invert(1)}.woof-maybe-toggle-dog .fridge-sticker-art{display:block;width:100%;height:100%}.woof-maybe-toggle.is-on{border-style:solid;border-color:var(--rose);background:rgba(181,59,72,.1);color:var(--ink)}.woof-maybe-toggle.is-on .woof-maybe-toggle-dog{opacity:.6}.woof-dogs{display:flex;justify-content:center;gap:10px;margin:-10px 0 22px}.woof-dog-pick{width:54px;height:54px;padding:3px;border:2px solid transparent;border-radius:50%;background:none;cursor:pointer;opacity:.55;transition:transform .2s var(--ease-out),opacity .2s var(--ease-out),border-color .2s var(--ease-out)}.woof-dog-pick .fridge-sticker-art{display:block;width:100%;height:100%}.woof-dog-pick:hover{opacity:.85;transform:rotate(-6deg)}.woof-dog-pick.is-on{opacity:1;border-color:var(--rose);background:rgba(181,59,72,.08)}.woof-account{margin:-8px 0 20px;text-align:center;font-family:var(--font-hand),cursive;font-size:1.12rem;color:var(--ink-soft)}.woof-account b{color:var(--ink)}.woof-sync.is-synced{color:#2f8a58}.woof-sync.is-offline{color:var(--rose)}.woof-account-form{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:-8px 0 20px}.woof-account-form input{width:min(220px,60vw);padding:9px 14px;border:1.5px solid rgba(var(--ink-rgb),.3);border-radius:999px;background:var(--card);color:var(--ink);font-family:var(--font-hand),cursive;font-size:1.2rem}.woof-account-form .woof-go{padding:8px 20px;font-size:1.2rem}.woof-account-note{flex-basis:100%;margin:0;text-align:center;font-family:var(--font-hand),cursive;font-size:1rem;color:var(--ink-soft)}.woof-hint.is-idle{visibility:hidden}