.lgc { --ink:#22201d; --muted:#71695f; --line:#d9d1c3; --paper:#fffefa; max-width:760px; margin:32px auto; color:var(--ink); font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif; line-height:1.75; font-size:16px; }
.lgc * { box-sizing:border-box; }
.lgc [hidden] { display:none!important; }
.lgc .lgc-eyebrow { color:var(--muted); font-size:12px; letter-spacing:.16em; font-weight:700; }
.lgc h2 { margin:10px 0 16px; font-size:clamp(17px,4.4vw,32px); white-space:nowrap; line-height:1.5; background:none; border:0; padding:0; color:var(--ink); }
.lgc h3 { background:none; border:0; padding:0; color:var(--ink); font-size:23px; margin:8px 0 20px; }
.lgc p { margin:12px 0; }
.lgc .lgc-card { background:var(--paper); border:1px solid var(--line); border-radius:4px; padding:clamp(20px,5vw,36px); margin:24px 0; box-shadow:0 8px 28px #22201d08; }
.lgc button,.lgc .lgc-button { cursor:pointer; min-height:48px; padding:12px 20px; border:1px solid var(--line); border-radius:4px; background:white; font:inherit; font-weight:600; color:var(--ink); text-decoration:none; display:inline-flex; align-items:center; justify-content:center; line-height:1.5; }
.lgc button:hover,.lgc .lgc-button:hover { background:#f2eadb; }
.lgc .lgc-primary { background:var(--ink); color:white; border-color:var(--ink); }
.lgc .lgc-primary:hover { background:#453a2a; }
.lgc :focus-visible { outline:3px solid #96713c; outline-offset:4px; }
.lgc h3[tabindex="-1"]:focus { outline:none; }
.lgc .lgc-per-range { font-size:20px; }
.lgc .lgc-group-total { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:20px 0; margin:20px 0; }
.lgc .lgc-group-total h3 { font-size:20px; margin:0 0 12px; }
.lgc .lgc-group-amount { font-size:clamp(32px,8.5vw,44px); font-weight:700; letter-spacing:-.04em; line-height:1.25; overflow-wrap:anywhere; }
.lgc .lgc-custom { margin-top:20px; }
.lgc .lgc-custom input { display:block; width:100%; margin-top:8px; }
.lgc .lgc-bottle-fields { padding:16px; border:1px solid var(--line); border-radius:4px; }
.lgc .lgc-bottle-fields label { display:block; margin-bottom:16px; }
.lgc .lgc-bottle-fields select { display:block; width:100%; font:inherit; color:var(--ink); background:white; padding:12px; border:1px solid var(--line); border-radius:8px; margin-top:8px; }
.lgc .lgc-bottle-fields input { display:block; width:100%; margin-top:8px; }
.lgc .lgc-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:24px 0; }
.lgc .lgc-drink-options { grid-template-columns:1fr; }
.lgc .lgc-option-detail { display:block; font-size:13px; font-weight:400; color:var(--muted); margin-top:4px; }
.lgc .lgc-option { display:flex; align-items:center; gap:10px; padding:16px 12px; border:1px solid var(--line); border-radius:4px; cursor:pointer; min-height:62px; }
.lgc .lgc-option:has(input:checked) { border:2px solid var(--ink); padding:15px 11px; background:#f2eadb; font-weight:700; }
.lgc input[type=radio] { appearance:auto; accent-color:var(--ink); width:18px; height:18px; flex-shrink:0; margin:0; }
.lgc input[type=number] { font:inherit; padding:9px; width:120px; border:1px solid var(--line); border-radius:6px; background:white; color:var(--ink); }
.lgc .lgc-stepper,.lgc .lgc-nav { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:20px; }
.lgc .lgc-nav { justify-content:space-between; }
.lgc .lgc-result-actions { border-top:1px solid var(--line); padding-top:20px; margin-top:24px; }
.lgc .lgc-result-actions button { flex:1 1 145px; }
.lgc progress { width:100%; height:6px; accent-color:var(--ink); display:block; margin:12px 0 24px; }
.lgc .lgc-small { font-size:13px; color:var(--muted); }
.lgc .lgc-total { font-size:clamp(36px,10vw,50px); font-weight:750; letter-spacing:-.04em; line-height:1.25; margin:16px 0; overflow-wrap:anywhere; }
.lgc dl { margin:20px 0; }
.lgc .lgc-row { display:flex; justify-content:space-between; gap:14px; padding:10px 0; border-bottom:1px solid var(--line); }
.lgc dt,.lgc dd { margin:0; }
.lgc dd { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; flex-shrink:0; }
.lgc summary { cursor:pointer; padding:12px 0; font-weight:600; }
.lgc .lgc-edit-list { padding:0; list-style:none; }
.lgc .lgc-edit-list li { display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); padding:10px 0; }
.lgc .lgc-edit-list button { font-size:14px; min-width:66px; }
.lgc .lgc-cups label { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:12px 0; }
.lgc a { color:var(--ink); text-underline-offset:4px; }
@media(max-width:420px) { .lgc .lgc-options { gap:8px; } .lgc .lgc-option { font-size:14px; } }
@media(max-width:480px) { .lgc .lgc-result-actions { flex-direction:column; align-items:stretch; } .lgc .lgc-result-actions button { flex:none; width:100%; } }

.lgc{margin:0 auto}.lgc .lgc-card{box-shadow:none}.lgc .lgc-primary{background:#26221c;border-color:#96713c}.lgc h3{scroll-margin-top:80px}.lgc .lgc-option:has(input:checked){border-color:#96713c}.lgc .lgc-area-note{margin-top:-8px}.lgc .lgc-intro{font-size:15px}.lgc progress::-webkit-progress-value{background:#96713c}.lgc progress::-moz-progress-bar{background:#96713c}
@media(max-width:640px){.lgc{font-size:15px}.lgc .lgc-card{padding:20px 16px;margin:20px 0}.lgc h3{font-size:21px;line-height:1.5;margin-bottom:12px}.lgc .lgc-options{margin:18px 0}.lgc .lgc-option{min-height:56px;padding:12px}.lgc .lgc-option:has(input:checked){padding:11px}.lgc .lgc-small{font-size:12px;line-height:1.7}.lgc progress{margin-bottom:20px}.lgc .lgc-nav{margin-top:16px}}
