@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300 500;font-display:swap;src:url("./cormorant-latin-POE2J7K6.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300 500;font-display:swap;src:url("./cormorant-latin-ext-JBAQ6PPW.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300 500;font-display:swap;src:url("./cormorant-italic-latin-4GHYHRZX.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300 500;font-display:swap;src:url("./cormorant-italic-latin-ext-45HSJ3L7.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400 600;font-display:swap;src:url("./hanken-latin-GE2RBYTR.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400 600;font-display:swap;src:url("./hanken-latin-ext-VCUN24TX.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url("./caveat-latin-XNJ4DF4N.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url("./caveat-latin-ext-EZDYZH65.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root,.hero-card,.card,.envelope,.pad,olai-stamp,.dense-qr,.sg-logo-dark{--ink: #1B1F2A;--paper: #F7F3EC;--card: #FCFAF6;--wine: #6E2A26;--gold: #A8864E;--gold-dark: #85693C;--text-2: #4A463F;--text-3: #6B6457;--text-4: #746D62;--placeholder: #847E74;--rule: #D9CFBD;--rule-2: #E3DACB;--gold-line: rgba(168, 134, 78, .45);--gold-line-strong: rgba(168, 134, 78, .6);--stripe-red: #B4513A;--stripe-blue: #25355F;--veil: rgba(27, 31, 42, .88);--on-veil: #F7F3EC;--glow: rgba(255, 255, 255, .9);--bar-bg: rgba(247, 243, 236, .94);--shadow-lift: 0 18px 40px -24px rgba(27, 31, 42, .4);--shadow-float: 0 40px 70px -36px rgba(27, 31, 42, .5);--shadow-card: 0 44px 90px -44px rgba(27, 31, 42, .55);--shadow-toast: 0 20px 40px -16px rgba(27, 31, 42, .5)}.hero-card,.card,.envelope,.pad,olai-stamp,.dense-qr{color:var(--ink)}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--ink: #EEE7DA;--paper: #161A23;--card: #1E232E;--wine: #E3907F;--gold: #C9A66B;--gold-dark: #D4B47C;--text-2: #D3CBBD;--text-3: #B4AC9D;--text-4: #A69E90;--placeholder: #9A9285;--rule: #3B414E;--rule-2: #2C323D;--gold-line: rgba(201, 166, 107, .45);--gold-line-strong: rgba(201, 166, 107, .6);--veil: rgba(8, 10, 15, .9);--glow: rgba(255, 255, 255, .045);--bar-bg: rgba(22, 26, 35, .94);--shadow-lift: 0 18px 40px -24px rgba(0, 0, 0, .7);--shadow-float: 0 40px 70px -36px rgba(0, 0, 0, .8);--shadow-card: 0 44px 90px -44px rgba(0, 0, 0, .85);--shadow-toast: 0 20px 40px -16px rgba(0, 0, 0, .8)}:root{--serif: "Cormorant Garamond", Georgia, "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--sans: "Hanken Grotesk", system-ui, "Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif;--hand: "Caveat", "Cormorant Garamond", Georgia, "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--fs-3xs: 10px;--fs-2xs: 11px;--fs-xs: 12px;--fs-s: 13px;--fs-m: 14px;--fs-base: 16px;--fs-l: 17px;--fs-xl: 19px;--fs-2xl: 21px;--fs-3xl: 23px;--fs-display: clamp(48px, 6.5vw, 84px);--fs-hero: clamp(52px, 7vw, 92px);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--sp-9: 96px;--gutter: clamp(20px, 5vw, 56px);--radius: 1px;--ease: cubic-bezier(.2, .7, .1, 1);--ease-draw: cubic-bezier(.45, .05, .35, 1)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}*{-webkit-tap-highlight-color:transparent}input:-webkit-autofill,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--paper) inset;-webkit-text-fill-color:var(--ink);transition:background-color 9999s}body{font-family:var(--serif)}[hidden]{display:none!important}.sprite{position:absolute;width:0;height:0}.file{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%)}:has(>.file){position:relative}:has(>.file:focus-visible){outline:2px solid var(--gold);outline-offset:3px}a{color:var(--ink);text-decoration-color:var(--gold-line-strong)}a:hover{color:var(--wine)}button,input,textarea,select{font:inherit;color:inherit}input:focus,textarea:focus,select:focus{outline:none}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}[tabindex="-1"]:focus{outline:none}::placeholder{color:var(--placeholder);opacity:1}h1,p{margin:0}.grow{flex:1}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes cardUp{0%{opacity:0;transform:translateY(80px) scale(.965)}to{opacity:1;transform:none}}@keyframes write{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes sealIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}@keyframes shake{0%,to{transform:none}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}@keyframes draw{0%{stroke-dashoffset:1;opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes reveal{to{clip-path:inset(-25% -10% -35% 0)}}@keyframes breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.rise{animation:rise .5s var(--ease) both}.rise-sm{animation:rise .3s var(--ease) both}.fade{animation:fade .5s both}.card-up{animation:cardUp .7s var(--ease) both}.breathe{will-change:transform;animation:breathe var(--b, 8s) ease-in-out infinite}.rise,.rise-sm,.fade,.card-up,.breathe,.tile{animation-delay:var(--d, 0s)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}}.eyebrow{font-family:var(--sans);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-dark)}.kicker{margin-bottom:-8px;font-family:var(--sans);font-size:var(--fs-xs);font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--wine)}.h1{font-weight:400;line-height:1;letter-spacing:-.015em}.h1 em{font-weight:300}.lead{font-size:var(--fs-2xl);line-height:1.55;color:var(--text-2);max-width:540px;text-wrap:pretty}.aside{font-size:var(--fs-xl);font-style:italic;color:var(--text-3);text-align:center}.small{font-family:var(--sans);font-size:var(--fs-xs);color:var(--text-4)}.label{font-family:var(--sans);font-size:var(--fs-xs);font-weight:500;color:var(--text-4)}.note{font-size:var(--fs-l);font-style:italic;line-height:1.5;color:var(--text-3)}.hand{font-family:var(--hand);font-weight:500}[data-bind]{unicode-bidi:isolate}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;height:54px;padding:0 36px;border:none;border-radius:var(--radius);background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:var(--fs-xs);font-weight:600;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s,border-color .2s,opacity .2s,transform .12s}button,.btn,label.btn{touch-action:manipulation}.btn:active:not(:disabled),.theme-toggle:active,.link:active,.back:active,.cat:active,.ink:active,.pen:active{transform:scale(.96);opacity:.8}.btn:hover:not(:disabled){background:var(--wine)}.btn:disabled{opacity:.35;cursor:default}.btn-lg{height:56px;padding:0 38px}.btn-outline{border:1px solid var(--ink);background:transparent;color:var(--ink)}.btn-outline:hover:not(:disabled){background:var(--ink);color:var(--paper)}.btn-soft{border:1px solid var(--rule);background:var(--card);color:var(--ink)}.btn-soft:hover:not(:disabled){background:var(--card);border-color:var(--gold)}.btn-full{width:100%}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:-8px -8px -8px 0;padding:0;border:none;background:none;color:var(--ink);cursor:pointer;opacity:.75;transition:opacity .2s,transform .12s}.theme-toggle:hover{opacity:1}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.theme-toggle .sun,[data-theme=dark] .theme-toggle .moon{display:none}[data-theme=dark] .theme-toggle .sun{display:block}.link{align-self:flex-start;border:none;background:none;padding:2px 0;cursor:pointer;font-family:var(--sans);font-size:var(--fs-s);font-weight:500;color:var(--ink);border-bottom:1px solid var(--gold-line)}.row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}.row-center{justify-content:center;gap:var(--sp-3)}.field{display:flex;flex-direction:column;gap:6px}.input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--rule);border-radius:0;padding:var(--sp-2) 0 6px;font-family:var(--sans);font-size:var(--fs-base);color:var(--ink);transition:border-color .2s}.input:focus{border-bottom-color:var(--gold)}.input-lg{font-size:var(--fs-xl)}.bar{position:sticky;bottom:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3) 28px;margin:0 -24px;padding:14px 24px calc(14px + env(safe-area-inset-bottom));background:var(--bar-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--rule-2)}.bar-split{justify-content:space-between;gap:14px 28px}.typing .bar{visibility:hidden;pointer-events:none}html{scroll-padding-block:96px 120px}@media(max-width:639.98px){.btn-wide{width:100%}}olai-stamp{position:relative;display:block;width:216px;height:264px;filter:drop-shadow(0 10px 14px rgba(27,31,42,.18))}.sf{width:calc(216px * var(--s, 1));height:calc(264px * var(--s, 1))}.sf>olai-stamp{transform:var(--t, scale(var(--s, 1)));transform-origin:top left}.stamp-paper{position:relative;width:216px;height:264px;background:var(--card);-webkit-mask:radial-gradient(circle at center,transparent 3.9px,#000 4.3px) -6px -6px / 12px 12px repeat,linear-gradient(#000,#000) center / calc(100% - 12px) calc(100% - 12px) no-repeat;mask:radial-gradient(circle at center,transparent 3.9px,#000 4.3px) -6px -6px / 12px 12px repeat,linear-gradient(#000,#000) center / calc(100% - 12px) calc(100% - 12px) no-repeat}.stamp-line{position:absolute;inset:10px;border:1px solid var(--gold-line-strong);pointer-events:none}.stamp-motif{position:absolute;top:15px;left:15px;right:15px;height:150px;overflow:hidden}.stamp-art{position:absolute;inset:0;width:100%;height:100%;display:block}.stamp-qrbox{position:absolute;left:15px;bottom:15px;width:76px;height:76px}.stamp-qr{display:block;width:76px;height:76px;image-rendering:pixelated}.stamp-meta{position:absolute;inset:173px 16px 16px 101px;display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid var(--gold-line);padding-left:10px;color:var(--ink)}.stamp-date{display:flex;flex-direction:column;align-items:center}.stamp-day{font-family:var(--serif);font-style:italic;font-weight:500;font-size:34px;line-height:.85}.stamp-mon{font-family:var(--sans);font-size:6.5px;font-weight:600;letter-spacing:.14em;line-height:1;margin-top:9px;white-space:nowrap}.stamp-sign{display:flex;flex-direction:column;align-items:center;gap:3px}.stamp-brand{font-family:var(--serif);font-style:italic;font-size:12px;line-height:1;white-space:nowrap}.page{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;overflow-x:clip;background:linear-gradient(var(--paper),transparent calc(env(safe-area-inset-top) + 72px)),radial-gradient(ellipse at 50% -10%,var(--glow),transparent 60%) var(--paper)}.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:14px var(--sp-6);min-height:calc(80px + env(safe-area-inset-top));padding:calc(24px + env(safe-area-inset-top)) calc(var(--gutter) + env(safe-area-inset-right)) 24px calc(var(--gutter) + env(safe-area-inset-left))}.brand{display:flex;margin:var(--sp-1) 0;padding:0;border:none;background:none;cursor:pointer}.logo{fill:none;stroke:var(--ink);stroke-width:3.6;stroke-linecap:round;overflow:visible;transition:transform .8s var(--ease)}.brand:hover .logo{transform:scale(1.06)}.logo path{stroke-dasharray:1 2;stroke-dashoffset:1;opacity:0}.logo.draw path{animation:draw .8s calc(.2s + var(--n) * .3s) var(--ease-draw) forwards}.steps{display:flex;align-items:center;gap:var(--sp-5);margin-left:auto}.step{display:flex;align-items:center;gap:var(--sp-2);padding:6px 0;border:none;background:none;cursor:pointer;font-family:var(--sans);font-size:var(--fs-m);font-weight:500;opacity:.55;transition:opacity .3s}.step .dot{width:6px;height:6px;border-radius:50%;background:var(--rule);transition:background .3s}.step[aria-current=step]{opacity:1}.step[aria-current=step] .dot{background:var(--gold)}.step:disabled{opacity:.25;cursor:default}.back{border:none;background:none;padding:12px 12px 12px 0;margin:-6px 0;font-family:var(--sans);font-size:var(--fs-m);font-weight:500;color:var(--text-2);cursor:pointer}main{flex:1;width:100%;max-width:1140px;margin:0 auto;padding:clamp(32px,6vw,72px) calc(var(--gutter) + env(safe-area-inset-right)) 96px calc(var(--gutter) + env(safe-area-inset-left))}.foot{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);padding:0 var(--gutter) calc(28px + env(safe-area-inset-bottom));font-family:var(--sans);font-size:var(--fs-xs);letter-spacing:.04em;color:var(--text-4);text-align:center}.foot-line{display:flex;align-items:center;gap:.45em}.foot .brand{margin:0}.foot .logo{width:52px;height:auto;stroke-width:4.4}.langs{position:relative;display:inline-flex;align-items:center;gap:6px;color:var(--text-4);cursor:pointer}.langs:hover,.langs:focus-within{color:var(--ink)}.globe{fill:none;stroke:currentColor;stroke-width:1.4}.lang-now{padding:3px 14px 3px 0;border-bottom:1px solid var(--gold-line);font:500 var(--fs-xs) var(--sans);letter-spacing:.04em;background:linear-gradient(45deg,transparent 50%,currentColor 50%) right 4px center / 4px 4px no-repeat,linear-gradient(135deg,currentColor 50%,transparent 50%) right 0 center / 4px 4px no-repeat}.langs select{position:absolute;inset:0;width:100%;opacity:0;font-size:16px;cursor:pointer}.langs:has(select:focus-visible) .lang-now{outline:2px solid var(--gold);outline-offset:3px}.heart{width:13px;height:12px;fill:var(--wine);transform-origin:50% 60%;animation:beat 2.8s ease-in-out 4s infinite}@keyframes beat{0%,22%,44%,to{transform:scale(1)}11%,33%{transform:scale(1.18)}}.center{display:flex;flex-direction:column;gap:var(--sp-3);align-items:center;text-align:center}.home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:520px}.home-actions .btn{width:100%;padding:0 20px}@media(max-width:639.98px){.home-actions{grid-template-columns:1fr;max-width:none}}.home{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(48px,7vw,100px);min-height:min(640px,calc(100vh - 220px))}.home-copy{flex:1 1 320px;min-width:0;max-width:560px;display:flex;flex-direction:column;gap:26px;animation-duration:1s}.hero-title{font-weight:400;font-size:var(--fs-hero);line-height:.98;letter-spacing:-.02em;text-wrap:balance;display:flex;flex-direction:column}.hero-title .line{display:block}.hero-title .word{display:inline-block;clip-path:inset(-25% 100% -35% 0);animation:reveal .9s calc(.35s + var(--i) * .9s) cubic-bezier(.4,0,.2,1) forwards}.home .lead{font-size:var(--fs-2xl);line-height:1.5;max-width:480px}.home .row{padding-top:6px}.hero-art{flex:1 1 360px;min-width:0;display:flex;justify-content:center}.hero{position:relative;width:min(520px,100%);height:480px}.hero>.rise{animation-duration:1s}.hero-card{position:absolute;left:0;top:70px;width:92%;aspect-ratio:3 / 2;padding:7px;background:repeating-linear-gradient(-45deg,var(--stripe-red) 0 12px,var(--card) 12px 19px,var(--stripe-blue) 19px 31px,var(--card) 31px 38px);box-shadow:var(--shadow-float)}.hero-card-in{position:relative;width:100%;height:100%;background:var(--card);padding:12% 7% 7%;display:flex;gap:6%}.postcard-label{position:absolute;top:5%;left:0;right:0;text-align:center;font-family:var(--sans);font-size:var(--fs-3xs);font-weight:600;letter-spacing:.42em;text-transform:uppercase}.hero-note{flex:1.4;display:flex;flex-direction:column;gap:10px;font-family:var(--hand);font-weight:500;font-size:clamp(15px,2.1vw,19px);line-height:1.6}.hero-note span+span{opacity:.8}.hero-lines{flex:1;border-left:1px solid var(--rule);display:flex;flex-direction:column;justify-content:flex-end;gap:18px;padding-left:8%;padding-bottom:6%}.hero-lines i{display:block;height:1px;background:var(--rule)}.hero-stamp{position:absolute}.hero-stamp .sf{width:auto;height:auto}.hero-a{right:0;top:0;width:168px;height:206px}.hero-b{left:2%;bottom:0;width:143px;height:174px}.hero-c{left:38%;bottom:-18px;width:125px;height:153px}.hero-a .sf{--t: scale(.78) rotate(7deg)}.hero-b .sf{--t: scale(.66) rotate(-9deg)}.hero-c .sf{--t: scale(.58) rotate(5deg)}.how{flex:1 1 100%;list-style:none;margin:var(--sp-5) 0 0;padding:var(--sp-6) 0 0;border-top:1px solid var(--rule-2);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-6) var(--sp-7)}.how li{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-1) var(--sp-4);align-items:baseline}.how-n{grid-row:span 2;font-size:40px;font-weight:300;font-style:italic;line-height:.9;color:var(--gold)}.how-t{font-family:var(--sans);font-size:var(--fs-xs);font-weight:600;letter-spacing:.2em;text-transform:uppercase}.how-d{font-size:var(--fs-l);line-height:1.45;color:var(--text-3)}.motiv{display:flex;flex-direction:column;gap:52px}.intro{display:flex;flex-direction:column;gap:18px;max-width:640px}.motiv .h1,.letter .h1{font-size:var(--fs-display)}.cats{display:flex;flex-wrap:wrap;gap:var(--sp-2) 26px;margin-top:-20px}.cat{border:none;background:none;padding:6px 0;cursor:pointer;font-family:var(--sans);font-size:var(--fs-m);font-weight:500;color:var(--text-4);border-bottom:1px solid transparent;transition:color .3s,border-color .3s}.cat[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--gold)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--sp-7) 20px;justify-items:center}.tile{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);animation:rise .45s var(--ease) both;animation-delay:var(--d, 0s)}.tile{content-visibility:auto;contain-intrinsic-size:auto 350px;padding-top:10px}.tile-pick{display:block;padding:10px;border:2px solid transparent;border-radius:6px;background:none;cursor:pointer;transition:transform .25s var(--ease),border-color .2s,background .2s}.tile-pick:hover{transform:translateY(-4px)}.tile-pick:active{transform:scale(.97)}.tile[aria-selected=true] .tile-pick{transform:translateY(-6px);border-color:var(--gold);background:#d9a8571a}.tile .sf{--s: .865}.tile-text{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);text-align:center}.tile-name{font-size:var(--fs-3xl);font-weight:500;line-height:1}.tile-note{font-size:var(--fs-base);font-style:italic;color:var(--text-3)}.sel-dot{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:4px 12px;border-radius:99px;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;visibility:hidden}.sel-dot:before{content:"\2713";letter-spacing:0}.tile[aria-selected=true] .sel-dot{visibility:visible}.tile[aria-selected=true] .tile-name{color:var(--wine)}.letter{display:flex;justify-content:center}.letter-col{width:100%;max-width:640px;display:flex;flex-direction:column;gap:44px;animation-duration:.8s}.letter-stamp{display:flex;flex-direction:column;align-items:center;gap:14px}.letter-stamp .link{align-self:center}.lined{border-bottom:none;padding:6px 0 0;font-size:var(--fs-l);line-height:36px;resize:vertical;min-height:252px;background-image:repeating-linear-gradient(transparent 0 35px,var(--rule) 35px 36px);background-attachment:local}.letter .field:has(.pad){gap:var(--sp-3)}.letter .field:has([data-ref=locate]){gap:10px}.pad{position:relative;width:100%;aspect-ratio:8 / 5;background:var(--card) repeating-linear-gradient(transparent 0 47px,#efe7da 47px 48px);border:1px solid var(--rule-2)}.pad canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.pad-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:var(--fs-2xl);font-style:italic;color:var(--placeholder);text-align:center}.pad-tools{display:flex;align-items:center;gap:14px}.pad{transition:border-color .3s,box-shadow .3s}.hint-tap,.pad-done{display:none}@media(hover:none)and (pointer:coarse){.pad canvas{touch-action:pan-y pinch-zoom;cursor:default}.pad-on .pad{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.pad-on .pad canvas{touch-action:none}.field:not(.pad-on) .hint-draw{display:none}.field:not(.pad-on) .hint-tap{display:inline}.pad-on .pad-done{display:inline-block}}.inks{display:flex;flex-wrap:wrap;gap:2px}.ink{width:32px;height:32px;border-radius:50%;border:1px solid transparent;background:transparent;padding:5px;cursor:pointer;display:flex}.ink span{flex:1;border-radius:50%}.ink[aria-pressed=true]{border-color:var(--ink)}.pens{display:flex;align-items:center;gap:4px}.pen{width:36px;height:36px;border-radius:50%;border:1px solid transparent;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}.pen span{border-radius:50%;background:var(--c, var(--ink))}.pen[aria-pressed=true]{border-color:var(--ink)}.links{display:contents}.link-inputs{display:flex;align-items:center;gap:var(--sp-2)}.link-pair{flex:1;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--sp-2) var(--sp-5)}.x{flex:0 0 auto;width:36px;height:36px;border:none;background:none;color:var(--text-4);font-size:var(--fs-xl);line-height:1;cursor:pointer}.link-add{font-size:var(--fs-m);margin-top:-16px}.lock-opt{display:flex;flex-direction:column;gap:26px;padding-top:28px;border-top:1px solid var(--rule-2)}.toggle{font-family:var(--serif);display:flex;align-items:flex-start;gap:var(--sp-4);border:none;background:none;padding:0;cursor:pointer;text-align:left}.switch{flex:0 0 auto;position:relative;width:40px;height:22px;margin-top:var(--sp-1);border-radius:11px;background:var(--rule);transition:background .3s}.switch span{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--card);box-shadow:0 1px 2px #0003;transition:left .3s var(--ease)}.toggle[aria-pressed=true] .switch{background:var(--ink)}.toggle[aria-pressed=true] .switch span{left:21px}.toggle-text{display:flex;flex-direction:column;gap:var(--sp-1)}.toggle-title{font-size:var(--fs-3xl);line-height:1.1}.toggle-sub{font-family:var(--sans);font-size:var(--fs-s);line-height:1.5;color:var(--text-3)}.lock-fields{display:flex;flex-direction:column;gap:var(--sp-6)}.cap{flex:1 1 200px;display:flex;flex-direction:column;gap:var(--sp-2);max-width:280px}.cap-track{height:2px;border-radius:2px;background:var(--rule-2);overflow:hidden}.cap-track div{height:100%;width:0;background:var(--gold);transition:width .6s var(--ease),background .4s}.cap span{font-family:var(--sans);font-size:var(--fs-s);color:var(--text-3)}.cap.over .cap-track div{background:var(--wine)}.cap.over span{color:var(--wine)}.share{display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center}.h1-share{font-size:var(--fs-display);line-height:.98;letter-spacing:-.02em}.share-stamp{padding:var(--sp-2) 0 var(--sp-3)}.sf-share{width:281px;height:343px;--t: scale(1.3) rotate(-3deg)}.dense{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);animation-delay:.15s}.dense-qr{padding:18px;background:var(--card);box-shadow:var(--shadow-lift)}.dense-qr img{display:block;width:min(300px,72vw);height:auto;image-rendering:pixelated}.share-actions{width:100%;max-width:560px;display:flex;flex-direction:column;gap:var(--sp-3)}.share-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-3)}.share-actions .btn{padding:0 var(--sp-6)}.share-text{max-width:460px;font-size:var(--fs-xl);line-height:1.5;color:var(--text-2);text-wrap:pretty}.save-view{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:var(--sp-5);background:var(--veil);animation:fade .3s both}.save-view img{max-width:100%;max-height:70vh;box-shadow:0 20px 60px #0006;-webkit-touch-callout:default}.save-tip{font-size:var(--fs-2xl);font-style:italic;color:var(--on-veil);text-align:center}.save-close{border:none;background:none;cursor:pointer;font-family:var(--sans);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#c9b899}.lock{display:flex;flex-direction:column;align-items:center;gap:40px;text-align:center}.lock .center,.open .center{gap:14px}.h1-lock{font-size:var(--fs-display);line-height:.98;letter-spacing:-.02em}.hint{margin-top:6px;font-size:clamp(22px,3vw,28px);font-style:italic;color:var(--text-2)}.unlock{width:100%;max-width:440px;display:flex;flex-direction:column;gap:var(--sp-6);text-align:left}.unlock-go{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:6px}.unlock-go .btn.shake{animation:shake .45s ease}.err{min-height:24px;font-size:var(--fs-xl);font-style:italic;color:var(--wine)}.broken{display:flex;flex-direction:column;align-items:center;gap:40px;text-align:center}.broken .center{gap:14px}.broken .lead{font-size:var(--fs-xl)}.torn{position:relative;width:190px;height:232px}.torn>div{position:absolute;inset:0}.torn .sf{--s: .86}.torn-a{clip-path:polygon(0 0,100% 0,100% 38%,88% 44%,76% 40%,64% 49%,52% 45%,40% 55%,28% 51%,16% 60%,0 56%);transform:rotate(-4deg)}.torn-b{clip-path:polygon(0 56%,16% 60%,28% 51%,40% 55%,52% 45%,64% 49%,76% 40%,88% 44%,100% 38%,100% 100%,0 100%);transform:translate(10px,16px) rotate(5deg);opacity:.9}.how-fix{width:100%;max-width:560px;margin:0;text-align:left;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}.open{display:flex;flex-direction:column;align-items:center;gap:40px;text-align:center;user-select:none;-webkit-user-select:none}.h1-open{font-size:var(--fs-display);line-height:.98;letter-spacing:-.02em}.envelope{position:relative;width:min(480px,100%);aspect-ratio:48 / 31;perspective:1400px;cursor:pointer}.env-back{position:absolute;inset:0;border-radius:3px;background:#e4d7bf;box-shadow:0 40px 80px -40px #1b1f2a8c,inset 0 0 0 1px #5a3e261f}.env-letter{position:absolute;left:7%;right:7%;top:7%;height:86%;z-index:2;border-radius:2px;background:var(--pic, var(--ink));box-shadow:0 1px 3px #1b1f2a40;display:flex;align-items:center;justify-content:center;gap:6%;padding:0 8%;transition:transform 1.3s .45s cubic-bezier(.22,.61,.36,1)}.env-card-stamp{--es: .52;flex:0 0 auto;width:calc(216px * var(--es));height:calc(264px * var(--es));position:relative;transform:rotate(-3deg)}.env-card-stamp olai-stamp{position:absolute;left:0;top:0;transform-origin:top left;transform:scale(var(--es))}.env-card-for{font-family:var(--hand);font-weight:500;font-size:clamp(20px,4vw,29px);line-height:1.3;color:#f7f3ec;overflow-wrap:anywhere}.env-front{position:absolute;inset:0;z-index:3;border-radius:3px;background:linear-gradient(170deg,#f1e7d6,#e8dcc5);clip-path:polygon(0 0,50% 58%,100% 0,100% 100%,0 100%)}.env-shade{position:absolute;inset:0;z-index:3;background:linear-gradient(15deg,rgba(90,62,38,.1),transparent 45%);clip-path:polygon(0 0,50% 58%,0 100%)}.env-flap{position:absolute;left:0;right:0;top:0;height:60%;z-index:5;background:linear-gradient(180deg,#dccdb1,#eadfcb);clip-path:polygon(0 0,100% 0,52% 98%,50% 100%,48% 98%);transform-origin:top;transition:transform 1s .1s cubic-bezier(.45,0,.2,1);filter:drop-shadow(0 2px 2px rgba(90,62,38,.18))}.env-seal{display:block;padding:0;border:none;background:none;cursor:pointer;position:absolute;left:50%;top:58%;width:clamp(80px,18vw,104px);aspect-ratio:1;transform:translate(-50%,-50%);z-index:6;animation:sealIn .8s .6s var(--ease) both}.seal-ring{display:block;position:absolute;inset:-12px;border-radius:50%;opacity:.6;transition:opacity .3s;background:#a8864e29;-webkit-mask:radial-gradient(circle,transparent calc(50% - 2px),#000 calc(50% - 1px));mask:radial-gradient(circle,transparent calc(50% - 2px),#000 calc(50% - 1px))}.seal-wax{position:absolute;inset:0;display:block;transition:transform .5s var(--ease);filter:drop-shadow(0 3px 4px rgba(78,28,25,.45))}.seal-wax svg{display:block;width:100%;height:100%}.wax-blob{fill:#8e2f2a}.wax-press{fill:#7a2622}.wax-rim{fill:none;stroke:#a4443c;stroke-width:1.6}.wax-mark{fill:#5e1b18;stroke:#b0534a;stroke-width:.6}.envelope.opened .env-letter{transform:translateY(-46%)}.envelope.opened .env-flap{transform:rotateX(180deg);z-index:1}.envelope.opened .seal-ring{opacity:0}.envelope.opened .seal-wax{transform:scale(1.12);opacity:0;transition:transform .8s var(--ease),opacity .6s}.open:has(.envelope.opened) .center{animation:stepBack .9s var(--ease) forwards}@keyframes stepBack{to{opacity:0;transform:translateY(-10px)}}.envelope.opened{animation:envOut .6s 1.3s var(--ease) forwards}@keyframes envOut{to{opacity:0;transform:translateY(-12px) scale(.99)}}.ritual{font-family:var(--sans);font-size:var(--fs-s);font-weight:500;color:var(--text-2);min-height:1.2em}.read{display:flex;flex-direction:column;align-items:center;gap:36px}.card-scene{width:100%;max-width:860px;perspective:2200px;animation:cardIn 1.4s cubic-bezier(.22,.61,.36,1) both}@keyframes cardIn{0%{opacity:0;transform:translateY(36px) scale(.985)}to{opacity:1;transform:none}}.card{position:relative;cursor:pointer;transform-style:preserve-3d;transform:rotateY(180deg);transition:transform 1.6s cubic-bezier(.55,.05,.2,1)}.card.flipped{transform:rotateY(0)}.hint,.link-field{overflow-wrap:anywhere}.link-field{font-size:var(--fs-s);text-align:center}.card:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.card-back,.card-front{backface-visibility:hidden;-webkit-backface-visibility:hidden}.card-back{position:absolute;inset:0;overflow:hidden;transform:rotateY(180deg);background:var(--pic, var(--ink));box-shadow:var(--shadow-card);padding:clamp(26px,5vw,52px);display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;gap:28px 56px}.card.flipped .card-back{pointer-events:none}.card:not(.flipped) .card-front{pointer-events:none}.card-back-stamp{transform:rotate(-3deg)}.card-back-text{display:flex;flex-direction:column;gap:10px;color:var(--paper)}.over{font-family:var(--sans);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.26em;text-transform:uppercase;opacity:.8}.card-back-name{overflow-wrap:anywhere;font-family:var(--hand);font-weight:500;font-size:clamp(40px,6.5vw,64px);line-height:1.2}.turn{font-size:var(--fs-l);font-style:italic;opacity:.8}.card-front{background:repeating-linear-gradient(-45deg,var(--stripe-red) 0 14px,var(--card) 14px 22px,var(--stripe-blue) 22px 36px,var(--card) 36px 44px);box-shadow:var(--shadow-card);padding:9px;display:flex;min-height:420px}.card-paper{position:relative;flex:1;min-width:0;background:var(--card);display:flex;flex-wrap:wrap;gap:var(--sp-7) 44px;padding:clamp(52px,6vw,68px) clamp(22px,4.5vw,48px) clamp(26px,4.5vw,44px)}.postcard-head{position:absolute;top:20px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:14px;pointer-events:none}.postcard-head i{width:40px;height:1px;background:var(--rule)}.postcard-head span{font-family:var(--sans);font-size:var(--fs-3xs);font-weight:600;letter-spacing:.42em;text-transform:uppercase}.card-text{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:18px}.card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding-bottom:12px;border-bottom:1px solid var(--rule-2);font-family:var(--sans);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark)}.place{display:block;padding-top:10px}.place-link{display:inline-flex;align-items:center;gap:8px;padding:6px 0;border:none;background:none;cursor:pointer;text-align:left;font-family:var(--sans);font-size:var(--fs-xs);font-weight:600;letter-spacing:.08em;color:var(--ink)}.place-link>span:last-child{border-bottom:1px solid var(--gold-line);padding-bottom:1px;overflow-wrap:anywhere}.place-link:hover>span:last-child{border-color:var(--gold)}.pin{flex:0 0 auto;width:10px;height:10px;border-radius:50% 50% 50% 0;border:1.5px solid var(--wine);transform:rotate(-45deg)}.sheet-veil{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center;padding:var(--sp-4);background:var(--veil);animation:fade .25s both}.sheet{width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-6) var(--sp-5) var(--sp-5);margin-bottom:env(safe-area-inset-bottom);background:var(--card);color:var(--ink);box-shadow:var(--shadow-toast);animation:rise .35s var(--ease) both}.sheet-title{margin:0 0 var(--sp-2);font-weight:400;font-size:var(--fs-3xl);line-height:1.2;overflow-wrap:anywhere}.sheet-links{display:flex;flex-direction:column;gap:var(--sp-2)}.sheet-close{align-self:center;margin-top:var(--sp-2)}@media(min-width:640px){.sheet-veil{align-items:center}}.msg{font-family:var(--serif);font-size:clamp(19px,2.3vw,23px);line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-wrap:pretty}.msg .w{display:inline-block;max-width:100%;overflow-wrap:anywhere;animation:settle 1.1s calc(var(--i) * var(--step, 60ms)) cubic-bezier(.22,.61,.36,1) both}@keyframes settle{0%{opacity:0;transform:translateY(.28em)}to{opacity:1;transform:none}}.msg.long{font-size:clamp(17px,1.9vw,19px)}.read-ink{display:block;width:100%;max-width:520px;aspect-ratio:8 / 5}.read-links{display:flex;flex-direction:column;border-top:1px solid var(--rule-2)}.read-links a,.read-links>span{position:relative;display:flex;flex-direction:column;gap:2px;padding:12px 32px 12px 0;border-bottom:1px solid var(--rule-2);text-decoration:none;color:var(--ink)}.read-links a:after{content:"\2197";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-family:var(--sans);color:var(--gold-dark);transition:transform .2s}.read-links a:hover:after{transform:translate(2px,calc(-50% - 2px))}.link-title{font-size:var(--fs-xl);font-style:italic;line-height:1.3;overflow-wrap:anywhere}.link-site{font-family:var(--sans);font-size:var(--fs-3xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4)}.card-address{flex:0 1 240px;display:flex;flex-direction:column;gap:26px;min-width:200px;border-left:1px solid var(--rule);padding-left:clamp(20px,3vw,36px)}.card-address-stamp{position:relative;align-self:flex-end;height:168px;width:140px}.card-address-stamp olai-stamp{position:absolute;right:0;top:0;transform:scale(.62);transform-origin:top right}.address-lines{display:flex;flex-direction:column}.addr{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid var(--rule)}.addr-k{flex:0 0 38px;font-family:var(--sans);font-size:var(--fs-3xs);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-4)}.addr .hand{flex:1;min-width:0;font-size:clamp(25px,3vw,30px);line-height:1.75;overflow-wrap:anywhere}.read-actions{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:clamp(40px,7vw,80px);position:relative;z-index:5;animation-duration:.8s}.read-actions .aside{font-size:var(--fs-l)}.read-bar{flex-direction:column;justify-content:center;gap:12px;align-self:stretch;opacity:0;visibility:hidden;transform:translateY(100%);transition:opacity .6s var(--ease),transform .6s var(--ease),visibility 0s .6s}.read-bar.ready{opacity:1;visibility:visible;transform:none;transition:opacity .8s var(--ease) var(--wait, 3s),transform .8s var(--ease) var(--wait, 3s),visibility 0s var(--wait, 3s)}.read-bar .btn{width:100%;max-width:360px}.read-more{display:flex;justify-content:center;gap:32px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);max-width:calc(100% - 32px);padding:var(--sp-4) 26px;z-index:10;background:var(--ink);color:var(--paper);font-size:var(--fs-xl);font-style:italic;line-height:1.35;box-shadow:var(--shadow-toast);animation:toastIn .5s var(--ease) both}.noscript{padding:var(--sp-5);font-size:var(--fs-xl);text-align:center}@media(max-width:639.98px){main{padding-bottom:var(--sp-7)}.env-card-stamp{--es: .36}.steps{gap:14px}.step-label{display:none}.hero{height:360px}.hero-card{top:48px}.hero-a .sf{--t: scale(.6) rotate(7deg)}.hero-b .sf{--t: scale(.5) rotate(-9deg)}.hero-c .sf{--t: scale(.44) rotate(5deg)}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-6) var(--sp-3)}.tile .sf{--s: .66}.sf-share{width:238px;height:290px;--t: scale(1.1) rotate(-3deg)}.card-address{flex-basis:100%;flex-direction:row-reverse;align-items:flex-end;gap:16px;min-width:0;border-left:none;border-top:1px solid var(--rule);padding-left:0;padding-top:22px}.card-address-stamp{flex:0 0 auto;height:139px;width:114px}.card-address-stamp olai-stamp{transform:scale(.52)}.address-lines{flex:1;min-width:0}.card-back{flex-direction:column;flex-wrap:nowrap}.card-paper{gap:var(--sp-5)}.card-meta{flex-direction:column;align-items:flex-start}.card-back-text{align-items:center;text-align:center}}html:lang(ja){line-break:strict;word-break:auto-phrase;text-spacing-trim:trim-start;font-variant-numeric:lining-nums}html:lang(ja) body *:not(olai-stamp,olai-stamp *,.how-n){font-style:normal!important}html:lang(ja) :is(.eyebrow,.kicker,.btn,.step-label,.addr-k,.over,.sel-dot,.postcard-label,.postcard-head,.postcard-head span,.card-meta,.how-t,.save-close,.link-site,.cat,.lang-now){letter-spacing:.06em!important}html:lang(ja) :is(.h1,.hero-title,.lead,.share-text,.tile-note,.how-d,.note){word-break:keep-all;overflow-wrap:anywhere}html:lang(ja) :is(.h1,.hero-title){line-height:1.18;letter-spacing:0}html:lang(ja) .lead{line-height:1.7}html:lang(ja) .tile-note{text-wrap:balance}html:lang(ja) .hero-note{font-size:clamp(13px,1.8vw,16px)}html:lang(ja) .foot-line{gap:.1em}html:lang(ja) [data-action=openAsReceiver]{gap:0}
