:root{--primary:#000;--canvas:#fff;--soft:#efefef;--softer:#f3f3f3;--ink:#000;--body:#5e5e5e;--hair-mid:#4b4b4b;--mute:#afafaf;--pressed:#e2e2e2;--elev:#282828;--on-dark:#fff;--r-md:8px;--r-xl:16px;--r-pill:999px;--r-tab:36px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--sh1:0 4px 16px #0000001f;--sh2:0 4px 16px #00000029;--display:var(--font-inter),var(--font-noto),system-ui,sans-serif;--text:var(--font-inter),var(--font-noto),system-ui,sans-serif;--serif:var(--font-myeongjo),var(--font-noto),serif}*{box-sizing:border-box}html{background:var(--canvas);overflow-x:clip}body{font-family:var(--text);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word;margin:0;font-size:16px;line-height:24px;overflow-x:clip}h1,h2,h3,.meta{text-wrap:balance}p,summary,.tick span,.lead{text-wrap:pretty}h1,h2,h3{font-family:var(--display);letter-spacing:0;font-feature-settings:"ss01";margin:0;font-weight:700}.wrap{max-width:1200px;padding:0 var(--s4);margin:0 auto}@media (min-width:768px){.wrap{padding:0 var(--s8)}}a{color:inherit}.nav{background:var(--canvas)}.nav .wrap{justify-content:space-between;align-items:center;height:72px;display:flex}.brand{font:700 20px/28px var(--display);text-decoration:none}.btn{justify-content:center;align-items:center;gap:var(--s2);font:500 16px/20px var(--text);border-radius:var(--r-pill);cursor:pointer;background:var(--primary);color:var(--on-dark);border:0;padding:12px 20px;text-decoration:none;transition:background .12s;display:inline-flex}.btn:hover{background:var(--elev)}.btn:active{background:#000;transform:scale(.99)}.btn:focus-visible,.chip:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.in:focus,.in:focus-visible{outline:none}.btn.secondary{background:var(--canvas);color:var(--ink)}.btn.secondary:hover{background:var(--soft)}.btn.secondary:active{background:var(--pressed)}.btn.subtle{background:var(--soft);color:var(--ink)}.btn.subtle:hover{background:var(--pressed)}.btn.lg{padding:16px 24px;font-size:18px;line-height:24px}.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:wait}.sky{background:linear-gradient(#5aa6e8 0%,#8cc4f1 38%,#c3e1f7 72%,#e9f5fd 100%);position:relative;overflow:hidden}.sky:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(#fff0,#fff);height:96px;position:absolute;bottom:0;left:0;right:0}.sky-art{z-index:0;pointer-events:none;filter:blur(4px);opacity:.92;width:calc(100% + 48px);height:calc(100% + 48px);position:absolute;inset:-24px}.sky>.nav,.sky>.hero{z-index:1;position:relative}.hero-copy{position:relative}.hero-copy:before{content:"";z-index:-1;filter:blur(10px);pointer-events:none;background:radial-gradient(at 40%,#ffffff6b,#fff0 72%);border-radius:32px;position:absolute;inset:-28px -32px}.sky .nav{background:0 0}.sky .btn.subtle{background:#ffffffe0}.sky .btn.subtle:hover{background:#fff}.sky .lead{color:#17283a}.sky .tag{background:#ffffffe0}.drift{animation:46s ease-in-out infinite alternate drift}.d2{animation-duration:62s;animation-direction:alternate-reverse}.d3{animation-duration:78s}@keyframes drift{0%{transform:translate(-36px)}to{transform:translate(48px)}}@media (prefers-reduced-motion:reduce){.drift{animation:none}}.display-xxl#hl{color:#b4531f;text-shadow:0 0 22px #fff4e2e6,0 2px 10px #fff4e2bf;min-height:3.69em}.tc{visibility:hidden}.tc.on{visibility:visible}.caret{vertical-align:-.08em;border-left:.07em solid;width:0;height:.95em;margin-left:.04em;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}@keyframes fadeout{to{opacity:0}}@media (prefers-reduced-motion:reduce){.caret{display:none}}.hero{padding:var(--s8) 0 56px}.hero .wrap{gap:var(--s8);display:grid}@media (min-width:900px){.hero .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:64px}.hero{padding:56px 0 80px}}.display-xxl{font-size:clamp(36px,7vw,52px);line-height:1.23}.lead{font:500 18px/28px var(--text);color:var(--body);margin:var(--s6) 0 0;max-width:30em}.hero-meta{gap:var(--s3);margin-top:var(--s8);flex-wrap:wrap;display:flex}.tag{font:500 14px/16px var(--text);background:var(--soft);padding:var(--s2) var(--s4);border-radius:var(--r-pill)}.form-card{background:var(--canvas);border-radius:var(--r-xl);box-shadow:var(--sh2);padding:var(--s4);justify-self:stretch;width:100%}.form-card h2{margin:var(--s2) var(--s2) var(--s4);font-size:24px;line-height:32px}.seg{gap:var(--s2);margin:0 0 var(--s3);display:flex}.seg label{flex:1;position:relative}.seg input{opacity:0;position:absolute}.seg span{text-align:center;font:500 16px/20px var(--text);padding:var(--s3);border-radius:var(--r-tab);background:var(--soft);cursor:pointer;display:block}.seg input:checked+span{background:var(--primary);color:var(--on-dark)}.seg input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}.row{background:var(--soft);border-radius:var(--r-md);padding:var(--s3) var(--s4);margin:0 0 var(--s3);display:block}.row small{font:400 14px/20px var(--text);color:var(--body);display:block}.row .in{width:100%;font:500 18px/24px var(--text);color:var(--ink);background:0 0;border:0;padding:2px 0}.row .in::placeholder,.row .in:disabled{color:var(--mute)}.row:focus-within{background:#e6e6e6}.cols{gap:var(--s3);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}@media (max-width:420px){.cols{grid-template-columns:1fr}}.tick{gap:var(--s3);font:400 14px/20px var(--text);color:var(--body);margin:var(--s2) var(--s1) 0;cursor:pointer;align-items:flex-start;display:flex}.tick input{appearance:none;border:2px solid var(--ink);background:var(--canvas);cursor:pointer;border-radius:4px;flex:none;place-items:center;width:20px;height:20px;margin:0;display:grid}.tick input:checked{background:var(--primary)}.tick input:checked:after{content:"";border:0 solid #fff;border-width:0 0 2px 2px;width:10px;height:6px;transform:rotate(-45deg)translate(1px,-1px)}.tick input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.tick.mini{margin-top:var(--s2)}.tick.agree{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--pressed)}.err{min-height:20px;margin:var(--s3) var(--s1) 0;font:500 14px/20px var(--text);color:var(--ink)}.err:not(:empty):before{content:"! ";font-weight:700}.quota{font:500 13px/20px var(--text);color:var(--body);text-align:center;margin:var(--s2) 0 0;min-height:20px}.note{font:400 12px/20px var(--text);color:var(--body);margin:var(--s3) var(--s1) var(--s1)}.section{padding:56px 0}h2.display-xl{font-size:clamp(28px,5vw,36px);line-height:1.22}.grid3{gap:var(--s4);margin-top:var(--s8);display:grid}@media (min-width:768px){.grid3{grid-template-columns:repeat(3,1fr)}}.card{background:var(--soft);border-radius:var(--r-xl);padding:var(--s6)}.card h3{margin:0 0 var(--s2);font-size:24px;line-height:32px}.card p{color:var(--body);margin:0}.card .n{background:var(--primary);color:#fff;width:32px;height:32px;font:500 14px/16px var(--text);margin-bottom:var(--s6);border-radius:50%;place-items:center;display:inline-grid}.promo{border-radius:var(--r-xl);background:var(--primary);color:var(--on-dark);gap:0;display:grid;overflow:hidden}@media (min-width:768px){.promo{grid-template-columns:1fr 1fr}}.promo .copy{padding:var(--s8) var(--s6);justify-content:center;align-items:flex-start;gap:var(--s4);flex-direction:column;display:flex}@media (min-width:768px){.promo .copy{padding:48px}}.promo h2{font-size:clamp(28px,4.5vw,36px);line-height:1.22}.promo p{color:#d4d4d4;font:500 18px/28px var(--text);margin:0}.promo img{object-fit:cover;aspect-ratio:4/3;background:var(--soft);width:100%;height:100%;display:block}.faq{margin-top:var(--s6);border-top:1px solid var(--pressed)}.faq details{border-bottom:1px solid var(--pressed)}.faq summary{cursor:pointer;justify-content:space-between;gap:var(--s4);padding:var(--s4) 0;font:500 16px/20px var(--text);list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font:400 24px/20px var(--text)}.faq details[open] summary:after{content:"–"}.faq summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.faq p{margin:0 0 var(--s4);color:var(--body);max-width:44em}footer{background:var(--primary);color:var(--on-dark);padding:var(--s8) 0 48px}footer .wrap{gap:var(--s6);display:grid}@media (min-width:768px){footer .wrap{grid-template-columns:1fr 1fr}}footer h3{font:500 16px/20px var(--text);margin:0 0 var(--s3)}footer p{font:400 14px/20px var(--text);color:#bdbdbd;margin:0}footer b{color:#fff;font-weight:500}#loading{z-index:20;background:var(--canvas);padding:var(--s6);justify-content:center;align-items:center;display:none;position:fixed;inset:0}#loading.on{display:flex}.ld{width:100%;max-width:420px}.ld h2{margin-bottom:var(--s6);font-size:32px;line-height:40px}.bar{background:var(--soft);border-radius:var(--r-pill);height:4px;margin-bottom:var(--s6);overflow:hidden}.bar i{background:var(--primary);border-radius:var(--r-pill);width:8%;height:100%;transition:width 7.5s linear;display:block}.steps{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.steps li{align-items:center;gap:var(--s3);font:500 16px/24px var(--text);color:var(--mute);display:flex}.steps li:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.steps li.on{color:var(--ink)}.steps li.done{color:var(--body)}.steps li.done:before{content:"✓";background:0 0;width:auto;height:auto;font-size:14px}#result{padding:var(--s8) 0 56px;display:none}#result.on{display:block}.result-grid{gap:var(--s6);max-width:560px;margin:0 auto;display:grid}.arrive{border-radius:var(--r-xl);box-shadow:var(--sh1);color:#3b2e26;background-color:#fbf5e6;background-image:repeating-linear-gradient(#0000 0 35px,#cfdced 35px 36px);padding:36px 28px 36px 76px;position:relative;overflow:hidden}.arrive:before{content:"";background:#e8a79d;width:2px;position:absolute;top:0;bottom:0;left:54px}.arrive:after{content:"天";color:#fff3e4;width:46px;height:56px;font:700 24px/1 var(--serif);outline-offset:3px;background:#b4531f;outline:2px dashed #b4531f8c;place-items:center;display:grid;position:absolute;top:18px;right:20px;transform:rotate(3deg)}.arrive>*{z-index:1;position:relative}.arrive .to{font:700 20px/36px var(--serif);color:#3b2e26;margin:0;padding-right:70px}.arrive h2{font:700 30px/36px var(--serif);color:#3b2e26;letter-spacing:0;margin:0}.arrive p.msg{font:400 17px/36px var(--serif);color:#5a4a3f;margin:0}.arrive .btn{align-self:flex-start;margin-top:36px}@media (max-width:480px){.arrive{padding:36px 20px 36px 60px}.arrive:before{left:40px}.arrive:after{width:40px;height:50px;font-size:20px;right:14px}.arrive h2{font-size:26px}}#viewer{display:none}#viewer.on{display:block}.meta{font:700 24px/32px var(--display);margin:0 0 var(--s1)}.sub{font:400 14px/20px var(--text);color:var(--body);margin:0 0 var(--s4)}.photo{border-radius:var(--r-xl);box-shadow:var(--sh1);background:var(--soft);overflow:hidden}.photo img{aspect-ratio:3/4;object-fit:contain;width:100%;height:auto;display:block}.pager{justify-content:center;align-items:center;gap:var(--s2);margin:var(--s4) 0;flex-wrap:wrap;display:flex}.chip{font:500 14px/16px var(--text);min-width:44px;height:44px;padding:0 var(--s4);border-radius:var(--r-pill);background:var(--soft);color:var(--ink);cursor:pointer;border:0;place-items:center;display:inline-grid}.chip:hover{background:var(--pressed)}.chip[aria-current=true]{background:var(--primary);color:#fff}.chip:disabled{opacity:.35;cursor:default}.acts{gap:var(--s3);flex-wrap:wrap;display:flex}.acts .btn{flex:1;min-width:140px}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.seg.sm span{padding:8px var(--s3);font-size:14px;line-height:20px}.cols>.row{min-width:0}.in-wrap{display:block;position:relative}.row .in[type=date],.row .in[type=time]{appearance:none;text-align:left;width:100%;min-width:0;max-width:100%;min-height:28px;margin:0;display:block}.row .in::-webkit-date-and-time-value{text-align:left;margin:0}.ios-ph{pointer-events:none;font:500 18px/24px var(--text);color:var(--mute);display:none;position:absolute;top:50%;left:0;transform:translateY(-50%)}@supports (-webkit-touch-callout:none){.ios-ph{display:block}}.night,#loading.night{color:#fff;background:radial-gradient(at 50% 30%,#ffd9a029,#ffd9a000 55%),linear-gradient(#1b2448 0%,#2c3b6e 55%,#5d6fa6 100%);position:relative;overflow:hidden}.night>.wrap,.night>.ld{z-index:1;position:relative}.stars{pointer-events:none;z-index:0;position:absolute;inset:0}.star{opacity:.6;background:#fff;border-radius:50%;animation:3s ease-in-out infinite twinkle;position:absolute;box-shadow:0 0 6px #fffc}@keyframes twinkle{0%,to{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}}#loading.night{position:fixed}#loading.night .ld{text-align:center}#loading.night h2{color:#fff;margin-bottom:var(--s2)}.float-letter{margin-bottom:var(--s6);filter:drop-shadow(0 0 18px #ffd9a0bf);animation:3.2s ease-in-out infinite floaty;display:inline-block}@keyframes floaty{0%,to{transform:translateY(4px)rotate(-3deg)}50%{transform:translateY(-10px)rotate(2deg)}}.whisper{min-height:24px;margin:0 0 var(--s6);font:400 16px/24px var(--serif);color:#e9ddc3;animation:4.2s ease-in-out both whisper}@keyframes whisper{0%{opacity:0;transform:translateY(4px)}15%,85%{opacity:1;transform:none}to{opacity:0}}#loading.night .bar{background:#ffffff29}#loading.night .bar i{background:#ffe3a8;box-shadow:0 0 10px #ffe3a8cc}#loading.night .steps{justify-items:center}#loading.night .steps li{color:#ffffff61}#loading.night .steps li.on{color:#fff}#loading.night .steps li.done{color:#ffffffb3}#result.night{min-height:calc(100vh - 120px);padding:56px 0 72px}#result.night .meta{color:#fff}#result.night .sub,#result.night .note{color:#cdd6ef}#result.night .photo{box-shadow:0 12px 40px #0a102873,0 0 0 1px #ffffff14}#result.night .chip{color:#fff;background:#ffffff24}#result.night .chip:hover{background:#ffffff3d}#result.night .chip[aria-current=true],#result.night .btn{color:#1b2448;background:#fff}#result.night .btn:hover{background:#f1f1f1}#result.night .btn.subtle{color:#fff;background:#ffffff24}#result.night .btn.subtle:hover{background:#ffffff3d}.page-in{animation:.45s ease-out both pagein}@keyframes pagein{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:none}}.arrive-scene{text-align:center;padding:var(--s4) 0;flex-direction:column;align-items:center;display:flex}.arrive-scene .to{font:700 20px/32px var(--serif);color:#e9ddc3;margin:0}.arrive-scene h2{margin:var(--s1) 0 var(--s2);font:700 32px/40px var(--serif);color:#fff;letter-spacing:0}.arrive-scene .msg{font:400 16px/26px var(--serif);color:#cdd6ef;margin:0}.btn.light{color:#1b2448;margin-top:var(--s8);background:#fff}.btn.light:hover{background:#f1f1f1}.btn.light:disabled{opacity:.7;cursor:default}.env{cursor:pointer;perspective:900px;filter:drop-shadow(0 18px 30px #080c2073)drop-shadow(0 0 40px #ffd9a040);background:0 0;border:0;width:300px;height:190px;margin-top:150px;padding:0;animation:4s ease-in-out infinite floaty;position:relative}.env>span{display:block;position:absolute}.env-back{background:#e9dcbf;border-radius:10px;inset:0}.env-paper{z-index:2;background:#fbf5e6 repeating-linear-gradient(#0000 0 21px,#cfdced 21px 22px);border-radius:6px;height:170px;transition:transform .8s cubic-bezier(.2,.8,.2,1) .55s;top:10px;left:18px;right:18px;box-shadow:inset 3px 0 #fbf5e6,inset 24px 0 0 -21px #e8a79d}.env-front{z-index:3;clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);background:#f6ecd6;border-radius:10px;inset:0}.env-flap{z-index:4;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;background:#f1e4c6;height:62%;transition:transform .6s ease-in-out,z-index 0s linear .3s;top:0;left:0;right:0}.env-seal{z-index:5;color:#fff3e4;width:46px;height:46px;font:700 20px/1 var(--serif);background:#b4531f;border-radius:50%;place-items:center;margin:-30px 0 0 -23px;transition:opacity .3s,transform .3s;top:62%;left:50%;box-shadow:0 2px #8e3f16,0 0 0 4px #b4531f40;display:grid!important}.env.open{animation:none}.env.open .env-seal{opacity:0;transform:scale(.6)}.env.open .env-flap{z-index:1;transform:rotateX(180deg)}.env.open .env-paper{transform:translateY(-110px)}.env:focus-visible{outline-offset:8px;border-radius:12px;outline:2px solid #fff}@media (prefers-reduced-motion:reduce){.star,.float-letter,.env,.whisper,.page-in{animation:none}}.save-note{text-align:center}.sun-glow{z-index:0;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle,#fff8e2 0%,#ffe2a08c 30%,#ffd68c00 68%);border-radius:50%;width:560px;height:560px;animation:9s ease-in-out infinite breathe;position:absolute;top:-160px;right:-120px}@keyframes breathe{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}.motes{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.mote{opacity:0;background:#fff8e6;border-radius:50%;animation:16s linear infinite rise;position:absolute;box-shadow:0 0 6px 2px #ffe2a0e6,0 0 14px 4px #ffd68c73}@keyframes rise{0%{opacity:0;transform:translate(0)scale(.6)}15%{opacity:.9}80%{opacity:.7}to{opacity:0;transform:translate(var(--drift),-420px) scale(1.1)}}.reveal.armed{opacity:0;transform:translateY(24px)}.reveal.armed.in{opacity:1;transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1);transform:none}.ruled{background-image:repeating-linear-gradient(#0000 0 30px,#d9e3f0 30px 31px,#0000 31px 32px)}.step-cards{gap:var(--s8) var(--s5);margin:var(--s8) 0 0;grid-template-columns:minmax(0,1fr);padding:0;list-style:none;display:grid;position:relative}@media (min-width:768px){.step-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.step-cards:before{content:"";z-index:0;border-top:2px dashed #b4531f59;position:absolute;top:104px;left:8%;right:8%}}.step-card{z-index:1;color:#3b2e26;background:#fbf5e6;border-radius:20px;flex-direction:column;min-width:0;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;display:flex;position:relative;box-shadow:0 1px #0000000a,0 14px 30px #3b2e261a}.step-card:first-child{transform:rotate(-.8deg)}.step-card:nth-child(2){transform:rotate(.6deg)translateY(10px)}.step-card:nth-child(3){transform:rotate(-.4deg)}.step-card:hover{transform:translateY(-8px)rotate(0);box-shadow:0 24px 44px #3b2e2629}.tape{z-index:2;opacity:.9;background:repeating-linear-gradient(45deg,#ffffff59 0 6px,#0000 6px 12px),#f4d7a8;width:92px;height:26px;margin-left:-46px;position:absolute;top:-12px;left:50%;transform:rotate(-3deg);box-shadow:0 2px 4px #3b2e261f}.step-card.dusk .tape{background-color:#f2bfc6;transform:rotate(2deg)}.step-card.night .tape{background-color:#c7cdef;transform:rotate(-1.5deg)}.step-art{aspect-ratio:320/170;border-radius:14px;margin:10px 10px 0;overflow:hidden}.step-art svg{width:100%;max-width:100%;height:auto;display:block}.step-card.day .step-art{background:linear-gradient(#6fb3ec 0%,#a9d4f5 60%,#e3f2fd 100%)}.step-card.dusk .step-art{background:linear-gradient(#f7b98f 0%,#f3b3bf 55%,#cdb8e6 100%)}.step-card.night .step-art{background:linear-gradient(#1b2448 0%,#2c3b6e 60%,#46578f 100%)}.step-body{padding:var(--s5) var(--s6) var(--s6) 52px;position:relative}.step-body:before{content:"";opacity:.8;background:#e8a79d;width:2px;position:absolute;top:0;bottom:0;left:34px}.step-kicker{align-items:center;gap:var(--s2);margin:0 0 var(--s2);font:700 13px/20px var(--serif);color:#b4531f;display:flex}.step-kicker span{font:700 11px/16px var(--text);letter-spacing:.08em;background:#fde9d9;border-radius:999px;padding:2px 8px}.step-card h3{font-family:var(--serif);color:#3b2e26;margin:0;font-size:24px;line-height:32px}.step-card .ruled p{color:#5a4a3f;font:400 16px/32px var(--serif);margin:0}.art-hanja{font:700 26px var(--serif);fill:#3b2e26}.art-label{font:700 12px var(--serif);fill:#4b6a8a}.art-stamp{font:700 13px var(--serif);fill:#fff3e4}.step-card .tile{transform-box:fill-box}.step-card:hover .tile{animation:.6s cubic-bezier(.3,1.6,.5,1) both hop}@keyframes hop{0%,to{translate:0}40%{translate:0 -10px}}.art-sun{transform-box:fill-box;transform-origin:50%;animation:6s ease-in-out infinite breathe}.ink{fill:none;stroke:#4a3a30;stroke-width:1.8px;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:0}.step-card:hover .ink{animation:1.8s ease-in-out both write}@keyframes write{0%{stroke-dashoffset:420px}to{stroke-dashoffset:0}}.step-card .pen{transition:translate .6s}.step-card:hover .pen{animation:1.8s ease-in-out both penmove}@keyframes penmove{0%{translate:-70px -26px}50%{translate:-20px -2px}to{translate:0}}.twinkle{transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite twinkle}.step-card:hover .env-art{animation:2.4s ease-in-out infinite envbob}@keyframes envbob{0%,to{translate:0}50%{translate:0 -5px}}.dusk-band{background:linear-gradient(#fff 0%,#fdf1e7 22%,#f3e6f1 62%,#e6e6f6 100%);padding:64px 0 72px;overflow:hidden}.band-lead{margin:var(--s3) 0 0;color:var(--body);font:500 18px/28px var(--text)}.marquee{margin-top:var(--s8);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee-track{gap:var(--s5);width:max-content;padding:var(--s4) 0;margin:0;list-style:none;animation:70s linear infinite marquee;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(calc(-50% - var(--s5) / 2))}}.quote-card{width:300px;padding:var(--s6) var(--s5) var(--s5);border-radius:var(--r-xl);color:#3b2e26;background:#fbf5e6;flex:none;box-shadow:0 10px 24px #3b2e261a}.quote-card:nth-child(odd){transform:rotate(-1.2deg)}.quote-card:nth-child(2n){transform:rotate(1deg)translateY(8px)}.quote-card p{min-height:96px;font:400 18px/32px var(--serif);text-wrap:pretty;margin:0}.quote-card span{text-align:right;font:700 14px/32px var(--serif);color:#b4531f;display:block}footer.night-footer{background:linear-gradient(#26335f 0%,#1b2448 45%,#111833 100%);padding-top:72px;position:relative;overflow:hidden}footer.night-footer>.wrap{z-index:1;position:relative}.moon{filter:drop-shadow(0 0 12px #ffe8a880);border-radius:50%;width:56px;height:56px;position:absolute;top:40px;right:12%;transform:rotate(-20deg);box-shadow:-12px 8px #ffe8a8}.goodnight{z-index:1;text-align:center;font:700 26px/36px var(--serif);color:#fff;margin:0 auto 48px;position:relative}.goodnight span{margin-top:var(--s2);font:400 16px/24px var(--serif);color:#e9ddc3;display:block}@media (prefers-reduced-motion:reduce){.sun-glow,.mote{animation:none}.mote{display:none}.marquee-track{animation:none}.marquee{overflow-x:auto}.step-card,.step-card:hover{transform:none}.tile,.ink,.pen,.art-sun,.twinkle,.env-art{animation:none!important}}.promo{background:linear-gradient(#141b38 0%,#1b2448 100%)}.promo p{color:#cdd6ef}.brand{display:inline-flex}.logo{align-items:center;gap:10px;display:inline-flex}.logo-mark{filter:drop-shadow(0 2px 4px #17283a2e);flex:none;overflow:visible}.logo-halo{transform-box:fill-box;transform-origin:50%;transition:transform .4s cubic-bezier(.3,1.6,.5,1),filter .4s}.brand:hover .logo-halo{filter:drop-shadow(0 0 3px #ffe08a);transform:translateY(-2.5px)}.logo-type{font:800 21px/1 var(--serif);letter-spacing:-.01em;color:#1f2a44;white-space:nowrap}.logo-type em{color:#b4531f;font-style:normal}@media (max-width:420px){.logo-type{font-size:18px}.logo-mark{width:30px;height:30px}}@media (prefers-reduced-motion:reduce){.logo-halo{transition:none}}.music-toggle{z-index:15;color:#fff;font:500 14px/20px var(--text);cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#ffffff24;border:0;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;display:inline-flex;position:fixed;bottom:16px;right:16px;box-shadow:0 0 0 1px #ffffff2e}.music-toggle:hover{background:#ffffff3d}.music-toggle:focus-visible{outline-offset:2px;outline:2px solid #fff}.eq{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.eq i{background:#ffe3a8;border-radius:2px;width:3px;height:4px}.music-toggle.on .eq i{animation:1.2s ease-in-out infinite eq}.music-toggle.on .eq i:nth-child(2){animation-delay:.2s}.music-toggle.on .eq i:nth-child(3){animation-delay:.4s}@keyframes eq{0%,to{height:4px}50%{height:14px}}@media (prefers-reduced-motion:reduce){.music-toggle.on .eq i{height:10px;animation:none}}.share-row{gap:var(--s3);margin:0 0 var(--s3);display:flex}.share-row .btn{flex:1}#result.night .btn.share-btn{color:#3b2e26;background:linear-gradient(#ffe3a8,#f6c97a);font-weight:700;box-shadow:0 6px 20px #ffd68c59}#result.night .btn.share-btn:hover{background:linear-gradient(#ffeabb,#f8d38e)}.share-note{text-align:center;margin-top:0}
