@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root:not([data-palette=green]){--palette-tone-00:16 13 11;--palette-tone-04:23 18 15;--palette-tone-08:29 23 19;--palette-tone-12:36 27 22;--palette-tone-16:44 33 27;--palette-tone-20:53 40 32;--palette-tone-24:64 48 38;--palette-tone-28:74 55 43;--palette-tone-32:85 63 48;--palette-tone-36:96 71 53;--palette-tone-40:108 78 58;--palette-tone-44:120 88 63;--palette-tone-48:130 98 73;--palette-tone-52:141 109 84;--palette-tone-56:150 120 95;--palette-tone-60:164 137 112;--palette-tone-64:178 153 129;--palette-tone-68:191 166 142;--palette-tone-72:203 181 157;--palette-tone-76:216 195 172;--palette-tone-80:226 206 185;--palette-tone-84:234 221 201;--palette-tone-88:240 227 211;--palette-tone-92:246 236 223;--palette-tone-96:251 245 236;--palette-tone-100:255 253 248}.appearance-panel{margin-bottom:24px;padding:26px}.appearance-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.appearance-heading .eyebrow{margin-bottom:10px}.appearance-heading h2{letter-spacing:-.5px;align-items:center;gap:10px;margin:0 0 10px;font:800 22px Manrope,sans-serif;display:flex}.appearance-heading p{color:rgb(var(--palette-tone-44,105 125 91));margin:0;font-size:13px;line-height:1.6}.palette-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.palette-option{text-align:left;border:1px solid rgb(var(--palette-tone-84,216 226 208));min-width:0;color:inherit;background:0 0;border-radius:18px;padding:18px;transition:border-color .15s,box-shadow .15s}.palette-option[aria-pressed=true]{border-color:rgb(var(--palette-tone-52,115 148 90));box-shadow:0 0 0 1px rgb(var(--palette-tone-52,115 148 90))}.palette-swatch{border-radius:12px;height:70px;margin-bottom:16px;display:flex;overflow:hidden}.palette-swatch i{flex:1}.palette-option[data-option=coffee] .palette-swatch i:first-child{background:#fbf5ec}.palette-option[data-option=coffee] .palette-swatch i:nth-child(2){background:#e2ceb9}.palette-option[data-option=coffee] .palette-swatch i:nth-child(3){background:#96785f}.palette-option[data-option=coffee] .palette-swatch i:nth-child(4){background:#352820}.palette-option[data-option=green] .palette-swatch i:first-child{background:#f7f7f2}.palette-option[data-option=green] .palette-swatch i:nth-child(2){background:#c6e5a6}.palette-option[data-option=green] .palette-swatch i:nth-child(3){background:#789863}.palette-option[data-option=green] .palette-swatch i:nth-child(4){background:#253624}.palette-option-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:14px;display:flex}.palette-check{background:rgb(var(--palette-tone-92,231 239 222));width:24px;height:24px;color:rgb(var(--palette-tone-36,85 119 60));border-radius:50%;flex:none;place-items:center;display:grid}.palette-option small{opacity:.7;font-size:12px;line-height:1.6}:root[data-theme=dark] .palette-option{border-color:rgb(var(--palette-tone-32,70 88 58))}:root[data-theme=dark] .palette-option[aria-pressed=true]{border-color:rgb(var(--palette-tone-68,168 195 146));box-shadow:0 0 0 1px rgb(var(--palette-tone-68,168 195 146))}:root[data-theme=dark] .appearance-heading p{color:rgb(var(--palette-tone-72,167 186 153))}:root[data-theme=dark] .palette-check{background:rgb(var(--palette-tone-24,48 64 38));color:rgb(var(--palette-tone-80,194 219 172))}@media (width<=700px){.appearance-panel{padding:20px}.appearance-heading{flex-direction:column;gap:14px}.palette-options{grid-template-columns:minmax(0,1fr)}}:root:not([data-palette=green]){--palette-ink-32:85 63 48;--palette-ink-36:96 71 53;--palette-ink-40:108 78 58;--palette-ink-44:120 88 63;--palette-ink-48:130 98 73;--palette-ink-52:135 105 79;--palette-ink-56:135 105 79;--palette-ink-60:135 105 79;--palette-ink-64:135 105 79}:root:not([data-palette=green])[data-theme=dark],:root:not([data-palette=green]) .sidebar,:root:not([data-palette=green]) .composer-preview{--palette-ink-32:189 165 142;--palette-ink-36:189 165 142;--palette-ink-40:189 165 142;--palette-ink-44:189 165 142;--palette-ink-48:196 173 151;--palette-ink-52:196 173 151;--palette-ink-56:196 173 151;--palette-ink-60:203 181 159;--palette-ink-64:203 181 159}:root{--page-gutter:54px;color:rgb(var(--palette-tone-16,38 43 37));background:rgb(var(--palette-tone-96,247 247 242));font-synthesis:none;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex}.sidebar{background:rgb(var(--palette-tone-12,25 29 24));width:245px;color:rgb(var(--palette-tone-92,233 236 230));flex-direction:column;flex:0 0 245px;height:100vh;min-height:100vh;padding:37px 18px 25px;display:flex;position:sticky;top:0}.brand{letter-spacing:-1.4px;color:inherit;align-items:center;gap:10px;margin:0 0 58px 15px;font-family:Manrope,sans-serif;font-size:24px;font-weight:800;line-height:1;display:flex}.brand small{letter-spacing:2.2px;color:rgb(var(--palette-ink-56,143 153 141));margin-top:8px;font-family:DM Sans,sans-serif;font-size:8px;font-weight:700;display:block}.brand-mark{background:rgb(var(--palette-tone-76,198 229 166));width:35px;height:35px;color:rgb(var(--palette-tone-16,37 54 36));border-radius:11px;place-items:center;display:grid}.brand-dot,.title-dot{color:rgb(var(--palette-ink-60,152 190 117))}.sidebar nav{gap:5px;display:grid}.nav-link{color:rgb(var(--palette-ink-64,155 164 154));border-radius:10px;align-items:center;gap:15px;padding:13px 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.nav-link:hover{color:#fff;background:rgb(var(--palette-tone-16,37 43 36))}.nav-link.active{background:rgb(var(--palette-tone-20,52 61 48));color:rgb(var(--palette-tone-84,213 239 189))}.sidebar-foot{border-top:1px solid rgb(var(--palette-tone-24,57 64 56));color:rgb(var(--palette-tone-84,214 221 210));margin-top:auto;padding:20px 15px 0;font-size:12px;font-weight:600;line-height:1.7}.sidebar-foot span{color:rgb(var(--palette-ink-56,137 148 136));font-weight:400;display:block}.main-wrap{flex:1;min-width:0}.main-wrap main{max-width:1260px;padding:47px var(--page-gutter) 90px;margin:auto}.mobile-header,.mobile-nav{display:none}.page-head{justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:34px;display:flex}.eyebrow{letter-spacing:2.15px;color:rgb(var(--palette-ink-48,117 147 98));align-items:center;gap:9px;font-size:10px;font-weight:800;display:flex}.eyebrow-line{background:rgb(var(--palette-tone-64,155 189 129));width:18px;height:2px}.page-head h1{letter-spacing:-2.4px;color:rgb(var(--palette-tone-12,28 35 28));margin:11px 0 8px;font:800 clamp(31px,3.2vw,45px)/1.15 Manrope,sans-serif}.page-head p{color:rgb(var(--palette-ink-56,138 145 136));margin:0;font-size:14px}.button{white-space:nowrap;border:0;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:0 17px;font-size:13px;font-weight:700;display:inline-flex}.button.primary{background:rgb(var(--palette-tone-16,38 46 36));color:rgb(var(--palette-tone-96,245 249 241));box-shadow:0 5px 15px rgb(var(--palette-tone-12,27 43 24) / .129412)}.button.primary:hover{background:rgb(var(--palette-tone-28,59 80 53))}.button.quiet{background:rgb(var(--palette-tone-92,238 240 235));color:rgb(var(--palette-ink-36,83 94 80))}.button:disabled{opacity:.55;cursor:wait}.hero{background:rgb(var(--palette-tone-88,231 239 217));border-radius:17px;min-height:268px;display:flex;position:relative;overflow:hidden}.hero-copy{z-index:1;width:62%;padding:37px 43px;position:relative}.hero-kicker{letter-spacing:2px;color:rgb(var(--palette-ink-48,115 147 100));font-size:10px;font-weight:800}.hero h2{letter-spacing:-2px;color:rgb(var(--palette-tone-16,37 52 35));margin:14px 0 11px;font:800 clamp(31px,3vw,43px)/1.18 Manrope,sans-serif}.hero h2 span{color:rgb(var(--palette-ink-60,146 183 116))}.hero p{color:rgb(var(--palette-ink-44,110 125 103));max-width:390px;margin:0 0 18px;font-size:13px;line-height:1.6}.hero-link{color:rgb(var(--palette-tone-24,47 78 45));border-bottom:1px solid rgb(var(--palette-tone-56,140 174 120));align-items:center;gap:7px;padding-bottom:4px;font-size:12px;font-weight:800;display:inline-flex}.hero-illustration{width:330px;height:260px;position:absolute;bottom:0;right:8%}.sun{background:rgb(var(--palette-tone-84,214 229 192));border-radius:50%;width:210px;height:210px;position:absolute;top:12px;left:78px}.cup{background:rgb(var(--palette-tone-96,255 253 242));width:140px;height:108px;box-shadow:inset -12px 0 0 rgb(var(--palette-tone-92,240 238 223)), 0 9px 13px rgb(var(--palette-tone-48,118 138 101) / .2);z-index:2;border-radius:9px 9px 55px 55px;position:absolute;bottom:49px;left:80px;transform:rotate(-2deg)}.cup-coffee{border:5px solid rgb(var(--palette-tone-96,255 253 242));background:#8b5434;border-radius:50%;height:12px;position:absolute;top:-5px;left:7px;right:7px}.cup-handle{border:16px solid rgb(var(--palette-tone-96,255 253 242));border-left:0;border-radius:0 40px 40px 0;width:55px;height:67px;position:absolute;top:12px;right:-44px}.saucer{width:205px;height:18px;box-shadow:0 7px 0 rgb(var(--palette-tone-80,207 221 191));z-index:1;background:#faf6e9;border-radius:50%;position:absolute;bottom:35px;left:47px}.steam{border-left:3px solid rgb(var(--palette-tone-64,160 183 142));z-index:2;opacity:.7;border-radius:50%;width:17px;height:52px;position:absolute;bottom:160px}.steam-one{left:120px;transform:rotate(14deg)}.steam-two{bottom:169px;left:153px;transform:rotate(-8deg)}.steam-three{left:185px;transform:rotate(12deg)}.stats{grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0 26px;display:grid}.stat{background:rgb(var(--palette-tone-100,255 255 255));border:1px solid rgb(var(--palette-tone-92,236 238 232));border-radius:13px;grid-template-rows:auto auto;grid-template-columns:45px 1fr;align-items:center;column-gap:13px;padding:19px 20px;display:grid}.stat-icon{border-radius:12px;grid-row:span 2;place-items:center;width:43px;height:43px;display:grid}.stat-icon.peach{color:#b57553;background:#f8ece5}.stat-icon.lavender{color:#8872a6;background:#efebf7}.stat-icon.sage{background:rgb(var(--palette-tone-92,232 241 227));color:rgb(var(--palette-ink-52,112 149 108))}.stat-value{letter-spacing:-1px;font:800 22px/1 Manrope,sans-serif}.stat-label{color:rgb(var(--palette-ink-60,146 155 144));margin-top:5px;font-size:11px}.dashboard-grid{grid-template-columns:1.25fr 1fr;gap:18px;display:grid}.panel{background:rgb(var(--palette-tone-100,255 255 255));border:1px solid rgb(var(--palette-tone-92,236 238 232));border-radius:14px;min-height:275px;padding:21px 22px}.panel-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:18px;display:flex}.panel-head h2{letter-spacing:-.5px;margin:0 0 5px;font:800 16px Manrope,sans-serif}.panel-head p{color:rgb(var(--palette-ink-60,155 163 153));margin:0;font-size:11px}.text-link{color:rgb(var(--palette-ink-44,101 129 90));white-space:nowrap;align-items:center;gap:3px;font-size:11px;font-weight:700;display:inline-flex}.list{display:grid}.list-row{border-top:1px solid rgb(var(--palette-tone-96,241 242 238));align-items:center;gap:11px;min-width:0;padding:11px 0;display:flex}.row-icon{background:rgb(var(--palette-tone-96,240 243 237));width:36px;height:36px;color:rgb(var(--palette-ink-48,115 141 107));border-radius:10px;flex:0 0 36px;place-items:center;display:grid}.row-icon.attention{color:#bf794e;background:#fff0e5}.row-main{flex:1;min-width:0}.row-main strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;display:block;overflow:hidden}.row-main small{color:rgb(var(--palette-ink-64,160 167 156));white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:10px;display:block;overflow:hidden}.row-end{text-align:right;white-space:nowrap;color:rgb(var(--palette-ink-40,95 105 92));gap:4px;font-size:11px;display:grid}.row-end span,.row-end small{justify-content:flex-end;align-items:center;gap:4px;display:flex}.row-end small{color:rgb(var(--palette-ink-64,164 171 162))}.due-badge{background:rgb(var(--palette-tone-92,238 244 233));color:rgb(var(--palette-ink-44,98 135 93));white-space:nowrap;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:800}.due-badge.overdue{color:#ba7448;background:#fff0e5}.empty{text-align:center;color:rgb(var(--palette-ink-60,154 163 152));margin:auto;padding:30px 5px}.empty-icon{background:rgb(var(--palette-tone-96,240 244 237));width:45px;height:45px;color:rgb(var(--palette-ink-56,135 165 126));border-radius:13px;place-items:center;margin:0 auto 13px;display:grid}.empty strong{color:rgb(var(--palette-ink-32,79 91 77));font-size:13px;display:block}.empty p{max-width:250px;margin:6px auto 0;font-size:11px;line-height:1.5}.insight{background:rgb(var(--palette-tone-20,48 59 44));color:rgb(var(--palette-tone-96,242 247 238));border-radius:13px;justify-content:space-between;align-items:center;margin-top:18px;padding:18px 23px;display:flex}.insight .eyebrow{color:rgb(var(--palette-tone-68,166 198 148));font-size:9px}.insight strong{margin-top:6px;font:700 15px Manrope,sans-serif;display:block}.insight p{color:rgb(var(--palette-tone-72,181 196 173));margin:5px 0 0;font-size:11px}.insight a{background:rgb(var(--palette-tone-32,71 89 67));border-radius:9px;place-items:center;padding:10px;display:grid}.section-intro{color:rgb(var(--palette-ink-60,154 163 153));letter-spacing:1.4px;justify-content:space-between;margin:12px 0 15px;font-size:10px;font-weight:800;display:flex}.section-intro span:last-child{letter-spacing:0;font-size:11px;font-weight:500}.card-grid,.care-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.bean-card,.gear-card,.care-card{background:rgb(var(--palette-tone-100,255 255 255));border:1px solid rgb(var(--palette-tone-92,233 237 230));border-radius:14px;min-width:0;padding:23px}.card-top,.care-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.bean-symbol,.gear-symbol{background:rgb(var(--palette-tone-92,237 242 232));width:52px;height:52px;color:rgb(var(--palette-ink-48,107 141 101));border-radius:14px;place-items:center;display:grid}.gear-symbol{color:#9e806b;background:#f1eee9}.gear-symbol[data-kind=scale]{color:#66879a;background:#eaf1f5}.gear-symbol[data-kind=moka_pot]{color:#b87954;background:#fff0e6}.gear-symbol[data-kind=brewer]{color:rgb(var(--palette-ink-52,139 114 158));background:#f0ebf5}.gear-symbol[data-kind=tool]{background:rgb(var(--palette-tone-92,241 241 229));color:rgb(var(--palette-ink-48,142 141 93))}.delete-button,.icon-button{color:rgb(var(--palette-tone-68,169 175 167));background:0 0;border:0;border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.delete-button:hover,.icon-button:hover{color:#bb7451;background:#fff0e8}.card-kicker{letter-spacing:1.7px;color:rgb(var(--palette-ink-56,135 162 119));text-transform:uppercase;font-size:10px;font-weight:800}.bean-card h2,.gear-card h2,.care-card h2{letter-spacing:-.8px;margin:8px 0 5px;font:800 20px/1.25 Manrope,sans-serif}.bean-origin,.gear-card>p,.care-card>p{color:rgb(var(--palette-ink-56,137 146 135));margin:0;font-size:12px}.flavor{flex-wrap:wrap;gap:6px;margin-top:17px;display:flex}.flavor span{color:rgb(var(--palette-ink-44,125 107 93));background:#f5eee9;border-radius:100px;padding:6px 9px;font-size:10px}.card-divider,.care-divider{background:rgb(var(--palette-tone-92,239 240 236));height:1px;margin:19px 0 15px}.bean-meta{color:rgb(var(--palette-ink-52,127 137 125));flex-wrap:wrap;gap:9px 20px;font-size:11px;display:flex}.bean-meta span:first-child{align-items:center;gap:5px;display:flex}.card-note{color:rgb(var(--palette-ink-56,141 150 137));font-size:11px;line-height:1.5;margin:15px 0 0!important}.wide-empty{background:rgb(var(--palette-tone-100,255 255 255));border:1px dashed rgb(var(--palette-tone-88,220 228 216));border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:280px;display:flex}.wide-empty .empty{margin:0}.wide-empty .button{margin-top:12px}.shot-list{gap:13px;display:grid}.shot-card{background:rgb(var(--palette-tone-100,255 255 255));border:1px solid rgb(var(--palette-tone-92,233 237 230));border-radius:13px;gap:18px;padding:20px;display:flex}.shot-icon{background:rgb(var(--palette-tone-92,236 241 232));width:50px;height:50px;color:rgb(var(--palette-ink-48,110 140 101));border-radius:13px;flex:0 0 50px;place-items:center;display:grid}.shot-content{flex:1;min-width:0}.shot-title{justify-content:space-between;gap:10px;display:flex}.shot-title h2{letter-spacing:-.6px;margin:6px 0 14px;font:800 17px Manrope,sans-serif}.shot-metrics{color:rgb(var(--palette-ink-44,104 117 101));flex-wrap:wrap;align-items:center;gap:15px;display:flex}.shot-metrics>span{align-items:center;gap:4px;font-size:11px;display:inline-flex}.shot-metrics>span:first-child,.shot-metrics>span:nth-child(3){gap:1px;display:grid}.shot-metrics b{color:rgb(var(--palette-tone-16,36 45 34));font:800 18px Manrope,sans-serif}.shot-metrics small{letter-spacing:1.2px;color:rgb(var(--palette-ink-64,161 169 157));font-size:9px;font-weight:800}.shot-metrics .metric-arrow{color:rgb(var(--palette-tone-72,180 196 174));font-size:20px}.shot-foot{color:rgb(var(--palette-ink-56,140 150 136));margin-top:15px;font-size:11px}.shot-note{color:rgb(var(--palette-ink-48,118 127 115));margin:8px 0 0;font-size:11px}.care-icon{background:rgb(var(--palette-tone-92,234 243 230));width:48px;height:48px;color:rgb(var(--palette-ink-48,107 149 101));border-radius:13px;place-items:center;display:grid}.care-icon.deep{color:#ad886a;background:#f3eee8}.care-card-top{margin-bottom:17px}.care-detail,.gear-meta{justify-content:space-between;gap:10px;margin-top:10px;font-size:11px;display:flex}.care-detail span,.gear-meta span{color:rgb(var(--palette-ink-64,156 165 154))}.care-detail strong,.gear-meta strong{font-weight:700}.schedule-button{color:rgb(var(--palette-ink-44,98 137 90));background:0 0;border:0;padding:0;font-size:11px;font-weight:700}.schedule-button:hover{text-decoration:underline}.care-history-title{margin-top:34px}.history-list{background:rgb(var(--palette-tone-100,255 255 255));border:1px solid rgb(var(--palette-tone-92,233 237 230));border-radius:13px;padding:0 18px}.history-row{border-bottom:1px solid rgb(var(--palette-tone-96,240 242 238));align-items:center;gap:12px;padding:13px 0;display:flex}.history-row:last-child{border-bottom:0}.history-date{color:rgb(var(--palette-ink-56,141 151 138));white-space:nowrap;font-size:11px}.modal-backdrop{z-index:20;background:rgb(var(--palette-tone-08,16 23 16) / .658824);justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal{background:rgb(var(--palette-tone-100,255 255 255));width:min(100%,590px);max-height:min(92vh,820px);box-shadow:0 25px 80px rgb(var(--palette-tone-04,6 16 6) / .333333);border-radius:17px;overflow:auto}.modal-head{border-bottom:1px solid rgb(var(--palette-tone-92,239 240 236));justify-content:space-between;gap:15px;padding:24px 26px 19px;display:flex}.modal-head h2{letter-spacing:-.7px;margin:0;font:800 21px Manrope,sans-serif}.modal-head p{color:rgb(var(--palette-ink-60,146 156 144));margin:5px 0 0;font-size:12px}.form-body{gap:16px;padding:23px 26px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.field{gap:7px;min-width:0;display:grid}.field>span{color:rgb(var(--palette-ink-36,92 103 89));font-size:11px;font-weight:700}.field input,.field select,.field textarea{border:1px solid rgb(var(--palette-tone-88,223 229 220));background:rgb(var(--palette-tone-96,250 251 248));width:100%;min-height:41px;color:rgb(var(--palette-tone-16,41 49 40));border-radius:8px;outline:0;padding:9px 11px;font-size:12px}.field textarea{resize:vertical}.field input[type=date]{text-align:left;appearance:none;min-width:0;height:48px;padding:10px 12px;line-height:normal;display:block}.field input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.25em;margin:0}.field input[type=date]::-webkit-datetime-edit{padding:0}.field input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}.composer-page input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.composer-page input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgb(var(--palette-tone-56,136 168 121));box-shadow:0 0 0 3px rgb(var(--palette-tone-72,172 202 167) / .172549)}.field input::placeholder,.field textarea::placeholder{color:rgb(var(--palette-tone-72,176 185 172))}.field .select-trigger{border:1px solid rgb(var(--palette-tone-88,223 229 220));background:linear-gradient(145deg, rgb(var(--palette-tone-100,255 255 255)), rgb(var(--palette-tone-96,245 248 242)));width:100%;min-height:41px;color:rgb(var(--palette-tone-16,41 49 40));text-align:left;box-shadow:0 1px 2px rgb(var(--palette-tone-16,38 59 27) / .039216);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-size:12px;display:flex}.select-trigger>span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.select-trigger [data-radix-select-icon]{color:rgb(var(--palette-ink-48,113 133 105));flex:none}.field .select-trigger:hover{border-color:rgb(var(--palette-tone-76,184 203 176))}.field .select-trigger:focus-visible{outline:3px solid rgb(var(--palette-tone-72,172 202 167) / .419608);outline-offset:2px}.field .select-trigger[data-disabled]{opacity:.6;cursor:not-allowed}.select-content{z-index:60;width:var(--radix-select-trigger-width);max-height:min(320px, var(--radix-select-content-available-height));border:1px solid rgb(var(--palette-tone-88,220 231 215));background:rgb(var(--palette-tone-100,251 253 249) / .94902);box-shadow:0 18px 50px rgb(var(--palette-tone-12,27 45 25) / .188235), inset 0 1px rgb(var(--palette-tone-100,255 255 255) / .721569);-webkit-backdrop-filter:blur(22px)saturate(1.4);border-radius:16px;animation:.13s ease-out select-in;overflow:hidden}.select-viewport{padding:6px}.select-item{min-height:39px;color:rgb(var(--palette-tone-24,50 67 47));cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;outline:none;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:12px;display:flex}.select-item[data-highlighted]{background:rgb(var(--palette-tone-92,234 242 229))}.select-item[data-state=checked]{color:rgb(var(--palette-tone-28,50 92 43));font-weight:700}.select-item [data-radix-select-item-indicator]{color:rgb(var(--palette-ink-40,82 132 71))}@keyframes select-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.form-error{color:#ab4f42;background:#fff2ed;border-radius:7px;margin:0 26px 14px;padding:10px;font-size:12px}.modal-actions{border-top:1px solid rgb(var(--palette-tone-92,239 240 236));justify-content:flex-end;gap:9px;padding:17px 26px;display:flex}@media (width<=980px){:root{--page-gutter:30px}.sidebar{flex-basis:210px;width:210px}.main-wrap main{padding:36px var(--page-gutter) 75px}.hero-illustration{right:0}.dashboard-grid{grid-template-columns:1fr}}@media (width<=700px){:root{--page-gutter:18px}.sidebar{display:none}.app-shell{display:block}.mobile-header{height:62px;padding:0 max(var(--page-gutter), env(safe-area-inset-right)) 0 max(var(--page-gutter), env(safe-area-inset-left));background:rgb(var(--palette-tone-96,247 247 242));border-bottom:1px solid rgb(var(--palette-tone-92,232 236 228));align-items:center;gap:12px;display:flex}.mobile-header .brand{margin:0;font-size:21px}.mobile-header .brand-mark{width:31px;height:31px}.mobile-header-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.mobile-header-actions>button{flex:none;justify-content:center;width:44px;height:44px}.header-caption{letter-spacing:1.4px;color:rgb(var(--palette-tone-68,166 175 162));font-size:9px;font-weight:800}.main-wrap main{padding:24px max(var(--page-gutter), env(safe-area-inset-right)) calc(112px + env(safe-area-inset-bottom)) max(var(--page-gutter), env(safe-area-inset-left))}.mobile-nav{z-index:10;bottom:calc(10px + env(safe-area-inset-bottom));left:max(var(--page-gutter), env(safe-area-inset-left));right:max(var(--page-gutter), env(safe-area-inset-right));border:1px solid rgb(var(--palette-tone-100,255 255 255) / .658824);background:rgb(var(--palette-tone-96,247 250 242) / .780392);box-shadow:0 14px 40px rgb(var(--palette-tone-16,32 50 27) / .172549), inset 0 1px rgb(var(--palette-tone-100,255 255 255) / .862745);-webkit-backdrop-filter:blur(28px)saturate(1.75);border-radius:25px;gap:2px;padding:6px;display:flex;position:fixed}.mobile-link{min-width:0;min-height:56px;color:rgb(var(--palette-ink-48,114 128 109));letter-spacing:-.15px;border:1px solid #0000;border-radius:19px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:9px;font-weight:700;transition:background .16s,color .16s,transform .16s;display:flex}.mobile-link svg{width:20px;height:20px}.mobile-link:active{transform:scale(.94)}.mobile-link:focus-visible{outline:2px solid rgb(var(--palette-tone-40,78 132 69));outline-offset:2px}.mobile-link.active{color:rgb(var(--palette-tone-20,37 75 37));border-color:rgb(var(--palette-tone-100,255 255 255) / .721569);background:linear-gradient(145deg, rgb(var(--palette-tone-100,255 255 255) / .870588), rgb(var(--palette-tone-88,220 235 207) / .788235));box-shadow:0 3px 12px rgb(var(--palette-tone-28,58 90 43) / .145098), inset 0 1px rgb(var(--palette-tone-100,255 255 255))}.page-head{align-items:flex-start;margin-bottom:24px}.page-head h1{letter-spacing:-1.5px;font-size:30px}.page-head p{font-size:12px;line-height:1.5}.page-head>.button{padding:0 10px;font-size:11px}.hero{min-height:232px}.hero-copy{width:75%;padding:27px}.hero h2{font-size:28px}.hero p{max-width:200px;font-size:11px}.hero-illustration{transform-origin:100% 100%;right:-24px;transform:scale(.65)}.stats{gap:7px;margin:12px 0 15px}.stat{grid-template-columns:1fr;gap:7px;padding:11px 9px}.stat-icon{border-radius:8px;grid-row:auto;width:30px;height:30px}.stat-icon svg{width:16px}.stat-value{font-size:18px}.stat-label{font-size:9px}.card-grid,.care-grid{grid-template-columns:1fr}.panel{min-height:0}.shot-card{gap:11px;padding:14px}.shot-icon{flex-basis:36px;width:36px;height:36px}.shot-metrics{gap:10px}.form-grid{grid-template-columns:1fr 1fr}.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:18px 18px 0 0;width:100%;max-height:94vh}.modal-head,.form-body,.modal-actions{padding-left:19px;padding-right:19px}}@media (width<=420px){.page-head{flex-wrap:wrap}.page-head>.button{margin-top:0}.hero-copy{width:85%}.hero-illustration{opacity:.6}.form-grid{grid-template-columns:1fr}.shot-metrics{gap:8px}.history-date{display:none}}.theme-toggle{color:rgb(var(--palette-tone-68,170 184 165));text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;margin-top:10px;padding:13px 16px;font-size:13px;font-weight:600;display:flex}.theme-toggle:hover{background:rgb(var(--palette-tone-20,48 59 44));color:rgb(var(--palette-tone-92,229 242 223))}.mobile-header .theme-toggle{color:rgb(var(--palette-ink-36,83 99 79));margin:0;padding:7px}.mobile-header .theme-toggle span{display:none}:root[data-theme=dark]{color:rgb(var(--palette-tone-92,230 237 226));background:rgb(var(--palette-tone-08,21 26 22));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] body,:root[data-theme=dark] .mobile-header{background:rgb(var(--palette-tone-08,21 26 22))}:root[data-theme=dark] .page-head h1,:root[data-theme=dark] .stat-value,:root[data-theme=dark] .shot-metrics b{color:rgb(var(--palette-tone-92,238 243 233))}:root[data-theme=dark] .page-head p,:root[data-theme=dark] .section-intro,:root[data-theme=dark] .bean-origin,:root[data-theme=dark] .gear-card>p,:root[data-theme=dark] .care-card>p{color:rgb(var(--palette-ink-64,157 169 155))}:root[data-theme=dark] .panel,:root[data-theme=dark] .stat,:root[data-theme=dark] .bean-card,:root[data-theme=dark] .gear-card,:root[data-theme=dark] .care-card,:root[data-theme=dark] .shot-card,:root[data-theme=dark] .history-list,:root[data-theme=dark] .wide-empty,:root[data-theme=dark] .mobile-nav,:root[data-theme=dark] .modal{background:rgb(var(--palette-tone-16,32 40 32));border-color:rgb(var(--palette-tone-24,53 64 52))}:root[data-theme=dark] .hero{background:rgb(var(--palette-tone-20,45 59 43))}:root[data-theme=dark] .hero h2{color:rgb(var(--palette-tone-92,231 241 221))}:root[data-theme=dark] .hero p{color:rgb(var(--palette-tone-72,179 197 171))}:root[data-theme=dark] .hero-kicker,:root[data-theme=dark] .hero-link{color:rgb(var(--palette-tone-72,184 211 159))}:root[data-theme=dark] .list-row,:root[data-theme=dark] .history-row,:root[data-theme=dark] .card-divider,:root[data-theme=dark] .care-divider,:root[data-theme=dark] .modal-head,:root[data-theme=dark] .modal-actions{border-color:rgb(var(--palette-tone-24,52 64 50));background-color:#0000}:root[data-theme=dark] .card-divider,:root[data-theme=dark] .care-divider{background:rgb(var(--palette-tone-24,52 64 50))}:root[data-theme=dark] .row-icon,:root[data-theme=dark] .bean-symbol,:root[data-theme=dark] .care-icon,:root[data-theme=dark] .empty-icon,:root[data-theme=dark] .stat-icon.sage{background:rgb(var(--palette-tone-24,53 70 50));color:rgb(var(--palette-tone-76,190 216 174))}:root[data-theme=dark] .gear-symbol,:root[data-theme=dark] .care-icon.deep,:root[data-theme=dark] .stat-icon.peach{background:rgb(var(--palette-tone-24,70 60 50));color:#dfb99d}:root[data-theme=dark] .gear-symbol[data-kind=scale]{color:#aecddd;background:#30414b}:root[data-theme=dark] .gear-symbol[data-kind=moka_pot]{color:#edba9b;background:#4a392f}:root[data-theme=dark] .gear-symbol[data-kind=brewer]{background:rgb(var(--palette-tone-24,64 56 75));color:#d2bde2}:root[data-theme=dark] .gear-symbol[data-kind=tool]{background:rgb(var(--palette-tone-24,65 67 48));color:rgb(var(--palette-tone-76,214 216 165))}:root[data-theme=dark] .stat-icon.lavender{background:rgb(var(--palette-tone-24,60 54 71));color:#c2b2d5}:root[data-theme=dark] .field>span,:root[data-theme=dark] .row-main strong,:root[data-theme=dark] .empty strong{color:rgb(var(--palette-tone-88,220 231 216))}:root[data-theme=dark] .field input,:root[data-theme=dark] .field select,:root[data-theme=dark] .field textarea{background:rgb(var(--palette-tone-12,23 32 24));border-color:rgb(var(--palette-tone-28,67 81 63));color:rgb(var(--palette-tone-92,236 244 233))}:root[data-theme=dark] .field .select-trigger{background:linear-gradient(145deg, rgb(var(--palette-tone-16,37 49 40)), rgb(var(--palette-tone-12,26 37 29)));border-color:rgb(var(--palette-tone-28,67 81 63));color:rgb(var(--palette-tone-92,236 244 233))}:root[data-theme=dark] .select-content{background:rgb(var(--palette-tone-12,29 42 32) / .929412);border-color:rgb(var(--palette-tone-36,82 101 76));box-shadow:0 18px 50px rgb(var(--palette-tone-04,5 11 8) / .658824), inset 0 1px rgb(var(--palette-tone-100,255 255 255) / .109804)}:root[data-theme=dark] .select-item{color:rgb(var(--palette-tone-92,228 238 225))}:root[data-theme=dark] .select-item[data-highlighted]{background:rgb(var(--palette-tone-28,56 81 57))}:root[data-theme=dark] .select-item[data-state=checked]{color:rgb(var(--palette-tone-80,188 233 168))}:root[data-theme=dark] .button.primary{background:rgb(var(--palette-tone-68,168 207 144));color:rgb(var(--palette-tone-12,23 36 20))}:root[data-theme=dark] .button.quiet{background:rgb(var(--palette-tone-24,51 64 49));color:rgb(var(--palette-tone-88,220 231 216))}:root[data-theme=dark] .insight{background:rgb(var(--palette-tone-24,52 69 47))}:root[data-theme=dark] .mobile-header,:root[data-theme=dark] .mobile-nav{border-color:rgb(var(--palette-tone-24,53 64 52))}.shot-metrics .ratio{color:rgb(var(--palette-ink-44,92 134 85));background:rgb(var(--palette-tone-92,236 243 233));border-radius:6px;padding:5px 8px;font-weight:800}:root[data-theme=dark] .shot-metrics .ratio{background:rgb(var(--palette-tone-24,53 75 50));color:rgb(var(--palette-tone-76,181 216 165))}.recipe-card{background:rgb(var(--palette-tone-100,255 255 255));border:1px solid rgb(var(--palette-tone-92,233 237 230));border-radius:14px;min-width:0;padding:23px}.recipe-symbol{width:52px;height:52px;color:rgb(var(--palette-ink-52,130 114 160));background:#eceaf3;border-radius:14px;place-items:center;display:grid}.recipe-card h2{letter-spacing:-.7px;margin:8px 0 19px;font:800 20px Manrope,sans-serif}.recipe-ratio{background:rgb(var(--palette-tone-96,245 247 242));border-radius:9px;align-items:center;gap:17px;padding:13px 15px;display:flex}.recipe-ratio span{display:grid}.recipe-ratio b{font:800 18px Manrope,sans-serif}.recipe-ratio small{letter-spacing:1px;color:rgb(var(--palette-ink-60,154 165 150));font-size:9px;font-style:normal}.recipe-ratio i{color:rgb(var(--palette-tone-68,164 180 157));font-style:normal}.recipe-ratio em{color:rgb(var(--palette-ink-44,100 134 91));margin-left:auto;font-size:11px;font-style:normal;font-weight:800}.recipe-details{color:rgb(var(--palette-ink-56,136 150 133));flex-wrap:wrap;gap:15px;margin:16px 0;font-size:11px;display:flex}.recipe-details span{align-items:center;gap:4px;display:flex}.recipe-action{color:rgb(var(--palette-ink-40,86 123 78));border-top:1px solid rgb(var(--palette-tone-92,239 240 236));justify-content:space-between;align-items:center;margin-top:15px;padding-top:16px;font-size:12px;font-weight:800;display:flex}:root[data-theme=dark] .recipe-card{background:rgb(var(--palette-tone-16,32 40 32));border-color:rgb(var(--palette-tone-24,53 64 52))}:root[data-theme=dark] .recipe-ratio{background:rgb(var(--palette-tone-12,23 32 24))}:root[data-theme=dark] .recipe-symbol{background:rgb(var(--palette-tone-24,57 52 71));color:#b5a8cc}:root[data-theme=dark] .recipe-action{border-color:rgb(var(--palette-tone-24,52 64 50))}.record-actions{align-items:center;gap:2px;display:flex}.record-actions .delete-button:first-child:hover{background:rgb(var(--palette-tone-92,237 243 233));color:rgb(var(--palette-ink-40,89 124 80))}.composer-page{max-width:1120px;margin:0 auto}.shot-station-status,.shot-save-hint{display:none}.composer-back{color:rgb(var(--palette-ink-48,119 144 108));align-items:center;gap:8px;margin-bottom:25px;font-size:12px;font-weight:700;display:inline-flex}.composer-back:hover{color:rgb(var(--palette-tone-28,53 88 48))}.composer-heading{margin-bottom:24px}.composer-heading h1{letter-spacing:-2.3px;margin:10px 0 8px;font:800 clamp(32px,3.6vw,48px)/1.12 Manrope,sans-serif}.composer-heading p{color:rgb(var(--palette-ink-56,141 152 137));margin:0;font-size:13px}.composer-steps{align-items:center;gap:8px;margin-bottom:20px;display:flex}.composer-steps button{border:1px solid rgb(var(--palette-tone-88,220 229 215));background:rgb(var(--palette-tone-92,237 242 233));color:rgb(var(--palette-ink-48,118 138 112));border-radius:100px;align-items:center;gap:8px;padding:8px 14px 8px 8px;font-size:11px;font-weight:800;display:flex}.composer-steps button span{background:rgb(var(--palette-tone-88,220 233 214));border-radius:50%;place-items:center;width:21px;height:21px;font-size:10px;display:grid}.composer-steps button.selected{background:rgb(var(--palette-tone-20,39 58 37));color:rgb(var(--palette-tone-92,234 246 228));border-color:rgb(var(--palette-tone-20,39 58 37))}.composer-steps button.selected span{background:rgb(var(--palette-tone-68,169 206 145));color:rgb(var(--palette-tone-16,33 58 29))}.composer-layout{grid-template-columns:minmax(0,1.25fr) minmax(285px,.75fr);align-items:start;gap:20px;display:grid}.composer-layout>*{min-width:0}.composer-main{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.composer-section{background:rgb(var(--palette-tone-100,255 255 255));border:1px solid rgb(var(--palette-tone-92,233 238 230));border-radius:16px;min-width:0;padding:27px;scroll-margin-top:80px}.composer-section[data-active=true]{border-color:rgb(var(--palette-tone-76,182 205 176));box-shadow:0 8px 30px rgb(var(--palette-tone-28,66 94 41) / .062745)}.composer-section-heading{align-items:center;gap:12px;margin-bottom:25px;display:flex}.composer-section-heading .step-icon{background:rgb(var(--palette-tone-92,234 242 230));width:42px;height:42px;color:rgb(var(--palette-ink-48,110 147 102));border-radius:12px;place-items:center;display:grid}.composer-section-heading span:not(.step-icon){letter-spacing:1.6px;color:rgb(var(--palette-ink-56,132 161 121));font-size:9px;font-weight:800}.composer-section-heading h2{letter-spacing:-.6px;margin:5px 0 0;font:800 18px Manrope,sans-serif}.choice-field{border:0;min-width:0;margin:20px 0 0;padding:0}.choice-field legend{color:rgb(var(--palette-ink-36,89 109 84));padding:0;font-size:12px;font-weight:800}.choice-hint{color:rgb(var(--palette-ink-60,147 161 141));margin:4px 0 0;font-size:11px}.choice-rail{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:rgb(var(--palette-tone-80,200 213 195)) transparent;gap:10px;min-width:0;max-width:100%;padding:9px 2px 12px;display:flex;overflow-x:auto}.choice-card{scroll-snap-align:start;border:1px solid rgb(var(--palette-tone-88,223 233 219));background:linear-gradient(155deg, rgb(var(--palette-tone-100,255 255 255)), rgb(var(--palette-tone-96,247 250 245)));min-width:0;min-height:146px;box-shadow:0 3px 12px rgb(var(--palette-tone-16,34 53 27) / .043137);cursor:pointer;border-radius:16px;flex-direction:column;flex:0 0 170px;align-items:flex-start;padding:13px;transition:border-color .16s,background .16s,transform .16s,box-shadow .16s;display:flex;position:relative}.choice-card:hover{border-color:rgb(var(--palette-tone-72,170 201 156));transform:translateY(-2px)}.choice-card[data-selected=true]{border-color:rgb(var(--palette-tone-60,141 187 121));background:linear-gradient(155deg, rgb(var(--palette-tone-96,248 255 244)), rgb(var(--palette-tone-92,234 245 227)));box-shadow:0 5px 20px rgb(var(--palette-tone-48,107 153 90) / .129412), inset 0 1px rgb(var(--palette-tone-100,255 255 255))}.choice-card:has(input:focus-visible){outline:3px solid rgb(var(--palette-tone-60,143 191 122));outline-offset:2px}.choice-card input{opacity:0;width:1px;height:1px;position:absolute}.choice-card-top{justify-content:space-between;align-items:flex-start;width:100%;margin-bottom:12px;display:flex}.choice-card-icon{background:rgb(var(--palette-tone-92,232 240 227));width:39px;height:39px;color:rgb(var(--palette-ink-44,104 141 92));border-radius:12px;place-items:center;display:grid}.choice-card[data-selected=true] .choice-card-icon{background:rgb(var(--palette-tone-80,204 231 187));color:rgb(var(--palette-tone-28,47 97 51))}.choice-card-check{background:rgb(var(--palette-tone-44,91 150 80));width:21px;height:21px;color:rgb(var(--palette-tone-100,255 255 255));opacity:0;border-radius:50%;place-items:center;transition:opacity .16s,transform .16s;display:grid;transform:scale(.7)}.choice-card[data-selected=true] .choice-card-check{opacity:1;transform:scale(1)}.choice-card-eyebrow{max-width:100%;color:rgb(var(--palette-ink-56,131 160 121));letter-spacing:1.1px;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:800;overflow:hidden}.choice-card strong{max-width:100%;color:rgb(var(--palette-tone-20,46 61 43));text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font:800 13px/1.25 Manrope,sans-serif;overflow:hidden}.choice-card small{max-width:100%;color:rgb(var(--palette-ink-56,138 152 133));text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:10px;line-height:1.3;overflow:hidden}.composer-date{max-width:230px;margin-top:15px}.composer-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.composer-section>.field{margin-top:17px}.composer-section .field>span{color:rgb(var(--palette-ink-44,104 120 99));font-size:11px}.composer-section .field input,.composer-section .field select,.composer-section .field textarea{background:rgb(var(--palette-tone-100,251 252 249));border-radius:9px;min-height:45px;font-size:12px}.composer-section .field .select-trigger{min-height:45px}.composer-hint{color:rgb(var(--palette-ink-56,138 157 130));background:rgb(var(--palette-tone-96,245 248 242));border-radius:8px;margin:19px 0 0;padding:11px 13px;font-size:11px}.brew-pair{background:rgb(var(--palette-tone-92,237 244 233));border-radius:12px;align-items:center;gap:14px;margin-bottom:23px;padding:18px;display:flex}.brew-timer{border:1px solid rgb(var(--palette-tone-80,207 220 198));background:rgb(var(--palette-tone-96,241 247 236));border-radius:16px;margin:20px 0;padding:20px}.brew-timer-heading{color:rgb(var(--palette-ink-44,105 131 94));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}.brew-timer-heading>span:first-child{letter-spacing:1.4px;font-weight:800}.brew-timer-clock{color:rgb(var(--palette-tone-20,43 69 39));font-variant-numeric:tabular-nums;text-align:center;letter-spacing:-2px;margin:16px 0;font:800 clamp(44px,5vw,64px)/1.1 Manrope,sans-serif}.brew-timer-clock>span{color:rgb(var(--palette-ink-56,139 166 126))}.brew-timer-clock small{letter-spacing:0;font-size:.48em}.brew-timer-actions{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8px;display:grid}.brew-timer-actions .button{gap:6px;min-width:0;min-height:54px;padding:0 10px}.brew-timer-actions svg{flex:none}.brew-timer .button:disabled{opacity:.45;cursor:default}.brew-timer p{color:rgb(var(--palette-ink-48,115 135 107));margin:12px 0 0;font-size:11px;line-height:1.5}.brew-timer[data-running=true]{border-color:rgb(var(--palette-tone-56,134 174 115));box-shadow:0 0 0 3px rgb(var(--palette-tone-64,155 199 133) / .12549)}.extraction-readings{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.extraction-reading{border:1px solid rgb(var(--palette-tone-88,223 231 218));background:rgb(var(--palette-tone-96,247 250 244));border-radius:12px;min-width:0;padding:14px}.extraction-reading>span{color:rgb(var(--palette-ink-44,105 131 94));align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.extraction-reading>span svg{flex:none}.extraction-reading>div{align-items:baseline;gap:8px;display:flex}.extraction-reading input{width:100%;min-width:0;min-height:60px;color:rgb(var(--palette-tone-20,43 69 39));background:0 0;border:0;padding:8px 0;font:800 28px Manrope,sans-serif}.extraction-reading input::placeholder{color:rgb(var(--palette-ink-64,160 179 151))}.extraction-reading input:focus-visible{outline:2px solid rgb(var(--palette-tone-56,131 166 113));outline-offset:3px;border-radius:4px}.extraction-reading b{color:rgb(var(--palette-ink-52,123 148 111));font-size:13px}.brew-pair label{flex:1;min-width:0}.brew-pair label>span{color:rgb(var(--palette-ink-48,116 145 108));letter-spacing:1px;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:800;display:block}.brew-pair label>div{align-items:baseline;display:flex}.brew-pair input{width:100%;min-width:0;color:rgb(var(--palette-tone-20,38 59 36));letter-spacing:-2px;background:0 0;border:0;outline:0;font:800 35px Manrope,sans-serif}.brew-pair b{color:rgb(var(--palette-ink-44,101 134 90));font-size:14px}.brew-pair-arrow{color:rgb(var(--palette-ink-56,134 162 122));place-items:center;display:grid}.rating-label{font-size:12px;font-weight:800}.rating-label small{color:rgb(var(--palette-ink-64,160 172 155));margin-left:8px;font-size:10px;font-weight:400}.rating-picker{gap:7px;margin:13px 0 20px;display:flex}.rating-picker button{background:rgb(var(--palette-tone-96,241 244 239));color:rgb(var(--palette-tone-80,201 208 197));border:0;border-radius:9px;width:44px;height:44px;font-size:31px;line-height:1}.rating-picker button.on{color:#d5a55d;background:#fff5e5}.composer-footer{justify-content:space-between;gap:12px;padding:4px 0 18px;display:flex}.composer-footer .button{min-height:48px;padding:0 21px}.composer-preview{background:rgb(var(--palette-tone-16,36 52 33));color:rgb(var(--palette-tone-92,237 245 231));border-radius:17px;padding:26px 27px;position:sticky;top:26px;overflow:hidden}.preview-eyebrow{color:rgb(var(--palette-tone-68,167 206 147));letter-spacing:1.8px;align-items:center;gap:8px;font-size:9px;font-weight:800;display:flex}.preview-live{background:rgb(var(--palette-tone-68,165 216 129));width:7px;height:7px;box-shadow:0 0 0 4px rgb(var(--palette-tone-68,165 216 129) / .129412);border-radius:50%}.composer-preview h2{letter-spacing:-.9px;margin:18px 0 5px;font:800 23px/1.2 Manrope,sans-serif}.composer-preview p{color:rgb(var(--palette-tone-72,176 195 169));margin:0;font-size:11px}.preview-cup-wrap{height:195px;margin:19px auto;position:relative}.preview-cup{background:rgb(var(--palette-tone-88,231 239 220));z-index:2;border-radius:5px 5px 44px 44px;width:130px;height:110px;position:absolute;bottom:34px;left:50%;overflow:hidden;transform:translate(-50%)}.preview-fill{background:linear-gradient(#aa7045,#7d4a29);transition:height .3s;position:absolute;bottom:0;left:0;right:0}.preview-handle{border:12px solid rgb(var(--palette-tone-88,231 239 220));border-left:0;border-radius:0 35px 35px 0;width:48px;height:55px;position:absolute;bottom:65px;left:calc(50% + 53px)}.preview-saucer{background:rgb(var(--palette-tone-84,209 223 199));border-radius:50%;width:190px;height:14px;position:absolute;bottom:21px;left:50%;transform:translate(-50%)}.preview-steam{color:rgb(var(--palette-tone-68,165 191 153));width:30px;height:40px;position:absolute;top:0;left:50%;transform:translate(-50%)}.preview-ratio{text-align:center;background:rgb(var(--palette-tone-24,52 74 48));border-radius:12px;padding:15px;display:grid}.preview-ratio small{letter-spacing:1.5px;color:rgb(var(--palette-tone-72,176 201 165));font-size:9px;font-weight:800}.preview-ratio strong{letter-spacing:-1px;font:800 33px Manrope,sans-serif}.preview-ratio span{color:rgb(var(--palette-tone-76,183 203 176));font-size:11px}.preview-setup{text-align:center;gap:4px;margin-top:13px;padding:0 2px;display:grid}.preview-setup span{color:rgb(var(--palette-tone-68,168 201 155));letter-spacing:1.3px;font-size:9px;font-weight:800}.preview-setup strong{color:rgb(var(--palette-tone-92,229 241 223));font-size:11px;line-height:1.4}.preview-setup small{color:rgb(var(--palette-tone-72,173 198 164));font-size:10px}.preview-metrics{color:rgb(var(--palette-tone-80,196 214 187));justify-content:space-between;gap:7px;margin-top:17px;font-size:11px;display:flex}.preview-metrics span{align-items:center;gap:5px;display:flex}.price-pair{grid-template-columns:1.1fr .9fr;gap:8px;display:grid}.flavor-preview{margin-top:21px}.flavor-preview>span{letter-spacing:1.5px;color:rgb(var(--palette-ink-56,135 166 125));font-size:9px;font-weight:800}.flavor-preview>div{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.flavor-preview b{color:#8f715a;background:#f4eee7;border-radius:100px;padding:7px 10px;font-size:10px;font-weight:600}.bean-preview{text-align:center;background:#463c2e}.bean-preview .preview-eyebrow{color:#e2cba9;justify-content:center}.preview-bag{background:linear-gradient(100deg,#d6bb89,#ead7a9 28%,#e7d09a 78%,#c9a979);border-radius:12px 12px 23px 23px;width:178px;height:235px;margin:27px auto 20px;padding:43px 14px 17px;transition:transform .2s;position:relative;transform:rotate(-4deg);box-shadow:8px 12px 24px #21180f4d}.preview-bag:hover{transform:rotate(0)translateY(-3px)}.bag-fold{background:#bba073;border-bottom:2px solid #a98e61;border-radius:12px 12px 3px 3px;height:26px;position:absolute;top:0;left:0;right:0}.bag-label{height:100%;color:rgb(var(--palette-tone-24,68 57 47));background:#f7f2e4;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:12px;display:flex}.bag-label svg{color:rgb(var(--palette-ink-56,145 168 117))}.bag-label small{letter-spacing:1px;margin-top:12px;font-size:8px;font-weight:800}.bag-label strong{word-break:break-word;max-height:55px;margin-top:6px;font:800 18px/1.15 Manrope,sans-serif;overflow:hidden}.bag-label span{color:rgb(var(--palette-ink-48,139 129 110));margin-top:9px;font-size:9px}.bean-preview h2{margin-top:0}.bean-preview p{color:#d0bd9f}.preview-flavors{flex-wrap:wrap;justify-content:center;gap:5px;margin-top:13px;display:flex}.preview-flavors span{color:#e6d7bf;background:#5b4b37;border-radius:100px;padding:6px 8px;font-size:9px}.bean-preview-facts{text-align:left;border-top:1px solid #6b5a42;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:19px;padding-top:18px;display:grid}.bean-preview-facts div{gap:5px;display:grid}.bean-preview-facts small{letter-spacing:1px;color:#baa98e;font-size:8px;font-weight:800}.bean-preview-facts strong{color:#f4e5ce;font-size:11px}:root[data-theme=dark] .composer-section{background:rgb(var(--palette-tone-16,32 40 32));border-color:rgb(var(--palette-tone-24,53 64 52))}:root[data-theme=dark] .choice-field legend,:root[data-theme=dark] .choice-card strong{color:rgb(var(--palette-tone-88,225 238 219))}:root[data-theme=dark] .choice-card{border-color:rgb(var(--palette-tone-28,59 79 57));background:linear-gradient(155deg, rgb(var(--palette-tone-16,37 51 41)), rgb(var(--palette-tone-12,27 41 31)));box-shadow:0 4px 18px rgb(var(--palette-tone-04,7 16 8) / .25098)}:root[data-theme=dark] .choice-card:hover{border-color:rgb(var(--palette-tone-52,114 155 104))}:root[data-theme=dark] .choice-card[data-selected=true]{border-color:rgb(var(--palette-tone-56,131 182 111));background:linear-gradient(155deg, rgb(var(--palette-tone-24,51 74 50)), rgb(var(--palette-tone-20,40 61 45)))}:root[data-theme=dark] .choice-card-icon{background:rgb(var(--palette-tone-24,52 72 50));color:rgb(var(--palette-tone-72,177 212 165))}:root[data-theme=dark] .choice-card[data-selected=true] .choice-card-icon{background:rgb(var(--palette-tone-36,82 111 71));color:rgb(var(--palette-tone-92,228 248 221))}:root[data-theme=dark] .composer-section[data-active=true]{border-color:rgb(var(--palette-tone-48,112 139 100))}:root[data-theme=dark] .composer-hint,:root[data-theme=dark] .brew-pair{background:rgb(var(--palette-tone-20,43 60 41))}:root[data-theme=dark] .brew-pair input{color:rgb(var(--palette-tone-92,230 242 223))}:root[data-theme=dark] .brew-timer,:root[data-theme=dark] .extraction-reading{background:rgb(var(--palette-tone-20,38 56 39));border-color:rgb(var(--palette-tone-32,73 97 67))}:root[data-theme=dark] .brew-timer-clock,:root[data-theme=dark] .extraction-reading input{color:rgb(var(--palette-tone-88,224 241 212))}:root[data-theme=dark] .brew-timer-heading,:root[data-theme=dark] .brew-timer p,:root[data-theme=dark] .extraction-reading>span,:root[data-theme=dark] .extraction-reading b{color:rgb(var(--palette-tone-68,170 199 155))}:root[data-theme=dark] .composer-steps button{background:rgb(var(--palette-tone-20,43 53 42));border-color:rgb(var(--palette-tone-28,68 85 67));color:rgb(var(--palette-tone-68,168 184 163))}:root[data-theme=dark] .composer-steps button.selected{background:rgb(var(--palette-tone-68,164 200 142));color:rgb(var(--palette-tone-16,32 53 30))}:root[data-theme=dark] .composer-section .field input,:root[data-theme=dark] .composer-section .field select,:root[data-theme=dark] .composer-section .field textarea{background:rgb(var(--palette-tone-12,23 32 24))}:root[data-theme=dark] .rating-picker button{background:rgb(var(--palette-tone-20,45 55 44))}:root[data-theme=dark] .rating-picker button.on{background:#493e2a}@media (width<=1000px){.composer-layout{grid-template-columns:minmax(0,1fr) 270px}.composer-preview{padding:22px}}@media (width<=1100px){.composer-layout{grid-template-columns:minmax(0,1fr)}.composer-preview{grid-row:1;position:static}.preview-cup-wrap{height:125px;margin:10px auto}.preview-cup{transform-origin:bottom;transform:translate(-50%)scale(.65)}.preview-handle{transform-origin:0 100%;transform:scale(.65)}.preview-saucer{transform:translate(-50%)scale(.7)}.preview-steam{width:24px;height:30px}.composer-preview h2{margin-top:10px;font-size:19px}.preview-ratio{padding:10px}.preview-ratio strong{font-size:24px}.bean-preview .preview-bag{margin:-30px auto -33px;transform:rotate(-4deg)scale(.65)}.bean-preview-facts{margin-top:12px}}@media (width<=700px){.composer-heading h1{letter-spacing:-1.3px;font-size:31px}.composer-steps{z-index:5;background:rgb(var(--palette-tone-96,247 247 242));padding:8px 0;position:sticky;top:0}.composer-steps button{flex:1 1 0;justify-content:center;gap:5px;min-width:0;padding:8px 4px;font-size:10px}.composer-steps button span{flex:none;width:20px;height:20px}.composer-section{padding:20px}.composer-fields{grid-template-columns:1fr 1fr;gap:13px}.composer-preview{padding:18px}.composer-footer{padding:8px 0 0}.composer-footer .button{flex:1 1 0;min-width:0;padding:0 10px;font-size:12px}.composer-footer .button svg{flex:none}.preview-metrics{justify-content:center;gap:15px}:root[data-theme=dark] .composer-steps{background:rgb(var(--palette-tone-08,21 26 22))}}@media (width<=450px){.brew-timer{padding:14px}.brew-timer-actions .button{font-size:12px}.extraction-readings{grid-template-columns:minmax(0,1fr)}.composer-fields{grid-template-columns:1fr}.brew-pair{gap:4px;padding:13px}.brew-pair input{font-size:28px}.price-pair{grid-template-columns:1fr 1fr}.rating-label small{margin:4px 0 0;display:block}.composer-preview .preview-metrics{font-size:9px}}@media (pointer:coarse){.composer-steps button{min-height:44px}.composer-section .field input,.composer-section .field textarea,.composer-section .field .select-trigger{min-height:48px;font-size:16px}}.account-card{color:rgb(var(--palette-tone-80,197 210 190));background:rgb(var(--palette-tone-20,41 52 40));border-radius:9px;justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-top:15px;padding:9px 10px 9px 14px;font-size:11px;display:flex}.account-card span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-card button,.mobile-signout{color:rgb(var(--palette-tone-68,169 189 162));background:0 0;border:0;place-items:center;padding:5px;display:grid}.account-card button:hover,.mobile-signout:hover{color:rgb(var(--palette-tone-100,255 255 255))}.mobile-signout{display:none}.login-page{background:rgb(var(--palette-tone-88,230 237 220));grid-template-columns:1.2fr .8fr;min-height:100vh;display:grid}.login-copy{flex-direction:column;justify-content:center;padding:clamp(35px,7vw,120px);display:flex;position:relative;overflow:hidden}.login-copy:before{content:"";background:rgb(var(--palette-tone-84,216 229 199));border-radius:50%;width:450px;height:450px;position:absolute;bottom:-150px;right:-170px}.login-copy>*{z-index:1;position:relative}.login-mark{background:rgb(var(--palette-tone-20,40 60 36));width:52px;height:52px;color:rgb(var(--palette-tone-84,205 233 187));border-radius:15px;place-items:center;margin-bottom:50px;display:grid}.login-copy h1{letter-spacing:-3.5px;color:rgb(var(--palette-tone-20,39 56 36));margin:17px 0 18px;font:800 clamp(40px,5vw,70px)/1.13 Manrope,sans-serif}.login-copy p{max-width:470px;color:rgb(var(--palette-ink-44,109 129 103));font-size:15px;line-height:1.7}.login-caption{color:rgb(var(--palette-ink-44,97 131 90));align-items:center;gap:9px;margin-top:38px;font-size:11px;font-weight:700;display:flex}.login-card{background:rgb(var(--palette-tone-100,255 255 255));border:1px solid rgb(var(--palette-tone-88,228 234 223));width:min(390px,100% - 48px);box-shadow:0 25px 80px rgb(var(--palette-tone-20,39 56 36) / .098039);border-radius:19px;place-self:center;padding:40px}.login-card-kicker{letter-spacing:2px;color:rgb(var(--palette-ink-56,133 161 122));font-size:9px;font-weight:800}.login-card h2{letter-spacing:-1px;margin:14px 0 7px;font:800 27px Manrope,sans-serif}.login-card p{color:rgb(var(--palette-ink-56,141 155 136));margin:0 0 26px;font-size:12px;line-height:1.6}.login-card .button{justify-content:space-between;width:100%;min-height:48px}.login-card>small{text-align:center;color:rgb(var(--palette-tone-68,167 178 162));margin-top:27px;font-size:10px;display:block}.login-setup{color:#9e6d42;background:#fff4e7;border-radius:8px;padding:14px;font-size:12px;line-height:1.6}:root[data-theme=dark] .login-page{background:rgb(var(--palette-tone-16,30 45 29))}:root[data-theme=dark] .login-copy:before{background:rgb(var(--palette-tone-20,43 65 40))}:root[data-theme=dark] .login-copy h1{color:rgb(var(--palette-tone-92,233 242 227))}:root[data-theme=dark] .login-copy p{color:rgb(var(--palette-tone-68,169 190 163))}:root[data-theme=dark] .login-card{background:rgb(var(--palette-tone-16,38 49 37));border-color:rgb(var(--palette-tone-24,59 76 56))}@media (width<=850px){.login-page{grid-template-columns:1fr}.login-copy{padding:35px 24px 15px}.login-mark{margin-bottom:25px}.login-copy h1{letter-spacing:-1.8px;font-size:39px}.login-copy p{font-size:12px}.login-caption{margin-top:15px}.login-card{width:min(440px,100% - 40px);margin:20px auto 40px;padding:27px}}@media (width<=700px){.mobile-signout{display:grid}:root[data-theme=dark] .mobile-nav{background:rgb(var(--palette-tone-12,29 42 36) / .85098);border-color:rgb(var(--palette-tone-68,159 189 153) / .313725);box-shadow:0 14px 42px rgb(var(--palette-tone-04,5 10 8) / .721569), inset 0 1px rgb(var(--palette-tone-100,255 255 255) / .129412)}:root[data-theme=dark] .mobile-link{color:rgb(var(--palette-tone-68,166 184 163))}:root[data-theme=dark] .mobile-link.active{color:rgb(var(--palette-tone-88,221 242 211));border-color:rgb(var(--palette-tone-84,198 233 189) / .211765);background:linear-gradient(145deg, rgb(var(--palette-tone-40,93 121 81) / .407843), rgb(var(--palette-tone-28,57 86 63) / .611765));box-shadow:0 4px 14px rgb(var(--palette-tone-08,8 23 9) / .521569), inset 0 1px rgb(var(--palette-tone-100,255 255 255) / .188235)}}@media (prefers-reduced-motion:reduce){.mobile-link{transition:none}.select-content{animation:none}.choice-card,.choice-card-check{transition:none}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.select-content{background:rgb(var(--palette-tone-100,251 253 249))}@media (width<=700px){.mobile-nav{background:rgb(var(--palette-tone-96,247 250 242))}:root[data-theme=dark] .mobile-nav{background:rgb(var(--palette-tone-12,29 42 36))}}}@media (width>=1000px) and (orientation:landscape) and (any-pointer:coarse){.sidebar{flex-basis:76px;width:76px;padding:24px 10px 16px}.sidebar .brand{justify-content:center;margin:0 0 28px}.sidebar .brand>span:last-child,.sidebar .nav-link>span,.sidebar .theme-toggle>span,.sidebar .account-card>span,.sidebar-foot{display:none}.sidebar .nav-link{justify-content:center;min-height:48px;padding:12px 0}.sidebar .theme-toggle{justify-content:center;min-height:48px;margin-top:auto;padding:12px 0}.sidebar .account-card{justify-content:center;margin-top:8px;padding:8px 0}.main-wrap main:has(.shot-composer){max-width:1600px;padding:22px 24px 28px}.shot-composer{max-width:none}.shot-station-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.shot-station-header .composer-back{display:none}.shot-station-header .composer-heading{margin:0}.shot-station-header h1{letter-spacing:-1.1px;margin:6px 0;font-size:28px}.shot-station-header .eyebrow{font-size:8px}.shot-station-header p{font-size:11px}.shot-station-status{border:1px solid rgb(var(--palette-tone-84,214 229 206));background:rgb(var(--palette-tone-92,237 245 231));color:rgb(var(--palette-ink-40,90 128 80));border-radius:30px;flex:none;align-items:center;gap:8px;padding:10px 13px;font-size:11px;font-weight:700;display:flex}.shot-station-status>span{background:rgb(var(--palette-tone-52,120 166 99));border-radius:50%;width:7px;height:7px}.shot-composer[data-brewing=true] .shot-station-status>span{box-shadow:0 0 0 4px rgb(var(--palette-tone-60,139 181 115) / .188235)}.shot-composer>.composer-steps{display:none}.shot-layout{--station-height:min(580px, calc(100dvh - 205px));grid-template-columns:minmax(220px,.95fr) minmax(310px,1.35fr) minmax(210px,.85fr);grid-template-areas:"coffee extraction cup""coffee extraction taste""actions actions actions";grid-template-rows:calc((var(--station-height) - 14px) / 2) calc((var(--station-height) - 14px) / 2) auto;align-items:start;gap:14px;display:grid}.shot-layout>.composer-main{display:contents}.shot-layout .composer-section{border-radius:20px;padding:16px}.shot-layout .composer-section-heading{gap:10px;margin-bottom:14px}.shot-layout .composer-section-heading .step-icon{border-radius:11px;flex:none;width:34px;height:34px}.shot-layout .composer-section-heading h2{margin:0;font-size:15px}.shot-layout .composer-section-heading div>span{display:none}.shot-coffee-widget{overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:rgb(var(--palette-tone-52,124 155 110) / .4) transparent;grid-area:coffee;height:100%;min-height:0;overflow-y:auto}.shot-coffee-widget .choice-field{margin-top:14px}.shot-coffee-widget .choice-field legend{font-size:10px}.shot-coffee-widget .choice-card{border-radius:13px;flex-basis:145px;min-height:115px;padding:10px}.shot-coffee-widget .choice-card-top{margin-bottom:7px}.shot-coffee-widget .choice-card-icon{border-radius:10px;width:31px;height:31px}.shot-coffee-widget .choice-card-icon svg{width:19px;height:19px}.shot-coffee-widget .choice-card-eyebrow{font-size:8px}.shot-coffee-widget .choice-card strong{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font-size:11px;display:-webkit-box}.shot-coffee-widget .choice-card small{font-size:9px}.shot-coffee-widget .composer-date{max-width:none;margin-top:12px}.shot-layout .field>span{font-size:10px}.shot-layout .field input{min-height:44px;font-size:16px}.shot-coffee-widget .composer-hint{padding:10px;font-size:10px}.shot-extraction-widget{overscroll-behavior-y:contain;scrollbar-width:thin;grid-area:extraction;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;height:100%;min-height:0;display:grid;overflow-y:auto}.shot-layout .shot-extraction-widget{box-shadow:none;background:0 0;border:0;padding:0}.shot-extraction-widget>.composer-section-heading{display:none}.shot-extraction-widget>.composer-hint,.shot-extraction-widget>.brew-timer,.shot-extraction-widget>.brew-pair,.shot-manual-controls{grid-column:1/-1;margin:0}.shot-extraction-widget .brew-timer{border-radius:20px;padding:16px}.shot-extraction-widget .brew-timer-clock{margin:10px 0;font-size:54px}.shot-extraction-widget .brew-timer-actions .button{min-height:48px}.shot-extraction-widget .brew-timer p{margin-top:8px;font-size:10px}.shot-extraction-widget .brew-pair{border:1px solid rgb(var(--palette-tone-88,220 231 213));border-radius:18px;padding:14px}.shot-extraction-widget .brew-pair input{font-size:30px}.shot-extraction-widget .extraction-readings{display:contents}.shot-extraction-widget .extraction-reading{border-radius:18px;padding:12px}.shot-extraction-widget .extraction-reading input{min-height:48px}.shot-manual-controls{border:1px solid rgb(var(--palette-tone-88,225 232 220));background:rgb(var(--palette-tone-100,255 255 255));border-radius:18px;gap:10px;padding:14px}.shot-layout .composer-preview{border-radius:20px;grid-area:cup;height:100%;padding:14px;position:static}.shot-layout .preview-eyebrow{letter-spacing:1px;font-size:8px}.shot-layout .composer-preview h2{text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:17px;overflow:hidden}.shot-layout .composer-preview p{font-size:10px}.shot-layout .preview-cup-wrap{height:76px;margin:6px auto}.shot-layout .preview-cup{border-radius:4px 4px 24px 24px;width:66px;height:50px;bottom:10px;transform:translate(-50%)}.shot-layout .preview-handle{border-width:6px 6px 6px 0;border-left-style:none;border-left-color:currentColor;width:24px;height:28px;bottom:23px;left:calc(50% + 27px);transform:none}.shot-layout .preview-saucer{width:100px;height:6px;bottom:2px;transform:translate(-50%)}.shot-layout .preview-steam{width:14px;height:16px}.shot-layout .preview-ratio{padding:10px}.shot-layout .preview-ratio strong{font-size:26px}.shot-layout .preview-ratio span,.shot-layout .preview-setup{display:none}.shot-layout .preview-metrics{flex-wrap:wrap;justify-content:center;margin-top:12px;font-size:10px}.shot-taste-widget{grid-area:taste}.shot-taste-widget .rating-label small,.shot-taste-widget .rating-label{display:none}.shot-taste-widget .rating-picker{gap:4px;margin:8px 0 10px}.shot-taste-widget .rating-picker button{flex:1;width:auto;min-width:0;font-size:27px}.shot-taste-widget .field textarea{height:72px;min-height:72px;font-size:16px}.shot-actions{grid-area:actions}.shot-actions .form-error{margin:0 0 12px}.shot-actions .composer-footer{border:1px solid rgb(var(--palette-tone-88,225 232 220));background:rgb(var(--palette-tone-100,255 255 255));border-radius:18px;align-items:center;padding:12px}.shot-actions .composer-next{display:none}.shot-save-hint{color:rgb(var(--palette-ink-52,129 145 121));font-size:11px;display:block}.shot-actions .button.primary{min-width:175px}.shot-actions .button:disabled{opacity:.5;cursor:default}:root[data-theme=dark] .shot-layout .shot-extraction-widget{background:0 0}:root[data-theme=dark] .shot-station-status{border-color:rgb(var(--palette-tone-32,74 97 65));background:rgb(var(--palette-tone-20,37 57 35));color:rgb(var(--palette-tone-76,186 215 169))}:root[data-theme=dark] .shot-manual-controls,:root[data-theme=dark] .shot-actions .composer-footer{border-color:rgb(var(--palette-tone-28,59 78 55));background:rgb(var(--palette-tone-16,32 45 34))}:root[data-theme=dark] .shot-extraction-widget .brew-pair{border-color:rgb(var(--palette-tone-28,59 78 55))}}.shot-empty-beans{border:1px dashed rgb(var(--palette-tone-76,184 208 171));background:rgb(var(--palette-tone-96,243 248 238));color:rgb(var(--palette-ink-44,101 139 85));border-radius:16px;gap:10px;margin-top:18px;padding:18px;display:grid}.shot-empty-beans strong{color:rgb(var(--palette-tone-24,53 75 43));font-size:14px}.shot-empty-beans p{margin:0;font-size:12px;line-height:1.5}.shot-empty-beans small{font-size:10px}.shot-empty-beans .button{justify-self:start}.shot-setup{border:1px solid rgb(var(--palette-tone-88,223 232 216));background:rgb(var(--palette-tone-96,248 251 245));border-radius:15px;margin-top:18px;overflow:hidden}.shot-setup>summary{cursor:pointer;padding:14px;list-style:none}.shot-setup>summary::-webkit-details-marker{display:none}.shot-setup>summary:focus-visible{outline:2px solid rgb(var(--palette-tone-52,120 168 102));outline-offset:-3px}.setup-heading,.setup-change,.setup-device{align-items:center;display:flex}.setup-heading{justify-content:space-between;gap:10px;font-size:12px}.setup-change{color:rgb(var(--palette-ink-48,107 146 90));gap:4px;font-size:10px}.setup-change-open{display:none}.shot-setup[open] .setup-change-open{display:inline}.shot-setup[open] .setup-change-closed{display:none}.shot-setup[open] .setup-change svg{transform:rotate(180deg)}.setup-device{color:rgb(var(--palette-ink-52,125 158 107));gap:10px;margin-top:14px}.setup-device>svg{flex:none}.setup-device>span{gap:3px;min-width:0;display:grid}.setup-device small{color:rgb(var(--palette-ink-60,145 162 135));font-size:10px}.setup-device strong{color:rgb(var(--palette-tone-24,52 69 45));overflow-wrap:anywhere;font-size:12px;line-height:1.4}.setup-extras{color:rgb(var(--palette-ink-52,122 146 112));margin-top:10px;font-size:10px;display:block}.setup-editor{border-top:1px solid rgb(var(--palette-tone-88,223 232 216));padding:0 12px 12px}.setup-memory{color:rgb(var(--palette-ink-56,138 157 128));margin:12px 0 0;font-size:10px;line-height:1.5}.shot-recipe-note{grid-column:1/-1;margin:0}.brew-timer-heading>span:first-child{align-items:center;gap:6px;display:flex}.brew-timer-dot{background:rgb(var(--palette-tone-60,141 171 126));border-radius:50%;width:7px;height:7px}.brew-timer-caption{text-align:center;color:rgb(var(--palette-ink-56,139 164 124));letter-spacing:1px;text-transform:uppercase;margin:-8px 0 14px;font-size:9px;display:block}.brew-timer[data-running=true] .brew-timer-dot{background:rgb(var(--palette-tone-48,116 166 83));animation:1.5s ease-in-out infinite brew-live}.brew-timer[data-running=true] .button.primary{color:#fff8ee;background:#a95d3b}@keyframes brew-live{50%{box-shadow:0 0 0 5px rgb(var(--palette-tone-60,139 181 115) / .156863)}}:root[data-theme=dark] .shot-empty-beans{background:rgb(var(--palette-tone-16,35 51 36));border-color:rgb(var(--palette-tone-32,75 104 60));color:rgb(var(--palette-tone-68,165 195 148))}:root[data-theme=dark] .shot-empty-beans strong,:root[data-theme=dark] .setup-device strong{color:rgb(var(--palette-tone-88,222 235 212))}:root[data-theme=dark] .shot-setup{background:rgb(var(--palette-tone-16,33 48 35));border-color:rgb(var(--palette-tone-28,59 80 53))}:root[data-theme=dark] .setup-editor{border-color:rgb(var(--palette-tone-28,59 80 53))}.app-update-bar{z-index:40;border-bottom:1px solid rgb(var(--palette-tone-80,199 221 188));background:rgb(var(--palette-tone-92,230 242 221) / .960784);min-height:68px;color:rgb(var(--palette-tone-28,56 93 43));-webkit-backdrop-filter:blur(18px);align-items:center;gap:12px;padding:10px 24px;display:flex;position:sticky;top:0}.app-update-bar>svg{flex:none}.app-update-bar>div:first-of-type{gap:3px;min-width:0;display:grid}.app-update-bar strong{font-size:12px}.app-update-bar span{font-size:11px;line-height:1.4}.update-actions{flex:none;gap:8px;margin-left:auto;display:flex}.update-actions button{min-height:44px;color:inherit;background:0 0;border:0;border-radius:10px;padding:8px 12px;font-size:11px;font-weight:700}.update-actions .update-refresh{background:rgb(var(--palette-tone-24,49 77 40));color:rgb(var(--palette-tone-92,237 246 229))}.update-actions button:disabled{opacity:.6;cursor:wait}.update-badge{border:1px solid rgb(var(--palette-tone-60,141 183 119) / .396078);background:rgb(var(--palette-tone-56,132 172 110) / .109804);min-height:44px;color:rgb(var(--palette-tone-72,180 215 156));border-radius:12px;align-items:center;gap:9px;padding:10px 12px;font-size:11px;font-weight:700;display:flex;position:relative}.sidebar .update-badge{width:100%;margin-top:12px}.update-badge>i{background:rgb(var(--palette-tone-64,161 207 126));border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:7px}.mobile-header .update-badge{color:rgb(var(--palette-ink-40,88 128 68))}.update-toast{z-index:60;border:1px solid rgb(var(--palette-tone-84,213 229 203));background:rgb(var(--palette-tone-100,250 255 245) / .960784);width:min(360px,100% - 36px);color:rgb(var(--palette-ink-36,82 119 64));box-shadow:0 12px 44px rgb(var(--palette-tone-12,24 46 35) / .180392);border-radius:18px;align-items:center;gap:12px;padding:16px;display:flex;position:fixed;bottom:24px;right:24px}.update-toast>svg{flex:none}.update-toast>div{gap:4px;display:grid}.update-toast strong{font-size:12px}.update-toast span{font-size:11px;line-height:1.4}.update-toast>button{width:32px;height:32px;color:inherit;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}:root[data-theme=dark] .app-update-bar{background:rgb(var(--palette-tone-20,41 63 37) / .960784);color:rgb(var(--palette-tone-84,208 234 192));border-color:rgb(var(--palette-tone-36,80 108 67))}:root[data-theme=dark] .update-refresh{background:rgb(var(--palette-tone-72,180 217 156));color:rgb(var(--palette-tone-16,33 54 25))}:root[data-theme=dark] .update-toast{background:rgb(var(--palette-tone-16,37 56 33) / .960784);color:rgb(var(--palette-tone-80,201 231 184));border-color:rgb(var(--palette-tone-36,83 109 70))}@media (width<=700px){.mobile-header .update-badge>span{display:none}.app-update-bar{flex-wrap:wrap;gap:8px;padding:10px 18px}.app-update-bar>div:first-of-type{flex:1}.update-actions{justify-content:flex-end;width:100%}.update-toast{right:18px;bottom:calc(94px + env(safe-area-inset-bottom))}}@media (width>=1000px) and (orientation:landscape) and (any-pointer:coarse){.sidebar .update-badge{justify-content:center;padding:10px 0}.sidebar .update-badge>span{display:none}.shot-coffee-widget{flex-direction:column;display:flex}.shot-coffee-widget>*{flex-shrink:0}.shot-coffee-widget .shot-empty-beans{margin-top:0}.shot-coffee-widget .composer-hint{margin-top:auto}.shot-coffee-widget .shot-setup{margin-top:14px;margin-bottom:0}.shot-coffee-widget .shot-setup:has(+.composer-hint){margin-bottom:14px}.shot-extraction-widget{grid-template-rows:minmax(245px,1fr) auto auto auto;align-content:stretch}.shot-extraction-widget .brew-timer{flex-direction:column;justify-content:space-between;gap:8px;display:flex}.shot-extraction-widget .brew-timer-clock{margin:auto 0 0;font-size:clamp(64px,7vw,88px)}.shot-extraction-widget .brew-timer-caption{margin:0 0 auto}.shot-extraction-widget .brew-timer-actions .button{min-height:56px}.shot-extraction-widget .brew-timer p{display:none}.shot-taste-widget{flex-direction:column;height:100%;min-height:0;display:flex}.shot-taste-widget .field{flex-direction:column;flex:1;min-height:0;display:flex}.shot-taste-widget .field textarea{resize:none;flex:1;height:auto;min-height:60px}.main-wrap:has(.app-update-bar) .shot-layout{--station-height:min(580px, calc(100dvh - 275px))}}@media (prefers-reduced-motion:reduce){.brew-timer[data-running=true] .brew-timer-dot{animation:none}}.sidebar-settings{margin-top:12px}.mobile-settings{width:44px;height:44px;color:rgb(var(--palette-ink-36,83 99 79));border-radius:10px;flex:none;place-items:center;display:grid}:root[data-theme=dark] .mobile-settings{color:rgb(var(--palette-tone-68,169 189 162))}.bean-analysis-link{border-top:1px solid rgb(var(--palette-tone-88,227 234 221));color:rgb(var(--palette-ink-40,100 132 82));align-items:center;gap:10px;margin-top:18px;padding-top:16px;font-size:12px;font-weight:700;display:flex}.bean-analysis-link>span{flex:1}.bean-analysis-link small{color:rgb(var(--palette-ink-60,153 164 143));margin-top:4px;font-size:10px;font-weight:400;display:block}.bean-analysis-link:hover{color:rgb(var(--palette-tone-28,45 94 43))}.settings-page,.bean-analysis-page{min-width:0}.analysis-page-head,.analysis-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.analysis-page-head h1{letter-spacing:-1.6px;overflow-wrap:anywhere;margin:10px 0 8px;font:800 clamp(30px,3.4vw,44px)/1.15 Manrope,sans-serif}.analysis-page-head p,.analysis-muted{color:rgb(var(--palette-ink-56,139 153 131));font-size:12px;line-height:1.6}.analysis-page-head p{margin:0}.analysis-section-head h2,.settings-panel h2,.account-settings h2{letter-spacing:-.5px;margin:5px 0 0;font:800 19px/1.3 Manrope,sans-serif}.settings-panel h2{align-items:center;gap:9px;display:flex}.analysis-section-head .eyebrow{letter-spacing:1.6px;font-size:9px}.analysis-pill{border:1px solid rgb(var(--palette-tone-88,219 231 212));background:rgb(var(--palette-tone-96,241 247 236));color:rgb(var(--palette-ink-44,108 139 90));border-radius:30px;flex:none;align-items:center;gap:6px;padding:7px 10px;font-size:10px;line-height:1.3;display:inline-flex}.ai-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.settings-panel{min-width:0;padding:24px}.settings-panel form{gap:17px;display:grid}.settings-panel h2{margin:0 0 18px}.settings-panel .analysis-section-head h2{margin:0}.settings-panel p{color:rgb(var(--palette-ink-56,138 153 131));font-size:12px;line-height:1.65}.settings-endpoint{overflow-wrap:anywhere;margin:-7px 0 0}.settings-endpoint code{color:rgb(var(--palette-ink-44,107 137 92));font-size:11px}.settings-check{color:rgb(var(--palette-ink-40,92 117 80));align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;display:flex}.settings-check input{width:18px;height:18px;accent-color:rgb(var(--palette-tone-44,98 145 77));flex:none;margin:2px 0 0}.settings-check small{color:rgb(var(--palette-ink-60,153 167 143));margin-top:5px;font-size:10px;display:block}.settings-success{background:rgb(var(--palette-tone-92,237 247 229));color:rgb(var(--palette-ink-40,92 130 73));border-radius:10px;padding:12px 14px;font-size:12px;line-height:1.5}.key-panel{flex-direction:column;align-items:stretch;display:flex}.key-panel>p:first-of-type{margin-top:0}.key-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:15px 0;display:flex}.key-panel>.button{margin-top:auto}.usage-section{margin-top:32px}.analysis-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.analysis-stat-grid>div{border:1px solid rgb(var(--palette-tone-88,225 233 220));background:rgb(var(--palette-tone-100,255 255 255));border-radius:15px;gap:10px;min-width:0;padding:18px;display:grid}.analysis-stat-grid small{color:rgb(var(--palette-ink-56,145 160 135));font-size:10px}.analysis-stat-grid strong{letter-spacing:-1px;color:rgb(var(--palette-tone-28,64 91 53));overflow-wrap:anywhere;font:800 clamp(21px,2.5vw,29px)/1.2 Manrope,sans-serif}.analysis-stat-grid em{letter-spacing:0;color:rgb(var(--palette-ink-56,145 160 135));font:400 11px DM Sans,sans-serif}.data-table-scroll{min-width:0;max-width:100%;overflow-x:auto}.analysis-table{border-collapse:collapse;text-align:left;width:100%;min-width:760px;font-size:11px}.analysis-table th{letter-spacing:.8px;text-transform:uppercase;color:rgb(var(--palette-ink-52,128 150 117));white-space:nowrap;border-bottom:1px solid rgb(var(--palette-tone-88,220 230 213));padding:14px 12px;font-size:9px}.analysis-table td{border-bottom:1px solid rgb(var(--palette-tone-92,233 238 229));color:rgb(var(--palette-ink-44,104 122 93));vertical-align:top;padding:14px 12px}.analysis-table td:first-child{min-width:110px}.analysis-table small{max-width:260px;color:rgb(var(--palette-ink-60,152 163 144));margin-top:5px;font-size:10px;line-height:1.5;display:block}.usage-table{min-width:850px}.usage-table td:first-child{min-width:170px}.usage-table td:nth-child(2){max-width:260px}.run-status{text-transform:capitalize;font-weight:700}.analysis-table .run-status.success{color:rgb(var(--palette-ink-48,108 152 83))}.analysis-table .run-status.error{color:#b57758}.analysis-empty{color:rgb(var(--palette-ink-60,147 160 136));padding:28px 0;font-size:13px;line-height:1.6}.analysis-warning{color:#9b713f;background:#fff4e6;border:1px solid #eed8b8;border-radius:12px;padding:13px 16px;font-size:12px;line-height:1.6}.saved-report-view{margin-top:28px}.account-settings{justify-content:space-between;align-items:center;gap:20px;margin-top:30px;display:flex}.account-settings p{color:rgb(var(--palette-ink-56,140 156 131));overflow-wrap:anywhere;margin-bottom:0;font-size:12px}.analysis-date-filter{border:1px solid rgb(var(--palette-tone-88,227 234 220));background:rgb(var(--palette-tone-100,251 253 249));border-radius:15px;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px;display:flex}.analysis-date-filter .field{flex:1;min-width:140px}.analysis-date-filter .button{min-height:48px}.journey-overview{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.journey-overview>.panel{min-width:0;padding:22px}.analysis-chart svg{width:100%;height:auto;margin-top:15px;display:block;overflow:visible}.analysis-chart svg text{fill:rgb(var(--palette-tone-60,147 165 138));font:11px DM Sans,sans-serif}.chart-grid{stroke:rgb(var(--palette-tone-88,227 235 221));stroke-dasharray:3 5}.chart-point{fill:rgb(var(--palette-tone-56,138 174 115));stroke:rgb(var(--palette-tone-100,250 255 245));stroke-width:2px;cursor:pointer}.chart-point[data-selected=true],.chart-point:focus-visible{fill:rgb(var(--palette-tone-28,53 95 42));stroke:rgb(var(--palette-tone-72,181 212 152));stroke-width:4px;outline:none}.chart-selection{border:1px solid rgb(var(--palette-tone-88,220 233 211));background:rgb(var(--palette-tone-96,244 249 240));color:rgb(var(--palette-ink-44,102 133 84));border-radius:12px;gap:7px;margin-top:12px;padding:12px;font-size:11px;line-height:1.5;display:grid}.chart-selection span{color:rgb(var(--palette-ink-56,139 155 129))}.chart-selection p{margin:0}.aging-signal{flex-direction:column;display:flex}.aging-signal h2{letter-spacing:-.6px;color:rgb(var(--palette-ink-32,70 104 58));margin:14px 0 8px;font:800 20px/1.3 Manrope,sans-serif}.aging-signal p{color:rgb(var(--palette-ink-56,138 156 125));font-size:12px;line-height:1.7}.aging-signal details{margin-top:auto;padding-top:12px}.aging-signal summary,.analysis-share-preview summary,.report-basis summary,.report-findings summary{cursor:pointer;color:rgb(var(--palette-ink-48,110 146 92));font-size:11px;font-weight:700}.analysis-data-flags{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.analysis-data-flags>span{background:rgb(var(--palette-tone-92,237 243 232));color:rgb(var(--palette-ink-52,127 152 110));border-radius:7px;padding:6px 9px;font-size:10px}.analysis-launch{border-color:rgb(var(--palette-tone-80,199 219 184));background:rgb(var(--palette-tone-96,240 247 233));align-items:center;gap:24px;margin:22px 0 12px;padding:25px;display:flex}.analysis-launch>div:first-child{flex:1;min-width:0}.analysis-launch h2{letter-spacing:-.7px;color:rgb(var(--palette-tone-24,56 87 44));margin:12px 0 8px;font:800 23px/1.3 Manrope,sans-serif}.analysis-launch p{color:rgb(var(--palette-ink-52,124 148 112));font-size:12px;line-height:1.6}.analysis-launch .eyebrow{letter-spacing:1.4px;font-size:9px}.analysis-launch-action{flex-direction:column;flex:none;align-items:center;gap:12px;width:215px;display:flex}.analysis-launch-action>.button{width:100%;min-height:54px}.analysis-launch-action small{color:rgb(var(--palette-ink-56,139 158 127));text-align:center;font-size:10px;line-height:1.5}.analysis-launch-action>.button:disabled,.settings-page button:disabled{opacity:.5;cursor:default}.analysis-key-link{color:rgb(var(--palette-ink-48,109 146 90));align-items:center;gap:6px;font-size:11px;display:flex}.analysis-share-preview{margin:16px 0 25px}.analysis-share-preview p{color:rgb(var(--palette-ink-56,144 160 133));font-size:12px;line-height:1.6}.analysis-share-preview pre{background:rgb(var(--palette-tone-92,237 243 232));max-width:100%;max-height:360px;color:rgb(var(--palette-ink-44,112 132 101));border-radius:12px;padding:18px;font-size:11px;overflow:auto}.analysis-source{min-width:0;margin-top:28px;padding:22px}.ai-report{gap:18px;min-width:0;margin-top:28px;display:grid}.ai-report .analysis-section-head{margin:0}.report-summary{background:rgb(var(--palette-tone-20,38 61 36));color:rgb(var(--palette-tone-88,227 242 217));border-radius:16px;padding:22px;font-size:14px;line-height:1.8}.report-findings{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ai-report .panel{min-width:0;padding:22px}.ai-report h3{color:rgb(var(--palette-ink-32,66 99 55));letter-spacing:-.4px;margin:0 0 10px;font:800 16px Manrope,sans-serif}.ai-report p,.ai-report li{color:rgb(var(--palette-ink-56,139 156 128));font-size:12px;line-height:1.7}.ai-report ul{margin-bottom:0;padding-left:18px}.ai-report .analysis-table{margin-top:14px}.report-next-steps{gap:18px;display:grid}.report-next-steps>div{align-items:flex-start;gap:12px;display:flex}.report-next-steps>div>span{background:rgb(var(--palette-tone-92,233 242 226));width:25px;height:25px;color:rgb(var(--palette-ink-52,124 155 103));border-radius:9px;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.report-next-steps strong{color:rgb(var(--palette-ink-44,110 141 92));font-size:12px}.report-next-steps p{margin:5px 0 0}.report-basis{min-width:0}:root[data-theme=dark] .analysis-stat-grid>div,:root[data-theme=dark] .analysis-date-filter,:root[data-theme=dark] .chart-selection{background:rgb(var(--palette-tone-16,34 48 37));border-color:rgb(var(--palette-tone-28,64 86 59))}:root[data-theme=dark] .analysis-launch{background:rgb(var(--palette-tone-20,42 62 37));border-color:rgb(var(--palette-tone-36,82 110 67))}:root[data-theme=dark] .analysis-launch h2,:root[data-theme=dark] .analysis-stat-grid strong,:root[data-theme=dark] .aging-signal h2,:root[data-theme=dark] .ai-report h3{color:rgb(var(--palette-tone-84,212 232 200))}:root[data-theme=dark] .analysis-pill,:root[data-theme=dark] .analysis-data-flags>span,:root[data-theme=dark] .settings-success,:root[data-theme=dark] .report-next-steps>div>span,:root[data-theme=dark] .analysis-share-preview pre{background:rgb(var(--palette-tone-24,53 75 46));border-color:rgb(var(--palette-tone-32,71 100 60));color:rgb(var(--palette-tone-76,184 210 169))}:root[data-theme=dark] .analysis-table th,:root[data-theme=dark] .analysis-table td,:root[data-theme=dark] .bean-analysis-link{border-color:rgb(var(--palette-tone-24,59 78 53))}:root[data-theme=dark] .analysis-table td{color:rgb(var(--palette-tone-76,192 208 182))}:root[data-theme=dark] .chart-grid{stroke:rgb(var(--palette-tone-28,63 84 55))}:root[data-theme=dark] .analysis-warning{color:#d7c09a;background:#463d2b;border-color:#675637}@media (width<=1100px){.ai-settings-grid,.journey-overview,.report-findings{grid-template-columns:minmax(0,1fr)}}@media (width<=700px){.analysis-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-launch{flex-direction:column;align-items:stretch;gap:16px;padding:20px}.analysis-launch-action{width:100%}.settings-panel,.journey-overview>.panel,.analysis-source,.ai-report .panel{padding:18px}.analysis-page-head h1{font-size:31px}.account-settings{flex-direction:column;align-items:flex-start}.analysis-date-filter .button{width:100%}}@media (pointer:coarse){.settings-panel .field input,.analysis-date-filter input{min-height:48px;font-size:16px}}.usage-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chart-target{cursor:pointer;outline:none}.chart-target:focus-visible .chart-point{stroke:rgb(var(--palette-tone-32,66 109 50));stroke-width:4px}:root[data-navigation=tablet] .app-shell{min-height:100dvh;display:block}:root[data-navigation=tablet] .app-shell>.sidebar,:root[data-navigation=tablet] .app-shell>.mobile-nav,:root[data-navigation=tablet] .app-shell .mobile-header{display:none}:root[data-navigation=tablet] .app-shell .main-wrap main{max-width:1600px;padding:24px max(24px, env(safe-area-inset-right)) 32px max(24px, env(safe-area-inset-left))}.tablet-topbar{z-index:45;min-height:80px;padding:14px max(24px, env(safe-area-inset-right)) 14px max(24px, env(safe-area-inset-left));background:rgb(var(--palette-tone-96,247 247 242) / .909804);border-bottom:1px solid rgb(var(--palette-tone-88,220 228 213));-webkit-backdrop-filter:blur(24px)saturate(1.3);justify-content:space-between;align-items:center;gap:20px;display:none;position:sticky;top:0}.tablet-topbar .brand{gap:10px;margin:0;font-size:24px}.tablet-topbar .brand small{letter-spacing:1.8px;font-size:7px}.tablet-topbar nav{align-items:center;gap:10px;display:flex}.tablet-tool,.profile-pill,.tablet-brew-link{border:1px solid rgb(var(--palette-tone-88,220 229 214));min-height:44px;color:rgb(var(--palette-ink-36,82 100 75));background:rgb(var(--palette-tone-100,255 255 255) / .6);border-radius:24px;justify-content:center;align-items:center;gap:9px;font-size:12px;font-weight:700;display:flex}.tablet-tool{width:44px}.tablet-brew-link{background:rgb(var(--palette-tone-92,232 239 223));border-color:#0000;padding:0 16px}.profile-pill{padding:5px 12px 5px 5px}.profile-avatar{background:rgb(var(--palette-tone-80,204 228 184));width:32px;height:32px;color:rgb(var(--palette-tone-20,48 75 36));border-radius:50%;place-items:center;display:grid}.tablet-topbar .update-badge{width:44px;height:44px;color:rgb(var(--palette-ink-36,86 116 68));border-radius:50%;justify-content:center;padding:0}.tablet-topbar .update-badge>span{display:none}:root[data-navigation=tablet] .app-shell .app-update-bar{top:80px}.brewing-dot{background:rgb(var(--palette-tone-48,116 164 85));width:7px;height:7px;box-shadow:0 0 0 4px rgb(var(--palette-tone-60,145 184 121) / .14902);border-radius:50%}.tablet-panel{border:1px solid rgb(var(--palette-tone-84,216 227 207));background:rgb(var(--palette-tone-96,250 251 247));width:min(420px,100vw - 40px);max-width:none;max-height:calc(100dvh - 40px);color:rgb(var(--palette-tone-20,44 56 39));box-shadow:0 24px 100px rgb(var(--palette-tone-12,20 36 17) / .188235);border-radius:26px;margin:auto 0;padding:24px;position:fixed;inset:20px 20px 20px auto;overflow:auto}.tablet-panel::backdrop{background:rgb(var(--palette-tone-12,24 36 19) / .25098);-webkit-backdrop-filter:blur(5px)}.tablet-panel-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.tablet-panel-heading h2{letter-spacing:-.6px;margin:0;font:800 22px Manrope,sans-serif}.tablet-panel-heading .icon-button{flex:none;width:44px;height:44px}.tablet-menu-links{gap:10px;display:grid}.tablet-menu-links>a,.tablet-menu-links>button{text-align:left;background:rgb(var(--palette-tone-92,239 243 233));min-height:60px;color:inherit;border:0;border-radius:16px;grid-template-columns:24px 1fr;align-items:center;gap:6px 12px;padding:14px;font-size:14px;font-weight:700;display:grid}.tablet-menu-links>a svg{grid-row:span 2;width:20px}.tablet-menu-links small{color:rgb(var(--palette-ink-52,126 143 116));grid-column:2;font-size:11px;font-weight:400;line-height:1.5}.tablet-menu-links .theme-toggle{margin:0}.tablet-account-name{overflow-wrap:anywhere;gap:6px;margin:0 0 12px;display:grid}.tablet-account-name span,.tablet-panel-note{color:rgb(var(--palette-ink-48,123 137 114));font-size:12px;line-height:1.7}.tablet-panel-note{margin:18px 0}.recipe-choices{gap:10px;display:grid}.recipe-choices button{text-align:left;border:1px solid rgb(var(--palette-tone-88,218 228 211));background:rgb(var(--palette-tone-92,240 245 233));width:100%;min-height:80px;color:inherit;border-radius:16px;align-items:center;gap:14px;padding:16px;display:flex}.recipe-choices button span{flex:1;gap:7px;display:grid}.recipe-choices small{color:rgb(var(--palette-ink-52,125 142 114))}.tablet-brew{max-width:none}.tablet-brew .shot-station-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.tablet-brew .shot-station-header .composer-back,.tablet-brew>.composer-steps,.tablet-brew .composer-preview{display:none}.tablet-brew .composer-heading{margin:0}.tablet-brew .shot-station-header h1{letter-spacing:-1px;margin:7px 0;font-size:30px}.tablet-brew .shot-station-header p{margin:0;font-size:12px}.tablet-brew .shot-station-status{border:1px solid rgb(var(--palette-tone-84,214 229 206));background:rgb(var(--palette-tone-92,237 245 231));color:rgb(var(--palette-ink-40,90 128 80));white-space:nowrap;border-radius:24px;align-items:center;gap:8px;padding:10px 14px;font-size:11px;font-weight:700;display:flex}.tablet-brew .shot-station-status>span{background:rgb(var(--palette-tone-52,120 166 99));border-radius:50%;width:7px;height:7px}.tablet-brew .shot-layout{grid-template:"coffee extraction taste""widgets widgets widgets""actions actions actions"/minmax(220px,.95fr) minmax(320px,1.5fr) minmax(230px,1fr);align-items:stretch;gap:18px;display:grid}.tablet-brew .composer-main{display:contents}.tablet-brew .composer-section{border-radius:24px;min-width:0;height:auto;min-height:0;margin:0;padding:20px;overflow:visible}.tablet-brew .composer-section-heading{gap:10px;margin-bottom:18px}.tablet-brew .composer-section-heading div>span{display:none}.tablet-brew .composer-section-heading h2{margin:0;font-size:17px}.tablet-brew .composer-section-heading .step-icon{border-radius:12px;flex:none;width:36px;height:36px}.tablet-brew .shot-coffee-widget{flex-direction:column;grid-area:coffee;gap:14px;display:flex}.tablet-brew .shot-coffee-widget>*,.tablet-brew .shot-coffee-widget .choice-field{margin:0}.tablet-brew .choice-card{flex-basis:152px;min-height:128px;padding:12px}.tablet-brew .choice-card strong{font-size:12px}.tablet-brew .choice-card small{font-size:10px}.tablet-brew .choice-card-top{margin-bottom:8px}.tablet-brew .shot-coffee-widget .shot-setup{margin-top:auto}.tablet-brew .composer-hint{display:none}.tablet-brew .field>span{font-size:11px}.tablet-brew .field input{min-height:48px;font-size:16px}.tablet-brew .shot-extraction-widget{box-shadow:none;background:0 0;border:0;flex-direction:column;grid-area:extraction;gap:16px;padding:0;display:flex}.tablet-brew .shot-extraction-widget>.composer-section-heading{display:none}.tablet-brew .brew-timer{border:1px solid rgb(var(--palette-tone-80,200 218 189));background:rgb(var(--palette-tone-92,234 242 226));border-radius:26px;flex-direction:column;flex:1;justify-content:center;align-items:stretch;gap:12px;min-height:280px;margin:0;padding:24px;display:flex}.tablet-brew .brew-timer-clock{letter-spacing:-5px;margin:auto 0 0;font-size:clamp(70px,8.5vw,118px);line-height:1.1}.tablet-brew .brew-timer-caption{margin:0 0 auto}.tablet-brew .brew-timer-actions{gap:10px}.tablet-brew .brew-timer-actions .button{min-height:56px;font-size:14px}.tablet-brew .brew-timer p{display:none}.tablet-brew .brew-pair{border:1px solid rgb(var(--palette-tone-84,217 228 208));background:rgb(var(--palette-tone-92,238 244 231));border-radius:22px;margin:0;padding:18px 22px}.tablet-brew .brew-pair input{font-size:36px}.tablet-brew .shot-manual-controls{background:rgb(var(--palette-tone-100,255 255 255));border:1px solid rgb(var(--palette-tone-88,225 232 220));border-radius:20px;margin:0;padding:16px 20px;display:block}.tablet-brew .shot-manual-controls .field{margin:0}.tablet-brew .shot-taste-widget{flex-direction:column;grid-area:taste;gap:16px;display:flex}.tablet-brew .shot-taste-widget>*{margin:0}.tablet-brew .extraction-readings{grid-template-columns:1fr;gap:12px;display:grid}.tablet-brew .extraction-reading{border-radius:18px;padding:16px}.tablet-brew .extraction-reading input{min-height:44px;font-size:34px}.tablet-brew .rating-label{font-size:11px}.tablet-brew .rating-label small{display:none}.tablet-brew .rating-picker{gap:5px}.tablet-brew .rating-picker button{border-radius:12px;flex:1;width:auto;min-width:0;height:44px;font-size:27px}.tablet-brew .shot-taste-widget .field{flex-direction:column;flex:1;gap:8px;display:flex}.tablet-brew .shot-taste-widget textarea{resize:vertical;flex:1;height:auto;min-height:90px;font-size:14px}.brew-widget-grid{grid-area:widgets;grid-template-columns:.95fr 1.5fr 1fr;gap:18px;min-width:0;display:grid}.brew-shortcut-widget{border:1px solid rgb(var(--palette-tone-88,223 230 216));background:rgb(var(--palette-tone-100,255 255 255));border-radius:22px;flex-direction:column;min-width:0;padding:18px 20px;display:flex}.widget-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.widget-heading>span{color:rgb(var(--palette-ink-52,132 150 117));letter-spacing:1.2px;align-items:center;gap:8px;font-size:9px;font-weight:800;display:flex}.widget-heading>a{background:rgb(var(--palette-tone-92,240 244 235));width:36px;height:36px;color:rgb(var(--palette-ink-40,102 130 83));border-radius:50%;flex:none;place-items:center;display:grid}.brew-shortcut-widget h2{letter-spacing:-.4px;overflow-wrap:anywhere;margin:0 0 8px;font:800 17px Manrope,sans-serif}.brew-shortcut-widget p{color:rgb(var(--palette-ink-56,137 149 127));margin:0 0 16px;font-size:11px;line-height:1.7}.widget-action{border:0;border-top:1px solid rgb(var(--palette-tone-88,230 236 223));min-height:44px;color:rgb(var(--palette-ink-40,96 124 78));text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding:10px 0 0;font-size:11px;font-weight:700;display:flex}.widget-action:disabled{opacity:.5;cursor:default}.widget-actions{gap:20px;margin-top:auto;display:flex}.widget-actions>*{flex:1}.care-widget[data-due=true]{background:#fffaf0;border-color:#dabf94}.care-widget[data-due=true] .widget-heading>span{color:#987240}.tablet-brew .shot-actions{grid-area:actions;margin:0}.tablet-brew .composer-footer{border:1px solid rgb(var(--palette-tone-88,221 230 214));background:rgb(var(--palette-tone-100,255 255 255));border-radius:22px;padding:14px 18px;position:static}.tablet-brew .composer-next{display:none}.tablet-brew .shot-save-hint{font-size:12px;display:block}.tablet-brew .composer-footer>.button{min-height:52px}.brew-saved{color:rgb(var(--palette-ink-40,91 128 71));font-size:13px}:root[data-theme=dark] .tablet-topbar{background:rgb(var(--palette-tone-08,21 26 22) / .921569);border-color:rgb(var(--palette-tone-24,52 68 47))}:root[data-theme=dark] .tablet-tool,:root[data-theme=dark] .profile-pill{background:rgb(var(--palette-tone-16,39 49 36));border-color:rgb(var(--palette-tone-24,60 76 53));color:rgb(var(--palette-tone-80,196 212 187))}:root[data-theme=dark] .tablet-brew-link{background:rgb(var(--palette-tone-20,48 62 41));color:rgb(var(--palette-tone-80,201 224 182))}:root[data-theme=dark] .tablet-panel{background:rgb(var(--palette-tone-12,28 37 27));border-color:rgb(var(--palette-tone-24,60 80 50));color:rgb(var(--palette-tone-88,223 235 215))}:root[data-theme=dark] .tablet-menu-links>a,:root[data-theme=dark] .tablet-menu-links>button,:root[data-theme=dark] .recipe-choices button{background:rgb(var(--palette-tone-20,43 56 38));border-color:rgb(var(--palette-tone-28,64 80 55))}:root[data-theme=dark] .tablet-brew .brew-timer{background:rgb(var(--palette-tone-16,38 56 32));border-color:rgb(var(--palette-tone-32,76 104 61))}:root[data-theme=dark] .tablet-brew .brew-pair{background:rgb(var(--palette-tone-16,37 54 32));border-color:rgb(var(--palette-tone-24,62 82 50))}:root[data-theme=dark] .tablet-brew .shot-manual-controls,:root[data-theme=dark] .tablet-brew .composer-footer,:root[data-theme=dark] .brew-shortcut-widget{background:rgb(var(--palette-tone-12,32 41 30));border-color:rgb(var(--palette-tone-24,58 75 49))}:root[data-theme=dark] .widget-heading>a{background:rgb(var(--palette-tone-20,48 62 41));color:rgb(var(--palette-tone-72,180 205 158))}:root[data-theme=dark] .widget-action{border-color:rgb(var(--palette-tone-24,59 77 49));color:rgb(var(--palette-tone-72,187 211 166))}:root[data-theme=dark] .care-widget[data-due=true]{background:#332b1c;border-color:#6d5631}@media (width<=1049px){.tablet-topbar{gap:12px;padding-left:20px;padding-right:20px}.tablet-topbar nav{gap:8px}.tablet-brew .shot-layout{grid-template-columns:minmax(240px,1fr) minmax(320px,1.4fr);grid-template-areas:"coffee extraction""taste taste""widgets widgets""actions actions"}.tablet-brew .shot-taste-widget{grid-template-columns:1fr 1fr;display:grid}.tablet-brew .shot-taste-widget .extraction-readings{grid-area:2/1/5}.tablet-brew .shot-taste-widget>.field{grid-column:2}.tablet-brew .shot-taste-widget .composer-section-heading{grid-column:1/-1}.brew-widget-grid{grid-template-columns:1fr 1fr}.care-widget{grid-column:1/-1}}@media (width<=800px){.tablet-topbar .brand small,.tablet-brew-link{display:none}:root[data-navigation=tablet] .app-shell .main-wrap main{padding:20px}.tablet-brew .shot-layout{grid-template-columns:minmax(220px,1fr) minmax(280px,1.25fr);gap:14px}.tablet-brew .brew-timer{padding:18px}.tablet-brew .brew-timer-clock{font-size:72px}.tablet-brew .composer-section{padding:16px}.tablet-brew .shot-extraction-widget{padding:0}}.tablet-brew .shot-station-header{margin-bottom:18px}.tablet-brew .shot-station-header h1{font-size:26px}.tablet-brew .shot-station-header p{display:none}.tablet-brew .shot-coffee-widget{gap:12px}.tablet-brew .shot-coffee-widget .composer-section-heading{margin-bottom:0}.tablet-brew .choice-card{min-height:106px}.tablet-brew .choice-card-icon{width:26px;height:26px}.tablet-brew .choice-card-icon svg{width:18px;height:18px}.tablet-brew .choice-card small{display:none}.tablet-brew .coffee-inputs{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:10px;display:grid}.tablet-brew .coffee-inputs .field{min-width:0;margin:0}.tablet-brew .coffee-inputs input{width:100%;min-width:0;padding-left:10px;padding-right:8px;font-size:14px}.tablet-brew .coffee-inputs input[type=date]{text-align:left}.tablet-brew .coffee-inputs input[type=date]::-webkit-date-and-time-value{text-align:left}.tablet-brew .setup-device{padding:6px 0}.tablet-brew .setup-device small{display:none}.tablet-brew .setup-device strong{font-size:11px}.tablet-brew .shot-setup summary{padding:12px}.tablet-brew .brew-timer{min-height:245px}.tablet-brew .shot-actions{bottom:max(12px, env(safe-area-inset-bottom));z-index:5;align-self:end;position:sticky}.tablet-brew .composer-footer{box-shadow:0 8px 32px rgb(var(--palette-tone-12,29 50 21) / .094118);background:rgb(var(--palette-tone-100,255 255 255) / .94902);-webkit-backdrop-filter:blur(18px)}.brew-shortcut-widget{padding:14px 18px}.brew-shortcut-widget .widget-heading{margin-bottom:8px}.brew-shortcut-widget p{margin-bottom:10px}.tablet-brew .shot-taste-widget{gap:12px;padding:16px}.tablet-brew .shot-taste-widget .rating-label{display:none}.tablet-brew .shot-taste-widget textarea{min-height:70px}.tablet-brew .shot-taste-widget .extraction-readings{grid-template-columns:repeat(2,minmax(0,1fr))}.tablet-brew .extraction-reading{min-width:0;padding:12px}.tablet-brew .extraction-reading>span{align-items:flex-start;min-height:28px;font-size:10px}.tablet-brew .extraction-reading>span svg{flex:none}.tablet-brew .extraction-reading input{min-width:0;font-size:30px}.tablet-brew .manual-time summary{cursor:pointer;color:rgb(var(--palette-ink-48,123 140 111));justify-content:space-between;align-items:center;gap:12px;min-height:22px;font-size:11px;font-weight:600;list-style:none;display:flex}.tablet-brew .manual-time summary::-webkit-details-marker{display:none}.tablet-brew .manual-time[open] summary{margin-bottom:12px}@media (width<=1049px){.tablet-brew .shot-taste-widget .extraction-readings{grid-row:2/4;grid-template-columns:1fr 1fr}}.tablet-brew .shot-actions{justify-self:end;max-width:100%}.tablet-brew .composer-footer{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;padding:0}.tablet-brew .shot-save-hint{display:none}.tablet-brew .composer-footer>.button{box-shadow:0 6px 24px rgb(var(--palette-tone-12,23 40 17) / .14902);padding-left:24px;padding-right:24px}:root[data-theme=dark] .tablet-brew .composer-footer{background:0 0}@media (width>=1050px) and (height<=900px){.tablet-brew .shot-station-header{margin-bottom:12px}.tablet-brew .shot-station-header .eyebrow{display:none}.tablet-brew .shot-station-header h1{margin:0;font-size:21px}}.brew-bean-age{color:rgb(var(--palette-ink-52,125 147 111));justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.brew-bean-age a{background:rgb(var(--palette-tone-92,237 243 230));width:36px;height:36px;color:rgb(var(--palette-ink-40,99 130 78));border-radius:12px;flex:none;place-items:center;display:grid}:root[data-theme=dark] .brew-bean-age a{background:rgb(var(--palette-tone-20,48 63 40));color:rgb(var(--palette-tone-72,185 209 165))}.settings-build-info{color:rgb(var(--palette-ink-52,137 149 126));overflow-wrap:anywhere;margin:24px 0 0;font-size:11px}.tablet-panel.shot-review-panel{width:min(480px,100vw - 40px);height:fit-content;margin:auto;inset:20px}.review-intro{align-items:flex-start;gap:14px;margin-bottom:24px;display:flex}.review-intro>span{background:rgb(var(--palette-tone-88,229 239 220));width:48px;height:48px;color:rgb(var(--palette-ink-44,103 134 82));border-radius:16px;flex:none;place-items:center;display:grid}.review-intro p{margin:0;font-size:14px;line-height:1.6}.review-intro small{color:rgb(var(--palette-ink-48,125 139 115));margin-top:6px;font-size:11px;display:block}.review-stars{gap:8px;display:flex}.review-stars button{min-width:0;min-height:58px;color:rgb(var(--palette-tone-80,198 206 192));background:rgb(var(--palette-tone-92,237 241 232));border:1px solid #0000;border-radius:16px;flex:1;place-items:center;padding:0;font-size:38px;transition:background .15s,color .15s;display:grid}.review-stars button.on{background:rgb(var(--palette-tone-88,224 237 207));color:rgb(var(--palette-ink-40,102 139 72));border-color:rgb(var(--palette-tone-72,187 210 159))}.review-rating-label{text-align:center;min-height:20px;color:rgb(var(--palette-ink-48,125 143 112));margin:12px 0 24px;font-size:12px}.shot-review-panel textarea{resize:vertical;width:100%;min-height:110px;font-size:16px}.review-actions{gap:12px;margin-top:22px;display:flex}.review-actions .button{flex:1;justify-content:center;min-height:48px;padding:12px}.shot-feedback-link{min-height:44px;color:rgb(var(--palette-ink-44,104 139 80));background:0 0;border:0;padding:8px 0;font-size:12px;font-weight:700}.tablet-brew .cup-ratio{text-align:center;background:rgb(var(--palette-tone-92,237 244 230));border-radius:18px;gap:10px;margin-top:auto;padding:24px 16px;display:grid}.cup-ratio>span{color:rgb(var(--palette-ink-56,135 156 120));letter-spacing:1.5px;text-transform:uppercase;font-size:10px;font-weight:800}.cup-ratio strong{color:rgb(var(--palette-ink-32,71 101 53));font-size:38px}.cup-ratio small{color:rgb(var(--palette-ink-52,128 149 114));font-size:12px}.tablet-brew .cup-review-hint{color:rgb(var(--palette-ink-52,135 151 124));font-size:12px;line-height:1.6}:root[data-theme=dark] .review-intro>span,:root[data-theme=dark] .review-stars button{background:rgb(var(--palette-tone-20,44 58 37));color:rgb(var(--palette-ink-44,113 131 102))}:root[data-theme=dark] .review-stars button.on{background:rgb(var(--palette-tone-28,64 90 49));color:rgb(var(--palette-tone-80,204 229 180));border-color:rgb(var(--palette-tone-44,107 141 81))}:root[data-theme=dark] .tablet-brew .cup-ratio{background:rgb(var(--palette-tone-20,46 66 37))}:root[data-theme=dark] .cup-ratio strong{color:rgb(var(--palette-tone-84,211 231 193))}:root[data-theme=dark] .shot-feedback-link{color:rgb(var(--palette-tone-72,183 211 160))}@media (width<=700px){.tablet-panel.shot-review-panel{width:100%;max-height:90dvh;padding:24px 20px calc(24px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;margin:0;inset:auto 0 0}}:root[data-navigation=tablet] .tablet-topbar{display:flex}@media (width<=700px){:root[data-navigation=tablet] .main-wrap main{padding:18px}:root[data-navigation=tablet] .tablet-topbar{gap:10px;min-height:72px;padding:12px 16px}:root[data-navigation=tablet] .tablet-topbar .brand{font-size:20px}:root[data-navigation=tablet] .tablet-topbar nav{gap:6px}:root[data-navigation=tablet] .profile-pill{width:44px;padding:5px}:root[data-navigation=tablet] .profile-pill>span:not(.profile-avatar),:root[data-navigation=tablet] .profile-pill>svg{display:none}:root[data-navigation=tablet] .app-update-bar{top:72px}:root[data-navigation=tablet] .tablet-brew .shot-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"coffee""extraction""taste""widgets""actions";gap:14px}:root[data-navigation=tablet] .tablet-brew .shot-taste-widget{display:flex}:root[data-navigation=tablet] .tablet-brew .brew-widget-grid{grid-template-columns:minmax(0,1fr)}:root[data-navigation=tablet] .tablet-brew .care-widget{grid-column:auto}}
