body:has(.brew-app){--bg:#16110d;--ink:#f3ebe2;--ink-2:#c1b4a6;--line:#42352a;--coffee:#d9a15b;--paper-card:#251c15;--accent:#d9a15b;color:#f3ebe2;color-scheme:dark;background:#16110d}body:has(.brew-app)>header,body:has(.brew-app)>footer,body:has(.brew-app) .site-header,body:has(.brew-app) .site-footer{display:none}body:has(.brew-app) main{padding:0}body:has(.brew-app) .container{max-width:none;padding:0}.brew-app{--brew-accent:#d9a15b;max-width:540px;padding:20px 20px calc(112px + env(safe-area-inset-bottom));box-sizing:border-box;min-height:100dvh;margin:auto;font-family:Hiragino Kaku Gothic ProN,Noto Sans JP,system-ui,sans-serif;font-size:1rem;line-height:1.65;position:relative}.brew-app *{box-sizing:border-box}.brew-app h1{letter-spacing:.01em;margin:22px 0 16px;font-size:1.75rem;font-weight:750;line-height:1.4}.brew-app h2{margin:16px 0 10px;font-size:1.375rem;line-height:1.5}.brew-app h3{margin:16px 0 8px;font-size:1.125rem}.brew-app p{margin:10px 0 16px}.brew-app a{color:var(--brew-accent)}.brew-app button,.brew-app .button{font:inherit;cursor:pointer;border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:12px;min-height:44px;padding:10px 15px;line-height:1.45;text-decoration:none}.brew-app button:active{background:#3e2c1d;transform:translateY(1px)}.brew-app button:disabled{opacity:.5;cursor:default}.brew-app button:focus-visible,.brew-app a:focus-visible,.brew-app input:focus-visible,.brew-app textarea:focus-visible,.brew-app select:focus-visible{outline-offset:3px;outline:3px solid #eac388}.brew-app .primary{background:var(--brew-accent);color:#16110d;text-align:center;border:0;border-radius:18px;justify-content:center;align-items:center;width:100%;min-height:64px;margin-top:24px;font-size:1.0625rem;font-weight:700;display:flex}.brew-app .secondary{width:100%;margin-top:12px}.brew-app .textlink{color:var(--brew-accent);text-align:left;border:0;border-radius:0;padding:12px 0;display:block}.brew-app .muted{color:var(--ink-2);font-size:.875rem}.brew-app .eyebrow{color:var(--ink-2);margin-top:0;font-size:.875rem}.brew-app .topline{color:var(--ink-2);justify-content:space-between;align-items:center;gap:8px;font-size:.8125rem;display:flex}.brew-app .back{text-align:left;border:0;min-width:44px;padding:8px;font-size:1.375rem}.brew-app .topline span{flex:1}.brew-app .topline time{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,monospace}.brew-app .card{background:#251c15;border-radius:18px;margin:16px 0;padding:20px}.brew-app .choice{text-align:left;background:#251c15;border:0;border-radius:18px;align-items:center;gap:18px;width:100%;min-height:112px;margin:12px 0;padding:20px;display:flex}.brew-app .choice strong{font-size:1.4375rem;display:block}.brew-app .choice small{color:var(--ink-2);margin-top:4px;font-size:.875rem;display:block}.brew-app .choice>span{flex:1}.brew-app .choice>svg{width:32px;height:32px;color:var(--brew-accent)}.brew-app .chevron{color:var(--ink-2);font-size:1.875rem}.brew-app .hero-number{letter-spacing:-.06em;margin:25px 0 14px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:clamp(4.5rem,23vw,6.5rem);font-weight:700;line-height:1.05}.brew-app .hero-number small{letter-spacing:0;margin-left:8px;font-size:1.75rem}.brew-app .animation{height:130px;color:var(--brew-accent);justify-content:center;align-items:center;margin:20px 0;display:flex}.brew-app .animation svg{width:220px;height:130px}.brew-app .next{background:#251c15;border-radius:16px;margin-top:20px;padding:16px 20px}.brew-app .next p{margin:4px 0}.brew-app .next strong{font-size:1.1875rem}.brew-app .next .eyebrow{color:var(--brew-accent)}.brew-app .action-area{margin-top:24px}.brew-app .compact{font-size:.8125rem}.brew-tabs{width:100%;max-width:540px;padding:10px 12px calc(12px + env(safe-area-inset-bottom));z-index:5;background:#251c15;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.brew-app .brew-tabs a{color:var(--ink-2);flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:58px;font-size:.8125rem;text-decoration:none;display:flex}.brew-tabs svg{width:24px;height:24px}.brew-app .brew-tabs a[aria-current=page]{color:var(--brew-accent)}.brew-app label{margin:16px 0;font-size:.9375rem;display:block}.brew-app input:not([type=checkbox]),.brew-app textarea,.brew-app select{width:100%;min-height:48px;font:inherit;color:var(--ink);border:1px solid var(--line);background:#251c15;border-radius:10px;margin-top:6px;padding:12px;font-size:1rem}.brew-app input[type=range]{accent-color:var(--brew-accent);padding:0}.brew-app .chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0;display:grid}.brew-app .chips button{min-height:56px;font-size:.9375rem}.brew-app [aria-pressed=true]{color:#16110d!important;background:#d9a15b!important;border-color:#d9a15b!important}.brew-app .inline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.brew-app .field-pair{grid-template-columns:minmax(0,1fr) minmax(80px,.6fr);gap:12px;display:grid}.brew-app .field-pair label{min-width:0}.brew-app .inline button{flex:1}.brew-app details{margin:18px 0}.brew-app summary{cursor:pointer;min-height:44px;color:var(--ink-2);padding:10px 0}.brew-app .row{border-bottom:1px solid var(--line);padding:16px 0}.brew-app .row p{margin:4px 0}.brew-app table{border-collapse:collapse;width:100%;margin:16px 0;font-size:.8125rem}.brew-app td,.brew-app th{border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere;padding:10px 4px}.brew-app pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.875rem}.brew-app .qr{background:#fff;border-radius:12px;width:220px;max-width:100%;margin:20px auto;padding:12px;display:block}.brew-alert{white-space:pre-line;background:#2c2118;border:1px solid #d9a15b;border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:.875rem}.brew-app .error{border-color:#ed9977}.brew-app [hidden]{display:none!important}.brew-app .quantity-input{text-align:center;font-family:ui-monospace,monospace;font-size:2.375rem!important}.brew-app .status-marker{color:#8fb5c3}@media (prefers-reduced-motion:reduce){.brew-app *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width>=650px){.brew-app{padding-top:40px}}#brew-screen{min-height:calc(100dvh - 136px - env(safe-area-inset-bottom));flex-direction:column;display:flex}.brew-app[data-active] #brew-screen{min-height:calc(100dvh - 48px - env(safe-area-inset-bottom))}.brew-app .action-area{margin-top:auto;padding-top:24px}.brew-app .action-area .primary{margin-top:0}.brew-app .pour-hero{grid-template-columns:minmax(0,1fr) 140px;align-items:center;gap:6px;margin:20px 0;display:grid}.brew-app .pour-hero .hero-number{margin:10px 0;font-size:clamp(3rem,16vw,4.5rem)}.brew-app .pour-hero .hero-number small{font-size:1.375rem}.brew-app .pour-hero .animation{width:140px;height:132px;margin:0}.brew-app .pour-hero .animation svg{width:160px;height:132px}.brew-app .countdown-ring{background:conic-gradient(#d9a15b calc(var(--progress,1) * 360deg), #42352a 0);border-radius:50%;align-self:center;width:222px;height:222px;margin:24px 0;padding:7px;display:flex}.brew-app .countdown-ring .hero-number{letter-spacing:-.04em;background:#16110d;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;margin:0;font-size:5.5rem;line-height:1;display:flex}.brew-app .countdown-ring .hero-number small{letter-spacing:0;margin:8px 0 0;font-size:1.125rem;line-height:1.7}.brew-app .prep-actions{margin-top:auto;padding-top:8px}.brew-app .prep-actions .primary{margin-top:16px}.brew-app[data-screen=prep] h1{margin:12px 0 10px;font-size:1.625rem}.brew-app[data-screen=prep] .prep-summary{margin:10px 0 12px;padding:16px}.brew-app[data-screen=prep] .prep-summary p{margin:6px 0 8px}.brew-app[data-screen=prep] .prep-summary h2{margin-bottom:6px}.brew-app[data-screen=prep] .prep-summary .textlink{padding:8px 0}.brew-app[data-screen=prep] .prep-actions{margin-top:0;padding-top:0}.brew-app[data-screen=prep] .prep-actions .primary{margin-top:8px}@media (width<=350px){.brew-app{padding-left:16px;padding-right:16px}.brew-app .pour-hero{grid-template-columns:minmax(0,1fr) 112px}.brew-app .pour-hero .hero-number{font-size:clamp(2.625rem,16vw,3.5rem)}.brew-app .pour-hero .animation{width:112px}.brew-app .hero-number small{font-size:1.375rem}.brew-app .chips{grid-template-columns:1fr}.brew-app .countdown-ring{width:200px;height:200px}}.brew-app h1,.brew-app h2,.brew-app h3{font-family:inherit}.brew-app .prep-actions+.textlink,.brew-app .card h2{margin-top:0}.brew-app .technique-preview svg{width:140px;max-width:100%;height:100px;color:inherit}.brew-app .technique-preview{margin:6px auto;display:block}.brew-app [data-action=technique-set]{min-width:130px}.brew-app .countdown-ring .hero-number{font-size:4.0625rem}.brew-app .selected-bean{color:#d9a15b;margin:0 0 8px;font-size:.9375rem}.brew-app .change-marker{color:#d9a15b;vertical-align:middle;font-size:.625rem}.brew-alert{z-index:30;top:calc(8px + env(safe-area-inset-top));pointer-events:none;width:calc(100% - 32px);max-width:508px;margin:0;padding:10px 14px;position:fixed;left:50%;transform:translate(-50%)}.brew-error{white-space:pre-line;background:#2c2118;border:1px solid #ed9977;border-radius:10px;margin-bottom:16px;padding:12px 14px}.brew-app[data-screen=active]{padding-bottom:calc(154px + env(safe-area-inset-bottom))}.brew-app[data-screen=active] #brew-screen{min-height:calc(100dvh - 196px - env(safe-area-inset-bottom))}.brew-app .primary-action{width:100%;max-width:540px;padding:12px 20px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);z-index:10;background:#16110d;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.brew-app .primary-action .secondary{min-height:64px;margin:0}.brew-app .primary-action .action-hint{text-align:center;margin:8px 0 0;font-size:.8125rem}.brew-app .back-to-prep{min-width:144px;padding:6px 0;font-size:.875rem}.brew-app .back-to-prep small{font-size:.75rem;display:block}.brew-app[data-screen=active] .pour-hero:has(.unmeasured-guide){flex-direction:column-reverse;align-items:center;display:flex}.brew-app[data-screen=active] .unmeasured-guide{margin:4px 0}.brew-app .time-required{border-left:3px solid var(--brew-accent);color:var(--ink);padding-left:12px}.brew-app[data-keyboard] .brew-tabs{display:none}.brew-app .selected-bean{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.brew-app .selected-bean .textlink{white-space:nowrap;padding:8px 0}.brew-app .quantity-feedback{border-left:3px solid var(--brew-accent);background:#251c15;padding:8px 12px;font-size:.875rem}.brew-app .save-feedback{text-align:center;border:1px solid var(--brew-accent);color:var(--brew-accent);border-radius:18px;margin:24px 0 0;padding:18px;font-weight:700}.brew-app .review-table{table-layout:fixed}.brew-app .review-table th:first-child{width:24%}.brew-app .review-table th:last-child{width:20%}.brew-app .review-table td{vertical-align:top}.brew-app button:active{transform:none}.brew-app h1{text-wrap:balance;overflow-wrap:anywhere}.brew-app .review-table thead th:first-child{width:22%}.brew-app .review-table thead th:nth-child(2){width:17%}.brew-app .review-table thead th:nth-child(3){width:23%}.brew-app .review-table thead th:nth-child(4){width:14%}.brew-app .review-table thead th:nth-child(5){width:24%}.brew-app .review-table th{white-space:normal}.brew-app .numeric-value{white-space:nowrap}.brew-app .value-row{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:64px;margin:6px 0;padding:12px 14px;display:flex}.brew-app .value-copy{flex:1;min-width:0}.brew-app .value-label{color:var(--ink-2);font-size:.8125rem;display:block}.brew-app .value-text{overflow-wrap:anywhere;font-size:1.0625rem;display:block}.brew-app .value-copy small{color:var(--ink-2);font-size:.8125rem;display:block}.brew-app .value-chevron{color:var(--brew-accent);font-size:1.5rem}.brew-app .value-row.hero-value .value-text{font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace;font-size:3rem}.brew-app{line-break:strict}.brew-app .value-text,.brew-app h1{word-break:auto-phrase}.brew-app .numeric-value{font-variant-numeric:tabular-nums}.brew-app .heading-row{background:0 0;border:0;padding:0}.brew-app .heading-row .value-text{font-size:1.75rem}.brew-app .timer-value{text-align:center;background:#16110d;border:0;border-radius:50%;justify-content:center;margin:0;padding:0}.brew-app .timer-value .value-text{font-family:ui-monospace,monospace;font-size:4.0625rem}.brew-app .timer-value .value-chevron{display:none}.brew-app .next .value-row{border:0;margin:0;padding:0}.brew-app .pour-hero .value-row{border:0;padding:8px}.brew-app[data-screen=prep]{padding-bottom:calc(142px + env(safe-area-inset-bottom))}.brew-app[data-screen=prep] .prep-actions{z-index:10;width:100%;max-width:540px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#16110d;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.brew-app[data-screen=prep] .brew-tabs{display:none}.brew-app[data-screen=prep] .prep-actions .primary{margin:0}.brew-app[data-screen=home]:has(.home-primary){padding-bottom:calc(224px + env(safe-area-inset-bottom))}.brew-app .home-primary{z-index:6;bottom:calc(80px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#16110d;width:100%;max-width:540px;padding:12px 20px;position:fixed;left:50%;transform:translate(-50%)}.brew-app .home-primary .primary{margin:0}.brew-app .table-value{border:0;gap:2px;min-height:44px;margin:0;padding:5px 2px}.brew-app .table-value .value-label{display:none}.brew-app .table-value .value-text{font-size:.8125rem;line-height:1.7}.brew-app .table-value .value-chevron{font-size:1rem}.brew-app .inline-editor{min-width:0;margin:6px 0}.brew-app .inline-open{border-color:var(--brew-accent);margin:0}.brew-app .inline-value-position{align-items:center;gap:8px;min-width:0;display:flex}.brew-app input.inline-value-input{text-align:left;width:100%;min-width:0;margin:4px 0;padding:6px 8px;font-size:1.25rem!important}.brew-app .hero-value input.inline-value-input{font-size:3rem!important}.brew-app .inline-unit{white-space:nowrap;font-size:1rem}.brew-app .inline-toggle{align-self:flex-start;min-width:44px;padding:6px}.brew-app .inline-controls{border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;padding:10px 12px 14px;transition:height .16s ease-out,opacity .16s ease-out}.brew-app .inline-controls .inline-hint:empty{display:none}.brew-app .inline-controls .inline-hint{margin:0 0 10px}.brew-app .inline-controls fieldset{border:0;min-width:0;margin:12px 0;padding:0}.brew-app .inline-controls legend{font-size:.9375rem}.brew-app .inline-controls .chips{margin:8px 0}.brew-app .inline-controls .chips button{min-height:44px}.brew-app .inline-controls .sheet-number-field:has(>.inline){margin:10px 0}.brew-app .inline-actions{align-items:center;gap:12px;display:flex}.brew-app .inline-actions .secondary{width:auto;min-width:88px;margin-top:0}.brew-app .inline-controls input,.brew-app .inline-controls textarea{scroll-margin-block:80px}@keyframes inline-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.brew-app .inline-controls{transition:none;animation:none}}.brew-app .past-plan{color:var(--ink-2);font-size:.8125rem;display:block}.brew-app .future-value .value-label{font-size:.8125rem;display:block}.brew-app .inline-controls{font-size:1rem;font-weight:400}.brew-app .countdown-ring:has(.inline-editor){background:0 0;width:100%;height:auto;padding:0;display:block}.brew-app .countdown-ring .inline-editor{width:100%}.brew-app .inline-open.timer-value{border:7px solid #42352a;max-width:208px;min-height:208px;margin:0 auto}.brew-app .timer-value input.inline-value-input{min-width:80px;font-size:2.5rem!important}.brew-app .countdown-ring .inline-controls{margin-top:12px}.brew-app .table-inline-editor .inline-open{position:relative}.brew-app .table-inline-editor .inline-toggle{display:none}.brew-app .table-inline-editor .inline-value-position{flex-wrap:wrap}.brew-app .inline-row-label{max-width:130px;font-size:.8125rem;font-weight:700;position:absolute;top:12px;left:4px}.brew-app .table-inline-editor .inline-controls{text-align:left}.brew-app .table-inline-editor .inline-actions,.brew-app .table-inline-editor .inline-actions button{white-space:nowrap}.brew-app .inline-time-units{flex:none}.brew-app .inline-time-units fieldset{border:0;margin:0;padding:0}.brew-app .inline-time-units legend{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.brew-app .inline-time-units .chips{gap:.5rem;margin:0;display:flex}.brew-app .inline-time-units button{min-width:2.75rem;padding:.5rem;font-size:1.125rem}.brew-app .inline-value-position:has(.inline-time-units){flex-wrap:wrap}.brew-app .inline-value-position:has(.inline-time-units) input{flex:1;width:5rem;min-width:5rem}.brew-app .field-error{color:#ffc9a2;margin:.5rem 0;font-size:1rem}.brew-app [id^=sheet]{scroll-margin-block:1rem 10rem}.brew-app #time-confirmation{border:1px solid var(--brew-accent);border-radius:.75rem;padding:.75rem}body:has(.brew-app) .nav-group-label:after{content:none}.brew-app{line-height:1.75}.brew-app .value-label,.brew-app .future-value .value-label,.brew-app .inline-row-label{font-size:.9375rem}.brew-app .value-copy small,.brew-app .past-plan,.brew-app .topline,.brew-app .compact,.brew-app .primary-action .action-hint{font-size:.875rem}.brew-app .back-to-prep small{font-size:.8125rem}.brew-app .brew-tabs{padding:6px 12px calc(6px + env(safe-area-inset-bottom))}.brew-app .brew-tabs a{white-space:nowrap;min-height:58px;font-size:.875rem;line-height:1.25}.brew-app .primary-action,.brew-app[data-screen=prep] .prep-actions{padding:8px 20px calc(8px + env(safe-area-inset-bottom))}.brew-app .primary-action>button,.brew-app[data-screen=prep] .prep-actions .primary,.brew-app .home-primary .primary{text-wrap:balance;min-height:44px;word-break:auto-phrase;padding:8px 12px;font-size:1.0625rem;line-height:1.4}.brew-app .primary-action .action-hint{margin:6px 0 0;line-height:1.4}.brew-app .home-primary{bottom:calc(82px + env(safe-area-inset-bottom));padding:8px 20px}.brew-app button,.brew-app a{word-break:normal}.brew-app .value-text{overflow-wrap:normal}.brew-app .topline{flex-wrap:wrap}.brew-app .topline span{min-width:6em}.brew-app .topline time{margin-left:auto}.brew-app .feelings-compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.brew-app .feelings-compare p{background:#251c15;border-radius:12px;margin:0;padding:12px}.brew-app .review-table,.brew-app .comparison-table{font-size:.9375rem;display:block}.brew-app .review-table thead,.brew-app .comparison-table thead{display:none}.brew-app .review-table tbody,.brew-app .comparison-table tbody{display:block}.brew-app .review-table tr,.brew-app .comparison-table tr{background:#251c15;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:12px 0;padding:12px;display:grid}.brew-app .review-table th,.brew-app .review-table td,.brew-app .comparison-table th,.brew-app .comparison-table td{overflow-wrap:normal;border:0;min-width:0;padding:4px 0;display:block;width:auto!important}.brew-app .review-table th,.brew-app .comparison-table th{grid-column:1/-1;font-size:1rem}.brew-app .review-table td:nth-child(2),.brew-app .review-table td:nth-child(3){grid-column:1/-1}.brew-app .review-table td:nth-child(4):before{content:"差";color:var(--ink-2);display:block}.brew-app .review-table td:nth-child(5):before{content:"注ぎ方";color:var(--ink-2);display:block}.brew-app .comparison-table td:nth-child(2):before{content:"前回";color:var(--ink-2);display:block}.brew-app .comparison-table td:nth-child(3):before{content:"今回";color:var(--ink-2);display:block}.brew-app .comparison-table td:nth-child(4):before{content:"差";color:var(--ink-2);display:block}.brew-app .review-table .table-value .value-label{font-size:.9375rem;display:block}.brew-app .review-table .table-value .value-text{font-size:1rem}.brew-app .review-table td:has(.table-inline-editor){grid-column:1/-1}.brew-app .table-inline-editor .inline-open{padding-left:0!important}.brew-app .table-inline-editor .inline-row-label{flex:0 auto;max-width:8em;position:static}.brew-app .table-inline-editor input.inline-value-input{width:5rem;min-width:5rem}.brew-app .change-marker{font-size:.875rem}.brew-app .countdown-ring{aspect-ratio:1;width:13.875rem;max-width:100%;height:auto}.brew-app .timer-value .value-text{font-size:min(4.0625rem,calc((min(13.875rem,100vw - 40px) - 2rem)/var(--clock-factor,2.48)))}.brew-app .inline-open.timer-value{max-width:13rem;min-height:13rem;max-inline-size:100%}.brew-app details:not([open])>:not(summary){display:none!important}.brew-app details:not([open]) td:before{content:none!important}.brew-app .countdown-ring:has(.inline-editor){aspect-ratio:auto;height:auto;min-height:0}.preset-entry{margin:16px 0 24px}.preset-info{line-break:strict;margin-top:24px;line-height:1.8}.preset-info p{overflow-wrap:anywhere}.preset-info .muted,.preset-entry .muted{font-size:1rem}.tasting-presets{margin:24px 0}.brew-pwa{border-top:1px solid var(--line);line-break:strict;margin-top:32px;padding-top:16px;line-height:1.8}.brew-pwa p{font-size:.875rem}.brew-pwa button{margin:4px 8px 8px 0}
