:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--background:#fbf9f6;--surface:#fff;--surface-sunk:#f4f0ea;--foreground:#1a1614;--muted:#6d635b;--line:#e2dbd1;--line-strong:#cbc0b3;--accent:#2b2724;--accent-contrast:#fff;--accent-soft:#efebe4;--accent-line:#bdb2a4;--danger:#9a3412;--radius:8px;--radius-lg:12px;--gap:1rem;--serif:ui-serif, Georgia, "Iowan Old Style", "Times New Roman", serif;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--background:#131110;--surface:#1c1917;--surface-sunk:#221e1c;--foreground:#f2ede7;--muted:#a89e94;--line:#332d29;--line-strong:#4a423c;--accent:#e8e0d6;--accent-contrast:#1a1614;--accent-soft:#272320;--accent-line:#544b43;--danger:#f0a888}}*{box-sizing:border-box}html,body{background:var(--background);color:var(--foreground);font-family:var(--sans);-webkit-text-size-adjust:100%;margin:0;padding:0;font-size:16px;line-height:1.6}main{max-width:46rem;margin:0 auto;padding:3rem 1.25rem 5rem}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 .5em;font-weight:600;line-height:1.2}h1{margin-bottom:.75rem;font-size:clamp(1.75rem,1.2rem + 2vw,2.4rem)}h2{margin-top:2.5rem;font-size:1.4rem}h3{margin-top:1.75rem;font-size:1.1rem}p{margin:0 0 1rem}a{color:var(--accent);text-underline-offset:.15em}a:hover{text-decoration-thickness:2px}small,.muted{color:var(--muted);font-size:.875rem}code{background:var(--surface-sunk);border-radius:4px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}fieldset{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);margin:0 0 1.25rem;padding:1.1rem 1.25rem 1.25rem}legend{font-family:var(--serif);color:var(--foreground);margin-left:-.4rem;padding:0 .4rem;font-size:1.05rem;font-weight:600}.step{margin-bottom:1.75rem}.step>p:first-child,.step>label:first-child{font-weight:600}ul.options{flex-direction:column;gap:2px;margin:.5rem 0 0;padding-left:0;list-style:none;display:flex}ul.options ul.options{border-left:2px solid var(--line);margin-top:2px;padding-left:1.25rem}ul.options label{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;align-items:center;gap:.6rem;padding:.5rem .65rem;transition:background .12s,border-color .12s;display:flex}ul.options label:hover{background:var(--surface-sunk)}ul.options li:has(>label>input:checked)>label{background:var(--accent-soft);border-color:var(--accent-line);font-weight:600}ul.options label:has(input:disabled){cursor:default;opacity:.55}input[type=radio],input[type=checkbox]{accent-color:var(--accent);flex:none;width:1.05rem;height:1.05rem;margin:0}.swatch{border:1px solid var(--line-strong);vertical-align:text-bottom;border-radius:50%;flex:none;width:1.15rem;height:1.15rem;margin-right:.15em;display:inline-block;box-shadow:inset 0 0 0 1px #ffffff40}button,input[type=submit]{font:inherit;min-height:2.4rem;color:var(--foreground);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;padding:.5rem 1rem;font-size:.95rem;font-weight:600;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:var(--surface-sunk);border-color:var(--muted)}button:disabled{opacity:.5;cursor:not-allowed}.action-bar button,button[type=submit]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.action-bar button:hover:not(:disabled),button[type=submit]:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 85%, black);border-color:color-mix(in srgb, var(--accent) 85%, black)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],select,textarea{font:inherit;color:var(--foreground);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);max-width:100%;padding:.45rem .6rem;font-size:.95rem}textarea{resize:vertical;width:100%;min-height:5rem}:is(label:has(>input[type=text]),label:has(>input[type=email]),label:has(>input[type=password]),label:has(>input[type=number]),label:has(>input[type=search]),label:has(>select),label:has(>textarea)){max-width:26rem;color:var(--muted);flex-direction:column;align-items:stretch;gap:.3rem;font-size:.875rem;font-weight:600;display:flex}:is(label:has(>input[type=text])>input,label:has(>input[type=email])>input,label:has(>input[type=password])>input,label:has(>input[type=number])>input,label:has(>input[type=search])>input,label:has(>select)>select,label:has(>textarea)>textarea){width:100%;color:var(--foreground);font-weight:400}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}label{cursor:pointer}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;margin:1rem 0;font-size:.925rem;overflow:hidden}th,td{border:0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.6rem .75rem}thead th{background:var(--surface-sunk);font-family:var(--sans);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap;font-size:.825rem;font-weight:600}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface-sunk)}main>table{display:block;overflow-x:auto}.action-bar{background:color-mix(in srgb, var(--background) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem;padding:.85rem 0;display:flex;position:sticky;bottom:0}.action-bar button{min-width:9rem;min-height:2.9rem}.action-bar button.secondary{background:var(--surface);color:var(--foreground);border-color:var(--line-strong);min-width:5.5rem}.action-bar button.secondary:hover:not(:disabled){background:var(--surface-sunk);border-color:var(--muted)}.room ul.options label{padding:.7rem .75rem}@media (min-width:900px){main.taste-screen{max-width:51rem}}.tasting-col{min-width:0}.tasting-rail{display:none}@media (min-width:900px){.tasting-shell{align-items:stretch;display:flex}.tasting-col{flex:auto}.tasting-rail{border-left:1px solid var(--line);flex:0 0 3.5rem;width:3.5rem;margin-left:1.5rem;display:block}.tasting-shell[data-rail=open] .tasting-rail{flex-basis:15rem;width:15rem}}.rail-inner{flex-direction:column;min-height:0;max-height:calc(100dvh - 3rem);padding:.35rem 0 1rem .5rem;display:flex;position:sticky;top:1.5rem}.tasting-rail[data-open=true] .rail-inner>.question-list{scrollbar-width:thin;min-height:0;overflow-y:auto}.rail-head{justify-content:center;align-items:center;gap:.5rem;min-height:2rem;margin-bottom:.5rem;display:flex}.tasting-rail[data-open=true] .rail-head{justify-content:space-between;padding-left:.6rem}.tally{color:var(--muted);white-space:nowrap;font-size:.78rem}button.rail-expander{border-radius:6px;flex:none;justify-content:center;align-items:center;width:1.75rem;min-width:1.75rem;height:1.75rem;min-height:1.75rem;padding:0;font-size:.9rem;line-height:1;display:inline-flex}.tasting-rail[data-open=true] button.rail-expander{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}ol.spine{flex-direction:column;align-items:center;gap:5px;margin:0;padding:0;list-style:none;display:flex}ol.spine>li{flex-direction:column;align-items:center;gap:5px;display:flex}ol.spine>li[data-first=true]:not(:first-child){margin-top:.7rem}.sec-mark{letter-spacing:.1em;color:var(--accent-line);font-size:.55rem;font-weight:700;line-height:1}button.dot{background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:1.5rem;min-width:1.5rem;height:1rem;min-height:1rem;padding:0;display:flex;position:relative}button.dot:hover:not(:disabled){background:var(--surface-sunk)}.dot .pip{background:var(--line-strong);border-radius:50%;width:8px;height:8px;transition:background .12s,height .12s;display:block}.dot[data-state=answered] .pip{background:var(--accent)}.dot[data-state=current]{height:1.75rem}.dot[data-state=current] .pip{background:var(--accent);border-radius:2px;width:4px;height:1.4rem}.dot .tip{z-index:5;border-radius:var(--radius);background:var(--accent);width:max-content;max-width:13rem;color:var(--accent-contrast);text-align:left;opacity:0;pointer-events:none;flex-direction:column;padding:.4rem .6rem;transition:opacity .1s;display:flex;position:absolute;top:50%;right:calc(100% + .5rem);transform:translateY(-50%);box-shadow:0 6px 20px #1a161438}.dot:hover .tip,.dot:focus-visible .tip,.dot[data-revealed=true] .tip{opacity:1}.tip-section{letter-spacing:.1em;text-transform:uppercase;opacity:.68;font-size:.6rem;font-weight:700}.tip-name{white-space:normal;font-size:.8rem;font-weight:600;line-height:1.3}.question-list section{margin-bottom:.5rem}.question-list h3{font-family:var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:.85rem 0 .2rem .6rem;font-size:.7rem;font-weight:700}.question-list ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.question-list li>button{text-align:left;background:0 0;border:1px solid #0000;flex-direction:column;align-items:stretch;gap:.05rem;width:100%;min-height:2.5rem;padding:.35rem .6rem;font-size:.85rem;font-weight:400;display:flex}.question-list li>button:hover:not(:disabled){background:var(--surface-sunk);border-color:var(--line)}.question-list li>button[aria-current=step]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:600}.question-list .q,.question-list .a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.question-list .a{color:var(--muted);font-size:.75rem}.question-list button[data-state=answered] .a{color:var(--foreground)}.question-list button[data-state=owing] .a{color:var(--danger)}.question-list button[aria-current=step] .a{color:var(--accent-contrast);opacity:.85}.tasting-rail[data-open=true] .rail-inner{overscroll-behavior:contain;max-height:calc(100dvh - 3rem);overflow-y:auto}@media (min-width:900px){.tasting-bar{display:none}}.tasting-bar{margin:-.25rem 0 1.25rem}.tasting-bar .segs{gap:3px;display:flex}.tasting-bar .segs>span{background:var(--line);border-radius:2px;flex:1 1 0;height:3px;transition:background .18s}.tasting-bar .segs>span[data-state=answered],.tasting-bar .segs>span[data-state=current]{background:var(--accent)}.tasting-bar .where{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.35rem;display:flex}button.all-questions{min-height:2.25rem;color:var(--accent);white-space:nowrap;background:0 0;border:0;flex:none;padding:.25rem 0;font-size:.85rem}button.all-questions:after{content:" ›"}button.all-questions:hover:not(:disabled){background:0 0;text-decoration:underline}.drawer-layer{z-index:50;position:fixed;inset:0}button.drawer-scrim{cursor:pointer;background:#1a161457;border:0;border-radius:0;width:100%;padding:0;position:absolute;inset:0}button.drawer-scrim:hover:not(:disabled){background:#1a161457}.drawer{background:var(--surface);border-left:1px solid var(--line-strong);flex-direction:column;width:80%;max-width:22rem;padding:1rem .6rem 1rem .5rem;animation:.18s ease-out drawer-in;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-10px 0 30px #1a161429}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.drawer{animation:none}}.drawer-head{justify-content:space-between;align-items:center;gap:.5rem;padding-left:.6rem;display:flex}.drawer .tally{padding:0 .6rem .4rem}button.drawer-close{width:2.5rem;min-width:2.5rem;height:2.5rem;min-height:2.5rem;color:var(--muted);background:0 0;border:0;flex:none;padding:0;font-size:1.4rem;line-height:1}.drawer-body{overscroll-behavior:contain;flex:auto;overflow-y:auto}.drawer .question-list li>button{min-height:2.9rem;padding:.4rem .7rem;font-size:.95rem}.drawer .question-list .a{font-size:.82rem}h2.question{margin-top:.25rem;margin-bottom:.35rem}p.optional{margin:0 0 .9rem}.options .digit{border:1px solid var(--line);background:var(--surface);min-width:1.35rem;height:1.35rem;color:var(--muted);font-family:var(--sans);font-variant-numeric:tabular-nums;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0 .25rem;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}ul.options li:has(>label>input:checked) .digit{border-color:var(--accent-line);color:var(--foreground)}.key-hint{color:var(--muted);flex:100%;order:9;font-size:.78rem}@media (hover:none){.key-hint,.options .digit{display:none}}dl.known{flex-direction:column;gap:.9rem;margin:0;display:flex}dl.known dt{color:var(--muted);font-size:.88rem}dl.known dd{margin:.15rem 0 0}dl.known dd>p{margin:0}.picker>.picker-search{max-width:none}.picker>.picker-search>input{min-height:2.75rem;font-size:1rem}.picker ul.chips{flex-wrap:wrap;gap:.35rem;margin:.6rem 0 .2rem;padding:0;list-style:none;display:flex}.picker .chip{background:var(--accent-soft);border:1px solid var(--accent-line);min-height:2.1rem;color:var(--foreground);border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.85rem;display:inline-flex}.picker .chip:hover:not(:disabled){background:var(--surface-sunk);border-color:var(--muted)}.picker .crumbs{flex-wrap:wrap;align-items:center;gap:.1rem;margin:.75rem 0 .15rem;display:flex}.picker .crumbs button{min-height:2.1rem;color:var(--accent);background:0 0;border:0;padding:.2rem .35rem;font-size:.85rem;font-weight:600}.picker .crumbs button:disabled{opacity:1;color:var(--muted);cursor:default}.picker .crumbs .sep{color:var(--muted);font-size:.85rem}.picker .picker-empty{margin:.6rem 0 0}ul.options.picker-list{flex-flow:wrap;align-items:flex-start;gap:.4rem;margin-top:.5rem;display:flex}ul.options.picker-list>li{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;align-items:stretch;gap:0;width:auto;max-width:100%;display:inline-flex;overflow:hidden}ul.options.picker-list>li>label{background:0 0;border:0;border-radius:0;align-items:center;gap:0;min-width:0;min-height:2.5rem;margin:0;padding:.4rem .75rem;display:inline-flex}ul.options.picker-list>li>label>input[type=checkbox]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}ul.options.picker-list>li:has(input:checked){border-color:var(--accent);background:var(--accent)}ul.options.picker-list>li:has(input:checked)>label{color:var(--accent-contrast);background:0 0;border-color:#0000;font-weight:600}ul.options.picker-list>li:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}ul.options.picker-list>li:hover:not(:has(input:checked)){background:var(--surface-sunk)}ul.options.picker-list .term{white-space:nowrap;flex-direction:row;align-items:baseline;gap:.35rem;min-width:0;line-height:1.25;display:inline-flex}ul.options.picker-list .term>span{overflow-wrap:anywhere}ul.options.picker-list>li:has(>label>input) .term{font-size:1.15rem;font-weight:500}ul.options.picker-list>li:has(>label>input)>label{padding:.55rem .9rem}ul.options.picker-list .path{opacity:.7;text-overflow:ellipsis;white-space:nowrap;max-width:11rem;font-size:.7rem;overflow:hidden}ul.options.picker-list>li.category{border-style:dashed;border-color:var(--line-strong);background:var(--surface-sunk)}ul.options.picker-list>li.category>button{min-width:0;min-height:2.5rem;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:.5rem;padding:.4rem .6rem .4rem .75rem;font-weight:500;display:inline-flex}ul.options.picker-list>li.category:hover:not(:has(:disabled)){background:var(--surface);border-color:var(--accent-line)}ul.options.picker-list>li.category:hover>button{color:var(--foreground)}ul.options.picker-list>li.category:has(button:focus-visible){outline:2px solid var(--accent);outline-offset:2px}ul.options.picker-list .drill{opacity:.6;font-size:1rem;line-height:1}.picker .picker-absent{align-items:center;gap:.6rem;margin-top:.9rem;display:flex}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:600px){main{padding:2rem 1rem 4rem}fieldset{padding:.9rem .9rem 1rem}ul.options label{padding:.65rem .6rem}}details.add-wine{margin:.5rem 0 0}details.add-wine>summary{color:var(--accent);cursor:pointer;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;list-style:none;display:inline-flex}details.add-wine>summary::-webkit-details-marker{display:none}details.add-wine>summary:before{content:"+";font-size:1rem;line-height:1}details.add-wine[open]>summary:before{content:"−"}.wine-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-sunk);margin-top:.75rem;padding:1rem}.wine-form>p{margin-bottom:.75rem}.wine-form>p:last-child{margin-bottom:0}.question-list .a-todo{border:1.5px dotted var(--line-strong);border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.question-list button[data-state=owing] .a-todo{border-color:var(--muted)}.question-list button[aria-current=step] .a-todo{opacity:.8;border-color:currentColor}.site-header{justify-content:space-between;align-items:baseline;gap:1rem;max-width:60rem;margin:0 auto;padding:1.25rem 1.25rem 0;display:flex}.site-header .wordmark{font-family:var(--serif);letter-spacing:.01em;color:var(--foreground);font-size:1.15rem;font-weight:600;text-decoration:none}.site-header nav{gap:1.25rem;font-size:.9rem;display:flex}@media (max-width:34rem){.site-header{flex-wrap:wrap;gap:.5rem .75rem}.site-header nav{flex-wrap:wrap;gap:.5rem .9rem;font-size:.85rem}.site-header nav a{white-space:nowrap}}.site-header nav a{color:var(--muted);border-bottom:1.5px solid #0000;padding-bottom:2px;text-decoration:none}.site-header nav a:hover{color:var(--foreground)}.site-header nav a[aria-current=page]{color:var(--foreground);border-bottom-color:var(--accent-line)}main.landing{max-width:54rem;padding-top:2.5rem}.landing-hero{border-bottom:1px solid var(--line);padding:2rem 0 3rem}.landing-hero h1{margin-bottom:.25em;font-size:clamp(2.6rem,8vw,4rem)}.landing .lede{color:var(--muted);max-width:34rem;margin:0 0 2rem;font-size:1.15rem}.landing-actions{flex-wrap:wrap;gap:.75rem;margin:0;display:flex}.cta{border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent);min-height:2.75rem;color:var(--accent-contrast);justify-content:center;align-items:center;padding:0 1.4rem;font-size:.98rem;font-weight:600;text-decoration:none;transition:transform 80ms;display:inline-flex}.cta:hover{transform:translateY(-1px)}.cta:active{transform:none}.cta.secondary{border-color:var(--line-strong);color:var(--foreground);background:0 0;font-weight:500}.cta.plain{color:var(--muted);background:0 0;border-color:#0000;padding:0 .5rem;font-weight:500}.cta.plain:hover{color:var(--foreground)}.landing section{border-bottom:1px solid var(--line);padding:2.75rem 0}.landing section h2{margin-bottom:1.25rem;font-size:1.35rem}.landing-levels ul{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.landing-levels li{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:1.1rem 1.15rem}.landing-levels li h3{margin-bottom:.4em;font-size:1rem}.landing-levels li p{color:var(--muted);margin:0;font-size:.92rem}.landing-levels li[data-available=false]{opacity:.55;background:var(--surface-sunk)}.landing-levels li .landing-soon{margin-top:.5rem;font-size:.85rem;font-style:italic}.landing-levels-prose{max-width:38rem;margin:0 0 1.5rem}.landing-note,.landing-teach p{max-width:38rem;color:var(--muted)}.landing-note{font-size:.92rem}.landing-teach .landing-actions{margin-top:1.5rem}.landing-foot{color:var(--muted);padding-top:1.5rem}main.start{max-width:48rem}.page-head{margin-bottom:2rem}.page-head h1{margin-bottom:.2em}.page-head p{color:var(--muted);margin:0}.field{background:0 0;border:0;margin:0 0 2rem;padding:0}.field>legend,.field-label{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .65rem;padding:0;font-size:.78rem;font-weight:600;display:block}.choice-cards{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.choice-cards li{margin:0}.choice-cards label{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);cursor:pointer;padding:1rem 1.1rem 1rem 2.9rem;display:block;position:relative}.choice-cards label:hover{border-color:var(--line-strong)}.choice-cards input{margin:0;position:absolute;top:1.15rem;left:1.1rem}.choice-cards label:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}.choice-cards label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.choice-cards label:has(input:disabled){cursor:not-allowed;opacity:.55;background:var(--surface-sunk)}.choice-title{align-items:baseline;gap:.5rem;font-weight:600;display:flex}.choice-title .version{color:var(--muted);font-size:.75rem;font-weight:500}.choice-cards .choice-blurb{color:var(--muted);margin-top:.25rem;font-size:.9rem;display:block}.choice-cards .choice-warn{color:var(--danger);margin:.5rem 0 0 2.9rem;font-size:.85rem}.choice-cards .choice-soon{color:var(--muted);margin:.5rem 0 0 2.9rem;font-size:.85rem;font-style:italic}.segmented{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;display:inline-flex;overflow:hidden}.segmented label{cursor:pointer;border-left:1px solid var(--line);padding:.5rem 1rem;font-size:.92rem;position:relative}.segmented label:first-child{border-left:0}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented label:has(input:checked){background:var(--accent);color:var(--accent-contrast)}.segmented label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}.segmented label[data-disabled]{color:var(--muted);cursor:not-allowed;background:0 0}.segmented label[data-disabled]:has(input:checked){background:var(--line);color:var(--muted)}.field-row{flex-wrap:wrap;gap:2rem;display:flex}.start-actions{border-top:1px solid var(--line);align-items:center;gap:1rem;padding-top:.5rem;display:flex}.start-actions button{min-height:2.75rem;padding:0 1.6rem;font-size:1rem}label:has(>.join-code)>.join-code{width:6.9em;font-family:var(--serif);letter-spacing:.35em;text-align:center;text-transform:uppercase;padding:.5rem 0 .5rem .35em;font-size:2rem}.signin-toggle{color:var(--muted);margin-top:2rem}.signin-toggle>summary{cursor:pointer;font-size:.9rem}.session-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.session-list a{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--foreground);align-items:baseline;gap:.9rem;padding:.7rem .9rem;text-decoration:none;display:flex}.session-list a:hover{border-color:var(--line-strong)}.session-code{font-family:var(--serif);letter-spacing:.14em;font-size:1.05rem}.session-meta{color:var(--muted);font-size:.85rem}.who{color:var(--muted);justify-content:flex-end;align-items:baseline;gap:.75rem;margin:-1rem 0 1.75rem;font-size:.85rem;display:flex}button.linkish{color:var(--muted);font-size:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;min-height:0;padding:0;text-decoration:underline}button.linkish:hover{color:var(--foreground)}.signin{max-width:24rem}.taste-head{border-bottom:1px solid var(--line);align-items:center;gap:1rem;margin:-1rem 0 2rem;padding-bottom:.9rem;display:flex}.taste-head .leave{font-family:var(--serif);color:var(--muted);flex:none;align-items:baseline;gap:.3rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.taste-head .leave:hover{color:var(--foreground)}.taste-head .leave>span:first-child{font-size:1.1rem;transition:transform .12s}.taste-head .leave:hover>span:first-child{transform:translate(-2px)}.taste-head-what{text-align:center;flex:auto;min-width:0}.taste-head-what h1{letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:600;line-height:1.3;overflow:hidden}.taste-head-what p{font-family:var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);cursor:default;margin:0;font-size:.7rem;font-weight:600}.taste-head-count{font-variant-numeric:tabular-nums;color:var(--muted);flex:none;margin:0;font-size:.9rem}.taste-head-count>span{opacity:.55}@media (max-width:30rem){.taste-head{flex-wrap:wrap;gap:.5rem 1rem}.taste-head-what{text-align:left;flex-basis:100%;order:3}.taste-head-count{margin-left:auto}}main.taste-screen .who{display:none}.history-tally{color:var(--muted);margin:0 0 1rem;font-size:.85rem}.history-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.history-list>li{border-bottom:1px solid var(--line);flex-wrap:nowrap;align-items:baseline;margin:0;display:flex}.history-list>li>a{flex:auto;min-width:0}button.linkish.h-delete{text-align:right;color:var(--muted);flex:0 0 4.5rem;padding:0 .5rem 0 0;font-size:.78rem;text-decoration:none}button.linkish.h-delete:hover,button.linkish.h-delete:focus-visible{color:var(--foreground);text-decoration:underline}.history-list>li:has(.history-confirm){flex-wrap:wrap}.history-confirm{flex:1 0 100%;margin:0 .5rem .85rem}.history-list a{color:var(--foreground);align-items:baseline;gap:1rem;padding:.85rem .5rem;text-decoration:none;display:flex}.history-list a:hover{background:var(--surface-sunk)}.history-list a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.h-when{color:var(--muted);font-variant-numeric:tabular-nums;flex:0 0 6.5rem;font-size:.8rem}.h-what{flex-direction:column;flex:auto;gap:.15rem;min-width:0;display:flex}.h-wine{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;overflow:hidden}.h-meta{color:var(--muted);font-size:.78rem}.h-score{text-align:right;font-family:var(--serif);font-variant-numeric:tabular-nums;flex:0 0 7rem;font-size:1.15rem}.h-score .h-open,.h-score .h-none{font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:.72rem;font-weight:600}.h-score .h-open{border:1px dashed var(--line-strong);border-radius:999px;padding:.15rem .5rem;display:inline-block}.history-empty{padding:2rem 0}.history-empty p:first-child{max-width:28rem;color:var(--muted)}.history-more{margin-top:2rem}@media (max-width:30rem){.history-list a{flex-wrap:wrap;gap:.25rem 1rem}.h-when{flex:none;order:2}.h-what{flex-basis:100%;order:1}.h-score{flex:auto;order:3}}.record{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.5rem}.record>h2{margin-bottom:1.25rem;font-size:1.15rem}.record-group{margin-bottom:1.75rem}.record-group>h3{font-family:var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem;font-size:.72rem;font-weight:600}.record-group dl{border-top:1px solid var(--line);margin:0}.record-group dl>div{border-bottom:1px solid var(--line);align-items:baseline;gap:1.5rem;padding:.55rem .25rem;display:flex}.record-group dt{min-width:0;color:var(--muted);flex:45%;font-size:.9rem}.record-group dd{overflow-wrap:anywhere;flex:55%;min-width:0;margin:0;font-weight:500}.record-group dd.unanswered{color:var(--muted);font-style:italic;font-weight:400}.record-more{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:2rem;display:flex}@media (max-width:30rem){.record-group dl>div{flex-direction:column;gap:.15rem}}.join-block{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);text-align:center;margin:0 0 2rem;padding:1.1rem 1.25rem 1.25rem}.join-block-label{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem;font-weight:600}.join-block-code{font-family:var(--serif);letter-spacing:.22em;text-indent:.22em;margin:.25rem 0 .4rem;font-size:clamp(2.4rem,9vw,3.4rem);font-weight:600;line-height:1.1}.join-block-hint{color:var(--muted);margin:0;font-size:.85rem}.warn-block{border:1px solid var(--danger);border-radius:var(--radius-lg);background:var(--surface);border-left-width:6px;margin:0 0 1.25rem;padding:1rem 1.25rem 1.1rem}.warn-block h2{color:var(--danger);margin:0 0 .4rem;font-size:1.1rem}.warn-block p{margin:.35rem 0 0}.key-gaps{margin:.75rem 0 0;padding-left:1.25rem}.key-gaps>li{margin:0 0 1rem}.key-gaps>li>p{margin:0 0 .35rem}.key-gaps small{opacity:.7}.pacing-list{counter-reset:pace;margin:0;padding:0;list-style:none}.pacing-list>li{border-bottom:1px solid var(--line);align-items:baseline;gap:1rem;margin:0;padding:.6rem .5rem .6rem 2.4rem;display:flex;position:relative}.pacing-list>li:before{counter-increment:pace;content:counter(pace);font-variant-numeric:tabular-nums;color:var(--muted);font-size:.8rem;position:absolute;left:.5rem}.pacing-list>li[data-now=yes]{background:var(--accent-soft);border-radius:var(--radius)}.pace-what{flex-direction:column;flex:auto;gap:.1rem;min-width:0;display:flex}.pacing-list>li[data-now=yes] .pace-prompt{font-weight:600}.pace-meta{color:var(--muted);font-size:.78rem}.pace-now{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex:none;font-size:.72rem;font-weight:600}.pacing-list>li>button{flex:none}.taste-head .leave.static{color:var(--muted);cursor:default}.field-help{max-width:34rem;color:var(--muted);margin:-.25rem 0 1rem;font-size:.85rem}.now{margin-bottom:1.5rem}.now-where{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 .2rem;font-size:.72rem;font-weight:600}.now-prompt{margin:0 0 .8rem;font-size:1.6rem}.now-state,.now-key{color:var(--muted);margin:0 0 .5rem;font-size:.9rem}.now-key strong{color:var(--foreground)}.tally-bars{gap:.35rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.tally-bars>li{border-radius:var(--radius);grid-template-columns:minmax(6rem,14rem) 1fr 2.5rem;align-items:center;gap:.75rem;margin:0;padding:.3rem .4rem;display:grid}.tally-bars>li[data-key=yes]{background:var(--accent-soft)}.tally-label{min-width:0;font-size:.92rem}.tally-label small{color:var(--muted)}.tally-bar{background:var(--surface-sunk);border-radius:999px;height:.6rem;display:block;overflow:hidden}.tally-bar>span{background:var(--accent);border-radius:999px;height:100%;transition:width .2s;display:block}.tally-n{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted);font-size:.92rem}.pace-bar{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.6rem;padding-top:1rem;display:flex}.pace-bar button{min-height:2.75rem;padding:0 1.3rem}.pace-bar button.linkish{min-height:0;margin-left:auto;padding:0;font-size:.85rem}.all-questions{margin-top:2rem}.all-questions>summary{cursor:pointer;color:var(--muted);font-size:.85rem}.all-questions>summary:hover{color:var(--foreground)}.room-line{color:var(--muted);margin-top:1.5rem}.infotip{vertical-align:middle;box-sizing:border-box;border:1px solid var(--line-strong);width:1.15rem;min-width:1.15rem;height:1.15rem;min-height:1.15rem;color:var(--muted);font-family:var(--serif);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:50%;flex:none;justify-content:center;align-self:center;align-items:center;margin-left:.4rem;padding:0;font-size:.72rem;font-style:italic;font-weight:600;line-height:1;display:inline-flex}.infotip:hover,.infotip[aria-expanded=true]{border-color:var(--accent);color:var(--foreground)}.infotip-body{z-index:60;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);width:min(24rem,100vw - 3rem);font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--muted);text-align:left;padding:.9rem 1rem;font-size:.85rem;font-weight:400;line-height:1.5;position:absolute;box-shadow:0 10px 30px -12px #00000040}.infotip-body p{margin:0 0 .6rem}.infotip-body p:last-child{margin-bottom:0}:is(.field>p>label:has(>select),.field>p>label:has(>input)){letter-spacing:.08em;text-transform:uppercase;max-width:26rem;color:var(--muted);font-size:.78rem;font-weight:600}.field-title{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;margin:0 0 .9rem;font-size:.78rem;font-weight:600;display:flex}.field-note{color:var(--muted);margin:.5rem 0 0}.empty{color:var(--muted)}section.field>fieldset.field:last-of-type{margin-bottom:1.5rem}.class-list{gap:1rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.class-list>li{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);margin:0;padding:1rem 1.15rem 1.15rem}.class-list h3{margin:0;font-size:1.05rem}.class-count{color:var(--muted);margin:.15rem 0 0;font-size:.8rem}.class-list .session-list{margin-top:.85rem}.new-class{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.new-class label{flex:14rem;max-width:22rem}.new-class button{min-height:2.6rem}.pacing-list>li[data-skip=yes] .pace-prompt{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.join-line{align-items:baseline;gap:.6rem;margin:0 0 1.75rem;font-size:.9rem;display:flex}.join-line-label{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.join-line strong{font-family:var(--serif);letter-spacing:.16em;font-size:1.1rem}.wine-tools{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.wine-search{flex:18rem;margin-top:0}.wine-tally{color:var(--muted);align-items:center;gap:.4rem;margin:0 0 .45rem;font-size:.85rem;display:flex}.wine-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.wine-list>li{border-bottom:1px solid var(--line);margin:0}.wine-list a{color:var(--foreground);align-items:baseline;gap:1rem;padding:.85rem .5rem;text-decoration:none;display:flex}.wine-list a:hover{background:var(--surface-sunk)}.wine-list a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.w-what{flex-direction:column;flex:auto;gap:.15rem;min-width:0;display:flex}.w-name{font-family:var(--serif);font-size:1rem;font-weight:600}.w-meta{color:var(--muted);font-size:.78rem}.w-side{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;flex:none;align-items:center;gap:.5rem;font-size:.72rem;font-weight:600;display:flex}.w-shared{border:1px solid var(--line-strong);border-radius:999px;padding:.1rem .45rem}.wine-empty{max-width:32rem;color:var(--muted);padding:1.5rem 0}.linklike{min-height:0;font-size:inherit;color:var(--accent);background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.linklike:hover:not(:disabled){background:0 0}.wine-detail .page-head{margin-bottom:1.5rem}.wine-facts,.profile-facts{border-top:1px solid var(--line);margin:0}.wine-facts>div,.profile-facts>div{border-bottom:1px solid var(--line);align-items:baseline;gap:1.5rem;padding:.55rem .25rem;display:flex}.wine-facts dt,.profile-facts dt{min-width:0;color:var(--muted);flex:35%;font-size:.9rem}.wine-facts dd,.profile-facts dd{overflow-wrap:anywhere;flex:65%;min-width:0;margin:0;font-weight:500}.wine-readonly{color:var(--muted);margin-top:1.25rem;font-size:.875rem}.wine-tastings{margin-top:2rem}.wine-tastings h2{font-size:.72rem;font-family:var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;font-weight:600}.wine-tastings ul{margin:0;padding:0;list-style:none}.wine-tastings li{margin:.2rem 0}.wine-tastings p{color:var(--muted);margin:0;font-size:.9rem}.wine-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:.75rem;margin-top:2rem;padding-top:1.5rem;display:flex}.wine-actions button.secondary,.wine-form-actions button.secondary,.history-confirm button.secondary{background:var(--surface);color:var(--muted);border-color:var(--line-strong);font-weight:500}.wine-actions button.secondary:hover:not(:disabled),.wine-form-actions button.secondary:hover:not(:disabled),.history-confirm button.secondary:hover:not(:disabled){background:var(--surface-sunk);color:var(--foreground)}.wine-confirm,.history-confirm{border:1px solid var(--danger);border-radius:var(--radius);background:var(--surface);flex:100%;padding:1rem}.wine-confirm p,.history-confirm p{max-width:34rem;margin:0 0 .75rem}.wine-confirm p:last-child,.history-confirm p:last-child{flex-wrap:wrap;gap:.75rem;margin-bottom:0;display:flex}.wine-confirm button.danger,.history-confirm button.danger{border-color:var(--danger);color:var(--danger)}.wine-confirm button.danger:hover:not(:disabled),.history-confirm button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 12%, var(--surface));border-color:var(--danger)}.wine-edit-head{margin-bottom:.5rem;font-size:1.05rem}.wine-form-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.wine-back{margin-top:2.5rem}@media (max-width:30rem){.wine-list a{flex-wrap:wrap;gap:.25rem .75rem}.w-side{flex-basis:100%}.wine-facts>div{flex-direction:column;gap:.15rem}.wine-actions button{flex:auto}}.wine-archived-note{border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-sunk);color:var(--muted);margin:0 0 1.25rem;padding:.7rem .9rem;font-size:.88rem}.archived-wines{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.25rem}.archived-wines>summary{cursor:pointer;color:var(--muted);font-size:.85rem}.archived-wines>summary:hover{color:var(--foreground)}.archived-wines .wine-list{opacity:.72}.carried{border-bottom:1px dashed var(--line);margin-bottom:.9rem;padding-bottom:.9rem}.carried-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:baseline;gap:.6rem;margin:0 0 .45rem;font-size:.72rem;font-weight:600;display:flex}.carried-all{font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--accent);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.carried-all:hover{color:var(--foreground)}.grape-suggestions{flex-wrap:wrap;gap:.35rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.wine-form .field-block{margin:0 0 1rem}.chip-note{color:var(--muted);margin-left:.4rem;font-size:.78rem}.chip-note:before{content:"= "}.chip.add{color:var(--muted);background:0 0;border-style:dashed;gap:.35rem}.chip.add:hover:not(:disabled){border-style:solid;border-color:var(--accent);color:var(--foreground);background:var(--surface)}.chip.add>span[aria-hidden]{opacity:.8;font-size:.95em}.attach-wine{margin:-.75rem 0 1.75rem;font-size:.9rem}.attach-wine.open{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);margin:0 0 2rem;padding:1rem 1.15rem 1.15rem}.attach-actions{gap:.6rem;margin-top:.9rem;display:flex}.taste-head-what h1[data-withheld],.h-wine[data-withheld]{font-family:var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:600}.question .infotip{vertical-align:middle;margin-left:.5rem}.infotip-body .unreviewed{border-top:1px dashed var(--line);color:var(--muted);margin-top:.6rem;padding-top:.5rem}.add-session-open{margin-top:.85rem;padding:.4rem .8rem;font-size:.85rem}.add-session{border-top:1px dashed var(--line-strong);margin-top:1rem;padding-top:1rem}.add-session>.field-label{align-items:center;margin-bottom:1rem;display:flex}.add-session fieldset.field:last-of-type{margin-bottom:1.25rem}.question-list section.not-assessed>p{color:var(--muted);margin:0;padding:.35rem .5rem .6rem;font-size:.8rem;font-style:italic}.record-none{color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0;padding:.55rem .25rem;font-size:.9rem;font-style:italic}.h-when{flex-basis:10.5rem}.empty-state{max-width:34rem;margin:4rem auto;padding:0 1rem}.empty-state h1{margin:0 0 .75rem;font-size:1.5rem}.empty-state p{color:var(--muted);margin:0 0 .75rem;line-height:1.6}.with-glass{align-items:flex-start;gap:1.5rem;display:flex}.with-glass>.options{flex:auto;margin-top:0}.wine-glass{flex:none;overflow:visible}.wine-glass-unknown{fill:var(--line)}.wine-glass-bowl,.wine-glass-stem,.wine-glass-foot{fill:none;stroke:var(--line-strong);stroke-width:2.5px;stroke-linecap:round}.wine-glass-bowl{stroke-linejoin:round}@media (max-width:34rem){.with-glass{flex-direction:column;align-items:center;gap:.75rem}.with-glass>.options{width:100%}.with-glass>.wine-glass{width:64px;height:96px}}.result-score{align-items:center;gap:1.25rem;margin:.5rem 0 1rem;display:flex}.result-score p{margin:0}@media (max-width:34rem){.result-score{gap:1rem}}.profile-form{max-width:30rem}.profile-form>.profile-facts{margin-bottom:1.75rem}.profile-form input[type=text]{width:100%}.profile-note{border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-sunk);color:var(--muted);margin:0 0 1.25rem;padding:.7rem .9rem;font-size:.88rem}.profile-saved{color:var(--muted);font-size:.85rem}
