/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#1e1b18;--paper:#f5f0e8;--card:#fffdf9;--coffee:#8e452b;--tan:#d6bd9e;--line:#ddd2c5}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans),sans-serif;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}main{background-image:linear-gradient(#69482e09 1px,#0000 1px);background-size:100% 28px;min-height:100vh}header{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f5f0e8f0;justify-content:space-between;align-items:center;height:76px;padding:0 max(20px,50% - 550px);display:flex;position:sticky;top:0}.brand{text-align:left;background:0 0;border:0;align-items:center;gap:11px;display:flex}.brand>span{border:1px solid var(--ink);width:42px;height:42px;font-family:var(--font-mono);border-radius:50%;place-items:center;font-weight:800;display:grid}.brand div{display:grid}.brand b{letter-spacing:.14em;font-size:12px}.brand small{font-family:var(--font-mono);letter-spacing:.18em;color:#766b61;font-size:9px}.back,.ghost{border:1px solid var(--line);background:0 0;border-radius:99px;padding:10px 14px}.home-page,.page{max-width:1100px;margin:auto;padding:42px 20px 80px}.hero{border-bottom:1px solid var(--ink);padding:45px 0 55px}.hero>p:first-child,.title-row small,.section-head small{font:700 11px var(--font-mono);letter-spacing:.2em;color:var(--coffee)}h1{letter-spacing:-.065em;margin:20px 0;font-size:clamp(44px,8vw,84px);line-height:.98}h1 span{color:var(--coffee);font-style:italic}.lead{color:#6d6259;max-width:520px;font-size:17px;line-height:1.8}.quick{gap:10px;margin-top:28px;display:flex}.quick button,.primary,.save{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:5px;padding:15px 20px;font-weight:700}.quick button+button{color:var(--ink);background:0 0}.home-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;display:grid}.menu-card{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:6px;flex-direction:column;min-height:190px;padding:22px;transition:all .2s;display:flex;position:relative}.menu-card:hover{border-color:var(--coffee);transform:translateY(-3px)}.menu-card i{font:12px var(--font-mono);color:var(--coffee)}.menu-card small{font:10px var(--font-mono);letter-spacing:.15em;color:#887a6f;margin-top:25px}.menu-card b{margin-top:6px;font-size:21px}.menu-card span{color:#756a61;margin-top:8px;font-size:13px}.menu-card em{font-size:24px;font-style:normal;position:absolute;bottom:18px;right:20px}.backup-link{color:#6e6257;background:0 0;border:0;margin-top:22px;text-decoration:underline}.title-row{justify-content:space-between;align-items:end;margin-bottom:28px;display:flex}.title-row h2{letter-spacing:-.05em;margin:6px 0 0;font-size:clamp(34px,6vw,58px)}.search{border:1px solid var(--line);background:var(--card);border-radius:5px;width:100%;margin-bottom:18px;padding:16px 18px}.list{gap:12px;display:grid}.recipe-card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:22px;position:relative}.recipe-card h3,.log-card h3{margin:8px 0;font-size:22px}.recipe-card p{color:#6e6258;margin:6px 0 16px}.recipe-card>small,.recipe-card div>small{font:10px var(--font-mono);color:var(--coffee);letter-spacing:.12em}.fav{float:right;color:var(--coffee);background:0 0;border:0;font-size:24px}.metrics{border-top:1px dashed var(--line);align-items:baseline;gap:24px;padding:14px 0;display:flex}.metrics b{font:700 28px var(--font-mono)}.metrics b small{font-size:12px}.metrics span{font:13px var(--font-mono);color:#6f6259}.card-actions{flex-wrap:wrap;gap:8px;display:flex}.card-actions button,.backup-card button{border:1px solid var(--line);background:0 0;border-radius:4px;padding:10px 13px}.card-actions button:first-child{background:var(--coffee);border-color:var(--coffee);color:#fff}.empty{border:1px dashed var(--line);background:#ffffff73;place-items:center;gap:8px;padding:70px 20px;display:grid}.empty span,.intro{color:#756a60}.wide,.form-grid label,.notes label{gap:7px;display:grid}.wide>span,.form-grid label>span,.number-field>span,.ratio>span,.step-row label span,.notes span{font:10px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#796b60}.wide input,.form-grid input,.form-grid select,.notes input,.notes textarea,.step-row input{border:1px solid var(--line);background:var(--card);border-radius:4px;width:100%;padding:13px}.wide input{font-size:25px;font-weight:700}.calc{grid-template-columns:1fr 1.1fr 1fr;gap:12px;margin:18px 0;display:grid}.number-field,.ratio{background:var(--card);border:1px solid var(--line);border-radius:5px;padding:14px}.number-field{gap:9px;display:grid}.number-field>div{align-items:center;display:flex}.number-field button{border:1px solid var(--line);background:var(--paper);border-radius:50%;width:38px;height:38px}.number-field input{text-align:center;width:80px;min-width:0;font:700 25px var(--font-mono);background:0 0;border:0}.number-field b{font-size:12px}.ratio{gap:8px;display:grid}.ratio b{font:700 28px var(--font-mono);text-align:center}.ratio small{text-align:center;color:#807368;font-size:9px}.form-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.step-editor{margin:35px 0}.section-head{justify-content:space-between;align-items:end;margin-bottom:12px;display:flex}.section-head h3{margin:5px 0;font-size:28px}.section-head button{border:1px solid var(--ink);background:0 0;padding:10px}.step-row{background:var(--card);border:1px solid var(--line);grid-template-columns:38px 110px 110px 1fr auto;align-items:end;gap:10px;margin-top:8px;padding:12px;display:grid}.step-row>i{font:700 15px var(--font-mono);align-self:center}.step-row label{gap:5px;display:grid}.step-row>div{display:flex}.step-row>div button{background:0 0;border:0;padding:10px}.notes{grid-template-columns:1fr 1fr}.notes textarea{height:90px}.save{min-width:220px;margin:25px 0 0 auto;display:block}.brew-page{max-width:620px;min-height:calc(100vh - 76px);margin:auto;padding:24px 20px 70px}.brew-top{justify-content:space-between;align-items:center;font-size:13px;display:flex}.brew-top button{background:0 0;border:0}.brew-summary{border-block:1px solid var(--ink);grid-template-columns:repeat(3,1fr);margin:40px 0 28px;display:grid}.brew-summary div{text-align:center;border-right:1px solid var(--line);padding:20px 8px}.brew-summary div:last-child{border:0}.brew-summary b{font:700 36px var(--font-mono);display:block}.brew-summary b small{font-size:13px}.brew-summary span{font:9px var(--font-mono);letter-spacing:.15em}.steps>div{border-bottom:1px solid var(--line);grid-template-columns:40px 65px 100px 1fr;align-items:center;gap:10px;padding:18px 0;display:grid}.steps i{font:11px var(--font-mono);color:var(--coffee)}.steps b,.steps strong{font-family:var(--font-mono)}.steps span{color:#62584f}.timer-start,.finish{background:var(--coffee);color:#fff;border:0;width:100%;margin-top:25px;padding:18px;font-weight:700}.timer{text-align:center;padding:45px 0 25px}.timer>small,.now>small,.next>small{font:10px var(--font-mono);letter-spacing:.15em;color:#897a6e}.timer>b{font:700 clamp(72px,20vw,116px) var(--font-mono);letter-spacing:-.08em;display:block}.progress{background:var(--line);height:4px}.progress i{background:var(--coffee);height:100%;display:block}.now{text-align:center;background:var(--card);border:1px solid var(--line);padding:25px}.now h2{font:700 55px var(--font-mono);margin:8px}.now h2 em{font:14px var(--font-sans);font-style:normal;display:block}.now p{font-size:18px}.next{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:6px;padding:20px;display:grid}.next span{color:#75695f;grid-column:1/3}.timer-controls{justify-content:center;align-items:center;gap:14px;padding:25px;display:flex}.timer-controls button{border:1px solid var(--line);background:0 0;border-radius:50%;width:48px;height:48px}.timer-controls .play{background:var(--ink);color:#fff;width:70px;height:70px;font-size:25px}.timer-controls select{border:1px solid var(--line);background:var(--card);padding:10px}.taste-wrap{grid-template-columns:260px 1fr;align-items:center;gap:20px;display:grid}.radar{width:100%;max-width:250px}.radar text{fill:#6e6259;font-size:8px}.taste-fields>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:5px;display:flex}.stars button{color:#c8bbae;background:0 0;border:0;padding:2px;font-size:22px}.stars button.on{color:#a75836}.log-form{background:var(--card);border:1px solid var(--line);margin-bottom:18px;padding:20px}.overall{justify-content:center;align-items:center;gap:15px;padding:15px;display:flex}.log-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.log-card{background:var(--card);border:1px solid var(--line);grid-template-columns:140px 1fr;padding:15px;display:grid}.log-card p{color:#6e6259}.log-card>div>button{color:#7a6c62;background:0 0;border:0;text-decoration:underline}.mini-stars{color:#a75836}.backup{max-width:760px}.backup-card{background:var(--card);border:1px solid var(--line);margin:12px 0;padding:28px}.backup-card>i{color:var(--coffee);font-size:35px}.backup-card h3{font-size:24px}.backup-card p{color:#6e6259}.backup-card .primary{background:var(--ink);color:#fff}.data-count{justify-content:space-between;gap:8px;padding:20px 0;display:flex}.data-count span{font-size:12px}.data-count b{font:24px var(--font-mono);display:block}footer{border-top:1px solid var(--line);color:#74685e;justify-content:space-between;max-width:1100px;margin:auto;padding:25px 20px 40px;display:flex}footer small{font:10px var(--font-mono)}.ratio select{background:var(--paper);border:0;border-radius:4px;width:100%;padding:12px 10px;font-weight:700}.section-head p,.rating-title p{color:#74685e;margin:5px 0 0;font-size:13px}.step-table-head,.step-row{grid-template-columns:42px 135px 115px 115px 80px 1fr 108px;min-width:1000px}.step-table-head{font:10px var(--font-mono);letter-spacing:.1em;color:#796b60;gap:10px;padding:8px 12px;display:grid}.step-editor{overflow-x:auto}.time-wheel,.pour-input{border:1px solid var(--line);background:var(--card);border-radius:4px;align-items:center;display:flex;overflow:hidden}.time-wheel select{width:52px;font:700 17px var(--font-mono);appearance:auto;background:0 0;border:0;padding:12px 5px}.time-wheel b{font-family:var(--font-mono)}.pour-input input{width:78px;font:700 17px var(--font-mono);background:0 0;border:0;padding:12px}.pour-input b{padding-right:8px;font-size:11px}.percent-input input{width:76px}.cumulative b{min-height:47px;font:700 18px var(--font-mono);color:var(--coffee);align-items:center;display:flex}.recipe-basics{border:1px solid var(--line);background:#ffffff73;margin:18px 0 22px;padding:16px}.recipe-basics>.number-field{max-width:230px;margin-bottom:12px}.mini-pours{gap:6px;padding:0 0 14px;display:flex;overflow-x:auto}.mini-pours span{background:var(--paper);border-radius:4px;min-width:105px;padding:9px;display:grid}.mini-pours b{font:700 14px var(--font-mono)}.mini-pours em{font:700 13px var(--font-mono);color:var(--coffee);font-style:normal}.mini-pours small{color:#74685e!important;font-size:9px!important}.steps-head{border-bottom:1px solid var(--ink);font:9px var(--font-mono);letter-spacing:.1em;grid-template-columns:65px 90px 70px 1fr;margin-left:40px;padding:8px 0;display:grid}.steps>div{grid-template-columns:30px 58px 82px 64px 1fr}.steps>div em{font:12px var(--font-mono);color:#776a60;font-style:normal}.rating-title{border-top:1px solid var(--line);margin:28px 0 5px;padding-top:20px}.rating-title small{font:700 10px var(--font-mono);letter-spacing:.16em;color:var(--coffee)}.rating-title h3{margin:4px 0;font-size:25px}.shop-rating{background:var(--paper);border-radius:5px;margin-top:6px}.mini-stars{margin:5px 0}.mini-stars small{color:#75695f;width:55px;display:inline-block}@media (width<=700px){header{height:66px}.home-page,.page{padding-top:25px}.hero{padding-top:20px}.home-grid{grid-template-columns:1fr 1fr}.menu-card{min-height:165px;padding:16px}.menu-card:last-child{grid-column:1/3}.quick{display:grid}.calc,.form-grid,.notes{grid-template-columns:1fr}.step-editor{margin-inline:-20px;padding-inline:20px}.taste-wrap{grid-template-columns:1fr}.radar{margin:auto}.log-grid{grid-template-columns:1fr}.log-card{grid-template-columns:120px 1fr}.metrics{gap:12px;overflow:auto}.metrics b{font-size:23px}.steps-head{grid-template-columns:58px 82px 64px 1fr;margin-left:30px}.steps>div{grid-template-columns:24px 54px 76px 58px 1fr;gap:6px;font-size:12px}.data-count{grid-template-columns:1fr 1fr;display:grid}.brand div{display:none}.title-row{align-items:center}.section-head{min-width:830px}.stars button{font-size:25px}}.empty-create{margin-top:16px}.library-jump{color:var(--coffee);background:0 0;border:0;padding:10px;text-decoration:underline}.pour-list{border-top:1px solid var(--ink);margin:4px 0 18px}.pour-list-head{font:10px var(--font-mono);letter-spacing:.08em;color:#786b60;border-bottom:1px solid var(--line);grid-template-columns:80px 90px 75px 80px 1fr;gap:12px;margin-left:46px;padding:9px 0;display:grid}.pour-item{border-bottom:1px solid var(--line);grid-template-columns:34px 80px 90px 75px 80px 1fr;align-items:center;gap:12px;padding:12px 0;display:grid}.pour-item>i{border:1px solid var(--coffee);width:30px;height:30px;color:var(--coffee);font:700 12px var(--font-mono);border-radius:50%;place-items:center;font-style:normal;display:grid}.pour-item>div{display:grid}.pour-item small{display:none}.pour-item b,.pour-item strong{font:700 15px var(--font-mono)}.pour-item strong{color:var(--coffee)}.pour-item p{color:#62584f;margin:0;font-size:13px}.card-actions button:nth-child(2){color:var(--ink);background:0 0}.pour-list.compact .pour-list-head{grid-template-columns:80px 90px 75px 80px}.pour-list.compact .pour-item{grid-template-columns:34px 80px 90px 75px 80px}.comment-mode{background:var(--card);border:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;margin:26px 0 0;padding:14px;display:flex}.comment-mode>div{gap:3px;display:grid}.comment-mode small{color:#776a60}.comment-mode button{border:1px solid var(--line);color:#62584f;background:#ded6cd;border-radius:99px;min-width:105px;padding:10px}.comment-mode button.on{background:var(--coffee);color:#fff;border-color:var(--coffee)}.step-editor.comments-off .step-table-head,.step-editor.comments-off .step-row{grid-template-columns:42px 135px 115px 115px 80px 108px;min-width:800px}.next b{font-size:22px}.now:has(p) h2{margin-bottom:4px}@media (width<=700px){.home-grid{grid-template-columns:1fr}.menu-card:last-child{grid-column:auto}.empty{text-align:center;padding:42px 18px}.empty-create{width:100%}.recipe-basics{padding:12px}.recipe-basics>.number-field{max-width:none}.comment-mode{align-items:flex-start}.comment-mode small{font-size:11px}.step-editor{margin-inline:0;padding-inline:0;overflow:visible}.step-editor.comments-off .step-row{grid-template-columns:36px 1fr 1fr;min-width:0}.step-table-head{display:none}.section-head{align-items:start;gap:12px;min-width:0;display:grid}.section-head button{width:100%;padding:14px}.step-row{grid-template-columns:36px 1fr 1fr;align-items:start;gap:10px;min-width:0;padding:14px;display:grid}.step-row>i{grid-row:1/4}.step-row .cumulative{grid-column:auto}.step-row .comment{grid-column:2/4}.step-row>div{grid-column:2/4;justify-content:flex-end}.time-wheel select{width:48px}.pour-input input{width:70px}.pour-list-head{display:none}.pour-item,.pour-list.compact .pour-item{grid-template-columns:34px 1fr 1fr;align-items:start;gap:8px;padding:14px 0}.pour-item>i{grid-row:1/4}.pour-item>div{background:var(--paper);border-radius:4px;padding:9px}.pour-item small{font:9px var(--font-mono);color:#887a6f;display:block}.pour-item>div:nth-of-type(3){grid-column:auto}.pour-item p{border-left:3px solid var(--tan);background:#fff;grid-column:2/4;padding:10px}.recipe-card{padding:18px}.card-actions button{flex:45%}}.compact-editor{max-width:900px}.compact-editor .title-row{margin-bottom:18px}.compact-editor .title-row h2{font-size:38px}.recipe-name{gap:5px;margin-bottom:12px;display:grid}.recipe-name span{font:10px var(--font-mono);color:#7b6e63}.recipe-name input{border:0;border-bottom:1px solid var(--line);background:0 0;width:100%;padding:9px 2px;font-size:16px}.recipe-name input:focus{border-color:var(--coffee);outline:0}.core-settings{background:var(--card);border:1px solid var(--line);padding:10px}.core-settings .calc{margin:0}.core-settings .number-field,.core-settings .ratio{padding:10px}.core-settings .number-field input{font-size:22px}.compact-editor .comment-mode{margin-top:16px}.compact-editor .step-editor{margin-top:18px}.finish-time{background:var(--card);border:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin:18px 0;padding:14px;display:flex}.finish-time>div{gap:3px;display:grid}.finish-time small{font:9px var(--font-mono);color:var(--coffee);letter-spacing:.12em}.finish-time span{color:#776a60;font-size:11px}.finish-time .time-wheel{min-width:125px}.detail-settings{background:var(--card);border:1px solid var(--line);margin-top:10px}.detail-settings summary{cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px;list-style:none;display:grid}.detail-settings summary::-webkit-details-marker{display:none}.detail-settings summary span{font-weight:700}.detail-settings summary small{color:#7a6d62}.detail-settings summary b{font-size:22px;font-weight:400}.detail-settings[open] summary b{transform:rotate(45deg)}.detail-settings>.form-grid,.detail-settings>.notes{border-top:1px solid var(--line);padding:14px}@media (width<=700px){.compact-editor{padding-top:18px}.compact-editor .title-row h2{font-size:30px}.compact-editor .title-row small{font-size:9px}.core-settings{padding:8px}.core-settings .calc{grid-template-columns:1fr}.core-settings .number-field,.core-settings .ratio{padding:8px}.compact-editor .comment-mode{padding:10px}.compact-editor .comment-mode button{min-width:90px;padding:8px}.finish-time{align-items:flex-end;padding:12px}.finish-time span{max-width:180px}.detail-settings summary{grid-template-columns:1fr auto}.detail-settings summary small{grid-column:1}.detail-settings summary b{grid-area:1/2/3}.compact-editor .save{width:100%;margin-top:16px}}.timer-stage{padding-top:14px}.elapsed{border-bottom:1px solid var(--line);justify-content:center;align-items:baseline;gap:12px;padding:7px 0;display:flex}.elapsed span{color:#655a51;font-size:13px;font-weight:700}.elapsed b{font:700 38px var(--font-mono)}.countdown{text-align:center;padding:15px 8px}.countdown span{font-size:14px;font-weight:700;display:block}.countdown b{font:700 44px var(--font-mono);color:var(--coffee);line-height:1.15;display:block}.countdown b small{font-size:16px}.countdown em{font:11px var(--font-mono);color:#75695f;font-style:normal}.countdown.soon{background:#fff3dc;border-radius:6px}.countdown.soon b{font-size:54px}.countdown.done b{color:#5e7964}.target{text-align:center;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:20px 10px 14px}.target>span{font-size:14px;font-weight:800;display:block}.target>b{font:800 clamp(76px,22vw,112px) var(--font-mono);line-height:1;display:block}.target>b small{font-size:22px}.target>strong{font-size:18px}.target p{margin:10px 0 0;font-size:16px}.next-compact{justify-content:space-between;align-items:center;padding:11px 4px;display:flex}.next-compact span{font-size:13px;font-weight:700}.next-compact b{font:700 22px var(--font-mono)}.timer-stage .progress{height:5px;margin:2px 0 8px}.timer-stage .timer-controls{padding:13px 0}.sound-check{justify-content:center;align-items:center;gap:10px;min-height:32px;display:flex}.sound-check button{color:var(--coffee);background:0 0;border:0;padding:5px;text-decoration:underline}.sound-check small{color:#776a60;font-size:10px}.timer-stage .finish{margin-top:12px}.brew-summary{margin:18px 0 16px}.brew-summary div{flex-direction:column;padding:10px 6px;display:flex}.brew-summary span{font:700 12px var(--font-sans);letter-spacing:0;color:#655a51;order:0}.brew-summary b{order:1;font-size:28px}.pour-item{padding:9px 0}.recipe-card{padding:16px}.metrics{gap:14px;padding:9px 0}.metrics b{font-size:23px}@media (width<=700px){.brew-page{padding-top:12px}.elapsed b{font-size:32px}.countdown{padding:12px 6px}.countdown b{font-size:38px}.countdown.soon b{font-size:48px}.target{padding:16px 6px 12px}.target>b{font-size:86px}.timer-controls .play{width:62px;height:62px}.timer-controls button{width:44px;height:44px}.timer-controls select{max-width:112px;padding:8px}.sound-check{text-align:center;gap:2px;display:grid}.pour-item{padding:9px 0}.pour-item>div{padding:7px}.pour-item p{padding:8px}.recipe-card{padding:14px}}.timer-on{min-height:100dvh;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(32px,env(safe-area-inset-bottom))}.timer-on .brew-top{z-index:2;margin-bottom:4px;position:relative}.library-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.library-card{background:var(--card);border:1px solid var(--line);border-radius:6px;gap:9px;padding:18px;display:grid}.library-card>small{font:10px var(--font-mono);color:var(--coffee);letter-spacing:.1em}.library-card h3{margin:0;font-size:22px}.library-card p{color:#6e6258;margin:0;line-height:1.6}.library-meta{flex-wrap:wrap;gap:7px;display:flex}.library-meta span{font:700 12px var(--font-mono);background:var(--paper);border-radius:99px;padding:6px 8px}.library-open{background:var(--ink);color:#fff;border:0;border-radius:4px;justify-content:space-between;padding:13px 14px;font-weight:700;display:flex}.library-copy{color:#6e6258;background:0 0;border:0;padding:5px;text-decoration:underline}.home-grid{grid-template-columns:repeat(5,1fr);gap:8px}.menu-card{min-height:118px;padding:14px}.menu-card small{margin-top:10px}.menu-card b{font-size:17px}.menu-card span{margin-right:16px;font-size:11px}.menu-card em{font-size:18px;bottom:10px;right:12px}@media (width<=700px){.home-page{padding-top:18px}.hero{padding:14px 0 24px}.hero h1{margin:14px 0;font-size:43px}.lead{font-size:14px;line-height:1.55}.home-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.menu-card{min-height:108px;padding:12px}.menu-card:last-child{grid-column:auto}.menu-card i{font-size:10px}.menu-card small{margin-top:7px;font-size:8px}.menu-card b{font-size:15px}.menu-card span{font-size:10px;line-height:1.35}.library-grid{grid-template-columns:1fr}.library-card{padding:15px}.timer-on{padding-top:max(18px,env(safe-area-inset-top))}.timer-on .brew-top{padding-top:2px}}.brew-schedule{border-top:1px solid var(--ink);margin:14px 0 10px}.brew-schedule-head,.brew-schedule-row{grid-template-columns:38px 1fr 1fr;align-items:center;display:grid}.brew-schedule-head{border-bottom:1px solid var(--line);font:10px var(--font-mono);color:#75695f;padding:7px 0}.brew-schedule-head span:first-child{grid-column:2}.brew-schedule-row{border-bottom:1px solid var(--line);min-height:43px}.brew-schedule-row i{font:10px var(--font-mono);color:var(--coffee);font-style:normal}.brew-schedule-row b{font:700 20px var(--font-mono)}.brew-schedule-row strong{font:800 25px var(--font-mono);text-align:right}.brew-schedule-row strong small{margin-left:2px;font-size:11px}.brew-page:not(.timer-on) .timer-start{margin-top:10px;padding:15px}.timer-on .timer-stage{padding-top:4px}.timer-on .elapsed{padding:3px 0}.timer-on .countdown{padding:8px 6px}.timer-on .target{padding:10px 6px 8px}.timer-on .next-compact{padding:7px 4px}.timer-on .timer-controls{padding:8px 0}.timer-on .sound-check{min-height:24px}.timer-on .finish{margin-top:7px;padding:13px}.brew-detail-meta{border-block:1px solid var(--line);background:var(--card);grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0 8px;display:grid}.brew-detail-meta>span{border-right:1px solid var(--line);text-align:center;min-width:0;padding:10px 8px}.brew-detail-meta>span:last-child{border-right:0}.brew-detail-meta small,.brew-detail-meta b{display:block}.brew-detail-meta small{font:9px var(--font-mono);letter-spacing:.1em;color:#75695f}.brew-detail-meta b{overflow-wrap:anywhere;margin-top:4px;font-size:13px;line-height:1.35}@media (width<=700px){.brand div{display:grid}.brand b{font-size:10px}.brand small{font-size:7px}.brew-page{padding-bottom:24px}.brew-top{font-size:11px}.brew-schedule-row{min-height:40px}.brew-schedule-row b{font-size:18px}.brew-schedule-row strong{font-size:23px}.timer-on .elapsed b{font-size:30px}.timer-on .countdown b,.timer-on .countdown.soon b{font-size:40px}.timer-on .target>b{font-size:76px}.timer-on .timer-controls .play{width:56px;height:56px}.timer-on .timer-controls button{width:42px;height:42px}}.brand-hero{align-items:center;gap:clamp(18px,5vw,50px);padding:30px 0;display:flex}.hero-seal{border:2px solid var(--ink);width:clamp(76px,16vw,145px);height:clamp(76px,16vw,145px);font:800 clamp(42px,9vw,86px) var(--font-mono);letter-spacing:-.08em;box-shadow:inset 0 0 0 7px var(--paper),inset 0 0 0 8px var(--tan);border-radius:50%;place-items:center;display:grid}.brand-hero>div:last-child{flex:1}.brand-hero h1{font:800 clamp(54px,10vw,110px)/.78 var(--font-mono);letter-spacing:-.09em;margin:13px 0 20px}.brand-hero h1 span{color:var(--coffee);font-style:normal}.brand-hero .lead{letter-spacing:.08em;font-size:14px}.brew-adjust{background:var(--card);border:1px solid var(--line);border-radius:6px;grid-template-columns:1fr auto 1fr;align-items:end;gap:8px;margin:12px 0;padding:10px;display:grid}.brew-adjust label{gap:5px;display:grid}.brew-adjust label>span{font:9px var(--font-mono);color:#74685e;letter-spacing:.1em}.brew-adjust label>div{align-items:center;display:flex}.brew-adjust button{border:1px solid var(--line);background:var(--paper);border-radius:50%;width:30px;height:30px}.brew-adjust input{text-align:center;width:55px;min-width:0;font:700 20px var(--font-mono);background:0 0;border:0}.brew-adjust label b{font-size:10px}.brew-adjust>i{font:700 11px var(--font-mono);color:var(--coffee);align-self:center;padding-top:13px;font-style:normal}.brew-adjust label:last-child>div{justify-content:flex-end}@media (width<=700px){.brand-hero{gap:14px;padding:20px 0}.hero-seal{width:70px;height:70px;box-shadow:inset 0 0 0 5px var(--paper),inset 0 0 0 6px var(--tan);font-size:39px}.brand-hero h1{margin:8px 0 10px;font-size:47px}.brand-hero .lead{font-size:11px}.brew-adjust{gap:4px;padding:8px}.brew-adjust button{width:28px;height:28px}.brew-adjust input{width:45px;font-size:18px}.brew-adjust>i{font-size:9px}}.sound-check select{border:1px solid var(--line);background:var(--card);border-radius:4px;padding:7px 10px;font-weight:700}.sound-check button{white-space:nowrap}.awake-note{text-align:center;font:9px var(--font-mono);letter-spacing:.08em;color:#5f765f;margin:-2px 0 3px}.finish-count b{color:#5e7964}.quick-timer{max-width:720px}.quick-tabs{border:1px solid var(--ink);grid-template-columns:1fr 1fr;margin:12px 0;display:grid}.quick-tabs button{background:0 0;border:0;padding:12px;font-weight:800}.quick-tabs button.active{background:var(--ink);color:#fff}.quick-core{background:var(--card);border:1px solid var(--line);grid-template-columns:1fr 130px 1fr;align-items:end;gap:10px;padding:12px;display:grid}.quick-core .ratio{gap:6px;display:grid}.quick-core .ratio>span{color:#75695f;font-size:11px}.quick-core select{border:1px solid var(--line);background:#fff;height:42px;padding:0 8px;font-weight:700}.quick-preset-list{gap:7px;display:grid}.quick-preset-list button{text-align:left;border:1px solid var(--line);background:var(--card);padding:12px}.quick-preset-list button.active{border-color:var(--coffee);box-shadow:inset 3px 0 var(--coffee)}.quick-preset-list b,.quick-preset-list span{display:block}.quick-preset-list span{color:#75695f;font:10px var(--font-mono);margin-top:5px}.quick-picked{border-block:1px solid var(--ink);justify-content:space-between;align-items:center;margin-top:12px;padding:12px 2px;display:flex}.quick-picked span{font:11px var(--font-mono);color:#74685e}.quick-head,.quick-step{grid-template-columns:30px 120px 1fr 1fr 30px;align-items:center;gap:6px;display:grid}.quick-head{border-bottom:1px solid var(--line);font:9px var(--font-mono);color:#75695f;padding:9px 0}.quick-head span:first-child{grid-column:2}.quick-step{border-bottom:1px solid var(--line);padding:8px 0}.quick-step>i{font:10px var(--font-mono);color:var(--coffee);font-style:normal}.quick-step label{justify-content:flex-end;align-items:center;display:flex}.quick-step label input{background:var(--card);text-align:right;width:72px;font:700 17px var(--font-mono);border:0;padding:10px 5px}.quick-step label b{font-size:9px}.quick-step>button{color:#8b7768;background:0 0;border:0;font-size:20px}.quick-add{border:1px dashed var(--line);background:0 0;width:100%;margin-top:9px;padding:12px}.quick-finish{background:var(--card);border:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:12px;padding:12px;font-weight:700;display:flex}.quick-start{background:var(--coffee);color:#fff;border:0;border-radius:5px;width:100%;margin-top:12px;padding:17px;font-weight:800}.quick-start:disabled{opacity:.4}.quick-save,.quick-edit-link{color:#6f4a38;background:0 0;border:0;width:100%;padding:12px;text-decoration:underline}@media (width<=700px){.quick-timer .title-row h2{font-size:32px}.quick-core{grid-template-columns:1fr 100px 1fr;gap:6px;padding:9px}.quick-core .number-field div{grid-template-columns:28px 1fr 12px 28px}.quick-core .number-field button{width:28px}.quick-head,.quick-step{grid-template-columns:20px 104px 1fr 1fr 24px;gap:3px}.quick-step .time-wheel select{width:40px;padding-inline:1px}.quick-step label input{width:54px;font-size:15px}.quick-finish{font-size:13px}}.quick-timer .title-row small{font-size:0}.quick-timer .title-row small:after{content:"BREW TIMER";font:10px var(--font-mono);letter-spacing:.14em}.quick-timer .title-row h2{font-size:0}.quick-timer .title-row h2:after{content:"ドリップタイマー";font:700 42px/1.05 var(--font-serif)}@media (width<=700px){.quick-timer .title-row h2:after{font-size:32px}.quick-core{border-color:var(--ink);grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);align-items:stretch;gap:0;padding:0;overflow:hidden}.quick-core>.number-field,.quick-core>.ratio{background:0 0;border:0;border-radius:0;min-width:0;padding:10px 4px}.quick-core>.number-field:first-child,.quick-core>.ratio{border-right:1px solid var(--line)}.quick-core .number-field>span,.quick-core .ratio>span{text-align:center;font-size:9px}.quick-core .number-field>div{justify-content:center;gap:1px;min-width:0;display:flex}.quick-core .number-field button{flex:0 0 25px;width:25px;height:25px;font-size:15px}.quick-core .number-field input{width:38px;min-width:0;padding:0;font-size:20px}.quick-core .number-field b{font-size:9px}.quick-core .ratio{align-content:center}.quick-core select{text-align:center;background:0 0;border:0;height:36px;padding:0 2px;font-size:14px}.quick-core:after{content:"豆量 × 比率 ＝ 総湯量";text-align:center;border-top:1px solid var(--line);font:8px var(--font-mono);letter-spacing:.08em;color:#807268;grid-column:1/-1;padding:5px}}.quick-start:has(+.quick-edit-link){font-size:0}.quick-start:has(+.quick-edit-link):after{content:"レシピを見る  →";font-size:14px}.brew-share-actions{justify-content:flex-end;gap:7px;max-width:620px;margin:12px auto -12px;padding:0 20px;display:flex}.brew-share-actions button{border:1px solid var(--ink);background:0 0;border-radius:99px;padding:9px 12px;font-size:12px;font-weight:700}.brew-share-actions .shared-save{background:var(--ink);color:#fff}.share-backdrop{z-index:80;background:#1e1b189e;border:0;width:100%;height:100%;position:fixed;inset:0}.share-modal{z-index:90;background:var(--card);border:1px solid var(--ink);text-align:center;width:min(92vw,390px);padding:24px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 22px 70px #0000004d}.share-modal>small{font:10px var(--font-mono);letter-spacing:.15em;color:var(--coffee)}.share-modal h3{margin:8px 30px 12px;font-size:22px}.share-modal img{border:8px solid #fff;width:min(260px,76vw);height:auto;margin:auto;display:block}.share-modal p{color:#75695f;font-size:12px;line-height:1.7}.share-modal>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.share-modal>div button{border:1px solid var(--ink);background:0 0;padding:12px;font-weight:700}.share-modal>div .primary{background:var(--ink);color:#fff}.share-close{background:0 0;border:0;width:34px;height:34px;font-size:25px;position:absolute;top:12px;right:13px}@media (width<=700px){.quick-core>.number-field:first-child>div{gap:3px}.quick-core>.number-field:first-child input{width:34px;font-size:21px}.quick-core>.number-field:first-child b{margin-right:2px}.quick-core>.number-field:first-child button{flex-basis:24px;width:24px}}.brew-schedule-row:has(.step-cue){padding-block:6px}.step-cue{font:700 10px var(--font-mono);letter-spacing:.08em;color:var(--coffee);grid-column:2/4;margin-top:-3px}.timer-cue{border:1px solid var(--coffee);color:var(--coffee);border-radius:99px;margin-top:7px;padding:5px 10px;font-style:normal;font:800 12px var(--font-mono)!important;display:inline-flex!important}.next-compact:has(small){grid-template-columns:auto 1fr;display:grid}.next-compact:has(small) b{text-align:right}.next-compact>small{text-align:right;color:var(--coffee);font:700 10px var(--font-mono);letter-spacing:.08em;grid-column:2}.hybrid-settings{background:var(--card);border:1px solid var(--line);margin:14px 0}.hybrid-settings>summary{cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:3px 12px;padding:13px;list-style:none;display:grid}.hybrid-settings>summary::-webkit-details-marker{display:none}.hybrid-settings>summary span{font-weight:800}.hybrid-settings>summary small{color:#75695f}.hybrid-settings>summary b{grid-area:1/2/3;font-size:22px;font-weight:400}.hybrid-settings[open]>summary b{transform:rotate(45deg)}.hybrid-settings>div{border-top:1px solid var(--line);padding:5px 12px}.hybrid-row{border-bottom:1px solid var(--line);grid-template-columns:28px 1fr 92px 105px;align-items:center;gap:8px;padding:8px 0;display:grid}.hybrid-row:last-child{border-bottom:0}.hybrid-row>i{font:10px var(--font-mono);color:var(--coffee);font-style:normal}.hybrid-row>span{font:700 12px var(--font-mono)}.hybrid-row>label{border:1px solid var(--line);background:#fff;align-items:center;display:flex}.hybrid-row input{text-align:right;width:65px;font:700 14px var(--font-mono);border:0;padding:9px 5px}.hybrid-row label b{font-size:10px}.hybrid-row select{border:1px solid var(--line);background:#fff;width:100%;padding:9px 4px;font-weight:700}@media (width<=700px){.hybrid-row{grid-template-columns:22px 1fr 78px 86px;gap:5px}.hybrid-row>span{font-size:10px}.hybrid-row input{width:51px}.timer-cue{font-size:11px!important}}.pour-item p em{color:var(--coffee);font:800 10px var(--font-mono);letter-spacing:.08em;margin-bottom:3px;font-style:normal;display:block}.manual-note{border-left:3px solid var(--coffee);background:var(--card);color:#655a51;margin:12px 0 4px;padding:10px 12px;font-size:12px;line-height:1.6}.manual-progress-label{justify-content:center;align-items:baseline;gap:9px;padding:11px 0;display:flex}.manual-progress-label span{color:#655a51;font-size:13px;font-weight:700}.manual-progress-label b{font:800 30px var(--font-mono);color:var(--coffee)}.manual-progress-label small{color:#75695f;font-size:13px}.manual-stage .target{border-top:1px solid var(--line)}.manual-stage .next-compact.complete b{color:#5e7964}.manual-controls{grid-template-columns:1fr 2fr;gap:8px;margin:14px 0 4px;display:grid}.manual-controls button{border:1px solid var(--ink);background:0 0;border-radius:5px;padding:15px 10px;font-weight:800}.manual-controls button:disabled{opacity:.38;cursor:default}.manual-controls .manual-next{background:var(--coffee);border-color:var(--coffee);color:#fff}.manual-stage .timer-controls{border-top:1px solid var(--line);margin-top:9px}.manual-stage .timer-controls .play{width:62px;height:62px}@media (width<=430px){.quick-timer{padding-inline:12px}.quick-core{grid-template-columns:minmax(0,1fr) 82px}.quick-core>.number-field:first-child{border-right:1px solid var(--line)}.quick-core>.ratio{border-right:0}.quick-core>.number-field:last-child{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:7px 12px}.quick-core>.number-field:last-child>span{text-align:left}.quick-core>.number-field:last-child input{width:72px}.quick-head,.quick-step{grid-template-columns:18px minmax(0,82px) minmax(0,1fr) minmax(0,.85fr) 20px;gap:2px}.quick-step{min-width:0}.quick-step .time-wheel{width:100%;min-width:0}.quick-step .time-wheel select{appearance:none;text-align:center;width:calc(50% - 2px);min-width:0;padding:10px 0;font-size:15px}.quick-step .time-wheel b{text-align:center;flex:0 0 4px}.quick-step label{grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid;overflow:hidden}.quick-step label input{width:100%;min-width:0;padding:10px 1px;font-size:15px}.quick-step label b{padding-left:1px}.quick-step>button{min-width:0;padding:0;font-size:18px}}@media (width<=700px){.brand-hero{gap:22px}.brand-hero h1{letter-spacing:-.07em;line-height:.9}.compact-editor .step-row{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);gap:8px;padding:10px}.compact-editor .step-row>i{grid-row:1;align-self:end;padding-bottom:12px}.compact-editor .step-row .time-wheel{width:100%;min-width:0}.compact-editor .step-row .time-wheel select{appearance:none;text-align:center;width:calc(50% - 3px);min-width:0;padding:11px 0;font-size:15px}.compact-editor .step-row .time-wheel b{text-align:center;flex:0 0 6px}.compact-editor .step-row .pour-input{grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.compact-editor .step-row .pour-input input{width:100%;min-width:0;padding:11px 5px}.compact-editor .step-row .comment input{padding:10px}.compact-editor .step-row>div button{padding:8px 10px}}@media (width<=430px){.brand-hero{gap:18px}.hero-seal{flex:0 0 64px;width:64px;height:64px;font-size:36px}.brand-hero h1{font-size:43px}.brew-detail-meta>span{padding:9px 5px}.brew-detail-meta b{font-size:11px}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.install-hint{border:1px solid var(--line);color:#675c53;background:0 0;border-radius:99px;margin:-62px auto 34px;padding:10px 15px;font-size:12px;display:block}@media (width<=700px){.install-hint{width:calc(100% - 40px);margin:-62px 20px 34px}}
