:root{--gold:#F5D98C;--gold2:#D9B66F;--ink:#F4F0E8;--muted:#D9E3E0;--glass:rgba(13,15,26,.7);font-family:Pretendard,system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;color:var(--ink);background:#0d0f18;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{height:100%;margin:0;background:#0d0f18}body{min-width:320px;font-size:17px;line-height:1.65;word-break:keep-all;overflow-wrap:anywhere}#app{min-height:100dvh}h1,h2{line-height:1.2;font-weight:800;letter-spacing:-.01em}h2{font-size:1.02rem;margin:0 0 .5rem;color:var(--gold);letter-spacing:.04em}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.eyebrow{margin:0;color:var(--gold2);letter-spacing:.16em;font-size:.78rem;font-weight:700}.lead{font-size:1.15rem;color:var(--gold);margin:.2rem 0 .8rem;font-weight:600}.source{font-size:.78rem;color:#d9e3e0bf;margin:.4rem 0 0}.hint{font-size:.88rem;color:var(--muted);margin:.5rem 0 0}.verse{margin:.25rem 0;line-height:1.85}.verse b{color:var(--gold2);margin-right:.35em;font-weight:700}.silence{padding:.8rem 1rem;border-left:3px solid #8fc8d0;background:#8fc8d014;border-radius:0 10px 10px 0;margin:.8rem 0;color:var(--muted)}.timer{font-size:1.35rem;color:var(--gold);font-weight:700}#authbar{position:fixed;top:.7rem;right:.9rem;z-index:60;display:flex;gap:.5rem;align-items:center;padding:0;background:none;font-size:.88rem;color:var(--muted)}#authbar .google{display:inline-flex;align-items:center;gap:.5rem;background:#0d0f1ab8;color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:.45rem .95rem;font-weight:600;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);min-height:40px}#authbar .google:hover{background:#ffffff24}#authbar [data-testid=auth-user]{background:#0d0f1ab8;border:1px solid rgba(245,217,140,.3);border-radius:999px;padding:.4rem .85rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#authbar .link{background:none;border:0;color:var(--gold);text-decoration:underline;cursor:pointer;min-height:40px}#authbar .hint{display:none}.intro{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:10}.intro video,.intro .motion-poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.intro:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 45%);pointer-events:none}.intro-overlay{position:absolute;left:0;right:0;bottom:15%;text-align:center;padding:0 1rem;pointer-events:none;z-index:2;animation:introText 6s ease both}.intro-title{font-size:clamp(1.9rem,6vw,3.6rem);margin:.25em 0 .15em;color:#fff;text-shadow:0 2px 28px rgba(0,0,0,.7)}.intro .lead{text-shadow:0 2px 16px rgba(0,0,0,.8)}.intro .eyebrow{color:#fff;opacity:.85}.intro-controls{position:absolute;right:1rem;bottom:1rem;display:flex;gap:.5rem;z-index:3}@keyframes introText{0%{opacity:0;transform:translateY(10px)}18%{opacity:1;transform:none}82%{opacity:1}to{opacity:0}}.stage{position:relative;min-height:100dvh;overflow:hidden;isolation:isolate}.stage-bg{position:fixed;top:-3%;right:-3%;bottom:-3%;left:-3%;background:var(--bg) center/cover no-repeat;z-index:-2;animation:fadeIn .9s ease both}.stage-bg.kenburns{animation:fadeIn .9s ease both,kb 45s ease-in-out infinite alternate}.stage-shade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#080a12d1,#080a1280 32%,#080a120d 62%),linear-gradient(180deg,rgba(8,10,18,.6) 0,transparent 5.5rem),linear-gradient(0deg,rgba(8,10,18,.45),transparent 30%)}@keyframes kb{0%{transform:scale(1)}to{transform:scale(1.08) translate(-1.2%,-.8%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.card{background:var(--glass);backdrop-filter:blur(12px) saturate(1.1);-webkit-backdrop-filter:blur(12px) saturate(1.1);border:1px solid rgba(245,217,140,.2);border-radius:20px;box-shadow:0 20px 60px #0006;padding:clamp(1.2rem,2.6vw,2rem);color:var(--ink);outline:none}.card h1{font-size:clamp(2rem,4.4vw,2.9rem);margin:.15em 0 .2em}.card p{margin:.4rem 0}.card-center,.card-zone{position:absolute;left:clamp(1rem,6vw,5.5rem);width:min(500px,calc(100vw - 2rem))}.card-center{top:50%;transform:translateY(-50%);max-height:calc(100dvh - 6rem);overflow:auto}.card-zone{top:calc(50% + 2rem);transform:translateY(-50%);max-height:calc(100dvh - 7rem);overflow:auto}.card .panel{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:.85rem 1.05rem;margin:.75rem 0}.row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.1rem}button.primary{position:relative;overflow:hidden;background:linear-gradient(180deg,#f7de97,#d9b66f);color:#231a08;border:0;border-radius:999px;padding:.9rem 1.5rem;min-height:52px;font-weight:800;font-size:1.02rem;cursor:pointer;box-shadow:0 8px 24px #d9b66f59}button.primary:disabled{cursor:not-allowed;background:#f5d98c1f;color:#fff0cdd9;box-shadow:inset 0 0 0 1px #f5d98c73}button.primary .amen-label{position:relative}button.primary:disabled .amen-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:#f5d98c47;transform-origin:left;animation:amenFill var(--d) linear forwards}@keyframes amenFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.amen-row{margin-top:1rem}.amen-row .hint{margin-top:.55rem}button.ghost{background:#0d0f1a8c;color:#fff;border:1px solid rgba(255,255,255,.38);border-radius:999px;padding:.7rem 1.2rem;min-height:48px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-weight:600}button.ghost:hover{background:#ffffff24}button.quiet{background:#ffffff0f;border:1px solid rgba(255,255,255,.18);color:var(--muted);border-radius:999px;cursor:pointer;padding:.45rem .9rem;min-height:40px;margin-top:.8rem}.cards{display:grid;gap:.7rem;margin:1rem 0;grid-template-columns:1fr}@media(min-width:720px){.cards{grid-template-columns:1fr 1fr}}.cards button{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;text-align:left;background:#ffffff12;border:1px solid rgba(245,217,140,.32);color:#fff;border-radius:16px;padding:1.05rem 1.15rem;cursor:pointer;min-height:96px;transition:background .2s,transform .2s}.cards button b{font-size:1.12rem}.cards button:hover,.cards button:focus-visible{background:#f5d98c29;transform:translateY(-1px)}.cards button span{color:var(--muted);font-size:.9rem;font-weight:400}.journey-top{position:fixed;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;gap:.9rem;height:4rem;padding:0 15rem 0 clamp(1rem,6vw,5.5rem)}.dots{display:flex;gap:.5rem;list-style:none;margin:0;padding:0}.dots li{width:.8rem;height:.8rem;border-radius:50%;background:#ffffff38;border:1px solid rgba(255,255,255,.55)}.dots li.done{background:var(--gold2);border-color:var(--gold2)}.dots li.now{background:var(--gold);border-color:#fff;box-shadow:0 0 0 4px #f5d98c4d}.step{color:#fff;font-size:.9rem;font-weight:600;text-shadow:0 1px 8px rgba(0,0,0,.6)}.journey-top button.quiet{margin:0 0 0 auto;background:#0d0f1a99;color:#fff;border-color:#ffffff59;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.step{background:#0d0f1a8c;padding:.2rem .7rem;border-radius:999px}.sanctum-host{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0d16}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;z-index:100;padding:1rem}.dialog{background:#1b1e2e;border:1px solid rgba(245,217,140,.35);border-radius:18px;padding:1.5rem;max-width:min(420px,92vw);color:#fff;box-shadow:0 20px 60px #00000080}.dialog h2{font-size:1.25rem;color:#fff;letter-spacing:0}@media(max-width:720px){body{font-size:16px}.stage-shade{background:linear-gradient(0deg,#080a12e6,#080a129e 52%,#080a1226),linear-gradient(180deg,rgba(8,10,18,.6) 0,transparent 6rem)}.card-center,.card-zone{left:.6rem;right:.6rem;width:auto;top:auto;bottom:.6rem;transform:none;max-height:68dvh}.card-zone{max-height:calc(100dvh - 7.6rem);transform:none;top:auto}.journey-top{height:auto;top:3.3rem;padding:.35rem .8rem;flex-wrap:wrap;gap:.45rem}.dots li{width:.62rem;height:.62rem}#authbar{top:.55rem;right:.6rem}.intro-controls{left:1rem;right:1rem;justify-content:space-between}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.stage-bg.kenburns{animation:none}}.room{display:flex;flex-direction:column;gap:.35rem}.room>button{width:100%}.room a{font-size:.84rem;color:var(--gold);text-decoration:underline;padding:.1rem .3rem;min-height:32px;display:inline-flex;align-items:center}.room-group{margin:1.1rem 0 .2rem;font-size:.95rem}.card-center:has(.room){max-height:calc(100dvh - 5rem)}@media(min-width:1100px){.card-center:has(.room){width:min(760px,calc(100vw - 2rem))}}
