:root{--navy: #1b2a4a;--gold: #c9a86a;--base: #f7f3eb;--green: #7a9e7e;--ink: #2b2b2b;--paper: #fffdf8;--radius: 14px;font-family:Shippori Mincho,Hiragino Mincho ProN,Yu Mincho,serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--base);color:var(--ink);font-size:18px;line-height:1.9;-webkit-text-size-adjust:100%}#app{max-width:560px;margin:0 auto;min-height:100dvh}.screen{padding:28px 22px 48px}.screen.center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:80dvh;gap:16px}h1,h2{color:var(--navy);font-weight:600;letter-spacing:.04em}h1{font-size:26px;line-height:1.6}h2.q{font-size:21px;line-height:1.7;margin:18px 0 28px;text-align:center}p{margin:0 0 1.2em}button{font-family:inherit;font-size:18px;cursor:pointer}.options{display:flex;flex-direction:column;gap:16px}.opt,.cta,.sub{display:block;width:100%;min-height:60px;padding:16px 18px;border-radius:var(--radius);text-align:left;line-height:1.6;transition:transform .08s ease,background .15s ease}.opt{background:var(--paper);border:1.5px solid var(--gold);color:var(--navy)}.opt:active{transform:translateY(2px);background:#f1e7d2}.cta{background:var(--navy);color:#fff;border:1.5px solid var(--gold);text-align:center;font-size:19px;margin-top:8px}.cta:active{transform:translateY(2px)}.sub{background:transparent;border:1.5px solid var(--green);color:var(--green);text-align:center}.back{display:block;margin:28px auto 0;background:none;border:none;color:var(--navy);text-decoration:underline;font-size:16px}.progress{font-size:15px;color:var(--navy)}.progress .bar{height:6px;background:#e6dcc4;border-radius:3px;margin-top:8px;overflow:hidden}.progress .bar>div{height:100%;background:var(--gold);transition:width .3s ease}.attr-name{font-size:30px;color:var(--navy);text-align:center;margin:8px 0 24px}.section{margin-bottom:22px}.charm{border:1.5px solid var(--gold);border-radius:var(--radius);background:var(--paper);padding:20px;text-align:center;color:var(--navy);font-size:20px}.plan{border:1.5px solid var(--gold);border-radius:var(--radius);background:var(--paper);padding:20px;margin-bottom:20px}.plan.featured{border-width:2.5px;box-shadow:0 4px 18px #1b2a4a1f}.plan .badge{display:inline-block;background:var(--gold);color:#fff;font-size:14px;padding:3px 12px;border-radius:999px;margin-bottom:8px}.plan .price{font-size:24px;color:var(--navy)}.plan ul{padding-left:1.2em;margin:12px 0 16px}.note{font-size:15px;color:#6b6357;line-height:1.8}.note a{color:var(--navy)}.star{font-size:56px;color:var(--gold);animation:twinkle 1.6s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.loading{color:var(--navy)}
