:root{--app-bg:#f6f5f0;--letter-paper:#fffdf8;--letter-cream:#fff4df;--letter-peach:#f7d7c1;--letter-envelope:#e6a88c;--letter-envelope-deep:#d78366;--letter-shadow:#59332121;--letter-sun:#f9d978}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--app-bg:#10191b;--letter-paper:#192326;--letter-cream:#263034;--letter-peach:#48352f;--letter-envelope:#8d5545;--letter-envelope-deep:#633d33;--letter-shadow:#00000042;--letter-sun:#7b612d}}:root[data-theme=dark]{--app-bg:#10191b;--letter-paper:#192326;--letter-cream:#263034;--letter-peach:#48352f;--letter-envelope:#8d5545;--letter-envelope-deep:#633d33;--letter-shadow:#00000042;--letter-sun:#7b612d}body.app{background:var(--app-bg);min-height:100vh;color:var(--ink);padding-bottom:22px;font-size:16px;line-height:1.6}body.app:has(.app-nav){padding-bottom:calc(92px + env(safe-area-inset-bottom))}.app button,.app input,.app select,.app textarea{font:inherit}.app a,.app button{-webkit-tap-highlight-color:transparent}.app-top{z-index:20;background:var(--paper);border-bottom:1px solid var(--line);min-height:66px;position:sticky;top:0}.app-top-inner{align-items:center;gap:16px;max-width:1160px;min-height:66px;margin:auto;padding:0 26px;display:flex}.app-brand{min-height:48px;color:var(--ink);align-items:center;gap:5px;text-decoration:none;display:inline-flex}.app-brand-dot{color:var(--seal);font:800 27px/1 var(--display);margin-left:-4px}.app-brand-icon{background:var(--teal-wash);width:38px;height:38px;color:var(--teal);border-radius:12px;place-items:center;margin-right:6px;transition:transform .25s;display:grid;transform:rotate(-7deg)}.app-brand:hover .app-brand-icon{transform:rotate(4deg)}.app-brand-icon svg{width:29px;height:29px}.app-top-fill{flex:1}.app-top-greeting{color:var(--muted);font-size:13px;font-weight:700}.app-theme-button{border:1px solid var(--line);background:var(--paper);width:44px;height:44px;color:var(--ink-2);cursor:pointer;border-radius:50%;place-items:center;display:grid}.app-theme-button:hover{background:var(--wash);color:var(--ink)}.app-theme-button svg{width:21px;height:21px}.app-main{width:min(100%,1160px);margin:0 auto;padding:34px 26px 70px}.app-main>*{min-width:0}.app-flash{border-radius:12px;align-items:center;gap:10px;max-width:860px;margin:0 auto 22px;padding:12px 16px;font-weight:700;display:flex}.app-flash span{border:1px solid;border-radius:50%;flex:none;place-items:center;width:23px;height:23px;font-size:13px;display:grid}.app-flash.ok{color:var(--ok);background:var(--ok-wash)}.app-flash.err{color:var(--err);background:var(--err-wash)}.app-nav{z-index:19;border:1px solid var(--line-2);background:var(--paper);width:min(570px,100% - 32px);min-height:64px;box-shadow:0 12px 35px var(--letter-shadow);border-radius:22px;align-items:center;gap:4px;padding:5px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.app-nav a{min-height:52px;color:var(--ink-2);letter-spacing:-.02em;border-radius:17px;flex:1;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:750;text-decoration:none;display:flex;position:relative}.app-nav a:hover{background:var(--wash)}.app-nav a[aria-current=page]{background:var(--ink);color:var(--paper)}.app-nav svg{flex:none;width:21px;height:21px}.app-nav-count{background:var(--seal);min-width:19px;height:19px;color:var(--on-seal);border-radius:99px;place-items:center;padding:0 4px;font-size:11px;display:grid;position:absolute;top:0;right:6px}.app-foot{text-align:center;color:var(--muted);margin:0 auto;padding:0 20px 24px;font-size:12px}.app .btn{border-radius:999px;min-height:50px;padding:0 24px;font-size:15px;font-weight:800;transition:transform .2s,background .2s,box-shadow .2s}.app .btn:hover:not(:disabled){box-shadow:0 8px 18px var(--letter-shadow);transform:translateY(-2px)}.app .btn:active:not(:disabled){transform:translateY(0)}.app .btn:disabled{opacity:.5;cursor:not-allowed}.app .btn.ghost{background:var(--paper);border-color:var(--line-2)}.app .btn.seal-btn{background:var(--seal);color:var(--on-seal)}.app .btn.full{width:100%}.app .btn.sm{min-height:44px;font-size:14px}.app .note{font-size:13px;line-height:1.55}.app .eyebrow{color:var(--seal);text-transform:uppercase;letter-spacing:.13em;align-items:center;gap:8px;margin:0 0 14px;font-size:12px;font-weight:850;line-height:1.3;display:inline-flex}.app .eyebrow:before{content:"";background:currentColor;width:18px;height:2px}.app .display-title{font:800 clamp(38px,5.2vw,72px)/1.17 var(--display);letter-spacing:-.075em;word-break:keep-all;margin:0}.app .section-title{font:800 clamp(27px,3.5vw,39px)/1.28 var(--display);letter-spacing:-.055em;word-break:keep-all;margin:0}.app .lead{color:var(--ink-2);word-break:keep-all;font-size:17px;line-height:1.75}.app .muted{color:var(--muted)}.app .linkrow{flex-wrap:wrap;gap:10px;display:flex}.app .linkrow form{margin:0}.app .flow-page{gap:22px;max-width:860px;margin:0 auto;display:grid}.app .flow-page.narrow{max-width:720px}.app .flow-head{gap:8px;margin:0 0 5px;display:grid}.app .flow-head .eyebrow{margin-bottom:2px}.app .flow-head p{color:var(--ink-2);margin:0}.app .paper-panel{border:1px solid var(--line);background:var(--paper);border-radius:24px;padding:clamp(22px,4vw,38px)}.app .soft-panel{border:1px solid var(--line);background:var(--letter-paper);border-radius:24px;padding:clamp(20px,4vw,32px)}.app .empty-state{border:1px dashed var(--line-2);background:var(--paper);border-radius:22px;justify-items:start;gap:12px;padding:32px;display:grid}.app .empty-state h2,.app .empty-state h3{font:800 23px/1.3 var(--display);letter-spacing:-.04em;margin:0}.app .empty-state p{color:var(--ink-2);margin:0}.app .empty-glyph{background:var(--letter-cream);width:58px;height:58px;color:var(--seal);font:800 34px/1 var(--display);border-radius:19px;place-items:center;display:grid;transform:rotate(-8deg)}.app .landing{gap:38px;display:grid}.app .landing-stage{background:var(--letter-cream);border:1px solid var(--line);border-radius:30px;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);align-items:center;gap:16px;min-height:570px;padding:50px clamp(30px,5vw,72px);display:grid;position:relative;overflow:hidden}.app .landing-stage:before{content:"";pointer-events:none;border:1px solid #bd381821;border-radius:50%;width:430px;height:430px;position:absolute;top:-140px;right:-90px;box-shadow:0 0 0 70px #bd381809,0 0 0 140px #bd381806}.app .landing-copy{z-index:1;max-width:555px;position:relative}.app .landing-copy .display-title em{color:var(--seal);font-style:normal}.app .landing-copy .lead{max-width:460px;margin:22px 0 26px}.app .landing-copy .mini-disclaimer{color:var(--muted);margin:12px 0 0;font-size:13px}.app .region-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.app .region-actions .btn{min-width:158px}.app .stage-hint{color:var(--ink-2);align-items:center;gap:8px;margin-top:30px;font-size:13px;font-weight:700;display:flex}.app .stage-hint span{background:var(--seal);width:22px;height:1px}.app .landing-visual{z-index:1;min-width:0;position:relative}.app .landing-steps{border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);grid-template-columns:repeat(3,1fr);gap:0;display:grid}.app .landing-steps article{border-right:1px solid var(--line-2);align-content:start;gap:8px;padding:25px 26px 27px;display:grid}.app .landing-steps article:first-child{padding-left:4px}.app .landing-steps article:last-child{border-right:0}.app .landing-steps b{color:var(--seal);font:800 13px var(--text);letter-spacing:.08em}.app .landing-steps h2{font:800 21px/1.4 var(--display);letter-spacing:-.045em;margin:0}.app .landing-steps p{color:var(--ink-2);margin:0;font-size:14px}.app .landing-bottom{justify-content:space-between;align-items:center;gap:20px;padding:0 4px;display:flex}.app .landing-bottom p{max-width:580px;font:700 20px/1.5 var(--display);letter-spacing:-.035em;margin:0}.letter-art{isolation:isolate;width:min(100%,490px);height:420px;margin:auto;position:relative}.letter-art:before{content:"";background:var(--letter-sun);opacity:.52;filter:blur(2px);border-radius:50%;position:absolute;inset:35px 8% 38px}.art-note{z-index:1;background:var(--letter-paper);border:1px solid var(--line-2);width:61%;height:56%;box-shadow:0 13px 30px var(--letter-shadow);border-radius:3px;flex-direction:column;gap:14px;padding:26px 28px;transition:transform .4s cubic-bezier(.2,.7,.2,1);display:flex;position:absolute;top:13%;left:21%;transform:rotate(-8deg)}.art-note span{font:800 11px var(--text);color:var(--muted);letter-spacing:.12em}.art-note strong{font:800 clamp(20px,2.3vw,29px)/1.35 var(--display);letter-spacing:-.06em;color:var(--ink)}.art-note i{font:800 35px/1 var(--display);color:var(--seal);align-self:flex-end;margin-top:auto;transform:rotate(13deg)}.art-envelope{z-index:2;width:80%;height:48%;filter:drop-shadow(0 17px 13px var(--letter-shadow));transition:transform .4s cubic-bezier(.2,.7,.2,1);position:absolute;top:39%;left:10%;transform:rotate(7deg)}.art-envelope:before{content:"";background:var(--letter-envelope);border-radius:9px;position:absolute;inset:0}.art-flap{z-index:1;background:var(--letter-envelope-deep);clip-path:polygon(0 0,100% 0,50% 62%);border-radius:9px;position:absolute;inset:0}.art-pocket{z-index:2;background:var(--letter-envelope);clip-path:polygon(0 13%,50% 71%,100% 13%,100% 100%,0 100%);border-radius:8px;position:absolute;inset:0}.art-seal{z-index:3;width:54px;height:54px;color:var(--on-seal);background:var(--seal);border:4px double var(--on-seal);font:800 25px/1 var(--display);box-shadow:0 4px 8px var(--letter-shadow);border-radius:50%;place-items:center;display:grid;position:absolute;top:63%;left:50%;transform:translate(-50%,-50%)rotate(-7deg)}.art-postmark{z-index:3;border:2px dashed var(--seal);width:84px;height:84px;color:var(--seal);text-align:center;font:800 17px/1.1 var(--display);border-radius:50%;place-items:center;display:grid;position:absolute;top:5%;right:6%;transform:rotate(17deg)}.art-postmark small{font:700 9px/1.2 var(--text);letter-spacing:.04em}.art-spark{z-index:4;color:var(--seal);font-size:26px;position:absolute}.art-spark-one{top:17%;left:8%;transform:rotate(-20deg)}.art-spark-two{bottom:10%;right:5%;transform:rotate(13deg)}.art-shadow{z-index:-1;background:var(--letter-shadow);filter:blur(11px);border-radius:50%;height:27px;position:absolute;bottom:6%;left:19%;right:12%}.letter-art:hover .art-note{transform:translateY(-15px)rotate(-5deg)}.letter-art:hover .art-envelope{transform:translateY(4px)rotate(3deg)}.letter-art.is-small{width:260px;height:220px}.letter-art.is-small .art-note{gap:4px;padding:12px 14px}.letter-art.is-small .art-note span{font-size:7px}.letter-art.is-small .art-note strong{font-size:15px}.letter-art.is-small .art-note i{font-size:19px}.letter-art.is-small .art-postmark{width:48px;height:48px;font-size:9px}.letter-art.is-small .art-postmark small{font-size:5px}.letter-art.is-small .art-seal{border-width:2px;width:34px;height:34px;font-size:14px}.app .welcome-grid{background:var(--letter-cream);border:1px solid var(--line);border-radius:26px;grid-template-columns:minmax(0,1fr) minmax(230px,.7fr);align-items:center;gap:25px;min-height:410px;padding:44px;display:grid}.app .welcome-grid .lead{max-width:480px}.app .welcome-grid .region-actions{margin-top:22px}.app .dashboard{gap:28px;display:grid}.app .dashboard-hero{background:var(--letter-cream);border:1px solid var(--line);border-radius:28px;grid-template-columns:1fr auto;align-items:end;gap:20px;padding:clamp(26px,4vw,46px);display:grid}.app .dashboard-hero .section-title{max-width:540px}.app .dashboard-hero p{color:var(--ink-2);margin:10px 0 0}.app .dashboard-hero .btn{white-space:nowrap}.app .dashboard-bar{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:14px;padding-bottom:11px;display:flex}.app .dashboard-bar h2{font:800 25px/1.35 var(--display);letter-spacing:-.045em;margin:0}.app .tabs{gap:8px;padding:3px 0 1px;display:flex;overflow-x:auto}.app .tabs a{min-height:44px;color:var(--ink-2);border:1px solid var(--line-2);background:var(--paper);border-radius:99px;flex:none;align-items:center;gap:6px;padding:0 17px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex;position:relative}.app .tabs a[aria-current=true]{color:var(--paper);background:var(--ink);border-color:var(--ink)}.app .tabs small{opacity:.75;font-size:12px}.app .coupon-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.app .pick-list{gap:10px;display:grid}.app .pick-card{border:2px solid var(--line);background:var(--paper);cursor:pointer;border-radius:17px;grid-template-columns:25px 1fr;align-items:center;gap:15px;padding:17px 19px;transition:border-color .2s,transform .2s,background .2s;display:grid;position:relative}.app .pick-card:hover{border-color:var(--teal);transform:translateY(-2px)}.app .pick-card:has(input:checked){border-color:var(--seal);background:var(--seal-wash)}.app .pick-card:has(input:focus-visible){outline:3px solid var(--seal);outline-offset:3px}.app .pick-card input{width:23px;height:23px;accent-color:var(--seal);margin:0}.app .pick-card b{font-size:16px;display:block}.app .pick-card .pick-amount{font:800 25px/1.3 var(--display);letter-spacing:-.04em;display:block}.app .pick-card .pick-meta{color:var(--ink-2);font-size:13px;display:block}.app .compose-paper{background:var(--letter-paper);border:1px solid var(--line-2);box-shadow:0 11px 22px var(--letter-shadow);border-radius:4px 4px 23px 23px;gap:16px;padding:30px clamp(22px,5vw,52px) 36px;display:grid;position:relative}.app .compose-paper:before{content:"";background:repeating-linear-gradient(90deg,var(--seal) 0 22px,var(--letter-paper) 22px 44px,var(--teal) 44px 66px,var(--letter-paper) 66px 88px);opacity:.6;height:7px;position:absolute;top:0;left:0;right:0}.app .compose-to{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:13px;display:flex}.app .compose-to label{min-width:0;color:var(--muted);flex:1;font-size:13px;font-weight:800}.app .compose-to input{border:0;border-bottom:1px solid var(--line-2);width:100%;min-height:46px;color:var(--ink);font:700 20px var(--display);background:0 0;border-radius:0;padding:6px 0;display:block}.app .compose-to input:focus{border-color:var(--seal);outline:0}.app .compose-stamp{border:2px dashed var(--seal);width:55px;height:55px;color:var(--seal);font:800 13px var(--display);border-radius:50%;flex:none;place-items:center;display:grid;transform:rotate(12deg)}.app .compose-paper label.message-label{color:var(--muted);font-size:13px;font-weight:800}.app .compose-paper textarea{resize:vertical;width:100%;min-height:170px;color:var(--ink);font:600 clamp(21px,3vw,27px)/1.8 var(--display);letter-spacing:-.045em;background:0 0;border:0;padding:14px 0;display:block}.app .compose-paper textarea:focus{outline:2px solid var(--seal);outline-offset:5px;border-radius:5px}.app .compose-paper textarea::placeholder{color:var(--muted);opacity:.8}.app .compose-count{color:var(--muted);font-variant-numeric:tabular-nums;justify-self:end;font-size:13px}.app .compose-actions{gap:10px;display:grid}.app .compose-actions .btn{width:100%}.app .reading-letter{border:1px solid var(--line-2);background:var(--letter-paper);min-height:250px;box-shadow:0 12px 24px var(--letter-shadow);border-radius:5px 5px 23px 23px;padding:clamp(27px,5vw,55px);position:relative}.app .reading-letter:before{content:"";background:repeating-linear-gradient(90deg,var(--seal) 0 22px,var(--letter-paper) 22px 44px,var(--teal) 44px 66px,var(--letter-paper) 66px 88px);opacity:.6;height:7px;position:absolute;top:0;left:0;right:0}.app .reading-letter .from{color:var(--muted);letter-spacing:.05em;margin-bottom:26px;font-size:13px;font-weight:800;display:block}.app .reading-letter .letter-message{white-space:pre-wrap;overflow-wrap:anywhere;font:650 clamp(24px,3.2vw,34px)/1.7 var(--display);letter-spacing:-.05em;margin:0}.app .reading-letter .letter-sign{text-align:right;color:var(--seal);font:800 18px var(--display);margin-top:36px;display:block}.app .reading-intro{color:var(--ink-2);align-items:center;gap:14px;display:flex}.app .reading-intro .seal-icon{background:var(--seal);width:50px;height:50px;color:var(--on-seal);border-radius:50%;flex:none;place-items:center;font-size:23px;display:grid;transform:rotate(-9deg)}.app .reading-intro p{margin:0}.app .codebox{text-align:center}.app .codebox .code{color:var(--ink);letter-spacing:.15em;margin:8px 0;font:800 clamp(30px,7vw,44px)/1.1 ui-monospace,Menlo,monospace;display:block}.app .share-stage{border:1px solid var(--line);background:var(--letter-cream);text-align:center;border-radius:26px;justify-items:center;gap:18px;padding:35px;display:grid}.app .share-stage .letter-art{margin:-18px auto -30px}.app .share-stage p{max-width:460px;color:var(--ink-2);margin:0}.app .sharebox{grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;max-width:550px;display:grid}.app .sharebox input{border:1px solid var(--line-2);background:var(--paper);width:100%;min-width:0;min-height:50px;color:var(--ink-2);border-radius:14px;padding:0 16px;font-size:14px}.app .share-actions{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.app .notice-list{border-top:1px solid var(--line);gap:0;display:grid}.app .notice{border:0;border-bottom:1px solid var(--line);min-height:70px;color:var(--ink);background:0 0;border-radius:0;gap:3px;padding:13px 3px;text-decoration:none;display:grid}.app .notice:hover{background:var(--letter-cream)}.app .notice.unread{box-shadow:inset 3px 0 0 var(--seal);padding-left:12px}.app .notice small{color:var(--muted)}.app .settings-actions{flex-wrap:wrap;gap:9px;display:flex}.app .settings-actions form{margin:0}.app details.more{border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:5px 15px}.app details.more summary{cursor:pointer;min-height:44px;font-weight:750}.app .form label{font-size:14px}.app .form input,.app .form textarea,.app .form select{min-height:48px;font-size:16px}.app .store-history{margin:0;padding:0;list-style:none}.app .store-history li{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding:12px 0;display:flex}@media (width<=900px){.app .landing-stage{grid-template-columns:1fr;padding:42px 36px 20px}.app .landing-copy{max-width:680px}.app .landing-visual{width:100%;max-width:480px;margin:-35px auto -30px}.app .coupon-list{grid-template-columns:1fr}}@media (width<=600px){.app-top,.app-top-inner{min-height:56px}.app-top-inner{padding:0 15px}.app-brand strong,.app-brand-dot{font-size:23px}.app-brand-icon{width:31px;height:31px;margin-right:4px}.app-brand-icon svg{width:25px;height:25px}.app-top-greeting{display:none}.app-main{padding:18px 16px 40px}.app-nav{width:100%;min-height:67px;padding:4px 8px calc(4px + env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0;border-radius:16px 16px 0 0;bottom:0;left:0;right:0;transform:none}.app-nav a{flex-direction:column;gap:1px;min-height:54px;font-size:11px;line-height:1.1}.app-nav svg{width:21px;height:21px}.app-nav-count{right:15%}.app .landing{gap:28px}.app .landing-stage{border-radius:23px;gap:0;min-height:0;padding:30px 21px 0}.app .landing-copy .display-title{font-size:clamp(37px,10vw,54px)}.app .landing-copy .lead{margin:15px 0 19px;font-size:15px}.app .region-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.app .region-actions .btn{width:100%;min-width:0;padding:0 8px;font-size:13px}.app .stage-hint{margin-top:18px}.app .landing-visual{margin:-32px auto -28px}.letter-art{width:min(100%,360px);height:290px}.art-note{gap:7px;padding:17px 19px}.art-note strong{font-size:20px}.art-note i{font-size:25px}.art-postmark{width:60px;height:60px;font-size:11px}.art-postmark small{font-size:7px}.art-seal{width:42px;height:42px;font-size:19px}.app .landing-steps{grid-template-columns:1fr}.app .landing-steps article{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:39px 1fr;gap:0 8px;padding:15px 3px}.app .landing-steps article:last-child{border-bottom:0}.app .landing-steps b{grid-row:span 2;padding-top:4px}.app .landing-steps h2{font-size:18px}.app .landing-bottom{gap:10px;display:grid}.app .landing-bottom p{font-size:18px}.app .welcome-grid{grid-template-columns:1fr;gap:0;min-height:0;padding:27px 22px}.app .welcome-grid .letter-art{margin:-8px auto -22px}.app .dashboard-hero{grid-template-columns:1fr;align-items:start}.app .dashboard-hero .btn{width:100%}.app .dashboard-bar{gap:8px;display:grid}.app .flow-page{gap:17px}.app .paper-panel,.app .soft-panel{border-radius:19px}.app .reading-intro{align-items:flex-start}.app .share-stage{padding:26px 17px}.app .sharebox{grid-template-columns:1fr auto}.app .sharebox .btn{padding:0 15px}}@media (width<=350px){.app-main{padding-left:12px;padding-right:12px}.app .landing-stage{padding-left:17px;padding-right:17px}.app .region-actions{grid-template-columns:1fr}.app .display-title{font-size:35px}.app .sharebox{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.app *,.app :before,.app :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.app .hero{border:1px solid var(--line);background:var(--paper);border-radius:22px;max-width:860px;margin:0 auto 22px;padding:clamp(23px,4vw,38px)}.app .hero h1{font:800 clamp(28px,4vw,38px)/1.3 var(--display);letter-spacing:-.05em;margin:0 0 8px}.app .hero h2{font:800 21px/1.4 var(--display);letter-spacing:-.035em;margin:28px 0 7px}.app .hero p,.app .hero li{color:var(--ink-2);line-height:1.8}.app .hero ul{padding-left:23px}.app .hero .note{color:var(--muted)}html{scroll-padding-bottom:110px}.app a,.app button,.app input,.app textarea{scroll-margin-bottom:110px}.app .sharebox{grid-template-columns:1fr}.art-seal:is(button){cursor:pointer;padding:0;transition:transform .25s,box-shadow .25s}.art-seal:is(button):hover{box-shadow:0 7px 15px var(--letter-shadow);transform:translate(-50%,-50%)rotate(6deg)scale(1.08)}.art-seal:is(button):focus-visible{outline:3px solid var(--ink);outline-offset:4px}.letter-art.is-open .art-note{transform:translateY(-53px)rotate(-3deg)}.letter-art.is-open .art-flap{transform-origin:top;transform:rotateX(165deg)}.letter-art.is-open .art-spark-one{transform:rotate(20deg)scale(1.35)}.art-flap{transition:transform .4s cubic-bezier(.2,.7,.2,1)}.art-play-hint{z-index:3;text-align:center;color:var(--ink-2);margin:-8px 0 0;font-size:12px;font-weight:700;position:relative}@media (width>=700px){.app .coupon-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.art-seal:is(button){width:48px;height:48px}}.app-offline{z-index:18;text-align:center;background:var(--warn-wash);color:var(--warn);border-bottom:1px solid var(--line);padding:10px 20px;font-size:13px;font-weight:800;position:sticky;top:66px}.app-offline[hidden]{display:none}.app form[aria-busy=true] button[type=submit]{opacity:.7;cursor:wait}@media (width<=600px){.app-offline{top:56px}}@font-face{font-family:Bangul Pen;src:url(/fonts/bangul-pen.woff2)format("woff2");font-display:swap}body.app{--ink:#302c3a;--ink-2:#59515b;--muted:#726874;--seal:#c94743;--on-seal:#fff;--paper:#fffefa;--wash:#f7f3ed;--line:#e8e1d9;--line-2:#d8cfc6;--app-bg:#fffefa;--letter-cream:#fff3ce;--letter-paper:#fffdf7;--letter-shadow:#683f2b1f;--display:var(--text);--paper-tone:#fce9dc;background:var(--app-bg)}.app [hidden]{display:none!important}.app :is(input,textarea,select):focus-visible,.app :is(a,button,summary):focus-visible{outline-offset:4px;outline:3px solid #8872ae}.app .sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.app .handwritten{font-family:"Bangul Pen",var(--text);font-weight:400}.app-main{width:min(100%,1240px);padding:30px 24px 60px}.app-top-inner{max-width:1240px;min-height:78px}.app-brand strong{font:850 23px var(--text);letter-spacing:-.055em}.brand-drop{object-fit:contain;margin-right:6px}.brand-by{color:var(--muted);border-left:1px solid var(--line-2);margin-left:9px;padding-left:12px;font-size:12px}.top-notice{color:var(--ink-2);justify-content:center;align-items:center;gap:5px;min-width:44px;min-height:44px;padding:0 4px;font-size:13px;text-decoration:none;display:inline-flex}.top-notice b{background:var(--seal);color:#fff;border-radius:20px;padding:0 6px}.app-top-greeting{display:none}.app .btn.ink-btn{background:var(--ink);color:var(--paper);border:1px solid var(--ink);box-shadow:0 6px 12px var(--letter-shadow);gap:20px}.app .btn.ghost{color:var(--ink)}.app .kicker{font:700 13px/1.5 var(--text);color:var(--ink-2);align-items:center;gap:9px;margin:0 0 20px;display:flex}.coral-dot{background:#db645b;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 4px #db645b25}.app .eyebrow{letter-spacing:.025em;color:var(--muted)}.app .eyebrow:before{display:none}.app .section-title{letter-spacing:-.055em;font-weight:850}.app .note{color:var(--muted);font-size:13px}.app .text-link{color:var(--ink-2);align-items:center;min-height:44px;display:inline-flex}.bangul-stage{background:radial-gradient(ellipse at 80% 100%,#f4d2b3 0,transparent 48%),var(--letter-cream);border-radius:30px;grid-template-columns:1fr 1fr;align-items:center;gap:42px;min-height:600px;padding:60px 55px;display:grid;position:relative;overflow:hidden}.stage-copy{min-width:0}.stage-copy h1{font:850 clamp(34px,4.4vw,62px)/1.2 var(--text);letter-spacing:-.07em;word-break:keep-all;margin:0}.stage-copy h1 em{color:var(--seal);font-style:normal}.stage-reason{color:#775440;margin:24px 0;font-size:32px;line-height:1.3}.stage-description{color:var(--ink-2);margin:0 0 28px;font-size:16px;line-height:1.75}.stage-copy .note{margin-top:15px}.stage-art{min-width:0}.envelope-whisper{text-align:center;color:#775440;margin:10px 0;font-size:22px}.bangul-envelope{aspect-ratio:1.3;isolation:isolate;width:100%;max-width:460px;margin:35px auto 20px;transition:transform .3s;position:relative}.env-back{background:#eccbad;border-radius:17px;position:absolute;inset:12% 0 0;box-shadow:0 30px 45px -15px #82533740}.env-note{color:#72533f;background:#fffdf6;border-radius:4px;padding:28px 22px;font:25px/1.3 Bangul Pen;transition:transform .6s;position:absolute;inset:18% 7% 10%;transform:rotate(-3deg)}.env-note b{font-weight:400;display:block}.env-note i{text-align:right;color:#cf5f56;font-size:40px;display:block}.env-pocket{clip-path:polygon(0 13%,50% 65%,100% 13%,100% 100%,0 100%);z-index:3;background:#f5dfc7;border-radius:17px;position:absolute;inset:12% 0 0}.env-fold{clip-path:polygon(0 0,100% 0,50% 65%);z-index:4;background:#ecc9a9;border-radius:17px;position:absolute;inset:12% 0 0}.env-drop{aspect-ratio:1;z-index:5;filter:drop-shadow(0 5px 2px #9c4a3025);width:29%;height:auto;transition:transform .4s;position:absolute;top:31%;left:36%}.env-address{z-index:5;color:#735240;overflow-wrap:anywhere;max-width:80%;font:26px/1 Bangul Pen;position:absolute;bottom:10%;right:10%}.env-star{color:#b394c7;z-index:6;font-size:26px;position:absolute}.env-star.one{top:15%;left:-3%}.env-star.two{color:#ca7c52;bottom:16%;right:-2%}.env-star.three{font-size:50px;top:-12%;right:1%}.env-caption{color:#735240;font:22px Bangul Pen;position:absolute;top:0;right:8%;transform:rotate(9deg)}.bangul-envelope:hover .env-drop{transform:rotate(-12deg)translateY(-5px)}.bangul-envelope.small{max-width:300px;margin:0 auto 24px}.bangul-envelope.small .env-note{font-size:18px}.bangul-envelope.small .env-address{font-size:22px}.bangul-envelope.small .env-caption{font-size:20px}.home-caption{color:var(--muted);justify-content:space-between;align-items:center;gap:15px;padding:18px 7px 40px;font-size:13px;display:flex}.home-caption a{color:var(--ink);align-items:center;min-height:44px;font-weight:700;text-decoration:none;display:flex}.little-stories{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:30px;padding:30px 6px 55px;display:grid}.little-stories article{flex-direction:column;align-items:start;display:flex}.story-icon{color:#7d5159;background:#fae4dc;border-radius:18px;place-items:center;width:55px;height:55px;margin-bottom:24px;font-size:28px;display:grid;transform:rotate(-8deg)}.story-icon.butter{background:#fff0bd;transform:rotate(6deg)}.story-icon.lilac{background:#eee4f6;transform:rotate(-5deg)}.little-stories h2{letter-spacing:-.04em;margin:0;font-size:21px;line-height:1.4}.little-stories p{color:var(--ink-2);font-size:14px;line-height:1.8}.home-invite{align-items:center;gap:25px;padding:42px 8px;display:flex}.home-invite img{width:88px;height:88px}.home-invite div{flex:1}.home-invite p{color:var(--ink-2);margin:0;font-size:14px}.home-invite p.handwritten{color:var(--ink);margin-bottom:4px;font-size:33px}.app-home-foot{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;gap:20px;padding:20px 6px;font-size:12px;display:flex}.app-home-foot a{color:inherit;min-height:44px}.app .sample-letter{grid-area:1/2}.home-stage.is-open .stage-art{display:none}.home-stage.is-open .stage-copy h1{font-size:clamp(34px,4vw,54px)}.app .reading-letter{background:var(--letter-paper);box-shadow:0 12px 30px var(--letter-shadow);border:1px solid #dacdbc;border-radius:6px;min-height:300px;padding:38px 32px;position:relative;transform:rotate(-1deg)}.app .reading-letter .from{font:26px "Bangul Pen",var(--text);color:var(--ink-2);max-width:70%;margin-bottom:22px;display:block}.paper-stamp{border:2px dotted #b9a28d;place-items:center;width:58px;height:65px;padding:3px;display:grid;position:absolute;top:22px;right:22px;transform:rotate(7deg)}.paper-stamp img{width:48px;height:48px}.app .letter-message{font:29px/1.45 "Bangul Pen",var(--text);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;letter-spacing:0;min-height:90px;margin:20px 0 30px}.app .letter-sign{font:24px "Bangul Pen",var(--text);text-align:right;color:var(--ink-2);overflow-wrap:anywhere;display:block}.app .preview-reason{color:#9f4b45;overflow-wrap:anywhere;white-space:pre-wrap;font:30px/1.4 Bangul Pen}.luck-strip{color:#69523b;background:#fff4ce;border:1px solid #eadba9;border-radius:16px;align-items:center;gap:14px;margin:24px 0;padding:16px 20px;display:flex}.luck-strip>span{color:#b58c3f;font-size:32px}.luck-strip p{text-align:left;margin:0;font-size:11px}.luck-strip b{color:#6e5035;margin-top:4px;font:24px/1.25 Bangul Pen;display:block}.sample-letter .luck-strip{margin:22px 0 18px;padding:12px}.sample-letter .luck-strip b{font-size:22px}.sample-letter .letter-message{font-size:26px}.sample-letter .note{font-family:var(--text);font-size:12px}.sample-letter .btn{width:100%;font-family:var(--text)}.app .receive-page{gap:30px;max-width:none}.receive-stage.is-open{align-items:start}.receive-stage.is-open .stage-copy{padding-top:50px}.opened-letter:focus,.sample-letter:focus{outline:0}.cheer-actions{flex-wrap:wrap;gap:10px;display:flex}.cheer-actions .btn{padding:0 18px;font-size:13px}.letter-extras{gap:20px;width:100%;max-width:760px;margin:auto;display:grid}.app details.more{padding:8px 20px}.app details.more summary{justify-content:space-between;gap:12px;font-size:14px;display:flex}.app details.more summary span{color:var(--muted);font-size:12px}.app .dashboard-hero{background:var(--letter-cream);border:0;position:relative}.app .dashboard-hero .section-title{font-size:40px}.app .dashboard-hero .section-title span{color:var(--seal)}.mail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:24px;display:grid}.mail-card{background:var(--paper-tone);border:1px solid var(--line);min-height:220px;color:var(--ink);box-shadow:0 7px 16px var(--letter-shadow);border-radius:7px;flex-direction:column;padding:25px;text-decoration:none;transition:transform .2s;display:flex}.mail-card:hover{transform:translateY(-5px)rotate(-1deg)}.mail-card-top{overflow-wrap:anywhere;justify-content:space-between;gap:10px;font-size:13px;font-weight:700;display:flex}.mail-card-top>span{font-size:25px}.mail-card p{overflow-wrap:anywhere;flex:1;font-size:29px;line-height:1.3}.mail-card small{color:var(--ink-2);font-size:11px}.empty-mail{text-align:center;border:1px dashed var(--line-2);background:#f9f6ef;border-radius:22px;grid-column:1/-1;justify-items:center;padding:36px 24px 45px;display:grid}.empty-mail h3{margin:10px 0 0;font-size:22px}.empty-mail p{max-width:430px;color:var(--ink-2);margin:8px 0 22px;font-size:14px}.map-teaser{color:#504563;background:#efecf6;border-radius:20px;align-items:center;gap:24px;padding:25px 30px;text-decoration:none;display:flex}.map-teaser>span:first-child{white-space:nowrap;font-size:26px}.map-teaser>span:last-child{margin-left:auto}.map-teaser b{font-size:16px}.map-teaser p{margin:3px 0 0;font-size:13px}.app .dashboard-bar{flex-wrap:wrap}.app .coupon-list{margin-top:20px}.compose-heading{justify-content:space-between;align-items:center;gap:24px;margin:12px 0 32px;display:flex}.compose-heading p:not(.kicker){color:var(--ink-2);margin:12px 0 0;font-size:15px}.paper-balance{background:var(--letter-cream);white-space:nowrap;border-radius:16px;padding:16px 20px;font-size:13px}.paper-balance b{color:var(--seal);margin-left:8px;font-size:28px}.compose-workspace{gap:32px;display:grid}.stationery-picker{border:0;min-width:0;padding:0}.stationery-picker legend{margin-bottom:16px;font-size:14px;font-weight:700}.stationery-row{grid-template-columns:repeat(7,1fr);gap:14px;display:grid}.stationery-choice{cursor:pointer;text-align:center;min-width:0;position:relative}.stationery-choice input{accent-color:#9e4848;z-index:1;width:18px;height:18px;position:absolute;top:12px;left:12px}.stationery-mini{background:var(--paper-tone);border:1px solid var(--line-2);height:120px;box-shadow:0 5px 12px var(--letter-shadow);border-radius:5px;flex-direction:column;gap:9px;padding:15px 14px 15px 35px;transition:transform .2s;display:flex}.stationery-mini i{color:#8b625d;align-self:end;font-size:20px;font-style:normal}.stationery-mini b{text-align:left;font:20px Bangul Pen}.stationery-mini span{background:#8f7f6e40;height:1px;display:block}.stationery-choice:has(input:checked) .stationery-mini{outline-offset:4px;outline:2px solid #b74d47;transform:translateY(-3px)}.stationery-choice:has(input:focus-visible){outline-offset:6px;border-radius:4px;outline:3px solid #8872ae}.stationery-choice strong{margin-top:12px;font-size:12px;font-weight:600;display:block}.tone-coral{--paper-tone:#fae5d9}.tone-butter{--paper-tone:#fff2c8}.tone-mint{--paper-tone:#e3efdc}.tone-lilac{--paper-tone:#ece3f4}.tone-sky{--paper-tone:#e2edf4}.tone-rose{--paper-tone:#f7e1e4}.tone-snow{--paper-tone:#eef1ed}.reading-letter[class*=tone-]{background:linear-gradient(135deg,var(--paper-tone),var(--letter-paper) 80%)}.compose-grid{grid-template-columns:1fr 1fr;gap:65px;padding:10px 0;display:grid}.compose-controls{flex-direction:column;gap:12px;display:flex}.compose-controls>label{flex-wrap:wrap;align-items:center;gap:9px;margin-top:20px;font-size:15px;font-weight:750;display:flex}.compose-controls>label:first-child{margin-top:0}.compose-controls label small{color:var(--muted);font-size:12px;font-weight:400}.field-number{color:#955342;background:#f7e7df;border-radius:50%;place-items:center;width:23px;height:23px;font-size:12px;display:grid}.app .compose-controls input,.app .compose-controls textarea{border:1px solid var(--line-2);background:var(--paper);width:100%;color:var(--ink);border-radius:12px;min-height:48px;padding:13px 15px;font-size:15px}.compose-controls textarea{resize:vertical;line-height:1.7}.reason-chips{flex-wrap:wrap;gap:7px;display:flex}.reason-chips button{border:1px solid var(--line);background:var(--wash);min-height:44px;color:var(--ink-2);cursor:pointer;border-radius:30px;padding:8px 12px;font-size:12px}.reason-chips button:hover,.reason-chips button[aria-pressed=true]{background:var(--letter-cream);border-color:#c5a464}.app .compose-count{color:var(--muted);align-self:end;font-size:12px;position:static}.compose-preview{align-self:start;min-width:0;position:sticky;top:120px}.preview-label{color:var(--muted);text-align:center;margin:0 0 24px;font-size:13px}.preview-label span{margin-left:10px;font:30px Bangul Pen}.compose-preview .reading-letter{min-height:370px}.compose-preview .note{text-align:center;margin-top:20px}.coupon-choice{margin-top:16px}.coupon-choice fieldset{border:0;margin:10px 0;padding:0}.seal-bar{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:22px;padding:25px 0;display:flex}.seal-bar p{margin:0;font-size:15px}.seal-bar small{color:var(--muted);font-size:12px}.share-stage .luck-strip{max-width:480px;margin:20px auto}.qr-share{text-align:left;max-width:420px;margin:20px auto}.qr-share [data-qr]{text-align:center;background:#fff;margin:14px auto;padding:20px}.qr-share svg{max-width:100%;height:auto}.share-stage .bangul-envelope{margin-bottom:35px}.share-stage{background:var(--letter-cream)}.constellation{color:#fff6d7;background-image:radial-gradient(circle at 17% 21%,#eee4c066 1px,#0000 2px),radial-gradient(circle at 76% 53%,#eee4c044 1px,#0000 2px),radial-gradient(at 50% 45%,#37314f,#211f32 75%);background-size:130px 150px,190px 110px,100% 100%;border-radius:28px;height:470px;position:relative;overflow:hidden}.sky-label{color:#dcd1e7;font-size:13px;position:absolute;top:23px;left:28px}.star-lines{width:100%;height:100%;position:absolute;inset:0}.star-lines path{fill:none;stroke:#aaa0bf66;stroke-width:.15px;stroke-dasharray:.5 1}.star-lines path.lit{stroke:#f1cb83;stroke-width:.2px;stroke-dasharray:none}.star-me{justify-items:center;font-size:12px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.star-me svg{filter:drop-shadow(0 0 20px #e1866d66);width:74px;height:74px}.empty-ieumi{width:96px;height:96px}.sky-star{left:var(--x);top:var(--y);color:#b5acc5;flex-direction:column;align-items:center;min-width:44px;max-width:130px;min-height:44px;text-decoration:none;display:flex;position:absolute;transform:translate(-50%,-50%)}.sky-star>span{font-size:32px;line-height:1.1}.sky-star b{overflow-wrap:anywhere;text-align:center;background:#272237bb;border-radius:6px;padding:3px 6px;font-size:12px;font-weight:500}.sky-star.lit{color:#ffe8a8;text-shadow:0 0 15px #d3a765}.sky-legend{text-align:center;color:#d6ccdf;font-size:12px;position:absolute;bottom:18px;left:20px;right:20px}.sky-empty{text-align:center;position:absolute;bottom:70px;left:15%;right:15%}.sky-empty .handwritten{color:#f2deac;margin:0;font-size:28px}.sky-empty p:not(.handwritten){color:#c7bed5;margin:4px 0 16px;font-size:13px}.constellation:has(.sky-empty) .star-me{top:28%}.sky-empty .btn{color:#393142;background:#f7dfb0;border:0}.journey-stats{border:1px solid var(--line);border-radius:20px;grid-template-columns:repeat(4,1fr);margin:28px 0 35px;padding:24px 0;display:grid}.journey-stats>div{border-right:1px solid var(--line);justify-items:center;gap:7px;display:grid}.journey-stats>div:last-child{border:0}.journey-stats b{font-size:32px;font-weight:800}.journey-stats b small{margin-left:6px;font-size:12px;font-weight:500}.journey-stats span{color:var(--ink-2);font-size:12px}.journey-list h2{font-size:22px}.journey-entry{border-top:1px solid var(--line);align-items:center;gap:20px;padding:22px 0;scroll-margin-top:100px;display:flex}.journey-entry div{flex:1;min-width:0}.journey-entry h3{overflow-wrap:anywhere;margin:0;font-size:15px}.journey-entry p{color:var(--ink-2);overflow-wrap:anywhere;margin:5px 0;font:24px Bangul Pen}.journey-entry small{color:var(--muted);font-size:12px}.journey-dot{color:#afa4b6;font-size:25px}.journey-dot.lit{color:#b58027}.record-page{text-align:center;justify-items:center;gap:18px;max-width:560px;margin:auto;display:grid}.record-page header>p:last-child{color:var(--ink-2);font-size:14px}.record-paper{color:#564638;width:100%;box-shadow:0 12px 35px var(--letter-shadow);background:#fff3ce;border:1px solid #e6d4a7;border-radius:12px;padding:32px 30px;position:relative}.record-brand{letter-spacing:.08em;color:#7b6550;font-size:12px}.record-paper img{margin:15px auto 5px;display:block}.record-paper h2{overflow-wrap:anywhere;margin:0;font-size:32px}.record-number{font:800 70px/1 var(--text);color:#ad4a40;margin:20px 0 30px}.record-number>span{font:15px var(--text);color:#6b5844;margin-top:12px;display:block}.record-mini{border-top:1px dashed #d5bd94;border-bottom:1px dashed #d5bd94;grid-template-columns:repeat(3,1fr);padding:20px 0;display:grid}.record-mini>div{gap:5px;display:grid}.record-mini b{font-size:26px}.record-mini span{font-size:12px}.seven-badge{color:#aa9475;justify-content:center;gap:15px;margin:25px 0 15px;font-size:25px;display:flex}.seven-badge .earned{color:#aa6734;text-shadow:0 0 8px #d5ae55}.record-note{margin:10px 0 20px;font-size:25px}.record-paper>small{color:#7b6550;font-size:11px}@media (width>=1000px){body.app:has(.app-nav){padding-bottom:22px}.app-nav{width:510px;min-height:50px;box-shadow:none;z-index:22;background:#f5f1eb;border:0;padding:3px;top:15px;bottom:auto;left:50%}.app-nav a{gap:7px;min-height:44px;font-size:13px}.app-nav a[aria-current=page]{background:var(--paper);color:var(--ink);box-shadow:0 2px 6px #0000000a}.app-nav a>span:first-child{font-size:20px}}@media (width<=999px){.bangul-stage{gap:26px;min-height:520px;padding:38px 30px}.stage-copy h1{font-size:44px}.stage-reason{font-size:28px}.app-nav{max-width:600px;min-height:60px;bottom:12px}.app-nav a{gap:5px;font-size:12px}.app-nav a>span:first-child{font-size:19px}.compose-grid{gap:30px}.mail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stationery-row{gap:10px}.stationery-mini{height:105px;padding-left:28px}.stationery-choice strong{font-size:11px}}@media (width<=680px){.app-top-inner{gap:10px;min-height:65px;padding:0 16px}.app-brand strong{font-size:20px}.brand-drop{width:34px;height:34px;margin-right:1px}.brand-by{margin-left:5px;padding-left:7px;font-size:10px}.app-main{padding:18px 16px 35px}.app-theme-button{width:44px;height:44px}.bangul-stage{border-radius:23px;grid-template-columns:1fr;gap:10px;padding:30px 23px}.stage-copy h1{font-size:clamp(32px,8.5vw,46px)}.stage-copy .kicker{margin-bottom:18px;font-size:12px}.stage-reason{margin:19px 0;font-size:29px}.stage-description{margin-bottom:22px;font-size:14px}.bangul-envelope{max-width:340px;margin:10px auto 0}.stage-art{margin-top:22px}.envelope-whisper{margin-top:12px;font-size:20px}.env-note{font-size:22px}.env-caption{font-size:18px}.env-address{font-size:23px}.home-caption{padding:10px 4px 22px;font-size:11px}.home-caption a{font-size:12px}.little-stories{grid-template-columns:1fr;gap:28px;padding:15px 6px 30px}.little-stories article{min-height:100px;padding-left:74px;position:relative}.story-icon{width:49px;height:49px;font-size:25px;position:absolute;top:0;left:0}.little-stories .eyebrow{margin-bottom:8px;font-size:10px}.little-stories h2{font-size:18px}.little-stories p{margin-bottom:0;font-size:13px}.little-stories p br{display:none}.home-invite{flex-wrap:wrap;gap:14px;padding:30px 5px}.home-invite img{width:67px;height:67px}.home-invite p.handwritten{font-size:27px}.home-invite p{font-size:12px}.home-invite .btn{width:100%}.app .sample-letter{grid-area:auto/1;margin-top:16px}.home-stage.is-open .stage-description{display:none}.home-stage.is-open .stage-copy h1{font-size:34px}.app .reading-letter{padding:30px 22px}.app .letter-message{font-size:27px}.app .preview-reason{font-size:28px}.paper-stamp{width:47px;height:54px;top:16px;right:16px}.paper-stamp img{width:40px;height:40px}.app .reading-letter .from{font-size:25px}.receive-stage.is-open .stage-copy{padding-top:0}.receive-stage.is-open{gap:25px}.luck-strip{padding:13px}.luck-strip b{font-size:22px}.cheer-actions{flex-direction:column}.cheer-actions .btn{width:100%}.app .dashboard-hero{grid-template-columns:1fr;padding:27px 24px}.app .dashboard-hero .section-title{font-size:31px}.app .dashboard-hero p{font-size:13px;line-height:1.6}.app .dashboard-bar h2{font-size:21px}.app .dashboard-bar{gap:10px}.app .tabs{gap:5px;width:100%}.app .tabs a{padding:0 12px;font-size:12px}.mail-grid{grid-template-columns:1fr;gap:16px}.empty-mail{padding:28px 20px}.empty-mail h3{font-size:20px}.empty-mail p{font-size:13px}.map-teaser{gap:14px;padding:20px}.map-teaser>span:first-child{font-size:15px}.map-teaser b{font-size:14px}.map-teaser p{font-size:12px}.compose-heading{flex-wrap:wrap;align-items:start;gap:12px;margin:4px 0 26px}.compose-heading .section-title{font-size:28px}.compose-heading .kicker{margin-bottom:12px;font-size:12px}.compose-heading p:not(.kicker){font-size:13px}.paper-balance{padding:7px 13px;font-size:12px}.paper-balance b{font-size:20px}.stationery-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 12px;padding:5px}.stationery-mini{gap:7px;height:98px;padding:12px 9px 12px 24px}.stationery-choice input{width:16px;height:16px;top:8px;left:8px}.stationery-choice strong{font-size:10px}.stationery-choice:has(input:checked) .stationery-mini{outline-offset:3px}.compose-grid{grid-template-columns:1fr;gap:35px}.compose-preview{position:static}.compose-workspace{gap:24px}.compose-controls>label{font-size:14px}.compose-preview .reading-letter{min-height:300px}.seal-bar{flex-direction:column;align-items:stretch;gap:15px}.seal-bar p{font-size:13px}.seal-bar .btn{width:100%}.app-nav{width:100%;max-width:none;padding:5px 4px calc(5px + env(safe-area-inset-bottom));border-color:var(--line);border-radius:17px 17px 0 0;bottom:0;left:0;right:0;transform:none}.app-nav a{flex-direction:column;gap:0;min-height:52px;font-size:10px}.app-nav a>span:first-child{font-size:21px;line-height:1.3}.app-nav a[aria-current=page]{background:var(--letter-cream);color:var(--ink)}.constellation{border-radius:22px;height:400px}.sky-label{font-size:12px;top:20px;left:20px}.sky-star b{max-width:74px;font-size:10px}.sky-star>span{font-size:28px}.sky-empty{bottom:60px;left:8%;right:8%}.sky-empty .handwritten{font-size:26px}.sky-empty p:not(.handwritten){font-size:11px}.sky-legend{font-size:10px}.journey-stats{grid-template-columns:1fr 1fr;gap:22px 0;padding:22px 0}.journey-stats>div:nth-child(2){border:0}.journey-stats span{font-size:11px}.journey-entry{gap:12px}.journey-entry p{font-size:22px}.journey-entry .btn{padding:0 12px;font-size:12px}.record-page .section-title{font-size:28px}.record-paper{padding:25px 20px}.record-paper h2{font-size:29px}.record-note{font-size:22px}.seven-badge{gap:12px}.record-page>.btn{width:100%}.app details.more{padding:8px 13px}.app details.more summary{font-size:13px}.app-home-foot{font-size:11px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) body.app{--ink:#f2e9df;--ink-2:#d7c9c1;--muted:#c1b2ac;--seal:#ff9e8e;--paper:#252229;--wash:#302b30;--line:#51454b;--line-2:#72616a;--app-bg:#201e24;--letter-cream:#39302c;--letter-paper:#30292b;--paper-tone:#463137}}:root[data-theme=dark] body.app{--ink:#f2e9df;--ink-2:#d7c9c1;--muted:#c1b2ac;--seal:#ff9e8e;--paper:#252229;--wash:#302b30;--line:#51454b;--line-2:#72616a;--app-bg:#201e24;--letter-cream:#39302c;--letter-paper:#30292b;--paper-tone:#463137}:root[data-theme=dark] .bangul-stage{background:radial-gradient(ellipse at 80% 100%,#544036 0,transparent 55%),var(--letter-cream)}:root[data-theme=dark] :is(.stage-reason,.envelope-whisper){color:#e2c1a3}:root[data-theme=dark] .app-nav{background:#302a30}:root[data-theme=dark] .reading-letter[class*=tone-]{background:var(--letter-paper)}:root[data-theme=dark] .preview-reason{color:#ffb4a0}:root[data-theme=dark] .mail-card{background:var(--letter-paper)}:root[data-theme=dark] .empty-mail{background:var(--wash)}:root[data-theme=dark] .stationery-choice strong{color:var(--ink)}:root[data-theme=dark] .stationery-mini{color:#5c4c46}:root[data-theme=dark] .app .btn.seal-btn{color:#302229}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .bangul-stage{background:radial-gradient(ellipse at 80% 100%,#544036 0,transparent 55%),var(--letter-cream)}:root:not([data-theme=light]) :is(.stage-reason,.envelope-whisper){color:#e2c1a3}:root:not([data-theme=light]) .app-nav{background:#302a30}:root:not([data-theme=light]) .reading-letter[class*=tone-]{background:var(--letter-paper)}:root:not([data-theme=light]) .preview-reason{color:#ffb4a0}:root:not([data-theme=light]) .mail-card{background:var(--letter-paper)}:root:not([data-theme=light]) .empty-mail{background:var(--wash)}}@media (prefers-reduced-motion:reduce){.app *,.app :before,.app :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.app .reading-letter .letter-message{font:400 30px/1.5 "Bangul Pen",var(--text);letter-spacing:0;margin:22px 0 30px}.app .reading-letter .letter-sign{font:400 25px "Bangul Pen",var(--text);color:var(--ink-2);margin-top:22px}.app .reading-letter:before{display:none}.stage-reason{overflow-wrap:anywhere}.env-note>*{visibility:hidden}.env-note:before{content:"";background:repeating-linear-gradient(0deg,#e9ddc7 0 3px,#0000 3px 13px);border-radius:3px;height:36px;position:absolute;top:28px;left:20px;right:20px}:root[data-theme=dark] .env-caption{color:#e2c1a3}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .env-caption{color:#e2c1a3}}@media (width<=680px){.app .reading-letter .letter-message{font-size:28px}.app .reading-letter .letter-sign{font-size:24px}}.opened-letter,.sample-letter{scroll-margin-top:95px}.app .btn:disabled{opacity:.75}.app .btn{transition:transform .2s,box-shadow .2s}.env-address{color:#684836}html:has(body.app){scroll-padding-top:90px;scroll-padding-bottom:90px}.app-home-foot{flex-wrap:wrap}.app-home-foot details{max-width:320px}.app-home-foot summary{cursor:pointer;min-height:44px}.app-home-foot details p{line-height:1.7}.iu-sprite{position:absolute}.iu-hero{aspect-ratio:520/400;width:100%;max-width:520px;margin:10px auto 0;position:relative}.iu-hero svg{width:100%;height:100%;display:block;overflow:visible}.iu-hit{z-index:2;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;border-radius:28px;padding:0;position:absolute}.iu-hit-env{width:52%;height:74%;top:14%;left:8%}.iu-hit-yarn{border-radius:50%;width:36%;height:54%;top:42%;left:63%}.iu-hero svg :is(.iu-env-bob,.iu-arm,.iu-flap-back,.iu-flap-front,.iu-letter,.iu-seal,.iu-eye,.iu-yarn-hop,.iu-yarn-sway,.iu-star,.iu-float,.iu-knot){transform-box:fill-box;transform-origin:50%}.iu-thread{fill:none;stroke:#ee6c5e;stroke-width:7px;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:0;transition:stroke-dashoffset .7s cubic-bezier(.3,1.3,.5,1)}.iu-env-bob{animation:3.2s ease-in-out infinite iu-bob}.iu-arm.r{transform-origin:20% 90%;animation:2.4s ease-in-out infinite iu-wave}.iu-arm{transition:transform .35s cubic-bezier(.3,1.6,.5,1)}.iu-seal{animation:2.6s ease-in-out infinite iu-beat}.iu-eye{animation:4.6s infinite iu-blink}.iu-eye.late{animation-delay:1.7s}.iu-yarn-sway{transform-origin:50% 100%;animation:3.6s ease-in-out infinite iu-sway}.iu-strands{transition:transform .9s cubic-bezier(.3,1.2,.5,1)}.iu-star{animation:2.8s ease-in-out infinite iu-twinkle}.iu-star.s2{animation-delay:.7s}.iu-star.s3{animation-delay:1.3s}.iu-star.s4{animation-delay:2s}.iu-float{opacity:0;animation:4.5s ease-out infinite iu-rise}.iu-float.f2{--iu-dx:22px;animation-delay:1.5s}.iu-float.f3{--iu-dx:-20px;animation-delay:3s}.iu-flap-back{transform-origin:50% 100%;transition:transform .45s cubic-bezier(.3,1.6,.5,1) .18s;transform:scaleY(0)}.iu-flap-front{transform-origin:50% 0;transition:transform .22s ease-in}.iu-letter{opacity:0;transition:transform .5s cubic-bezier(.3,1.5,.5,1) .32s,opacity .15s .32s;transform:translateY(46px)}.iu-face-happy{opacity:0}.is-opening .iu-flap-back{transform:scaleY(1)}.is-opening .iu-flap-front{transform:scaleY(0)}.is-opening .iu-letter{opacity:1;transform:none}.is-opening .iu-face-happy{opacity:1}.is-opening .iu-face-calm{opacity:0}.is-opening .iu-arm{animation:none;transform:translateY(-22px)}.is-opening .iu-yarn-hop,.iu-hero.is-hop .iu-yarn-hop{animation:.7s cubic-bezier(.3,1.3,.5,1) iu-hop}.is-opening .iu-float{animation-duration:1.2s}.iu-hero.is-live:not(.is-tied) .iu-knot{transform:scale(0)}.iu-knot{transition:transform .5s cubic-bezier(.3,2,.5,1)}.iu-hero.is-tied .iu-env-bob{animation-duration:1.1s}.iu-hit-env:is(:hover,:focus-visible)~svg .iu-env-bob{animation:.5s ease-in-out infinite iu-jiggle}.iu-hit-yarn:is(:hover,:focus-visible)~svg .iu-yarn-sway{animation-duration:.9s}.iu-pop{z-index:3;pointer-events:none;color:#d9534c;font-size:22px;line-height:1;position:absolute}.stage-copy h1 em{background:linear-gradient(#ee6c5e,#ee6c5e) 0 98%/100% .09em no-repeat;animation:1.1s cubic-bezier(.4,0,.2,1) .5s backwards iu-underline}.coral-dot{animation:2.6s ease-in-out infinite iu-beat}.app .btn.ink-btn>span[aria-hidden]{transition:transform .25s cubic-bezier(.3,1.8,.5,1);display:inline-block}.app .btn.ink-btn:hover>span[aria-hidden]{transform:translate(3px,-3px)}.paper-stamp svg{width:50px;height:50px}.story-thread{grid-column:1/-1;width:100%;height:34px;margin-bottom:-6px}.story-thread path,.iu-invite-thread{fill:none;stroke:#ee6c5e;stroke-width:4px;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:0;vector-effect:non-scaling-stroke}.story-icon.iu-icon{border-radius:26px;width:84px;height:84px;transition:transform .35s cubic-bezier(.3,1.8,.5,1)}.story-icon.iu-icon svg{width:74px;height:74px}.little-stories article:hover .story-icon.iu-icon{transform:rotate(0)scale(1.1)}.iu-invite{flex:none;width:190px;height:auto;overflow:visible}.iu-invite :is(.iu-roll,.iu-jog){transform-box:fill-box;transform-origin:50% 80%}.iu-roll{animation:1.6s ease-in-out infinite iu-roll}.iu-jog{animation:.8s ease-in-out infinite iu-jog}.iu-motion [data-reveal]{opacity:0;transition:opacity .6s ease-out,transform .7s cubic-bezier(.3,1.4,.5,1);transform:translateY(22px)}.iu-motion [data-reveal].in-view{opacity:1;transform:none}.iu-motion article[data-reveal]:nth-of-type(2){transition-delay:.12s}.iu-motion article[data-reveal]:nth-of-type(3){transition-delay:.24s}.iu-motion .story-thread[data-reveal]{opacity:1;transform:none}.iu-motion .story-thread path{stroke-dashoffset:100px;transition:stroke-dashoffset 1.6s ease-in-out}.iu-motion .story-thread.in-view path{stroke-dashoffset:0}@keyframes iu-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes iu-blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes iu-wave{0%,to{transform:rotate(0)}50%{transform:rotate(-24deg)}}@keyframes iu-beat{0%,48%,to{transform:scale(1)}12%{transform:scale(1.18)}24%{transform:scale(1)}36%{transform:scale(1.1)}}@keyframes iu-sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(6deg)}}@keyframes iu-hop{0%,60%,to{transform:translateY(0)}35%{transform:translateY(-30px)}78%{transform:translateY(-9px)}}@keyframes iu-rise{0%{opacity:0;transform:translate(0)scale(.4)}15%{opacity:1}to{transform:translate(var(--iu-dx,6px),-130px) scale(1.1);opacity:0}}@keyframes iu-twinkle{0%,to{opacity:.35;transform:scale(.75)}50%{opacity:1;transform:scale(1.15)}}@keyframes iu-jiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes iu-jog{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-7px)rotate(3deg)}}@keyframes iu-roll{0%,to{transform:translate(-4px)rotate(-12deg)}50%{transform:translate(6px)rotate(12deg)}}@keyframes iu-underline{0%{background-size:0 .09em}}@media (width<=680px){.iu-hero{max-width:360px;margin-top:0}.paper-stamp svg{width:42px;height:42px}.story-icon.iu-icon{border-radius:20px;width:62px;height:62px}.story-icon.iu-icon svg{width:56px;height:56px}.story-thread{height:22px}.iu-invite{width:150px}}@media (prefers-reduced-motion:reduce){.iu-float{opacity:.9}}.iu-hero{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.iu-hero svg{pointer-events:none}.iu-hit-yarn{touch-action:none;cursor:grab}.iu-hero.is-drag .iu-hit-yarn{cursor:grabbing}.iu-hero svg :is(.iu-in-roll,.iu-bp,.iu-hint-dot,.iu-ymouth-wow){transform-box:fill-box;transform-origin:50%}.iu-hero svg .iu-in-env{transform-box:fill-box;transform-origin:50% 100%}.iu-hero.is-busy .iu-thread,.iu-hero.is-busy .iu-strands{transition:none}.iu-hero.is-busy .iu-ball{will-change:transform}.iu-mini-in{transition:transform .3s cubic-bezier(.3,1.9,.5,1);transform:scale(0)}.iu-mini.on .iu-mini-in{transform:scale(1)}.iu-mini-in rect{fill:var(--m);stroke:var(--ms);stroke-width:1.6px}.iu-mini-in path{fill:none;stroke:var(--ms);stroke-width:1.6px;stroke-linejoin:round}.iu-mini-in .pin{stroke:#775440;stroke-width:3.4px;stroke-linecap:round}.iu-mini-in circle{fill:#d9534c}.iu-ymouth-wow{opacity:0}.iu-hero.is-drag .iu-ymouth-wow{opacity:1}.iu-hero.is-drag .iu-ymouth-calm{opacity:0}.iu-hero.is-drag .iu-yarn-hop .iu-eye{animation:none;transform:scale(1.25)}.iu-hero.is-drag .iu-yarn-sway{animation:none}.iu-yarn-shadow{transition:opacity .2s}.iu-hero.is-drag .iu-yarn-shadow{opacity:.03}.iu-hero.is-near .iu-face-happy{opacity:1}.iu-hero.is-near .iu-face-calm{opacity:0}.iu-hero.is-near .iu-arm{animation:none;transform:translateY(-18px)}.iu-hero.is-pop .iu-env-bob{animation:.7s cubic-bezier(.3,1.3,.5,1) iu-hop}.iu-hint{opacity:0;color:#775440;transition:opacity .3s;animation:.5s 2.4s backwards iu-in-fade}.iu-hero.is-live:not(.is-tied,.is-touched) .iu-hint{opacity:1}.iu-hint-line{fill:none;stroke:currentColor;stroke-width:3.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 8.5}.iu-hint-line.head{stroke-dasharray:none}.iu-hint-dot{fill:currentColor;opacity:0;animation:2.4s ease-in-out 2.8s infinite iu-hint-go}.iu-in-env{animation:1.15s .4s backwards iu-in-drop}.iu-in-yarn{animation:1.05s cubic-bezier(.2,.75,.3,1) .12s backwards iu-in-slide}.iu-in-roll{animation:1.05s cubic-bezier(.2,.75,.3,1) .12s backwards iu-in-spin}.iu-thread{animation:.7s cubic-bezier(.3,1.3,.5,1) 1.2s backwards iu-in-thread}.iu-knot{animation:.5s cubic-bezier(.3,2,.5,1) 1.8s backwards iu-in-pop}.iu-bp{opacity:0;animation:iu-in-burst .95s calc(1.5s + var(--bd,0s)) cubic-bezier(.2,.7,.4,1) both}.home-stage .envelope-whisper{animation:.6s cubic-bezier(.3,1.6,.5,1) 1.9s backwards iu-in-say}.home-stage .stage-copy>:is(.kicker,h1,.stage-reason,.stage-description){animation:.55s cubic-bezier(.3,1.2,.5,1) backwards iu-in-rise}.home-stage .stage-copy>h1{animation-delay:.1s}.home-stage .stage-copy>.stage-reason{animation-delay:.24s}.home-stage .stage-copy>.stage-description{animation-delay:.36s}.iu-skip :is(.iu-in-env,.iu-in-yarn,.iu-in-roll,.iu-thread,.iu-knot,.iu-bp,.iu-hint,.envelope-whisper),.home-stage.iu-skip .stage-copy>*{animation:none}.iu-skip .iu-hint-dot{animation-delay:.6s}.home-stage .envelope-whisper.is-say{animation:.45s cubic-bezier(.3,1.6,.5,1) iu-in-say}.is-opening .iu-hero .iu-thread{animation:.5s cubic-bezier(.6,0,.9,.4) forwards iu-snap}.is-opening .is-tied .iu-knot{animation:.4s ease-out forwards iu-knot-pop}.is-opening .iu-hero .iu-letter{opacity:1;transform:translateY(-56px)scale(1.2)rotate(-5deg)}.home-stage.is-opening .iu-hero.is-live .iu-hint{opacity:0}.iu-pop.c{background:currentColor;border-radius:2px;width:8px;height:12px}.iu-ch{opacity:0;animation:iu-ink .22s calc(var(--i)*var(--iu-step,24ms) + .4s) forwards}.sample-letter .luck-strip{position:relative;overflow:hidden}.sample-letter.iu-writing .luck-strip{opacity:0}.sample-letter .luck-strip.is-shine{animation:.7s cubic-bezier(.3,1.7,.5,1) backwards iu-luck}.sample-letter .luck-strip.is-shine:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 35%,#fff9 50%,#0000 65%);animation:1s ease-out .3s 2 iu-sheen;position:absolute;inset:0;transform:translate(-110%)}.sample-letter .luck-strip.is-shine>span{animation:1.3s cubic-bezier(.3,1.5,.5,1) .15s iu-twirl}.little-stories{position:relative}.sc{overflow:visible}.sc :is(.sc-l,.sc-r,.sc-heart,.sc-paper,.sc-star,.sc-tw){transform-box:fill-box;transform-origin:50%}.sc-thread,.sc-w{stroke-dasharray:100;stroke-dashoffset:0}.sc-w{fill:none;stroke:#d3a984;stroke-width:4px;stroke-linecap:round}.iu-motion .in-view .sc-l{animation:.7s cubic-bezier(.3,1.5,.5,1) .25s backwards sc-from-l}.iu-motion .in-view .sc-r{animation:.7s cubic-bezier(.3,1.5,.5,1) .25s backwards sc-from-r}.iu-motion .in-view .sc-thread{animation:.6s ease-out .75s backwards sc-draw}.iu-motion .in-view .sc-heart{animation:.5s cubic-bezier(.3,2,.5,1) 1.25s backwards sc-pop,2.6s ease-in-out 2.2s infinite iu-beat}.iu-motion .in-view .sc-paper{animation:.6s cubic-bezier(.3,1.5,.5,1) .35s backwards sc-up}.iu-motion .in-view .sc-w{animation:.5s ease-out .95s backwards sc-draw}.iu-motion .in-view .sc-w.w2{animation-delay:1.45s}.iu-motion .in-view .sc-paper .sc-heart{animation-delay:2s,3s}.iu-motion .in-view .sc-star{animation:1s cubic-bezier(.3,1.4,.5,1) .55s backwards sc-rise,2.6s ease-in-out 1.7s infinite sc-glow}.iu-motion .in-view .sc-tw{animation:.4s cubic-bezier(.3,2,.5,1) 1.5s backwards iu-in-pop,2.8s ease-in-out 2s infinite iu-twinkle}.iu-motion .in-view .sc-tw.late{animation-delay:1.75s,2.6s}.iu-scrolly .story-thread{pointer-events:none;grid-column:auto;width:100%;height:100%;margin:0;position:absolute;inset:0;overflow:visible}.iu-scrolly .story-thread path{transition:none}.iu-scrolly article{z-index:1;position:relative}.story-rider{display:none}.iu-scrolly .story-rider{z-index:2;pointer-events:none;opacity:0;will-change:transform;width:46px;height:46px;transition:opacity .25s;display:block;position:absolute;top:0;left:0}.iu-scrolly .story-rider.on{opacity:1}.home-invite{background:radial-gradient(ellipse at 10% 120%,var(--iu-glow,#f4d2b3) 0,transparent 50%),var(--letter-cream);border-radius:28px;margin:36px 0 26px;padding:34px 40px;position:relative}.invite-cta{flex:none;display:inline-flex;position:relative}.invite-cta .btn{position:relative}.invite-cta .btn:after{content:"";border-radius:inherit;border:2px solid var(--seal);opacity:0;pointer-events:none;position:absolute;inset:-1px}.invite-nudge{color:var(--seal);white-space:nowrap;transform-origin:100% 100%;pointer-events:none;align-items:flex-end;gap:2px;font-size:23px;line-height:1;display:flex;position:absolute;bottom:calc(100% + 13px);right:14px;transform:rotate(-5deg)}.invite-nudge svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:34px;height:26px;margin-bottom:-8px}.iu-motion .home-invite.in-view .iu-invite{animation:.8s cubic-bezier(.3,1.4,.5,1) .15s backwards sc-from-l}.iu-motion .home-invite.in-view .iu-invite-thread{animation:.9s ease-out .5s backwards sc-draw}.iu-motion .home-invite.in-view .invite-nudge{animation:.5s cubic-bezier(.3,1.6,.5,1) .9s backwards iu-in-say,1.6s ease-in-out 1.5s infinite iu-point}.iu-motion .home-invite.in-view .invite-cta .btn{animation:3.2s ease-in-out 1.3s infinite iu-nudge}.iu-motion .home-invite.in-view .invite-cta .btn:after{animation:3.2s ease-out 1.3s infinite iu-ring}.iu-motion .home-invite.in-view .invite-cta .btn:is(:hover,:focus-visible){animation:none}:root[data-theme=dark] .iu-hint{color:#e2c1a3}:root[data-theme=dark] .home-invite{--iu-glow:#544036}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .iu-hint{color:#e2c1a3}:root:not([data-theme=light]) .home-invite{--iu-glow:#544036}}@media (width>=681px){.iu-scrolly article:nth-of-type(2){margin-top:34px}.iu-scrolly article:nth-of-type(3){margin-top:68px}}@media (width<=680px){.home-invite{text-align:center;border-radius:23px;flex-flow:column;gap:10px;margin:26px 0 20px;padding:26px 22px 24px}.home-invite .iu-invite{width:176px}.invite-cta{width:100%;margin-top:34px}.invite-nudge{font-size:21px}.iu-scrolly .story-rider{width:38px;height:38px}}@keyframes iu-in-drop{0%{opacity:0;animation-timing-function:cubic-bezier(.5,0,.9,.5);transform:translateY(-330px)}12%{opacity:1}36%{animation-timing-function:cubic-bezier(.2,.6,.4,1);transform:translateY(0)scale(1.1,.84)}52%{animation-timing-function:cubic-bezier(.5,0,.9,.5);transform:translateY(-62px)scale(.96,1.05)}68%{animation-timing-function:cubic-bezier(.2,.6,.4,1);transform:translateY(0)scale(1.06,.9)}80%{animation-timing-function:cubic-bezier(.5,0,.9,.5);transform:translateY(-20px)scale(.99,1.02)}90%{transform:translateY(0)scale(1.03,.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes iu-in-slide{0%{transform:translate(330px)}78%{transform:translate(-12px)}to{transform:translate(0)}}@keyframes iu-in-spin{0%{transform:rotate(620deg)}78%{transform:rotate(-14deg)}to{transform:rotate(0)}}@keyframes iu-in-thread{0%{stroke-dashoffset:100px}}@keyframes iu-in-pop{0%{transform:scale(0)}}@keyframes iu-in-burst{0%{opacity:0;transform:translate(0)scale(.2)}18%,70%{opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(2.1) rotate(50deg);opacity:0}}@keyframes iu-in-fade{0%{opacity:0}}@keyframes iu-in-say{0%{opacity:0;transform:translateY(8px)scale(.9)}}@keyframes iu-in-rise{0%{opacity:0;transform:translateY(14px)}}@keyframes iu-hint-go{0%{opacity:0;transform:translate(0)scale(.6)}15%{opacity:.45;transform:translate(0)scale(1)}70%{opacity:.45;transform:translate(-74px,-56px)scale(1)}85%,to{opacity:0;transform:translate(-74px,-56px)scale(1.5)}}@keyframes iu-snap{35%{stroke-width:10px}to{stroke-dashoffset:100px;stroke-width:4px}}@keyframes iu-knot-pop{0%{transform:scale(1)}40%{transform:scale(1.7)}to{transform:scale(0)}}@keyframes iu-ink{to{opacity:1}}@keyframes iu-luck{0%{opacity:0;transform:translateY(10px)scale(.9)}}@keyframes iu-sheen{to{transform:translate(110%)}}@keyframes iu-twirl{0%{transform:rotate(0)scale(1)}40%{transform:rotate(200deg)scale(1.5)}to{transform:rotate(360deg)scale(1)}}@keyframes iu-nudge{0%,22%,to{transform:none}6%{transform:scale(1.07)rotate(-2deg)}12%{transform:scale(.97)rotate(1.5deg)}17%{transform:scale(1.03)}}@keyframes iu-ring{0%{opacity:0;transform:scale(1)}8%{opacity:.7}40%,to{opacity:0;transform:scale(1.2,1.6)}}@keyframes iu-point{0%,to{transform:rotate(-5deg)translateY(0)}50%{transform:rotate(-5deg)translateY(5px)}}@keyframes sc-from-l{0%{opacity:0;transform:translate(-34px)}}@keyframes sc-from-r{0%{opacity:0;transform:translate(34px)}}@keyframes sc-draw{0%{stroke-dashoffset:100px}}@keyframes sc-pop{0%{transform:scale(0)}}@keyframes sc-up{0%{transform:translateY(34px)}}@keyframes sc-rise{0%{opacity:0;transform:translateY(70px)scale(.3)rotate(-90deg)}}@keyframes sc-glow{0%,to{transform:scale(1)}50%{transform:scale(1.16)rotate(14deg)}}@media (height<=700px){.app-main:has(>.home-stage){padding-top:10px}.bangul-stage.home-stage{min-height:0;padding-block:20px}.home-stage .iu-hero{max-width:min(520px,max(200px,130svh - 325px))}.home-stage .envelope-whisper{margin:4px 0 0}}@media (width<=680px) and (height<=700px){.home-stage .stage-copy .kicker{margin-bottom:10px}.home-stage .stage-reason{margin:8px 0;font-size:24px}.home-stage .stage-description{margin-bottom:14px}.home-stage .stage-copy .note{margin-top:8px}.home-stage .stage-art{margin-top:0}.home-stage .iu-hero{max-width:min(360px,max(200px,130svh - 552.5px))}}@media (width>=520px) and (height<=500px){.bangul-stage.home-stage{grid-template-columns:1fr 1fr;align-items:center;gap:16px;padding:14px 20px}.home-stage .stage-copy h1{font-size:28px}.home-stage .stage-copy .kicker{margin-bottom:8px}.home-stage .stage-reason{margin:8px 0;font-size:22px}.home-stage .stage-description{margin-bottom:12px;font-size:13px;line-height:1.6}.home-stage .stage-art{margin-top:0}.home-stage .iu-hero{max-width:max(200px,130svh - 195px)}.app .home-stage .sample-letter{grid-area:auto/1/auto/-1}}.letter-sheet{filter:drop-shadow(0 12px 18px var(--letter-shadow));position:relative;transform:rotate(-1deg)}.app .letter-sheet .reading-letter{box-shadow:none;transform:none}.app .letter-sheet.has-gift .reading-letter{border-bottom:0;border-radius:6px 6px 0 0;min-height:250px}.gift-stub{background:var(--letter-cream);transform-origin:0 0;transform:rotate(calc(var(--torn,0)*1.6deg));border:1px solid #dacdbc;border-top:0;grid-template-columns:minmax(0,1fr);gap:10px;padding:26px 32px 24px;display:grid;position:relative}.gift-stub:last-child{border-radius:0 0 6px 6px}.gift-stub+.gift-stub{border-top:0}.tear-line{border-top:3px dashed #ee6c5e;height:0;position:absolute;top:-2px;left:16px;right:16px}.tear-hint{font:750 12px/1.6 var(--text);color:var(--seal);background:var(--letter-paper);padding-right:8px;position:absolute;top:-24px;left:0}.reading-letter[class*=tone-]+.gift-stub .tear-hint{background:0 0}.tear-yarn{cursor:grab;touch-action:none;z-index:2;background:0 0;border:0;width:60px;height:60px;padding:0;transition:transform .25s;position:absolute;top:-32px;right:-6px}.tear-line .tear-yarn{cursor:default;top:-30px;right:-22px}.tear-yarn svg{pointer-events:none;width:100%;height:100%;display:block}.tear-yarn.is-pulling{cursor:grabbing;transition:none}.tear-form{gap:12px;display:grid}.tear-form .btn{justify-self:start}.stub-row{align-items:center;gap:22px;display:flex}.stub-row .postmark{margin-right:56px}.stub-row{flex-wrap:wrap}.stub-text{flex:150px;gap:3px;min-width:0;display:grid}.stub-title{font:800 21px/1.35 var(--text);letter-spacing:-.04em;color:var(--ink);overflow-wrap:anywhere}.stub-value{color:var(--seal);letter-spacing:0;vertical-align:2px;border:1.5px dashed #ee6c5e;border-radius:99px;margin-left:6px;padding:1px 9px;font-size:13px;display:inline-block}.stub-meta{color:#775440;overflow-wrap:anywhere;font-size:13.5px}.gift-stub .urgent{color:var(--seal);margin:4px 0 0;font-size:13px;font-weight:800}.gift-stub .note{margin:0}.gift-stub.is-ended{opacity:.75}.thanks-line{color:#9f4b45;overflow-wrap:anywhere;margin:6px 0 0;font-size:27px;line-height:1.2}.thanks-line span{color:var(--ink-2);font-size:21px}.thanks-form{border-top:1px dashed #dacdbc;gap:8px;padding-top:12px;display:grid}.thanks-form p{margin:0;font-size:14px;font-weight:750}.thanks-row{flex-wrap:wrap;gap:8px;display:flex}.thanks-row form{display:contents}.thanks-row .btn{background:var(--paper);min-height:44px}.gift-ticket{text-align:center;justify-items:center;gap:6px;display:grid}.ticket-line{color:#775440;overflow-wrap:anywhere;margin:2px 0 6px;font-size:23px;line-height:1.25}.gift-stub.is-ticket{border-top:3px dashed #ee6c5e;border-radius:0 0 6px 6px;margin-top:18px;animation:.4s ease-out ticket-pop}.gift-stub.is-ticket .tear-line{display:none}.gift-stub.is-tearing{animation:.5s ease-in forwards stub-tear}.gift-stub.is-tearing .tear-yarn{transform:translate(-120px)}.postmark{width:92px;height:92px;color:var(--seal);text-align:center;font:800 10.5px/1.2 var(--text);letter-spacing:0;border:3px solid;border-radius:50%;flex:none;align-content:center;place-items:center;text-decoration:none;display:inline-grid;position:relative;transform:rotate(-11deg)}.postmark:before{content:"";border:1.5px solid;border-radius:50%;position:absolute;inset:4px}.postmark:after{content:"";opacity:.7;background:repeating-linear-gradient(currentColor 0 2.5px,#0000 2.5px 11px);width:52px;height:46%;margin-left:3px;position:absolute;top:27%;left:100%}.postmark b{font:800 21px/1.05 var(--text);letter-spacing:-.04em;display:block}.postmark span{white-space:nowrap;text-overflow:ellipsis;max-width:70px;display:block;overflow:hidden}.postmark.sm{width:72px;height:72px;font-size:9.5px}.postmark.sm b{font-size:17px}.postmark.sm:after{display:none}.postmark.sm span{max-width:54px}.postmark.is-new{animation:.5s cubic-bezier(.2,1.6,.4,1) postmark-thump}.mail-gift{background:var(--paper);max-width:100%;color:var(--seal);font:750 12px/1.5 var(--text);overflow-wrap:anywhere;border:1.5px dashed #ee6c5e;border-radius:99px;align-self:flex-start;align-items:center;gap:6px;margin:0 0 10px;padding:4px 11px;display:inline-flex}.mail-gift.is-used{border-style:solid}.postmark-book{background:var(--letter-cream);border-radius:20px;margin-top:24px;padding:22px 24px}.postmark-book-head{flex-wrap:wrap;align-items:baseline;gap:6px 14px;display:flex}.postmark-book h3{letter-spacing:-.04em;margin:0;font-size:19px}.postmark-book h3 small{color:var(--muted);margin-left:4px;font-size:12px;font-weight:600}.postmark-book p{color:var(--ink-2);margin:0;font-size:13px}.postmark-row{flex-wrap:wrap;gap:16px 14px;margin:18px 0 0;padding:0;list-style:none;display:flex}.postmark-row li{justify-items:center;gap:4px;width:96px;display:grid}.postmark-row a{border-radius:50%;place-items:center;min-width:76px;min-height:76px;text-decoration:none;display:grid}.postmark-row li:nth-child(3n+2) .postmark{transform:rotate(8deg)}.postmark-row li:nth-child(3n) .postmark{transform:rotate(-4deg)}.postmark-row .handwritten{color:#775440;text-align:center;overflow-wrap:anywhere;font-size:17px;line-height:1.15}@keyframes stub-tear{to{opacity:0;transform:translateY(34px)rotate(6deg)}}@keyframes ticket-pop{0%{opacity:.4;transform:translateY(-12px)}to{opacity:1;transform:none}}@keyframes postmark-thump{0%{opacity:0;transform:rotate(-11deg)scale(2.4)}to{opacity:1;transform:rotate(-11deg)scale(1)}}@media (width<=680px){.gift-stub{padding:24px 22px 20px}.stub-row{gap:14px}.stub-row .postmark{width:82px;height:82px;margin-right:42px}.stub-row .postmark:after{width:40px}.stub-title{font-size:19px}.thanks-line{font-size:24px}.thanks-row .btn{flex:auto}.tear-form .btn{justify-self:stretch}.postmark-book{padding:18px 16px}.postmark-row{gap:14px 6px}.postmark-row li{width:88px}}@media (prefers-reduced-motion:reduce){.gift-stub,.postmark,.tear-yarn{transition:none!important;animation:none!important}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) :is(.gift-stub,.thanks-form){border-color:var(--line-2)}:root:not([data-theme=light]) :is(.stub-meta,.ticket-line,.postmark-row .handwritten){color:#e2c1a3}:root:not([data-theme=light]) .thanks-line{color:#ffb4a0}:root:not([data-theme=light]) :is(.tear-line,.stub-value,.mail-gift,.gift-stub.is-ticket){border-color:#ff9e8e}}:root[data-theme=dark] :is(.gift-stub,.thanks-form){border-color:var(--line-2)}:root[data-theme=dark] :is(.stub-meta,.ticket-line,.postmark-row .handwritten){color:#e2c1a3}:root[data-theme=dark] .thanks-line{color:#ffb4a0}:root[data-theme=dark] :is(.tear-line,.stub-value,.mail-gift,.gift-stub.is-ticket){border-color:#ff9e8e}.keep-picker,.meet-picker{border:0;min-width:0;margin:20px 0 0;padding:0}.keep-picker legend,.slot-head,.meet-picker legend{flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 12px;padding:0;font-size:15px;font-weight:750;display:flex}.keep-picker legend small,.slot-head small,.meet-picker legend small,.keep-date small{color:var(--muted);font-size:12px;font-weight:400}.keep-chips{flex-wrap:wrap;gap:8px;display:flex}.keep-chip{cursor:pointer;position:relative}.keep-chip input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.keep-chip span{border:1.5px solid var(--line-2);background:var(--paper);min-height:44px;color:var(--ink-2);border-radius:99px;align-items:center;padding:0 15px;font-size:13.5px;font-weight:650;display:flex}.keep-chip input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}.keep-chip input:focus-visible+span{outline-offset:3px;outline:3px solid #8872ae}.keep-date{gap:6px;margin-top:14px;font-size:14px;font-weight:700;display:grid}.app .keep-date input,.app .meet-row input{border:1px solid var(--line-2);background:var(--paper);min-height:48px;color:var(--ink);border-radius:12px;width:100%;min-width:0;padding:10px 12px;font-size:15px}.keep-picker .note{margin:12px 0 0}.gift-slot{min-width:0;margin-top:24px}.gift-slot fieldset.pick-list{border:0;min-width:0;margin:0;padding:0}.gift-stub,.gift-slot,.keep-picker,.postmark-book,.mail-gift,.keep-actions{word-break:keep-all}.gift-slot .btn[data-gift-more]{margin-top:10px}.gift-slot.is-locked .pick-card[data-gift],.gift-slot.is-locked [data-gift-more],.app .pick-card[hidden]{display:none}.pick-tags{flex-wrap:wrap;gap:5px;margin:3px 0;display:flex}.pick-free{color:#2f5d3a;background:#e3efdc;border-radius:99px;padding:1px 9px;font-size:11.5px;font-weight:800;display:inline-block}.pick-free.duo{color:#5b4380;background:#ece3f4}.meet-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.letter-sheet .keep-tag{z-index:3;color:#5b4380;box-shadow:0 4px 8px var(--letter-shadow);background:#eee4f6;border:1px dashed #b394c7;border-radius:6px;padding:5px 16px 3px;font-size:22px;line-height:1.2;position:absolute;top:-18px;left:-10px;transform:rotate(-5deg)}.keep-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.keep-actions form{display:contents}.mail-card.is-kept{background:#efeaf5;border-style:dashed;border-color:#b394c7}.mail-card.is-kept p{color:#5b4380}.kept-ieumi{flex:none;width:46px;height:46px;margin:-8px -4px -8px 0}.mail-gift.is-kept{color:#5b4380;border-style:solid;border-color:#b394c7}.pair-status{background:var(--paper);color:var(--ink);border:1.5px dashed #b394c7;border-radius:12px;margin:6px 0 0;padding:8px 12px;font-size:13.5px;font-weight:700}.pair-status.is-ok,.gift-stub.is-waiting .pair-status{border-style:solid}.pair-form{border-top:1px dashed #dacdbc;grid-template-columns:minmax(0,1fr);gap:8px;padding-top:12px;display:grid}.pair-form label{font-size:14px;font-weight:750;line-height:1.5}.pair-row{gap:8px;display:flex}.app .pair-row input{border:1px solid var(--line-2);background:var(--paper);min-width:0;min-height:48px;color:var(--ink);text-align:center;letter-spacing:.16em;border-radius:12px;flex:120px;font:800 22px/1 ui-monospace,Menlo,monospace}.pair-row .btn{flex:none}.meet-done{color:#5b4380;margin:4px 0 0;font-size:26px;line-height:1.2}@media (width<=680px){.meet-row{grid-template-columns:1fr}.keep-chip span{padding:0 13px;font-size:13px}.letter-sheet .keep-tag{font-size:20px;left:-4px}.pair-row{flex-wrap:wrap}.pair-row .btn{flex:100%}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mail-card.is-kept{background:#35304a;border-color:#8872ae}:root:not([data-theme=light]) :is(.mail-card.is-kept p,.mail-gift.is-kept,.meet-done){color:#d9c8ee}:root:not([data-theme=light]) .letter-sheet .keep-tag{color:#e4d8f3;background:#3d3552;border-color:#8872ae}:root:not([data-theme=light]) .pick-free{color:#bfe3c6;background:#2f4335}:root:not([data-theme=light]) .pick-free.duo{color:#e4d8f3;background:#3d3552}:root:not([data-theme=light]) .pair-form{border-color:var(--line-2)}}:root[data-theme=dark] .mail-card.is-kept{background:#35304a;border-color:#8872ae}:root[data-theme=dark] :is(.mail-card.is-kept p,.mail-gift.is-kept,.meet-done){color:#d9c8ee}:root[data-theme=dark] .letter-sheet .keep-tag{color:#e4d8f3;background:#3d3552;border-color:#8872ae}:root[data-theme=dark] .pick-free{color:#bfe3c6;background:#2f4335}:root[data-theme=dark] .pick-free.duo{color:#e4d8f3;background:#3d3552}:root[data-theme=dark] .pair-form{border-color:var(--line-2)}.pair-qr{justify-items:center;gap:8px;width:100%;margin:6px 0 2px;display:grid}.pair-qr[hidden]{display:none}.qr-box{box-sizing:border-box;background:#fff;border:1.5px dashed #b394c7;border-radius:16px;width:min(232px,100%);padding:4px}.qr-box svg{width:100%;height:auto;display:block}.pair-qr .note{max-width:34em;margin:0}.together-check{text-align:center;justify-items:center;gap:12px;display:grid}.together-check .section-title,.together-check .lead{overflow-wrap:anywhere;margin:0}.together-ieumi{width:104px;height:104px}.together-gift{background:var(--paper);overflow-wrap:anywhere;border:1.5px dashed #dacdbc;border-radius:14px;gap:2px;margin:0;padding:12px 20px;display:grid}.together-gift strong{font-size:17px}.together-gift span{color:var(--ink-2);font-size:13px}.together-form{width:min(360px,100%)}.app .together-btn{width:100%;min-height:58px;font-size:18px}.together-line{margin:0;font-size:30px}.together-links{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}@media (width<=680px){.together-links{width:100%;display:grid}.together-links .btn{justify-content:center}}
