:root{--ink:#4d3218;--cream:#fff3b8;--paper:#fffdf7;--accent:#f05a3f;--gold:#ffbd2e;--muted:#715c49}
body{background-color:#fff3b8;background-image:radial-gradient(circle at 8% 12%,#ff805f 0 18px,transparent 19px),radial-gradient(circle at 92% 22%,#65c5d3 0 25px,transparent 26px),radial-gradient(circle at 12% 88%,#f9c936 0 30px,transparent 31px),radial-gradient(#e8b75b 1.5px,transparent 1.5px);background-size:auto,auto,auto,24px 24px}
.brand{display:flex;align-items:center}.brand img{width:104px;height:66px;object-fit:contain;mix-blend-mode:multiply}
.card{border:3px solid var(--ink);border-radius:32px;box-shadow:10px 10px 0 var(--ink);position:relative;overflow:hidden}
.card:before,.card:after{content:"";position:absolute;border-radius:50%;z-index:0}.card:before{width:90px;height:90px;background:#ffd75e;top:-40px;right:-25px}.card:after{width:70px;height:70px;background:#86d5df;bottom:-32px;left:-25px}.card>div{position:relative;z-index:1}
.cup,.result-cup{border:3px solid var(--ink);box-shadow:6px 7px 0 #ffbd2e}.cup{background:#65c5d3}.cup span{filter:none}.result-cup{background:#f05a3f;color:#fff3b8}
h1,h2{font-family:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;font-weight:900}.eyebrow{background:#ffbd2e;color:var(--ink);display:inline-block;padding:6px 12px;border:2px solid var(--ink);border-radius:999px;letter-spacing:.1em;transform:rotate(-2deg)}
.primary{border:3px solid var(--ink);background:#f05a3f;box-shadow:5px 6px 0 var(--ink)}.primary:active{box-shadow:2px 3px 0 var(--ink)}
.mode-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:500px;margin:0 auto}.mode-button{min-height:150px;border:2px solid var(--ink);border-radius:20px;background:#fff;padding:18px 16px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:4px 5px 0 var(--ink);transition:.15s transform,.15s box-shadow}.mode-button:hover,.mode-button:focus-visible{transform:translateY(-2px);box-shadow:6px 7px 0 var(--ink)}.mode-button.expert{background:#dff5f5}.mode-button .mode-label{display:inline-block;background:#ffd75e;border:2px solid var(--ink);border-radius:999px;padding:4px 9px;font-size:.7rem;font-weight:900;letter-spacing:.06em;margin-bottom:12px}.mode-button.expert .mode-label{background:#65c5d3}.mode-button strong{display:block;font-size:1.08rem;line-height:1.45;margin-bottom:7px}.mode-button small{display:block;color:var(--muted);font-size:.78rem;line-height:1.55}
.choice{border:2px solid var(--ink);box-shadow:3px 4px 0 #d7b079}.choice:nth-child(3n+1) b{background:#ffd75e}.choice:nth-child(3n+2) b{background:#91d8df}.choice:nth-child(3n) b{background:#ff9c83}.choice:hover,.choice:focus-visible{background:#fff4cf;border-color:var(--ink);box-shadow:5px 6px 0 var(--ink)}
.progress{height:10px;border:2px solid var(--ink);background:#fff}.progress i{background:#65c5d3}.flavor{background:#ffd75e;border:2px solid var(--ink)}
.profile{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:0 auto 22px}.profile span{border:2px solid var(--ink);border-radius:999px;padding:7px 12px;font-size:.82rem;font-weight:700;background:#fff}.profile span:nth-child(2){background:#dff5f5}.profile span:nth-child(3){background:#fff0b8}
.order-card{border:2px dashed var(--ink);background:#fff2cf}.reset,.back{text-decoration-thickness:2px}footer{font-weight:700;color:var(--ink)}
.expert-result{max-width:500px;margin:0 auto 24px;text-align:left}.expert-result h3{font-size:1rem;text-align:center;margin:0 0 16px}.sensory-bars{display:grid;gap:12px;background:#fff8df;border:2px solid var(--ink);border-radius:18px;padding:16px;margin-bottom:14px}.sensory-row>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-weight:800;font-size:.86rem}.sensory-row small{color:var(--muted);font-size:.73rem}.sensory-row i{display:block;height:10px;border:2px solid var(--ink);border-radius:999px;background:#fff;margin-top:6px;overflow:hidden}.sensory-row b{display:block;height:100%;background:#65c5d3;border-radius:999px}.sensory-row:nth-child(2) b{background:#ffd75e}.sensory-row:nth-child(3) b{background:#f05a3f}.candidate-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.candidate-grid>div{border:2px solid var(--ink);border-radius:14px;padding:13px;background:#fff}.candidate-grid small{display:block;color:var(--muted);font-size:.72rem;margin-bottom:6px}.candidate-grid strong{display:block;font-size:.86rem;line-height:1.55}.reason{font-size:.82rem;line-height:1.7;color:var(--muted);margin:14px 2px 6px}.caveat{font-size:.7rem;line-height:1.6;color:var(--muted);margin:0 2px}
.taste-map{position:relative;height:255px;margin:0 30px 44px;border:2px solid var(--ink);border-radius:16px;background:linear-gradient(90deg,rgba(134,213,223,.2),rgba(255,215,94,.24)),linear-gradient(#fff 49.5%,var(--ink) 49.5%,var(--ink) 50.5%,#fff 50.5%);box-shadow:inset 0 0 0 1px #fff}.taste-map:before{content:"";position:absolute;inset:0 49.5%;background:var(--ink)}.axis-y,.axis-x{position:absolute;font-size:.68rem;font-weight:800;color:var(--muted);white-space:nowrap}.axis-y{left:-28px;writing-mode:vertical-rl}.axis-y.top{top:8px}.axis-y.bottom{bottom:8px}.axis-x{bottom:-28px}.axis-x.left{left:0}.axis-x.right{right:0}.quadrant{position:absolute;width:46%;font-size:.7rem;font-weight:800;line-height:1.35;color:var(--muted);text-align:center}.q1{top:17%;left:2%}.q2{top:17%;right:2%}.q3{bottom:17%;left:2%}.q4{bottom:17%;right:2%}.taste-marker{position:absolute;z-index:2;width:24px;height:24px;border:3px solid var(--ink);border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(255,255,255,.9);transform:translate(-50%,-50%)}.map-caption{margin:-20px 2px 14px;font-size:.8rem;line-height:1.7;text-align:center;color:var(--muted)}
.result-copy,.note{word-break:auto-phrase;line-break:strict;text-wrap:pretty}
.order-card strong{display:block;max-width:23rem;margin-inline:auto;word-break:auto-phrase;line-break:strict;text-wrap:balance}
.mode-button small{word-break:auto-phrase;line-break:strict;text-wrap:pretty}
@media(max-width:520px){.mode-choices{grid-template-columns:1fr}.mode-button{min-height:0}.candidate-grid{grid-template-columns:1fr}}
@media(max-width:420px){.brand img{width:88px;height:56px}.card{border-radius:24px;box-shadow:6px 7px 0 var(--ink)}.mode-button{padding:15px}.expert-result{margin-inline:-2px}}
.shop-results{max-width:500px;margin:28px auto 26px;text-align:left;border-top:3px solid var(--ink);padding-top:24px}.shop-results>.eyebrow{text-align:center}.shop-results h3{text-align:center;font-size:1.2rem;margin:0 0 16px}.product-list{display:grid;gap:12px}.product-card{border:2px solid var(--ink);border-radius:18px;padding:16px;background:#fff;box-shadow:4px 4px 0 #ffd75e}.product-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.product-meta span{background:#dff5f5;border:1.5px solid var(--ink);border-radius:999px;padding:3px 8px;font-size:.68rem;font-weight:800}.product-card h4{font-size:1rem;line-height:1.55;margin:0 0 7px;word-break:auto-phrase}.product-card>p{margin:0 0 14px;color:var(--muted);font-size:.8rem;line-height:1.6}.product-buy{display:flex;justify-content:space-between;align-items:center;gap:12px}.product-buy strong{font-size:1rem}.product-buy strong small{font-size:.7rem;color:var(--muted)}.product-buy a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:2px solid var(--ink);border-radius:999px;background:#f05a3f;color:#fff;padding:0 16px;font-size:.82rem;font-weight:900;text-decoration:none;box-shadow:2px 3px 0 var(--ink)}.shop-note{font-size:.72rem;line-height:1.7;color:var(--muted);margin:14px 2px 0;text-align:center}.product-empty{border:2px dashed var(--ink);border-radius:16px;background:#fff2cf;padding:18px;text-align:center;font-weight:800}.shop-results[hidden]{display:none}@media(max-width:420px){.product-buy{align-items:flex-start;flex-direction:column}.product-buy a{width:100%}}

#purpose{text-align:center}[hidden]{display:none!important}
