:root{--ink-900:#0b0708;--ink-800:#120b0d;--ink-700:#17100f;--ink-600:#1e1513;--ink-500:#271a17;--wine-deep:#3a121c;--oxblood:#5a1626;--wine-glow:#7e1f34;--amber:#d9a566;--amber-soft:#e8c79a;--rosegold:#d98a7e;--ember:#c65f4a;--fg:#efe4dc;--fg-soft:#d8c7bd;--fg-dim:#9a8478;--fg-faint:#6b5850;--want:#d98a7e;--want-glow:#e6a89b;--pass:#7d6f68;--hold:#c9a06a;--line:#d9a56624;--line-soft:#efe4dc0f;--line-warm:#d98a7e47;--font-serif-stack:var(--font-serif), "Nanum Myeongjo", "AppleMyungjo", "Apple SD Gothic Neo", serif;--font-sans-stack:var(--font-sans), "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", -apple-system, BlinkMacSystemFont, sans-serif;--r-sm:10px;--r-md:16px;--r-lg:26px;--r-pill:999px;--ease-lux:cubic-bezier(.22, 1, .36, 1);--ease-lux-inout:cubic-bezier(.65, 0, .35, 1);--ease-drift:cubic-bezier(.16, 1, .3, 1);--shadow-card:0 2px 4px #0006, 0 12px 28px #00000080, 0 32px 70px #1e060c8c;--shadow-lift:0 4px 10px #00000080, 0 20px 50px #0009, 0 44px 90px #28081099;--shadow-stage:0 2px 8px #0000008c, 0 24px 60px #000000a8, 0 48px 110px #23070e8c;--rim-warm:inset 0 1px 0 #f0d2c629, inset 1px 0 0 #d98a7e14, inset -1px 0 0 #d98a7e14;--glow-amber:0 0 40px #d9a56638;--glow-warm:0 0 34px #d98a7e47}*{box-sizing:border-box}html,body{background:var(--ink-800);height:100%;color:var(--fg);font-family:var(--font-sans-stack);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overscroll-behavior:none;margin:0;padding:0}body{overflow:hidden}button{cursor:pointer;font-family:inherit}.serif{font-family:var(--font-serif-stack);letter-spacing:.005em;word-break:keep-all;font-weight:400}.serif-display{font-family:var(--font-serif-stack);font-feature-settings:"kern" 1;word-break:keep-all}.warm-fog{pointer-events:none;opacity:.9;filter:blur(72px);will-change:transform, opacity;background:radial-gradient(40% 30% at 26% 22%,#7a3a344d,#0000 70%),radial-gradient(62% 52% at 78% 62%,#60283a42,#0000 72%),radial-gradient(34% 28% at 50% 92%,#965c382e,#0000 72%);animation:34s ease-in-out infinite alternate fog-drift;position:absolute;inset:-20%}@keyframes fog-drift{0%{opacity:.68;transform:translate(-2%,1%)scale(1.04)}50%{opacity:.95;transform:translate(3%,-2.5%)scale(1.12)}to{opacity:.76;transform:translate(-1%,2%)scale(1.06)}}.grain:after{content:"";pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-size:180px 180px;animation:7s steps(6,end) infinite grain-drift;position:absolute;inset:-50%}@keyframes grain-drift{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,3%)}80%{transform:translate(3%,-2%)}to{transform:translate(0)}}@keyframes caption-seep{0%{opacity:0;filter:blur(9px);letter-spacing:.12em;transform:translateY(14px)}60%{opacity:1;filter:blur(.5px)}to{opacity:1;filter:blur();letter-spacing:-.02em;transform:translateY(0)}}@keyframes caption-seep-out{0%{opacity:1;filter:blur();transform:translateY(0)}to{opacity:0;filter:blur(7px);transform:translateY(-12px)}}@keyframes text-seep{0%{opacity:0;filter:blur(8px);transform:translateY(10px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes breathe-glow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.85;transform:scale(1.06)}}@keyframes silhouette-breathe{0%,to{opacity:.94;transform:scale(1)}50%{opacity:1;transform:scale(1.014)}}@keyframes gate-rise{0%{opacity:0;filter:blur(6px);transform:translateY(22px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes bar-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes tease-cursor-blink{0%,49%{opacity:.9}50%,to{opacity:0}}@keyframes card-nudge{0%,to{transform:translate(0)rotate(0)}16%{transform:translate(-6px)rotate(-.7deg)}38%{transform:translate(6px)rotate(.7deg)}58%{transform:translate(-4px)rotate(-.5deg)}78%{transform:translate(3px)rotate(.3deg)}}@keyframes whisper-glow{0%,to{opacity:.32;transform:translate(-50%)scaleX(.86)}50%{opacity:.7;transform:translate(-50%)scaleX(1.04)}}@keyframes card-flip-reveal{0%{transform:rotateY(180deg)}18%{transform:rotateY(178deg)}to{transform:rotateY(0)}}@keyframes flip-sheen{0%,30%{opacity:0;transform:translate(-140%)skew(-16deg)}50%{opacity:.9}62%{transform:translate(150%)skew(-16deg)}70%,to{opacity:0;transform:translate(150%)skew(-16deg)}}@keyframes tease-shake{0%{transform:translate(0)}20%{transform:translate(calc(var(--shake) * -1px), calc(var(--shake) * .5px))}40%{transform:translate(calc(var(--shake) * 1px), calc(var(--shake) * -.5px))}60%{transform:translate(calc(var(--shake) * -.7px), calc(var(--shake) * .7px))}80%{transform:translate(calc(var(--shake) * .5px), calc(var(--shake) * -.3px))}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.grain:after{animation:none}.warm-fog{opacity:.5;animation:none}*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes couple-red-wash{0%{opacity:0}14%{opacity:1}to{opacity:0}}@keyframes couple-blackout{0%{opacity:0}30%{opacity:1}70%{opacity:1}to{opacity:0}}@keyframes couple-stagger-in{0%{opacity:0;filter:blur(7px);transform:translateY(9px)}to{opacity:1;filter:blur();transform:none}}@media (prefers-reduced-motion:reduce){[data-couple-fx]{animation:none!important}}.gate-focus:focus{outline:none}.gate-focus:focus-visible{outline:none;box-shadow:0 0 0 2px #d98a7ed9,0 0 22px #d98a7e4d}.gate-check{appearance:none;cursor:pointer;background:0 0;border:1px solid #d8c7bd61;border-radius:5px;flex:none;width:19px;height:19px;margin:1px 0 0;transition:border-color .2s,background .2s;position:relative}.gate-check:checked{border-color:var(--rosegold);background:#d98a7e29}.gate-check:checked:after{content:"";border:solid var(--rosegold);border-width:0 1.6px 1.6px 0;width:4px;height:9px;position:absolute;top:2px;left:6px;transform:rotate(43deg)}
