.wrap{text-align:center;flex-direction:column;justify-content:center;max-width:640px;min-height:100dvh;margin:0 auto;padding:0 28px;display:flex}.eyebrow{font-family:var(--font-serif-jp);letter-spacing:.24em;color:var(--gold);margin-bottom:22px;font-size:14px}.btn-primary{background:var(--ink);color:var(--cream);font-family:var(--font-serif-jp);letter-spacing:.04em;text-align:center;border:none;border-radius:16px;padding:20px 40px;font-size:19px;font-weight:600;display:inline-block}.btn-primary:hover{opacity:.92}.intro-title{font-family:var(--font-serif-jp);color:var(--ink);font-size:40px;font-weight:700;line-height:1.5}.intro .lead{color:var(--sub);margin:30px 0 44px;font-size:16px;line-height:2}.intro-note{color:#a2937c;margin-top:22px;font-size:13px}.stage{justify-content:flex-start;padding-top:72px;padding-bottom:48px}.progress{justify-content:center;gap:6px;margin-bottom:34px;display:flex}.progress .dot{background:var(--line);border-radius:50%;width:7px;height:7px}.progress .dot.on{background:var(--gold)}.count{font-family:var(--font-serif-jp);color:var(--gold);letter-spacing:.2em;margin-bottom:20px;font-size:15px}.question{font-family:var(--font-serif-jp);color:var(--ink);min-height:2.4em;margin-bottom:40px;font-size:24px;font-weight:500;line-height:1.7}.opts{flex-direction:column;gap:12px;display:flex}.opt{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:14px;padding:18px;font-size:16px;transition:background .12s,border-color .12s}.opt:hover{background:var(--paper);border-color:var(--gold)}.back{color:var(--sub);background:0 0;border:none;align-self:center;margin-top:30px;font-size:14px}.result{max-width:680px;margin:0 auto;padding-bottom:60px}.friend-banner{background:var(--ink);color:var(--cream);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;padding:14px 20px;font-size:14px;display:flex}.friend-banner button{background:var(--gold);color:#2a2013;border:none;border-radius:20px;padding:9px 18px;font-size:14px;font-weight:600}.hero{background:#14233f;width:100%;overflow:hidden}.hero img{width:100%;display:block}.reveal{text-align:center;padding:44px 28px 8px}.badge{letter-spacing:.1em;color:var(--sub);border:1px solid var(--line);background:#fff;border-radius:40px;padding:9px 22px;font-size:14px;font-weight:500;display:inline-block}.badge.rare{color:#4a3a22;background:var(--gold);border-color:var(--gold)}.code{font-family:var(--font-serif-jp);letter-spacing:.4em;color:var(--gold);margin:26px 0 8px;padding-left:.4em;font-size:17px}.tname{font-family:var(--font-serif-jp);color:var(--ink);font-size:60px;font-weight:700;line-height:1}.tcatch{font-family:var(--font-serif-jp);color:var(--sub);margin-top:18px;font-size:20px}.taste-tags{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px;display:flex}.taste-tags span{font-family:var(--font-serif-jp);color:var(--sub);border:1px solid var(--line);background:#fff;border-radius:20px;padding:5px 14px;font-size:13px}.tdesc{color:#5c4e3d;text-align:left;margin:30px 4px 0;font-size:16px;line-height:2}.kuse{color:var(--sub);text-align:left;margin:22px 4px 0;font-size:14px;line-height:1.8}.kuse-label{font-family:var(--font-serif-jp);letter-spacing:.18em;color:var(--gold);border:1px solid var(--gold);vertical-align:1px;border-radius:20px;margin-right:10px;padding:2px 10px 2px 12px;font-size:11px;display:inline-block}.aisho{color:var(--sub);margin-top:26px;font-size:15px}.rarity-note{color:#a99;margin-top:14px;font-size:11px}.rule{background:var(--line);height:1px;margin:44px 28px}.sec{padding:0 28px}.eyebrow2{font-family:var(--font-serif-jp);color:var(--ink);margin-bottom:22px;font-size:22px}.bean{border:1px solid var(--line);background:#fff;border-radius:20px;align-items:center;gap:20px;padding:22px;display:flex}.bean .thumb{width:78px;height:78px;color:var(--gold);letter-spacing:.08em;text-align:center;background:#241e1a;border-radius:14px;flex:none;justify-content:center;align-items:center;padding:6px;font-size:12px;display:flex;overflow:hidden}.bean .thumb img{object-fit:cover;width:calc(100% + 12px);height:calc(100% + 12px);margin:-6px;display:block}.bean-info{text-align:left}.bean .bn{color:var(--ink);font-size:15px;font-weight:500;line-height:1.45}.bean .bs{color:var(--sub);margin-top:8px;font-size:13px}.bean .bp{color:var(--ink);margin-top:12px;font-size:18px;font-weight:500}.subst{color:#b08a4a;margin-top:10px;font-size:12px;line-height:1.6}.bean.soldout{text-align:center;justify-content:center}.bean.soldout .bean-info{text-align:center}.cta{width:100%;margin-top:22px;display:block}.cards{flex-direction:column;gap:16px;margin-top:26px;display:flex}.card{background:var(--paper);border-radius:20px;padding:28px}.card h3{font-family:var(--font-serif-jp);color:var(--ink);font-size:22px}.card p{color:#6f5f4b;margin:12px 0 20px;font-size:14px;line-height:1.8}.ghost{color:var(--ink);background:0 0;border:1px solid #c7ab74;border-radius:14px;padding:14px 26px;font-family:inherit;font-size:15px;display:inline-block}.share{text-align:center;padding:54px 28px 20px}.share-lb{color:#5c4e3d;font-size:16px;font-family:var(--font-serif-jp);margin-bottom:22px}.story-btn{background:var(--ink);color:var(--cream);font-family:var(--font-serif-jp);letter-spacing:.04em;border:none;border-radius:16px;padding:18px 40px;font-size:18px;font-weight:600;display:inline-block}.story-btn:hover{opacity:.92}.story-hint{color:#a2937c;margin:12px 0 26px;font-size:12px}.share-btns{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.share-btns button,.share-btns a{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:40px;padding:12px 22px;font-size:14px}.share-btns button:first-child{background:var(--ink);color:var(--cream);border-color:var(--ink)}.signup{border:1px solid var(--line);text-align:center;background:#fff;border-radius:20px;margin:20px 28px 0;padding:30px}.signup h3{font-family:var(--font-serif-jp);color:var(--ink);font-size:20px}.signup p{color:var(--sub);margin:12px 0 20px;font-size:13px}.signup-form{gap:8px;max-width:400px;margin:0 auto;display:flex}.signup-form input{border:1px solid var(--line);border-radius:12px;flex:1;min-width:0;padding:14px;font-family:inherit;font-size:15px}.signup-form button{background:var(--ink);color:var(--cream);white-space:nowrap;border:none;border-radius:12px;flex:none;padding:14px 20px;font-size:15px}.signup-done{font-weight:500;color:var(--gold)!important}.signup-error{margin-top:12px;font-size:13px;color:#b0563f!important}.foot{text-align:center;padding:44px 0 20px}.restart{color:var(--sub);background:0 0;border:none;font-size:15px}.foot .wm{letter-spacing:.28em;color:#b6a488;margin-top:20px;font-size:13px}
