:root{--paper:#f6edd8;--paper-deep:#efe3c3;--card:#fbf4e3;--ink:#211b10;--ink-raise:#3a3220;--ink-soft:#5d5340;--ink-faint:#97896b;--gold:#a67c1e;--gold-deep:#7e5e13;--gold-soft:#c9ad64;--rose:#e4998c;--rose-deep:#b96a5e;--line:#e2d4ae;--line-strong:#ccb87e;--radius:14px;--radius-lg:20px;--radius-xl:28px;--maxw:660px;--shadow-sm:0 1px 2px #3c2c0c14;--shadow-md:0 10px 30px #3c2c0c1f;--shadow-lg:0 18px 48px #3c2c0c29;--ornament:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='168' height='12' viewBox='0 0 168 12'%3E%3Cpath d='M8 6h54M106 6h54' stroke='%23a67c1e' stroke-width='1' stroke-linecap='round'/%3E%3Ccircle cx='69' cy='6' r='1.4' fill='%23a67c1e'/%3E%3Ccircle cx='99' cy='6' r='1.4' fill='%23a67c1e'/%3E%3Cpath d='M84 0l2 4 4 2-4 2-2 4-2-4-4-2 4-2z' fill='%23a67c1e'/%3E%3C/svg%3E");--font-serif:var(--font-mincho), "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-sans:var(--font-gothic), "Zen Kaku Gothic New", "Hiragino Sans", "Noto Sans JP", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.9}::selection{background:#a67c1e3d}a{color:inherit}img{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px;border-radius:6px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell{flex-direction:column;min-height:100dvh;display:flex}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.siteHeader{border-bottom:1px solid var(--line);margin-bottom:8px;padding:22px 0 14px}.siteHeader .container{justify-content:space-between;align-items:center;display:flex}.brand{flex:0 auto;min-width:0;line-height:0;text-decoration:none;display:block}.brandLogo{width:clamp(150px,42vw,210px);height:auto}.headerLink{letter-spacing:.06em;white-space:nowrap;color:var(--ink-soft);flex:none;margin-left:16px;font-size:12px;text-decoration:none}.headerLink:hover{color:var(--gold-deep)}.main{flex:1}.siteFooter{border-top:1px solid var(--line);color:var(--ink-faint);margin-top:80px;padding:28px 0 48px;font-size:12px}.siteFooter .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;display:flex}.siteFooter a{color:var(--ink-soft);text-decoration:none}.siteFooter a:hover{text-decoration:underline}.btn{background:var(--ink);width:100%;min-height:62px;color:var(--paper);letter-spacing:.08em;cursor:pointer;box-shadow:0 0 0 4px var(--paper), 0 0 0 5px var(--gold-soft), var(--shadow-md);border:0;border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:16px 32px;font-size:16px;font-weight:700;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;display:inline-flex;position:relative}.btn:hover{background:var(--ink-raise);box-shadow:0 0 0 4px var(--paper), 0 0 0 5px var(--gold), var(--shadow-lg);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn .arrow{background:currentColor;flex:none;width:26px;height:1px;transition:width .2s;display:inline-block;position:relative}.btn .arrow:after{content:"";border-top:1px solid;border-right:1px solid;width:7px;height:7px;position:absolute;top:-3px;right:0;transform:rotate(45deg)}.btn:hover .arrow{width:34px}.btnGhost{color:var(--ink);border:1px solid var(--line-strong);box-shadow:none;background:0 0}.btnGhost:hover{background:var(--card);color:var(--gold-deep);border-color:var(--gold-deep);box-shadow:var(--shadow-sm)}.textLink{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:8px 0;font-size:14px;text-decoration:none;display:inline-flex}.textLink:hover{color:var(--gold-deep)}.sectionTitle{font-family:var(--font-serif);letter-spacing:.16em;text-indent:.16em;text-align:center;color:var(--ink);margin:0 0 30px;font-size:clamp(20px,5.2vw,25px);font-weight:600}.sectionTitle:after{content:"";background:var(--ornament) center / contain no-repeat;width:168px;height:12px;margin:14px auto 0;display:block}.section{margin-top:84px}.hero{text-align:center;padding:56px 0 0}.heroTitle{font-family:var(--font-serif);letter-spacing:.1em;color:var(--ink);margin:0 0 24px;font-size:clamp(27px,7.2vw,38px);font-weight:600;line-height:1.62}.heroTitle .accent{color:var(--gold-deep)}.heroLead{color:var(--ink-soft);text-align:left;max-width:27em;margin:0 auto 40px;font-size:15px;line-height:2.15}.heroCta{max-width:390px;margin:0 auto}.heroMeta{color:var(--ink-faint);letter-spacing:.08em;margin-top:20px;font-size:12px}.steps{margin:0;padding:0 4px;list-style:none}.step{align-items:flex-start;gap:22px;padding:0 0 34px;display:flex;position:relative}.step:last-child{padding-bottom:0}.step:before{content:"";background:var(--gold-soft);width:1px;position:absolute;top:46px;bottom:8px;left:18px}.step:last-child:before{content:none}.stepNum{z-index:1;background:var(--ink);width:37px;height:37px;color:var(--paper);font-family:var(--font-serif);letter-spacing:.06em;box-shadow:0 0 0 3px var(--paper), 0 0 0 4px var(--gold-soft);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:2px;font-size:13px;font-weight:600;display:flex;position:relative}.stepNum:before{content:"0"}.step p{color:var(--ink-soft);margin:0;padding-top:3px;font-size:14px;line-height:1.9}.step strong{font-family:var(--font-serif);letter-spacing:.06em;color:var(--ink);margin-bottom:4px;font-size:16px;font-weight:600;display:block}.herbGrid{counter-reset:deck;grid-template-columns:repeat(3,1fr);gap:14px 12px;margin:0;padding:0;list-style:none;display:grid}@media (max-width:460px){.herbGrid{grid-template-columns:repeat(2,1fr)}}.herbChip{counter-increment:deck;background:var(--card);border:1px solid var(--line-strong);text-align:center;font-family:var(--font-serif);letter-spacing:.04em;color:var(--ink);box-shadow:var(--shadow-sm);border-radius:10px;padding:12px 12px 14px;font-size:13px;line-height:1.6;position:relative}.herbChip:after{content:"";pointer-events:none;border:1px solid #a67c1e52;border-radius:7px;position:absolute;inset:4px}.herbChip:before{content:counter(deck, decimal-leading-zero);letter-spacing:.32em;text-indent:.32em;color:var(--gold-deep);margin-bottom:8px;font-size:10px;display:block}.herbChip .cardImage{border-radius:3px;width:100%;margin:0 auto 10px;display:block}.herbChip em{font-family:var(--font-sans);letter-spacing:.08em;color:var(--ink-faint);margin-top:2px;font-size:10px;font-style:normal;display:block}.profileTitle{font-family:var(--font-serif);letter-spacing:.06em;color:var(--ink);margin:0 0 44px;font-size:clamp(21px,5.4vw,27px);font-weight:600;line-height:1.6}.chipGroup{border:0;margin:0 0 36px;padding:0}.chipLegend{letter-spacing:.12em;width:100%;color:var(--ink);align-items:center;gap:14px;margin-bottom:14px;padding:0;font-size:13px;font-weight:700;display:flex}.chipLegend:after{content:"";background:var(--line);flex:1;height:1px}.chips{gap:10px;display:grid}.chips[data-columns="2"]{grid-template-columns:repeat(2,1fr)}.chips[data-columns="3"]{grid-template-columns:repeat(3,1fr)}.chip{background:var(--card);border:1px solid var(--line-strong);letter-spacing:.02em;text-align:center;min-height:56px;color:var(--ink-soft);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:12px;justify-content:center;align-items:center;padding:12px 8px;font-size:14px;font-weight:700;line-height:1.4;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:flex}.chip:hover{color:var(--ink);border-color:var(--gold)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper);box-shadow:inset 0 0 0 1px var(--gold-soft)}.profileFoot{justify-items:center;gap:6px;margin-top:44px;display:grid}.profileFoot .btn:disabled{background:var(--line);color:var(--card);box-shadow:none;cursor:not-allowed;transform:none}.profileHint{color:var(--ink-faint);margin:0;font-size:12px}@media (max-width:380px){.chip{letter-spacing:0;font-size:13px}}.quiz{padding-bottom:40px}.progress{margin-bottom:40px}.progressMeta{letter-spacing:.1em;color:var(--ink-faint);justify-content:space-between;align-items:baseline;margin-bottom:10px;font-size:12px;display:flex}.progressMeta b{font-family:var(--font-serif);color:var(--ink);font-size:18px;font-weight:600}.progressTrack{background:var(--line);border-radius:999px;height:3px;overflow:hidden}.progressBar{background:var(--gold);border-radius:999px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.questionText{font-family:var(--font-serif);letter-spacing:.06em;text-indent:-1.5em;color:var(--ink);margin:0 0 44px;padding-left:1.5em;font-size:clamp(20px,5vw,25px);font-weight:600;line-height:1.72}.questionIndex{color:var(--gold-deep);font-family:var(--font-sans);margin-right:.45em;font-weight:700}.options{grid-template-columns:1fr 1fr;gap:16px;display:grid}.option{background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius-lg);letter-spacing:.02em;min-height:158px;color:var(--ink-soft);text-align:center;cursor:pointer;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;padding:24px 16px;font-size:15px;font-weight:700;line-height:1.75;transition:background .15s,color .15s,border-color .15s,transform .15s,box-shadow .15s;display:flex}.option:hover{color:var(--ink);border-color:var(--gold);box-shadow:var(--shadow-md);transform:translateY(-2px)}.option[data-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--paper);box-shadow:inset 0 0 0 1px var(--gold-soft)}@media (max-width:420px){.options{gap:12px}.option{letter-spacing:0;min-height:128px;padding:20px 12px;font-size:14px}}.quizFoot{justify-content:space-between;align-items:center;gap:16px;margin-top:32px;display:flex}.fadeIn{animation:.35s both fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.result{padding-bottom:24px}.resultHead{text-align:center;color:var(--ink);padding:16px 0 0}.resultArt{max-width:340px;margin:0 auto 30px;line-height:0}.cardImage{border-radius:6px;width:100%;height:auto}.resultArt .cardImage{border-radius:10px;box-shadow:0 22px 54px #3c2c0c38,0 4px 14px #3c2c0c1f}.resultStar{letter-spacing:.26em;text-indent:.26em;border:1px solid var(--gold-soft);color:var(--gold-deep);background:0 0;border-radius:999px;margin:0 0 14px;padding:6px 20px;font-size:12px;display:inline-block}.resultName{font-family:var(--font-serif);letter-spacing:.1em;margin:0;font-size:clamp(30px,8vw,40px);font-weight:600;line-height:1.4}.resultQuote{font-family:var(--font-serif);letter-spacing:.08em;text-align:center;color:var(--ink);margin:48px 0 0;font-size:clamp(18px,4.8vw,22px);font-weight:600;line-height:2}.resultQuote:before{content:"";background:var(--ornament) center / contain no-repeat;width:168px;height:12px;margin:0 auto 30px;display:block}.resultBody{text-align:center;color:var(--ink-soft);margin:22px 0 0;font-size:15px;line-height:2.2}.resultBody span{display:block}.factCard{box-shadow:none;text-align:center;background:0 0;border-radius:0;margin-top:52px;padding:0}.factCard+.factCard{margin-top:40px}.factLabel{font-family:var(--font-serif);letter-spacing:.22em;white-space:nowrap;color:var(--gold-deep);justify-content:center;align-items:center;gap:14px;margin:0 0 16px;font-size:13px;display:flex}.factLabel:before,.factLabel:after{content:"";background:var(--gold-soft);flex:0 34px;min-width:12px;height:1px}.factLabel:after{margin-left:-.22em}.factCard p:last-child{max-width:32em;color:var(--ink-soft);margin:0 auto;font-size:14px;line-height:2.05}.flowerWords{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.flowerWords li{border:1px solid var(--line-strong);color:var(--ink);background:0 0;border-radius:999px;padding:5px 16px;font-size:13px}.drinkCard{background:var(--card);text-align:center;box-shadow:var(--shadow-md);border:1px solid #352c19;border-radius:300px 300px 16px 16px;margin-top:60px;padding:52px 28px 36px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block;position:relative}.drinkCard:before{content:"";pointer-events:none;border:1px solid #a67c1e73;border-radius:294px 294px 10px 10px;position:absolute;inset:7px}.drinkCard:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.drinkArt{border-radius:110px 110px 10px 10px;max-width:200px;margin:0 auto 22px;overflow:hidden}.drinkArt img{width:100%;height:auto}.drinkName{font-family:var(--font-serif);letter-spacing:.06em;color:var(--ink);margin:0 0 8px;font-size:20px;font-weight:600;line-height:1.5}.drinkTagline{color:var(--ink-soft);max-width:24em;margin:0 auto 14px;font-size:13px;line-height:1.85}.drinkNote{color:var(--ink-faint);margin:0 0 14px;font-size:12px}.drinkChart{border-radius:10px;width:100%;max-width:260px;height:auto;margin:0 auto 18px}.drinkPrices{flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.drinkPrices li{letter-spacing:.02em;color:var(--ink-soft);border:1px solid var(--line-strong);background:0 0;border-radius:999px;padding:5px 14px;font-size:12px}.drinkCta{letter-spacing:.08em;color:var(--gold-deep);align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.consult{background:var(--ink);color:#f4ead0;text-align:center;border-radius:16px;margin-top:64px;padding:46px 30px 40px;position:relative}.consult:before{content:"";pointer-events:none;border:1px solid #c9ad6480;border-radius:10px;position:absolute;inset:8px}.consult .factLabel{color:var(--gold-soft)}.consult .factLabel:before,.consult .factLabel:after{background:#c9ad648c}.consultTitle{font-family:var(--font-serif);letter-spacing:.08em;margin:0 0 18px;font-size:clamp(20px,5.4vw,25px);font-weight:600;line-height:1.7}.consultLead{color:#f4ead0cc;text-align:left;margin:0 0 30px;font-size:14px;line-height:2.1}.consult .btn{background:var(--paper);color:var(--ink);box-shadow:none}.consult .btn:hover{background:var(--paper-deep);box-shadow:none}.consultNote{color:#f4ead08c;margin:16px 0 0;font-size:11px}.share{text-align:center;margin-top:60px}.share .factLabel{margin-bottom:4px}.shareButtons{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.shareBtn{border:1px solid var(--line-strong);background:var(--card);letter-spacing:.04em;min-height:48px;color:var(--ink-soft);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 20px;font-size:13px;font-weight:700;text-decoration:none;transition:border-color .15s,transform .15s,color .15s;display:inline-flex}.shareBtn:hover{border-color:var(--gold-deep);color:var(--ink);transform:translateY(-2px)}.shareBtn svg{flex:none;width:18px;height:18px}.shareBtn[data-net=x] svg{fill:#000}.shareBtn[data-net=line] svg{fill:#06c755}.shareBtn[data-net=facebook] svg{fill:#1877f2}.copied{color:var(--gold-deep);min-height:1.2em;margin-top:12px;font-size:12px}.resultFoot{gap:12px;margin-top:52px;display:grid}
