:root{--container-max: 1416px;--color-bg: #faf7f2;--color-surface: #ffffff;--color-text: #2b211b;--color-text-muted: #6b5c4f;--color-border: #e6ddd2;--color-accent: #8a5a3b;--color-label: #5c3a24;--t-espresso: #5c3a24;--t-red: #b23b3b;--t-sun: #f5c518;--t-plum: #8f456b;--t-brown: #8a5a3b;--t-green: #4a7c59;--t-blue: #2e6f9e;--t-teal: #2f7d6b;--t-amber: #e8a95c;--t-violet: #6a5acd;--t-gold: #a2600a;--t-ink: #2b211b;--t-cream: #f2ebe1;--color-accent-contrast: #ffffff;--button-shade: #000000;--color-urgent: #c0392b;--color-warm: #d68910;--color-fresh: #4a7c59;--color-frozen: #2e6f9e;--color-decaf: #8f456b;--color-skip: #845eb6;--color-sunflower: #f5c518;--color-sunflower-text: #2b211b;--color-urgency-low: #16a34a;--color-urgency-mid: #f59e0b;--color-urgency-high: #dc2626;--el-mg: var(--chart-color-4);--el-ca: var(--chart-color-1);--el-na: var(--chart-color-2);--el-k: var(--chart-color-5);--chart-color-1: #8a5a3b;--chart-color-2: #2f7d6b;--chart-color-3: #c77b2e;--chart-color-4: #4f6d9a;--chart-color-5: #a24f79;--chart-color-6: #6b8e23;--chart-color-7: #b23b3b;--chart-color-8: #6a5acd;--kind-counts: #2e6f9e;--kind-firsts: #2f7d6b;--kind-bests: #a8650a;--kind-streaks: #c0392b;--kind-gear: #6a5acd;--kind-anniversaries: #a24f79;--map-low: #ead9c6;--map-high: #8a5a3b;--bar-alpha: 28%;--bar-hover-alpha: 40%;--chip: #f2b84b;--chip-ink: #2b211b;--chip-text: #a06500;--color-possible: #2f6b78;--slice-line: #2b211b;--map-empty: #6b6b6b;--series-1: #a8bffd;--series-1-ink: #4d6eda;--series-2: #d9a6e3;--series-2-ink: #a851b5;--series-3: #ffb7c1;--series-3-ink: #ca445b;--series-4: #fdc58b;--series-4-ink: #b45c00;--series-5: #d8db80;--series-5-ink: #767704;--series-6: #92dba9;--series-6-ink: #048448;--series-7: #7fdcea;--series-7-ink: #06818c;--series-8: #698dfd;--series-8-ink: #4d6eda;--series-9: #ae57bb;--series-9-ink: #a851b5;--series-10: #fc7184;--series-10-ink: #ca445b;--series-11: #c06408;--series-11-ink: #b45c00;--series-12: #abac11;--series-12-ink: #767704;--series-13: #069954;--series-13-ink: #048448;--series-14: #01baca;--series-14-ink: #06818c;--band-0: var(--series-9);--band-1: var(--series-7);--band-2: var(--series-3);--band-opacity: .6;--fill-bloom: color-mix(in srgb, var(--series-4) 50%, var(--series-11));--fill-fast: color-mix(in srgb, var(--series-8) 75%, white);--series-other: #a8a8a8;--series-other-ink: #6b6b6b;--series-brown-1: #d2a679;--series-brown-1-ink: #d2a679;--series-brown-2: #b0703f;--series-brown-2-ink: #b0703f;--series-brown-3: #73503a;--series-brown-3-ink: #73503a;--div-low: #d8573c;--div-mid: #dcd9d4;--div-high: #1a9b7c;--div-floor: .35;--div-high-ink: #137a61;--div-low-ink: #b5452b;--faded: .4;--thin-hatch: repeating-linear-gradient(135deg, transparent 0 3px, color-mix(in srgb, var(--color-surface) 70%, transparent) 3px 6px);--radius: 10px;--shadow: 0 1px 3px rgba(43, 33, 27, .08), 0 1px 2px rgba(43, 33, 27, .06);--shadow-hover: 0 4px 10px rgba(43, 33, 27, .12), 0 2px 4px rgba(43, 33, 27, .08);--font-sans: "Karla", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Lora", Georgia, serif;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg: #1c1712;--color-surface: #262019;--color-text: #f1e9e0;--color-text-muted: #b3a494;--color-border: #3a2f26;--color-accent: #d99a6c;--t-espresso: #3d2719;--t-red: #8e3030;--t-sun: #e0b416;--t-plum: #6e3553;--t-brown: #6d4630;--t-green: #3a6347;--t-blue: #245a80;--t-teal: #25624f;--t-amber: #d99a50;--t-violet: #5446a8;--t-gold: #8a5308;--t-ink: #0f0c09;--t-cream: #262019;--color-label: #e8c9ab;--color-accent-contrast: #1c1712;--button-shade: #ffffff;--color-urgent: #e57368;--color-warm: #e8b04b;--color-fresh: #7fb890;--color-frozen: #7fb3d9;--color-decaf: #e08fb8;--color-skip: #a98ad6;--color-sunflower: #f2c94c;--color-sunflower-text: #1c1712;--color-urgency-low: #4ade80;--color-urgency-mid: #fbbf24;--color-urgency-high: #f87171;--chart-color-1: #d99a6c;--chart-color-2: #5fb89e;--chart-color-3: #e8a95c;--chart-color-4: #7d9bcf;--chart-color-5: #cf82ab;--chart-color-6: #a3c15c;--chart-color-7: #e07a7a;--chart-color-8: #a79ce0;--kind-counts: #7fb3d9;--kind-firsts: #5fb89e;--kind-bests: #e8b04b;--kind-streaks: #e57368;--kind-gear: #a79ce0;--kind-anniversaries: #cf82ab;--map-low: #4a3a2e;--map-high: #e8b48a;--bar-alpha: 13%;--bar-hover-alpha: 32%;--chip-ink: #1c1712;--chip-text: #f2b84b;--color-possible: #86bcc6;--slice-line: #2b211b;--map-empty: #3a3a3a;--series-1: #c7d7fd;--series-1-ink: #c7d7fd;--series-2: #eeb9f6;--series-2-ink: #eeb9f6;--series-3: #ffd7d9;--series-3-ink: #ffd7d9;--series-4: #febf95;--series-4-ink: #febf95;--series-5: #e5e89a;--series-5-ink: #e5e89a;--series-6: #9ee6b5;--series-6-ink: #9ee6b5;--series-7: #80eaf7;--series-7-ink: #80eaf7;--series-8: #718fe1;--series-8-ink: #718fe1;--series-9: #c470d1;--series-9-ink: #c470d1;--series-10: #fc7184;--series-10-ink: #fc7184;--series-11: #c16300;--series-11-ink: #d27221;--series-12: #898904;--series-12-ink: #8f8f14;--series-13: #00a259;--series-13-ink: #00a259;--series-14: #07a3b2;--series-14-ink: #07a3b2;--band-0: color-mix(in srgb, var(--series-2) 75%, white);--band-1: color-mix(in srgb, var(--series-14) 75%, white);--band-2: color-mix(in srgb, var(--series-10) 75%, white);--fill-bloom: var(--series-4);--fill-fast: var(--series-1-ink);--series-other: #b4b4b4;--series-other-ink: #a8a8a8;--series-brown-1: #f0c99a;--series-brown-1-ink: #f0c99a;--series-brown-2: #d0874e;--series-brown-2-ink: #d0874e;--series-brown-3: #8d6145;--series-brown-3-ink: #8d6145;--div-low: #e5603f;--div-mid: #635d57;--div-high: #24a383;--div-floor: .52;--div-high-ink: #2fb893;--div-low-ink: #f0775a;--faded: .62;--shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--shadow-hover: 0 4px 10px rgba(0, 0, 0, .5), 0 2px 4px rgba(0, 0, 0, .4)}}:root[data-theme=dark]{--color-bg: #1c1712;--color-surface: #262019;--color-text: #f1e9e0;--color-text-muted: #b3a494;--color-border: #3a2f26;--color-accent: #d99a6c;--t-espresso: #3d2719;--t-red: #8e3030;--t-sun: #e0b416;--t-plum: #6e3553;--t-brown: #6d4630;--t-green: #3a6347;--t-blue: #245a80;--t-teal: #25624f;--t-amber: #d99a50;--t-violet: #5446a8;--t-gold: #8a5308;--t-ink: #0f0c09;--t-cream: #262019;--color-label: #e8c9ab;--color-accent-contrast: #1c1712;--button-shade: #ffffff;--color-urgent: #e57368;--color-warm: #e8b04b;--color-fresh: #7fb890;--color-frozen: #7fb3d9;--color-decaf: #e08fb8;--color-skip: #a98ad6;--color-sunflower: #f2c94c;--color-sunflower-text: #1c1712;--color-urgency-low: #4ade80;--color-urgency-mid: #fbbf24;--color-urgency-high: #f87171;--chart-color-1: #d99a6c;--chart-color-2: #5fb89e;--chart-color-3: #e8a95c;--chart-color-4: #7d9bcf;--chart-color-5: #cf82ab;--chart-color-6: #a3c15c;--chart-color-7: #e07a7a;--chart-color-8: #a79ce0;--kind-counts: #7fb3d9;--kind-firsts: #5fb89e;--kind-bests: #e8b04b;--kind-streaks: #e57368;--kind-gear: #a79ce0;--kind-anniversaries: #cf82ab;--map-low: #4a3a2e;--map-high: #e8b48a;--bar-alpha: 13%;--bar-hover-alpha: 32%;--chip-ink: #1c1712;--chip-text: #f2b84b;--color-possible: #86bcc6;--slice-line: #2b211b;--map-empty: #3a3a3a;--series-1: #c7d7fd;--series-1-ink: #c7d7fd;--series-2: #eeb9f6;--series-2-ink: #eeb9f6;--series-3: #ffd7d9;--series-3-ink: #ffd7d9;--series-4: #febf95;--series-4-ink: #febf95;--series-5: #e5e89a;--series-5-ink: #e5e89a;--series-6: #9ee6b5;--series-6-ink: #9ee6b5;--series-7: #80eaf7;--series-7-ink: #80eaf7;--series-8: #718fe1;--series-8-ink: #718fe1;--series-9: #c470d1;--series-9-ink: #c470d1;--series-10: #fc7184;--series-10-ink: #fc7184;--series-11: #c16300;--series-11-ink: #d27221;--series-12: #898904;--series-12-ink: #8f8f14;--series-13: #00a259;--series-13-ink: #00a259;--series-14: #07a3b2;--series-14-ink: #07a3b2;--band-0: color-mix(in srgb, var(--series-2) 75%, white);--band-1: color-mix(in srgb, var(--series-14) 75%, white);--band-2: color-mix(in srgb, var(--series-10) 75%, white);--fill-bloom: var(--series-4);--fill-fast: var(--series-1-ink);--series-other: #b4b4b4;--series-other-ink: #a8a8a8;--series-brown-1: #f0c99a;--series-brown-1-ink: #f0c99a;--series-brown-2: #d0874e;--series-brown-2-ink: #d0874e;--series-brown-3: #8d6145;--series-brown-3-ink: #8d6145;--div-low: #e5603f;--div-mid: #635d57;--div-high: #24a383;--div-floor: .52;--div-high-ink: #2fb893;--div-low-ink: #f0775a;--faded: .62;--shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--shadow-hover: 0 4px 10px rgba(0, 0, 0, .5), 0 2px 4px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html{text-size-adjust:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%}@media(prefers-reduced-motion:reduce){*{transition:none!important}}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:14px;line-height:1.5}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.25}h1{font-size:1.5rem;margin:0 0 var(--space-4)}h2{font-size:1rem;margin:0 0 var(--space-1)}.section-heading{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border)}a{color:var(--color-accent)}a>.coffee-name{text-decoration:inherit}.setting-name{font-weight:700;color:var(--color-accent)}.setting-note{color:var(--color-fresh)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.container{max-width:var(--container-max);margin:0 auto;padding:var(--space-4)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-4);display:block;color:inherit;text-decoration:none;transition:box-shadow .15s ease,transform .15s ease;container:card / inline-size}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.card-wrap{position:relative;display:grid}.card-wrap:has(>.brew-now-link)>.card{padding-bottom:calc(44px + var(--space-4))}.card-wrap:has(>.card-actions.icons)>.card{padding-bottom:calc(44px + var(--space-4))}.card-wrap:hover>.card{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.card-wrap>.card-actions{position:absolute;left:var(--space-4);bottom:var(--space-3);display:flex;gap:var(--space-2)}.card-actions.icons{display:flex}.card-actions .button.button-icon{justify-content:center;min-width:44px;padding:0}.card-actions .button{display:inline-flex;align-items:center;min-height:44px;margin:0}.card-wrap>.brew-now-link{position:absolute;left:var(--space-4);bottom:var(--space-3);display:inline-flex;align-items:center;min-height:44px;margin:0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.grid.grid-max-3{grid-template-columns:repeat(auto-fill,minmax(max(260px,calc((100% - 2 * var(--space-4)) / 3)),1fr))}.button{--button-color: var(--color-accent);--button-hover-bg: var(--color-surface);--button-hover-fg: var(--button-color);display:inline-block;padding:var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--button-color);color:var(--color-accent-contrast);border:1px solid var(--button-color);font:inherit;cursor:pointer;text-decoration:none;margin:var(--space-1) var(--space-2) var(--space-1) 0;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.button-danger{--button-color: var(--color-urgency-high)}.button-success{--button-color: var(--color-fresh)}.button-secondary,.button-danger,.button-success,.button-ghost{--button-hover-bg: var(--button-color);--button-hover-fg: var(--color-bg);background:color-mix(in srgb,var(--button-color) 16%,var(--color-surface));color:color-mix(in srgb,var(--button-color) 70%,var(--button-shade));border-color:transparent}.button.button-ghost{background:transparent;color:var(--button-color)}.button.button-solid{--button-hover-bg: var(--color-surface);--button-hover-fg: var(--button-color);background:var(--button-color);color:var(--color-accent-contrast);border-color:var(--button-color)}@media(hover:hover){.button:hover:not(:disabled,[aria-disabled=true]){background:var(--button-hover-bg);color:var(--button-hover-fg);border-color:var(--button-color)}}.button:focus-visible:not(:disabled,[aria-disabled=true]){background:var(--button-hover-bg);color:var(--button-hover-fg);border-color:var(--button-color)}.button:disabled,.button[aria-disabled=true]{opacity:.5;cursor:not-allowed!important}.nav-link-button{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:none}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:1rem;line-height:1}@media(hover:hover){.icon-button:hover{background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface));border-color:var(--color-accent)}}.icon-button .icon,.nav-link-button .icon{width:1.25rem;height:1.25rem;flex-shrink:0}.nav-link-button{gap:var(--space-2)}.badge{display:inline-block;white-space:nowrap;padding:.15rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600;vertical-align:middle}.badge-urgent{background:color-mix(in srgb,var(--color-urgent) 20%,transparent);color:var(--color-urgent)}.badge-warm{background:color-mix(in srgb,var(--color-warm) 20%,transparent);color:var(--color-warm)}.badge-fresh{background:color-mix(in srgb,var(--color-fresh) 20%,transparent);color:var(--color-fresh)}.badge-decaf{background:color-mix(in srgb,var(--color-decaf) 20%,transparent);color:var(--color-decaf)}.badge-frozen{background:color-mix(in srgb,var(--color-frozen) 20%,transparent);color:var(--color-frozen)}.badge-neutral{background:color-mix(in srgb,var(--color-text-muted) 20%,transparent);color:var(--color-text-muted)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-2) var(--space-5);max-width:720px}.form-field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.group-field{margin-bottom:0}.ctl-select{min-height:2.25rem;padding:0 .6rem;font:inherit;font-size:.85rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);text-overflow:ellipsis}@media(max-width:640px){.ctl-select{min-height:44px;font-size:16px}}.search-row:has(>.group-field){align-items:end}.people-tip-link{display:block;margin-top:.35rem;color:var(--color-accent);cursor:pointer}.group-field>span,.group-field>label{display:block;line-height:1.2}.form-field-checkbox{flex-direction:row;align-items:center;gap:var(--space-2);align-self:start}.form-field-checkbox label{display:flex;align-items:center;gap:var(--space-2);font-weight:600}.form-field-checkbox input[type=checkbox]{width:auto}.form-field label{font-weight:600;font-size:.9rem}.form-field input:not([type=checkbox]),.form-field select,.form-field textarea{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit}.inline-input{width:100%;max-width:8rem;padding:.3rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit}.search-input{width:100%;padding:.6rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;margin-bottom:var(--space-4)}.search-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-4)}.search-row .search-input{flex:1;margin-bottom:0}@media(max-width:640px){.search-row{row-gap:var(--space-3)}.search-row .search-input{flex-basis:100%}}.search-row .button{margin:0;flex-shrink:0}.card-thumb{width:100%;aspect-ratio:1;object-fit:contain;border-radius:var(--radius);margin-bottom:var(--space-2)}.roast-row{display:flex;align-items:center;gap:var(--space-2)}.roast-row .text-muted{margin:0}.roast-beans{display:inline-flex;gap:1px;vertical-align:middle}.roast-bean{position:relative;width:.65rem;height:1rem}.roast-bean-bg,.roast-bean-fill{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.roast-bean-bg path:first-child{fill:var(--color-border)}.roast-bean-bg .roast-bean-crease{fill:none;stroke:var(--color-bg);stroke-width:1}.roast-bean-fill path:first-child{fill:var(--color-accent)}.roast-bean-fill .roast-bean-crease{fill:none;stroke:var(--color-surface);stroke-width:1}.text-muted{color:var(--color-text-muted);font-size:.9rem;margin:var(--space-1) 0}.nowrap{white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.table-scroll{overflow-x:auto}table.data-table{width:100%;border-collapse:collapse;margin-top:var(--space-4);font-size:.9rem}table.data-table th,table.data-table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}table.data-table tbody tr{transition:background-color .1s ease}table.data-table tfoot td{border-bottom:none;border-top:2px solid var(--color-border)}table.data-table tbody tr:hover{background:color-mix(in srgb,var(--color-accent) 8%,transparent)}table.data-table.compact{font-size:.75rem}table.data-table.compact td.origin-cell{white-space:nowrap}table.data-table.compact th{font-size:.65rem}table.data-table.compact th,table.data-table.compact td{padding:.3rem .4rem}table.data-table.coffees-list td{padding-block:.2rem}.data-table .name-line{display:flex;align-items:center;gap:var(--space-2)}.data-table .clamp2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.data-table .clamp2:focus-visible{outline-offset:-2px}.sort-button{display:inline-flex;align-items:center;gap:.25rem;border:none;background:none;padding:0;margin:0;font:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;white-space:nowrap}.sort-button:hover{color:var(--color-accent)}.sort-indicator{display:inline-block;width:.8em;color:var(--color-accent)}nav.site-nav{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) max(var(--space-4),calc((100% - var(--container-max)) / 2 + var(--space-4)));border-bottom:1px solid var(--color-border);font-weight:600;font-size:.85rem}nav.site-nav .nav-links{display:flex;flex-wrap:wrap;gap:var(--space-4);flex:1}nav.site-nav a,nav.site-nav .nav-link-button{text-decoration:none;padding-bottom:.2rem;background:linear-gradient(currentColor,currentColor) center bottom / 0 2px no-repeat;transition:background-size .2s ease}@media(hover:hover){nav.site-nav a:hover,nav.site-nav .nav-link-button:hover{background-size:100% 2px}}nav.site-nav a:focus-visible,nav.site-nav .nav-link-button:focus-visible,nav.site-nav a[aria-current=page]{background-size:100% 2px}@media(prefers-reduced-motion:reduce){nav.site-nav a,nav.site-nav .nav-link-button{transition:none}}.toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.toolbar h1{margin:0}.sort-controls{display:flex;gap:var(--space-2)}.sort-dir{width:2.25rem;height:2.25rem}.toolbar .view-field{margin-left:auto}.toolbar .sort-field{margin-left:var(--space-4)}@media(min-width:641px){.sort-field{flex-direction:row;align-items:center;gap:var(--space-2)}.sort-field>label{white-space:nowrap}}@media(min-width:641px){.sort-in-toolbar{display:none}}.tight-h1{margin-bottom:var(--space-2)}.coffees-toolbar,.cbar .search-row{margin-bottom:var(--space-2);row-gap:var(--space-2)}.show-field{flex:1 1 auto}.add-sort-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:var(--space-2)}.add-sort-row .results{grid-column:1;white-space:nowrap}.add-sort-row .add-coffee-button{grid-column:2}.add-sort-row .sort-in-row{grid-column:3;grid-row:1;justify-self:end}@media(max-width:640px){.toolbar .view-field{margin-left:0}.toolbar .sort-field{margin-left:auto}.sort-in-row{display:none}.add-sort-row{min-height:44px}.show-field{flex-basis:100%}.show-field .tab-group button,.view-field .tab-group button,.view-field{flex:1 1 auto}.coffees-toolbar .tab-group button{padding-inline:.5rem;min-width:44px}.coffees-search-row>.filter-anchor,.coffees-search-row>.button{flex:1 1 3rem;box-sizing:border-box;white-space:nowrap}.coffees-search-row>.filter-anchor{display:flex}.coffees-search-row>.filter-anchor>.button{flex:1;margin:0;white-space:nowrap}.coffees-search-row>.button,.coffees-search-row>.filter-anchor>.button{padding-inline:.375rem}.coffees-search-row.editing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.coffees-search-row.editing>.search-input,.coffees-search-row.editing>.filter-chips,.coffees-search-row.editing>p{grid-column:1 / -1}.coffees-search-row.editing .more{display:none}.coffees-search-row>.button.share-button{gap:var(--space-1)}.coffees-search-row>.button.share-button:not(:hover,:focus-visible){background:color-mix(in srgb,var(--button-color) 16%,var(--color-surface))}}.tab-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tab-group button{padding:.4rem 1rem;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.tab-group button[aria-pressed=true]{background:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent)}.tab-group button[aria-disabled=true]{color:var(--color-text-muted);cursor:not-allowed}@media(hover:hover){.tab-group button:not([aria-pressed=true],[aria-disabled=true]):hover{background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface));border-color:var(--color-accent)}}.action-buttons{display:flex;gap:var(--space-2);flex-wrap:wrap}.action-stack{display:flex;flex-direction:column;gap:var(--space-2)}.action-row{display:flex;gap:var(--space-2)}.action-buttons .button{min-width:4.5rem;text-align:center}.data-table .action-buttons .button{min-width:0;margin:0}.button.button-icon{display:inline-flex;align-items:center;justify-content:center;min-width:0;margin:0;padding:.4rem .55rem;line-height:1}.action-buttons:has(>.button-icon){gap:.375rem}.button-icon .icon{display:block;width:1.05rem;height:1.05rem}@media(max-width:640px){.action-buttons .button.button-icon{min-width:44px}.data-table .action-buttons{flex-wrap:nowrap}}.card:has(>.action-buttons){display:flex;flex-direction:column}.card>.action-buttons{margin-top:auto;padding-top:var(--space-3)}.site-footer{margin-top:calc(var(--space-6) * 1.5);padding:var(--space-3) 0 var(--space-4);background:linear-gradient(to right,transparent,var(--color-border) 15%,var(--color-border) 85%,transparent) top / 100% 1px no-repeat;color:var(--color-text-muted);font-size:.8rem}.site-footer>div+div{margin-top:var(--space-2)}.site-footer .fi{white-space:nowrap}@media(max-width:640px){.site-footer>div>span{display:block;line-height:1.7}.site-footer .d{display:none}.site-footer>div>.lk{display:inline-block}.site-footer .d.keep{display:inline}.site-footer .lk a{position:relative}.site-footer .lk a:after{content:"";position:absolute;top:-11px;right:-4px;bottom:-11px;left:-4px}}.detail-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.detail-actions .button{margin:0}@media(min-width:641px){.detail-actions>:first-child{margin-right:auto}}.detail-actions~.chart-panel{margin-bottom:var(--space-4)}.detail-edit-row~.button-danger{margin:var(--space-4) 0 0}@media(max-width:640px){.detail-edit-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.detail-actions .button{flex:1 1 auto;white-space:nowrap}.detail-actions .button,.detail-edit-row .button{text-align:center}.detail-actions>:first-child{order:-2}.detail-actions>.share-button{order:-1}}@media(max-width:640px){.detail-actions .detail-import{flex-basis:100%}}@media(min-width:420px)and (max-width:640px){.detail-actions:not(:has(.detail-clone)){display:grid;grid-template-columns:repeat(2,minmax(max-content,1fr))}.detail-actions:not(:has(.detail-clone)) .detail-import{grid-column:1 / -1}}@media(max-width:419px){.detail-actions:not(:has(.detail-clone))>:is(.detail-back,.share-button){flex:1 1 0}}.detail{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:var(--space-5);margin-top:var(--space-4)}@media(max-width:640px){.detail{grid-template-columns:1fr}}.detail-media img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:var(--radius);border:1px solid var(--color-border);box-shadow:var(--shadow)}.detail-media{min-width:0}.image-credit{margin:var(--space-2) 0 0;overflow-wrap:anywhere}.detail-media-placeholder{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:3.5rem;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow)}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.detail-section{margin-top:var(--space-5)}.detail-section h2{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-3)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-4)}.stat{display:flex;flex-direction:column;gap:.15rem}.stat-label{color:var(--color-text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.caption-link{color:var(--color-label);font-weight:700;text-decoration:none}.caption-link:hover{text-decoration:underline}.stat-value{font-weight:600}@media(max-width:640px){.search-input,.inline-input,.form-field input:not([type=checkbox]),.form-field select,.form-field textarea{font-size:16px}.button,.tab-group button,.nav-link-button,.form-field select{min-height:44px}.button,.tab-group button{display:inline-flex;align-items:center;justify-content:center}.nav-link-button{display:inline-flex;align-items:center;padding:0 var(--space-2)}.icon-button{width:44px;height:44px}}@media(max-width:640px){table.data-table.compact{table-layout:auto;min-width:1100px}table.data-table.compact col{width:auto!important}table.data-table:not(.compact){table-layout:auto;min-width:700px}table.data-table th,table.data-table td{white-space:nowrap;overflow-wrap:normal}}.compact-list{display:flex;flex-direction:column}.compact-row-wrap{border-bottom:1px solid var(--color-border)}.compact-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-3) var(--space-1);background:none;border:none;text-align:left;font:inherit;color:inherit;cursor:pointer}div.compact-row{cursor:default}.compact-row-main{display:block;min-width:0;flex:1}.compact-row-title{font-family:var(--font-display);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:var(--space-2)}.compact-row-sub{display:block;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bean-cards .compact-row-title,.bean-cards .compact-row-sub,.compact-row[aria-expanded=true] .compact-row-title,.compact-row[aria-expanded=true] .compact-row-sub,div.compact-row .compact-row-title,div.compact-row .compact-row-sub{white-space:normal;overflow:visible;overflow-wrap:anywhere}.compact-row-trailing{display:block;flex-shrink:0;font-weight:700}.compact-row-detail{padding:0 var(--space-1) var(--space-3)}.compact-row-wrap:has(>.action-buttons)>.compact-row{padding-bottom:var(--space-2);min-height:0}.compact-row-wrap>.action-buttons{padding:0 var(--space-1) var(--space-3)}.compact-row-wrap:has(>form)>.action-buttons{padding-left:0}.compact-row-wrap>.action-buttons:has(>.action-stack),.action-buttons.under-form:has(>.action-stack){flex-direction:column;align-items:flex-start;padding-top:var(--space-4)}.compact-row-wrap .action-stack,.under-form .action-stack{flex-direction:row;flex-wrap:wrap;align-self:stretch}.compact-row-wrap .action-row,.under-form .action-row{display:contents}.compact-row-wrap .action-stack .button.button-icon,.under-form .action-stack .button.button-icon{flex:1 1 0;max-width:4.75rem}.compact-row-wrap>.action-buttons .button.button-icon,.under-form .button.button-icon{min-width:48px;min-height:44px}.compact-row-wrap>.action-buttons .button-icon .icon,.under-form .button-icon .icon{width:1.35rem;height:1.35rem}.compact-row-wrap .action-stack .button.button-icon,.under-form .button.button-icon{min-width:44px}.card>.action-buttons.under-form{container-type:inline-size}@container (width < 304px){.action-stack:has(>.action-row:first-child>:nth-child(3)):has(>.action-row:last-child>:nth-child(3)){display:grid;grid-template-columns:repeat(3,minmax(44px,1fr))}.action-stack .button.button-icon{max-width:none}}td>.action-buttons.under-form{position:sticky;left:0;box-sizing:border-box;max-width:calc(100vw - 2 * var(--space-4) - 2 * .4rem);padding-bottom:var(--space-3)}.compact-row-detail .inline-input{max-width:none}.compact-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-4);font-size:.85rem;margin-bottom:var(--space-2)}.eyebrow{display:block;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.bottom-tabs,.bottom-tabs-more-panel{display:none}.back-to-top{position:fixed;right:var(--space-3);bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));z-index:35;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow);cursor:pointer}.back-to-top .icon{width:1.25rem;height:1.25rem}@media(hover:hover){.back-to-top:hover{border-color:var(--color-accent);color:var(--color-accent)}}@media(max-width:640px){nav.site-nav{display:none}main.container{padding-bottom:calc(56px + var(--space-4) + env(safe-area-inset-bottom,0px))}.back-to-top{bottom:calc(56px + var(--space-3) + env(safe-area-inset-bottom,0px))}.bottom-tabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-tabs a,.bottom-tabs-more{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:56px;padding:var(--space-2) var(--space-1);color:var(--color-text-muted);text-decoration:none;font-size:.7rem;border:none;background:none;font-family:inherit;cursor:pointer}.bottom-tabs a[aria-current=page]{color:var(--color-accent)}.bottom-tabs-icon{line-height:0}.bottom-tabs-icon .icon{width:1.5rem;height:1.5rem}.bottom-tabs-more-panel{display:flex;position:fixed;right:var(--space-3);bottom:calc(56px + var(--space-2) + env(safe-area-inset-bottom,0px));z-index:41;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-3);flex-direction:column;gap:var(--space-3);min-width:160px}}.chart-container{position:relative;height:320px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin-bottom:var(--space-3)}.stat-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);aspect-ratio:1;min-width:0;position:relative;container-type:inline-size;transition:background-color .15s ease,border-color .15s ease}html{cursor:default}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit],[type=reset],:disabled,[readonly]),textarea:not(:disabled,[readonly]),[contenteditable]:not([contenteditable=false])){cursor:text}:where(a[href],button:not(:disabled,[aria-disabled=true]),select:not(:disabled),summary,label:has(>input:is([type=checkbox],[type=radio])),input:is([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit],[type=reset]):not(:disabled)){cursor:pointer}.stat-item-hero{background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface));border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-border))}.stat-item-hero .stat-value{color:var(--color-accent)}@media(hover:hover){.stat-item:hover{background:color-mix(in srgb,var(--color-accent) 8%,var(--color-surface));border-color:color-mix(in srgb,var(--color-accent) 40%,var(--color-border))}.stat-item-hero:hover{background:color-mix(in srgb,var(--color-accent) 18%,var(--color-surface));border-color:color-mix(in srgb,var(--color-accent) 60%,var(--color-border))}}.stat-item .stat-value,.stat-item .stat-unit,.stat-item .stat-sublink{position:absolute;left:var(--space-2);right:var(--space-2);text-align:center}.stat-item .stat-value,.stat-item .stat-unit{display:block;line-height:1}.stat-item .stat-value{white-space:nowrap;top:24.09cqw;font-size:25.81cqw;font-weight:600}.stat-item .stat-unit,.stat-item .stat-sublink{top:54.02cqw;font-size:max(.7rem,6.88cqw)}.stat-caption{position:absolute;left:var(--space-2);right:var(--space-2);top:73.98cqw;display:flex;flex-direction:column;align-items:center;gap:.15rem;overflow:hidden;text-align:center}.stat-unit{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.stat-item .stat-label{color:var(--color-text-muted);font-size:max(.7rem,6.71cqw);line-height:1.1}.stat-label{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stat-sublink{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%;font-size:.8rem;line-height:1.15;color:var(--color-accent);text-decoration:none}.stat-sublink:hover{text-decoration:underline}.candidate-actions{display:grid;grid-template-columns:repeat(3,minmax(max-content,1fr))}.candidate-actions .button{width:100%;white-space:nowrap}.link-picker{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.candidate-actions.link-picker-actions{grid-template-columns:1fr 1fr}@media(max-width:640px){.stat-row{grid-template-columns:repeat(2,1fr)}}.stat-row.stat-row-compact{grid-template-columns:repeat(4,1fr)}.stat-row-compact .stat-item{aspect-ratio:auto;padding:var(--space-2) var(--space-1);display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.stat-row-compact .stat-item .stat-value,.stat-row-compact .stat-caption{position:static}.stat-row-compact .stat-item .stat-value{font-size:1.25rem}.chart-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-5)}.chart-panel>h2,.chart-panel>h3{margin-bottom:var(--space-3)}.share-panel{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.share-qr{aspect-ratio:1;height:auto;max-width:100%;image-rendering:pixelated}.share-panel-text-and-button{display:flex;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.share-panel-text-and-button .button{margin:0}.share-panel-hint{max-width:220px;margin:0;padding-top:var(--space-2)}.share-panel-callout{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-warm);border-radius:var(--radius);background:color-mix(in srgb,var(--color-warm) 12%,transparent)}.share-panel-callout ul{margin:var(--space-2) 0 0;padding-left:1.25rem}.chart-panel-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(188px,1fr));gap:var(--space-3);margin-bottom:var(--space-5)}@media(max-width:640px){.chart-panel-row{grid-template-columns:1fr}}.chart-panel-row .chart-panel{margin-bottom:0;min-width:0}.chart-panel .stat-row{margin-bottom:0}.stat-row+.chart-container{margin-top:var(--space-5)}.stat-row+.chart-panel-controls{margin-top:var(--space-5)}.filter-bar{position:sticky;top:0;z-index:30;background:var(--color-bg);padding-block:var(--space-2);border-bottom:1px solid var(--color-border)}@media(max-height:450px){.filter-bar{padding-block:var(--space-1)}.filter-bar .form-field>span:not(:has(button)){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}}.chart-panel-controls{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4);justify-content:space-between}.chart-panel-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.tab-group-compact button{padding:.2rem .6rem;font-size:.85rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-4)}.modal{background:var(--color-surface);border-radius:var(--radius);padding:var(--space-5);max-width:640px;width:100%;max-height:90vh;overflow-y:auto}.alert-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;height:1.1rem;padding:0 .3rem;margin-left:.2rem;border-radius:999px;background:var(--color-accent);color:#fff;font-size:.65rem;font-weight:700;vertical-align:top}.icon-button{position:relative}.icon-button .alert-badge{position:absolute;top:0;right:0;margin:0}.alert-list{list-style:none;padding:0;margin:0 0 var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);max-height:60vh;overflow-y:auto}.alert-list-item{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2)}.alert-list-item.alert-unread{border-left:3px solid var(--color-accent)}.alert-message{font-weight:600;margin-bottom:.2rem}.alert-meta{color:var(--color-text-muted);font-size:.78rem;margin-bottom:var(--space-2)}.alert-actions{display:flex;gap:var(--space-2)}.filter-anchor,.filter-chip-wrap{position:relative}.filter-chips{order:1;flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.filter-chip{display:inline-flex;align-items:center;max-width:100%;border:1px solid var(--color-accent);border-radius:999px;background:var(--color-surface);color:var(--color-text);font-size:.85rem}.filter-chip-label,.filter-chip-remove,.filter-clear-all{border:none;background:none;color:inherit;font:inherit;cursor:pointer}.filter-chip-label{padding:.25rem .25rem .25rem .75rem;max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-chip-remove{padding:.25rem .6rem .25rem .35rem;color:var(--color-text-muted)}@media(max-width:480px){.filter-chip-label,.filter-chip-remove{min-width:44px}}.filter-chip-remove:hover{color:var(--color-text)}.filter-clear-all{color:var(--color-accent);text-decoration:underline;font-size:.85rem}.filter-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.filter-editor{position:absolute;top:calc(100% + var(--space-1));right:0;z-index:101;width:26rem;max-width:calc(100vw - 2 * var(--space-4));max-height:70vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-hover)}.filter-chip-wrap .filter-editor{left:0;right:auto}.filter-editor .search-input{flex:none;margin-bottom:0}.filter-editor-head{display:grid;grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;align-items:center;gap:var(--space-2)}.filter-editor-head .icon-button{justify-self:start}.filter-editor-title{margin:0;min-width:0;text-align:center;font-family:inherit;font-size:1.1rem;font-weight:700;color:var(--color-accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-values{display:flex;flex-direction:column;gap:var(--space-1);max-height:16rem;min-height:6.5rem;flex:none;overflow-y:auto;padding-right:var(--space-5)}.filter-value{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.filter-value input{accent-color:var(--color-accent)}.filter-value-count{margin-left:auto;color:var(--color-text-muted);font-size:.8rem}.filter-inputs{display:flex;align-items:center;gap:var(--space-2)}.filter-inputs .search-input{flex:1;min-width:0}.filter-editor-footer{display:flex;justify-content:flex-end;gap:var(--space-2);flex:none;position:sticky;bottom:calc(-1 * var(--space-3));margin-bottom:calc(-1 * var(--space-3));padding-block:var(--space-2) var(--space-3);background:var(--color-surface)}.filter-columns{display:grid;grid-template-columns:repeat(3,1fr)}.filter-columns button{padding-left:var(--space-2);padding-right:var(--space-2)}.quick-filter+.quick-filter{margin-top:var(--space-1)}.quick-filter-label{margin:0 0 var(--space-1);font-size:.85rem;color:var(--color-text-muted)}.quick-filter-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.quick-filter-switch button{padding:.4rem .5rem;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;line-height:1.2;text-align:center;white-space:nowrap;cursor:pointer;transition:background-color .15s ease}.quick-filter-switch button[aria-checked=true]{background:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent)}@media(hover:hover){.quick-filter-switch button:not([aria-checked=true]):hover{background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface));border-color:var(--color-accent)}}select.quick-filter-select{width:100%;min-width:0}@media(max-width:640px){select.quick-filter-select{min-height:44px}}@media(max-width:640px){.filter-columns,.quick-filter-switch{grid-auto-rows:1fr}.filter-columns button,.quick-filter-switch button{font-size:.8125rem;padding-left:var(--space-1);padding-right:var(--space-1)}}@media(max-width:640px){html.filter-sheet-open{overflow:hidden}.filter-chip-label,.filter-chip-remove,.filter-clear-all,.filter-value,.quick-filter-switch button{min-height:44px}.filter-backdrop{background:#00000080}.filter-editor,.filter-chip-wrap .filter-editor{position:fixed;top:auto;left:0;right:0;bottom:0;width:auto;max-width:none;max-height:85vh;border-radius:var(--radius) var(--radius) 0 0;padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px))}.filter-values{flex:1;min-height:6.5rem;max-height:none}}.spinner{display:inline-block;width:.9em;height:.9em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-spin .7s linear infinite}@keyframes spinner-spin{to{rotate:360deg}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}.cell-tip{padding:.5rem .75rem;font-size:.85rem;font-weight:400;line-height:1.35;white-space:nowrap;pointer-events:none;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 4px 16px #0000002e}.cell-tip.float-tip{position:fixed;inset:auto;margin:0;overflow:visible}.cell-tip.wide{white-space:normal;width:max-content;max-width:min(15rem,100vw - 2rem);text-align:left}.tip-title{display:block;font-weight:700}.tip-group:not(:first-child){margin-top:.5rem}.tip-rows{display:grid;grid-template-columns:auto auto;gap:0 var(--space-3);margin:.15rem 0 0;font-size:.8rem}.tip-rows dt{color:var(--color-text-muted)}.tip-mark{display:inline-block;width:.7rem;height:.7rem;margin-right:.35rem;vertical-align:-.05rem;box-sizing:border-box;background:var(--mark);border:.75px solid var(--slice-line)}.tip-mark.faded{background:color-mix(in srgb,var(--mark) 30%,transparent)}.tip-mark.line{width:1rem;height:0;border:0;border-top:3px solid var(--mark);background:none;vertical-align:.2rem}.tip-mark.line.dashed{height:3px;border-top:0;background:repeating-linear-gradient(90deg,var(--mark) 0 4px,transparent 4px 6px)}.tip-rows dt:has(+dd.sub){padding-left:var(--space-3)}.tip-rows dd.hl,.tip-rows dt:has(+dd.hl){font-weight:700;color:var(--color-text)}.tip-rows dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tip-lines{margin:.2rem 0 0;padding:0;list-style:none;font-size:.8rem}.tip-block{margin-top:var(--space-2)}.tip-block.caution .tip-title,.tip-block.caution .tip-lines{color:var(--chip-text)}.tip-block.strength-solid .tip-title,.tip-block.strength-solid .tip-lines{color:var(--color-accent)}.tip-block.strength-hint .tip-title,.tip-block.strength-hint .tip-lines{color:var(--color-possible)}.tip-block.strength-early .tip-title,.tip-block.strength-early .tip-lines{color:var(--color-text-muted)}.tip-counts{margin-top:var(--space-2)}.tip-lines li+li{margin-top:.25rem}.tip-points .tip-label{font-weight:700}.tip-lines li.gap{height:.4rem;margin:0}.tip-note{display:block;margin-top:.15rem;font-size:.8rem;color:var(--color-text-muted)}.ink-better{color:color-mix(in srgb,var(--div-high-ink) 85%,var(--color-text))}.ink-worse{color:color-mix(in srgb,var(--div-low-ink) 85%,var(--color-text))}.heat-cell.none,.cal-cell.none{border:1px dashed color-mix(in oklab,var(--color-text-muted) 45%,transparent)}.insights-bar{display:flex;flex-wrap:wrap;gap:var(--space-3)}.insights-charts{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1fr);margin-bottom:var(--space-5)}@container insights (min-width: 868px){.insights-charts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.insights-charts .chart-panel{margin:0}.chart-note{margin:var(--space-2) 0 0;font-size:.8rem;color:var(--color-text-muted)}.sample-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 6px 1px 4px;border-radius:4px;background:var(--chip);color:var(--chip-ink);font-size:.82em;font-weight:700;line-height:1.2;white-space:nowrap;vertical-align:baseline}button .sample-chip{font-size:inherit}.sample-chip .icon{width:1.1em;height:1.1em;flex:none}.sample-swatch{display:inline-block;width:1.1em;height:.8em;margin-left:.3em;vertical-align:-.05em;border-radius:2px;background-color:var(--div-high)}.small-sample,.small-sample .who a,.small-sample .name,.small-sample .val{color:var(--color-text-muted)}.small-sample-mark{background-image:linear-gradient(to bottom right,var(--chip) 50%,transparent 50%),var(--thin-hatch);background-size:9px 9px,auto;background-position:left top,0 0;background-repeat:no-repeat,repeat}.mode-tip-button{padding:0;border:0;background:none;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:help}.mode-tip-button .tip-text{text-decoration:underline dotted;text-underline-offset:.2em}.mode-tip-button .icon{width:.85em;height:.85em;margin-inline-start:.15em;vertical-align:-.1em}.mode-tip-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}@media(max-width:640px){.mode-tip-button{min-width:44px;padding:16px 15px;margin:-16px -15px}}.mode-tip{--w: min(15rem, 100vw - 2rem);position:fixed;inset:auto;top:var(--y);left:clamp(1rem,var(--x) - var(--w) / 2,100vw - 1rem - var(--w));width:var(--w);margin:.25rem 0 0;padding:.5rem .75rem;font-size:.85rem;line-height:1.35;text-align:left;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 4px 16px #0000002e}.mode-tip.tip-list{--w: min(20rem, 100vw - 2rem);text-align:left}.tip-list .tip-title{margin:0 0 .25rem}.tip-list ul{max-height:15rem;margin:0;padding:0;overflow-y:auto;list-style:none}.tip-list li{display:flex;align-items:baseline;gap:var(--space-3);padding:.3rem 0;border-top:1px solid var(--color-border)}.tip-list li:first-child{border-top:0}.tip-list li>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tip-list li>small{flex-shrink:0;color:var(--color-text-muted);font-size:.75rem;font-variant-numeric:tabular-nums}.mode-tip[data-above]{translate:0 calc(-100% - .5rem)}.board-jump{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:.85rem}.board-jump span{color:var(--color-text-muted)}.board-jump a{display:inline-flex;align-items:center;min-height:2.25rem;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:inherit;text-decoration:none}@media(hover:hover){.board-jump a:hover{border-color:var(--color-accent)}}@media(max-width:640px){.board-jump a{min-height:44px}}.form-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.cap-block{display:block;max-width:100%}.cap-list{display:block}.cap-gap{word-spacing:var(--cap-ws, .6em)}.cap-item{display:inline-block;position:relative;max-width:100%;text-decoration:inherit}.cap-item:before{content:" · ";white-space:pre;position:absolute;right:100%;text-decoration:none}.cap-list:not([data-ready]) .cap-item:before,.cap-item[data-start]:before{visibility:hidden}.stat-label.has-cap{-webkit-box-align:center;-webkit-line-clamp:unset}.data-table th.col-actions{min-width:13.95rem}.data-table .action-stack{flex-direction:row;gap:.375rem}.data-table .action-row{display:contents}@media(max-width:640px){.data-table th.col-actions{min-width:16.45rem}}.data-table td>.action-buttons:not(:has(>.action-stack)){display:grid;grid-template-columns:repeat(4,max-content);flex-wrap:unset}@media(min-width:641px)and (pointer:fine){.data-table.coffees-list td .button.button-icon{padding:.3rem .5rem}}.action-row .button[aria-pressed=true]:not(.button-danger,.button-success){--button-color: var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast);box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-accent)}.data-table td>.action-buttons:has(>.action-stack){flex-direction:column;align-items:flex-start}.bn-list{list-style:none;padding:0;margin:0 0 var(--space-3);width:fit-content;max-width:100%}.bn-list li{border-bottom:1px solid var(--color-border)}.bn-list form,.bn-list .bn-row{display:flex;align-items:center;gap:var(--space-3)}.bn-dose{flex:none;min-width:3.5rem}.bn-add{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.bn-add input{width:4.5rem;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit}.bn-add .button{margin:0}.bn-list .button-icon{flex:none;margin:0;min-width:44px;min-height:44px}@media(max-width:640px){.bn-add input{font-size:16px;min-height:44px}}.ai-dialog.svelte-qtdqyq{width:min(40rem,100% - 2rem);max-height:85dvh;padding:0;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:inherit;font-size:.875rem}.ai-dialog[open].svelte-qtdqyq{display:flex}@media(max-height:500px){.ai-dialog.svelte-qtdqyq{max-height:calc(100dvh - 1rem)}}.ai-dialog.svelte-qtdqyq::backdrop{background:#00000073}.ai-sheet.svelte-qtdqyq{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0}.ai-header.svelte-qtdqyq{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border)}.ai-header.svelte-qtdqyq h2:where(.svelte-qtdqyq){margin:0;font-size:1rem}.ai-x.svelte-qtdqyq{min-width:44px;min-height:44px;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:1.2rem;cursor:pointer}.ai-body.svelte-qtdqyq{flex:1;min-height:0;overflow-y:auto;padding:var(--space-2) var(--space-4);overflow-wrap:break-word}.ai-body.svelte-qtdqyq h3:where(.svelte-qtdqyq){margin:var(--space-4) 0 var(--space-1);font-size:.95rem}.ai-body.svelte-qtdqyq p:where(.svelte-qtdqyq){margin:var(--space-2) 0}.ai-body.svelte-qtdqyq ul:where(.svelte-qtdqyq){margin:0;padding-left:1.2rem}.ai-footer.svelte-qtdqyq{display:flex;justify-content:center;padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border)}.ai-footer.svelte-qtdqyq .button:where(.svelte-qtdqyq){margin:0}@media(max-width:640px){.ai-dialog.svelte-qtdqyq{width:100dvw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0}.ai-sheet.svelte-qtdqyq{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}}.recap-banner.svelte-gqjltt{box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 var(--space-3);padding:4px max(var(--space-4),calc((100% - var(--container-max)) / 2 + var(--space-4)));background:var(--bg);color:var(--fg);font-weight:600;font-size:.9rem}.actions.svelte-gqjltt{display:flex;gap:var(--space-2)}button.svelte-gqjltt{min-height:44px;min-width:44px;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}button.svelte-gqjltt span:where(.svelte-gqjltt){display:block;box-sizing:border-box;min-height:32px;padding:0 var(--space-3);line-height:29px;border:1.5px solid currentColor;border-radius:16px}button.svelte-gqjltt:hover span:where(.svelte-gqjltt){background:color-mix(in srgb,currentColor 18%,transparent)}button.svelte-gqjltt:focus-visible{outline:3px solid currentColor;outline-offset:-2px;border-radius:22px}.toast.svelte-cwpt8w{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--color-text);color:var(--color-surface);box-shadow:var(--shadow-hover);font-weight:600;font-size:.9rem;animation:svelte-cwpt8w-toast-in .15s ease-out}.toast.fading.svelte-cwpt8w{opacity:0;transition:opacity .4s ease-in}.undo.svelte-cwpt8w{flex:none;min-height:32px;padding:0 var(--space-2);border:1px solid currentColor;border-radius:var(--radius);background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}.undo.svelte-cwpt8w:hover,.undo.svelte-cwpt8w:focus-visible{background:var(--color-surface);color:var(--color-text)}@media(max-width:640px),(max-height:450px){.undo.svelte-cwpt8w{min-width:44px;min-height:44px;padding-inline:var(--space-3);white-space:nowrap;margin-block:calc(-1 * var(--space-2))}}@keyframes svelte-cwpt8w-toast-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.toast.svelte-cwpt8w{animation:none}.toast.fading.svelte-cwpt8w{transition:none}}.toast-stack.svelte-1cpok13{position:fixed;top:calc(var(--space-2) + env(safe-area-inset-top,0px));left:50%;z-index:90;transform:translate(-50%);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);max-width:calc(100vw - 2 * var(--space-4));pointer-events:none}.toast-stack.svelte-1cpok13>*{pointer-events:auto}
