:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--background:#f6f1e9;--surface:#fff;--surface-soft:#fdfbf7;--surface-sunk:#ece6dc;--foreground:#1f1a16;--muted:#665b52;--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.75 6 6.25l4.5-4.5' fill='none' stroke='%23665b52' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--line:#dcd2c4;--line-strong:#c4b8a8;--field-line:#8c7f70;--brand:#2f5a3f;--accent:var(--brand);--accent-contrast:#fff;--accent-soft:#e9ebe2;--accent-line:#92a795;--bar:#1f1a1629;--sign-rule:var(--field-line);--sign-matt:var(--line-strong);--sign-ring:var(--foreground);--sign-class:var(--muted);--danger:#9a3412;--danger-contrast:#fff;--correct:#3f6212;--colour-card:#fff;--colour-card-ink:#1f1a16;--colour-card-muted:#665b52;--colour-card-line:#dcd2c4;--colour-card-accent:var(--brand);--swatch-ring:#1f1a1673;--swatch-mat:0px;--swatch-mat-colour:#fff;--swatch-sheen:#ffffff40;--shadow-label:0 6px 20px #1a161438;--shadow-popover:0 10px 30px -12px #00000040;--radius:8px;--radius-lg:12px;--gap:1rem;--serif:var(--font-newsreader), Georgia, "Times New Roman", serif;--sans:var(--font-source-sans), "Segoe UI", Helvetica, Arial, sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--background:#16130f;--surface:#201b17;--surface-soft:#201b17;--surface-sunk:#1b1713;--foreground:#efe8dd;--muted:#a79c8f;--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.75 6 6.25l4.5-4.5' fill='none' stroke='%23a79c8f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--line:#362e28;--line-strong:#4d433b;--field-line:#7a6e62;--accent:#8fb89a;--accent-contrast:#16130f;--accent-soft:#243029;--accent-line:#4f6b57;--bar:#efe8dd33;--danger:#f0a888;--danger-contrast:#16130f;--correct:#a3c46a;--colour-card:var(--surface);--colour-card-ink:var(--foreground);--colour-card-muted:var(--muted);--colour-card-line:var(--line);--colour-card-accent:var(--accent);--swatch-ring:#ffffffe6;--swatch-mat:3px;--blind-glass:#050403;--shadow-label:0 6px 20px #00000073;--shadow-popover:0 10px 30px -12px #0009}}*{box-sizing:border-box}html,body{background:var(--background);color:var(--foreground);font-family:var(--sans);-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word;-webkit-text-size-adjust:100%;margin:0;padding:0;font-size:100%;line-height:1.5}main{max-width:46rem;margin:0 auto;padding:3rem 1.25rem 5rem}h1,h2,h3{font-family:var(--serif);letter-spacing:-.005em;text-wrap:balance;margin:0 0 .5em;font-weight:500;line-height:1.2}h1{margin-bottom:.75rem;font-size:clamp(1.75rem,1.2rem + 2vw,2.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);min-width:0;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}.option-text{flex-direction:column;flex:auto;gap:.1rem;min-width:0;display:flex}.option-desc{color:var(--muted);font-size:.85rem;font-weight:400;line-height:1.4}.option-lead{flex:none;align-items:center;gap:.6rem;height:1lh;display:inline-flex}ul.options label:has(>.option-lead){align-items:flex-start}ul.options.options-absent{border-top:1px solid var(--line);margin-top:.5rem;padding-top:.5rem}ul.options:not(.picker-list) label input:focus-visible{outline:none}ul.options:not(.picker-list) label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}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;width:1.15rem;height:1.15rem;box-shadow:inset 0 0 0 1px var(--swatch-sheen);border-radius:50%;flex:none;margin-right:.15em;display:inline-block}button,input[type=submit]{font:inherit;min-height:2.4rem;color:var(--foreground);background:var(--surface-soft);border:1px solid var(--line);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(--line-strong)}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(--field-line);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{table-layout:auto;display:table}.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:before{content:"";background:linear-gradient(to bottom, transparent, var(--background));pointer-events:none;opacity:0;height:2rem;transition:opacity .2s;position:absolute;bottom:calc(100% + 1px);left:0;right:0}.action-bar[data-under]:before{opacity:1}@media (prefers-reduced-motion:reduce){.action-bar:before{transition:none}}.room .action-bar{background:var(--background);-webkit-backdrop-filter:none;backdrop-filter:none}.room .action-bar:before{display:none}.foot-sentinel{height:1px;margin-top:-1px}@media (max-height:32rem){.action-bar{position:static}.action-bar:before{display:none}}.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);font-size:.55rem;font-weight:600;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;box-shadow:var(--shadow-label);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%)}.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:600}.tip-name{white-space:normal;font-size:.8rem;font-weight:600;line-height:1.3}@property --ql-num{syntax:"<length>";inherits:true;initial-value:0}.question-list{--ql-pad:.6rem}.question-list ul{--ql-num:calc(var(--ql-digits,1) * 1ch + 1ch);font-size:.85rem;font-weight:400}.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 calc(var(--ql-pad) + 1px);font-size:.7rem;font-weight:600}.question-list ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.question-list li>button{grid-template-columns:var(--ql-num) minmax(0, 1fr);width:100%;min-height:2.5rem;padding:.35rem var(--ql-pad);text-align:left;background:0 0;border:1px solid #0000;align-content:start;justify-items:start;gap:.05rem 0;font-size:.85rem;font-weight:400;display:grid}.question-list li>button:hover:not(:disabled):not([aria-current=step]){background:var(--surface-sunk);border-color:var(--line)}.question-list li>button[aria-current=step]{background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:var(--accent);color:var(--foreground);font-weight:600}.question-list li.screen{border-radius:var(--radius);border:1px solid #0000;overflow:hidden}.question-list li.screen>button{border:none;border-radius:0;min-height:2.25rem}.question-list li.screen>button+button{border-top:1px solid var(--line)}.question-list li.screen[data-current=yes]{background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:var(--accent)}.question-list li.screen[data-current=yes]>button[aria-current=step]{background:0 0}.question-list li.screen[data-current=yes]>button+button{border-top:1px solid color-mix(in srgb, var(--accent) 25%, transparent)}.question-list .n{font-variant-numeric:tabular-nums;white-space:nowrap;grid-column:1}.question-list .q,.question-list .a,.question-list .a-todo{grid-column:2;max-width:100%}.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(--muted)}.tasting-rail[data-open=true] .rail-inner{overscroll-behavior:contain;max-height:calc(100dvh - 3rem);overflow-y:auto}.drawer .question-list .a{font-size:.82rem}.frame-head{margin:0 0 1.5rem}.frame-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;column-gap:1rem;padding-bottom:.4rem;display:flex}.frame-bar .wordmark{font-family:var(--serif);letter-spacing:.01em;color:var(--foreground);font-size:1.1rem;font-weight:600;text-decoration:none}.frame-bar .wordmark:hover{text-decoration:underline;text-decoration-thickness:1px}button.frame-count{min-height:2.75rem;color:var(--muted);text-align:right;background:0 0;border:0;padding:0 0 0 .5rem;font-size:.8rem;font-weight:400}button.frame-count:hover:not(:disabled){color:var(--foreground);text-underline-offset:.2em;background:0 0;text-decoration:underline}.frame-context{color:var(--muted);margin:.45rem 0 0;font-size:.85rem}.frame-bar .frame-context{flex:1 0 100%;order:3;margin:0 0 .15rem}@media (min-width:640px){.frame-bar .frame-context{flex:1 1 0;order:0;min-width:0;margin:0}}button.linkish.frame-wine-change{min-height:2rem;font-size:inherit;vertical-align:baseline;align-items:center;margin-left:.35rem;padding:0;display:inline-flex}.frame-head~.attach-wine.open{margin-top:-.5rem}.frame-context [data-withheld]{font-style:italic}p.section-line{font-family:var(--serif);color:var(--accent);align-items:center;gap:.65rem;margin:0 0 .75rem;font-size:1.3rem;font-weight:600;line-height:1.2;display:flex}p.section-line:after{content:"";background:var(--accent-line);transform-origin:0;flex:1;height:1px}p.section-line[data-starts]:after{animation:.6s ease-out .15s both section-rule}@keyframes section-rule{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){p.section-line[data-starts]:after{animation:none}}p.glass-line{color:var(--muted);margin:0 0 .5rem}p.glass-line .linkish{margin-left:.25rem}p.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .3rem;font-size:.7rem;font-weight:600}h1.question{margin:0 0 .35rem;font-size:clamp(1.45rem,1.25rem + .8vw,1.75rem);font-weight:500;line-height:1.2}.frame-foot{padding:.85rem 0 max(.85rem, env(safe-area-inset-bottom));display:block}.frame-foot .frame-note{color:var(--muted);margin:0 0 .6rem;display:block}.frame-foot .save-state small{align-items:baseline;gap:.45rem;display:inline-flex}.save-dot{background:var(--accent);border-radius:50%;flex:none;width:.45rem;height:.45rem;animation:1.6s ease-in-out infinite save-breathe}@keyframes save-breathe{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.save-dot{animation:none}}.frame-foot .frame-note button.linkish{min-width:0;min-height:0;color:var(--accent);background:0 0;border:0;margin-left:.4rem}.action-bar .still-open{white-space:nowrap;color:var(--muted);margin:0}.action-bar .still-open button.linkish{min-width:0;min-height:0;color:var(--accent);background:0 0;border:0;margin:-.5rem 0 -.5rem .35rem;padding:.5rem .25rem;font-size:.875rem;font-weight:600}.frame-foot .still-open{margin:0 0 .6rem}.still-open-block{flex-direction:column;flex:1 0 100%;gap:.4rem;margin:0 0 .75rem;display:flex}.frame-foot .still-open-block{margin:.75rem 0 0}.still-open-block .still-open,.frame-foot .still-open-block .frame-note{margin:0}.still-open-name{color:var(--foreground);overflow-wrap:break-word;margin:0;font-weight:600;line-height:1.3}.action-bar button.still-open-go{width:100%;min-width:0;margin-top:.2rem}.frame-foot button.still-open-go{background:var(--surface-soft);border-color:var(--line);min-height:3rem}.open-mark{color:var(--accent);align-items:baseline;gap:.45rem;margin:.15rem 0 .75rem;font-size:.875rem;font-weight:600;line-height:1.35;display:flex}.open-mark-arrow{flex:none;align-self:center;width:.9rem;height:.9rem}.open-mark-target{scroll-margin:6rem 0}.open-mark-target:focus:not(:focus-visible),.screen-joined:focus:not(:focus-visible){outline:none}.step[id^=q-]{scroll-margin-top:1.5rem}.frame-buttons{flex-wrap:wrap;gap:.6rem;display:flex}.frame-foot .frame-buttons button{flex:auto;min-width:0;min-height:3rem;padding:0 1.1rem}.frame-foot .frame-buttons button.secondary{background:var(--surface-soft);border-color:var(--line);flex:none}@media (min-width:900px){.frame-foot .frame-buttons button:not(.secondary){flex:0 auto;min-width:12rem;margin-left:auto}}.frame-foot .key-hint{margin-top:.5rem;display:block}p.optional{margin:0 0 .9rem}.options .digit,.rung .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}.options .digit.digit-blank{visibility:hidden}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,.frame-foot .key-hint,.options .digit,.rung .digit{display:none}}.aid{border:1px dashed var(--line-strong);border-radius:var(--radius-lg);margin:0 0 .75rem}.aid[data-open]{border-style:solid;border-color:var(--line);background:var(--surface)}.aid-toggle{border-radius:inherit;width:100%;min-height:2.5rem;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.6rem;padding:.4rem .95rem;font-size:.95rem;line-height:1.35;display:flex}.aid .aid-toggle:hover:not(:disabled),.aid .aid-toggle:active{background:0 0;border-color:#0000}.aid-toggle:hover .aid-title{text-decoration:underline;-webkit-text-decoration-color:var(--accent-line);text-decoration-color:var(--accent-line);text-underline-offset:.2em}.aid-drop{fill:none;width:.85rem;height:1.05rem;stroke:var(--accent);stroke-width:1.5px;flex:none}.aid[data-open] .aid-drop{fill:var(--accent)}.aid-title{flex:1;min-width:0}.aid-chevron{fill:none;width:.75rem;height:.5rem;stroke:var(--muted);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .15s}.aid[data-open] .aid-chevron{transform:rotate(180deg)}.aid-body{padding:0 .95rem .9rem}.aid-steps{color:var(--muted);margin:0;padding-left:1.25rem;font-size:.9rem;line-height:1.5}.aid-steps li+li{margin-top:.35rem}.aid-steps li::marker{color:var(--accent);font-weight:600}.aid-band{margin-top:.9rem}.aid-bars{align-items:flex-end;gap:.25rem;height:1.6rem;display:flex}.aid-bar{height:var(--aid-height);background:color-mix(in srgb, var(--accent) var(--aid-strength), transparent);border-radius:2px;flex:1;position:relative}.aid-bar[data-chosen]:after{content:"";background:var(--accent);border-radius:50%;width:.4rem;height:.4rem;margin-left:-.2rem;position:absolute;bottom:-.6rem;left:50%}.aid-ends{color:var(--muted);justify-content:space-between;gap:1rem;margin:.8rem 0 0;font-size:.8rem;line-height:1.35;display:flex}.aid-ends small:last-child{text-align:right}.ladder{flex-direction:column;gap:.75rem;display:flex}.ladder-choice{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:1rem;padding:.45rem .95rem;display:flex}.ladder-choice-text{min-width:0}.ladder-choice-label{color:var(--muted);font-size:.78rem;display:block}.ladder-choice-word{min-height:1.25em;font-family:var(--serif);overflow-wrap:break-word;margin:0;font-size:1.25rem;line-height:1.25}.ladder-choice-line{flex:none;width:9.4rem}.ladder-steps{flex-direction:column;display:flex}.rung{--node-y:1.05rem;--row-pad:.1rem;padding:var(--row-pad) 0;cursor:pointer;grid-template-columns:1.75rem minmax(0,1fr) auto;align-items:start;column-gap:.25rem;display:grid;position:relative}.rung-input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.rung-node{align-self:stretch;position:relative}.ladder-rail .rung-node:before{content:"";width:2px;left:calc(50% - 1px);top:calc(-1 * var(--row-pad));bottom:calc(-1 * var(--row-pad));background:var(--sign-rule);position:absolute}.ladder-rail .rung:first-child .rung-node:before{top:var(--node-y)}.ladder-rail .rung:last-child .rung-node:before{bottom:calc(100% - var(--node-y))}.ladder-rail .rung:only-child .rung-node:before{display:none}.rung-node:after{content:"";left:50%;top:var(--node-y);border:2px solid var(--sign-rule);background:var(--background);box-sizing:border-box;border-radius:50%;width:.7rem;height:.7rem;position:absolute;transform:translate(-50%,-50%)}.rung[data-chosen] .rung-node:after{background:var(--accent);border:0;width:.875rem;height:.875rem}.rung-body{border-radius:var(--radius);border:1px solid #0000;flex-direction:column;gap:.05rem;min-width:0;padding:.2rem .7rem .3rem;transition:background .12s,border-color .12s;display:flex}.rung-word{font-family:var(--serif);overflow-wrap:break-word;font-size:1.22rem;line-height:1.3}.rung-sentence{color:var(--muted);font-size:.82rem;line-height:1.3}.rung:hover .rung-body{background:var(--surface-sunk)}.rung[data-chosen] .rung-body{background:var(--accent-soft);border-color:var(--accent-line)}.rung[data-chosen] .rung-word{font-weight:600}.rung[data-chosen] .rung-sentence{color:var(--foreground)}.rung:has(.rung-input:focus-visible) .rung-body{outline:2px solid var(--accent);outline-offset:2px}.rung:has(.rung-input:disabled){cursor:default;opacity:.55}.rung .digit{margin-top:calc(var(--node-y) - .675rem)}.rung[data-chosen] .digit{border-color:var(--accent-line);color:var(--foreground)}fieldset:has(>.step>.ladder){background:0 0;border:0;padding:0}:is(.ladder-steps:has(>.ladder-rail>.rung:nth-child(6)) .rung,.ladder-steps:has(>.ladder-apart) .rung){--node-y:1rem;--row-pad:.05rem}:is(.ladder-steps:has(>.ladder-rail>.rung:nth-child(6)) .rung-body,.ladder-steps:has(>.ladder-apart) .rung-body){padding-top:.15rem;padding-bottom:.25rem}.ladder-apart{margin-top:.6rem}@media (max-width:899px){main.taste-screen:has(.tasting-col>fieldset>.step>.ladder){flex-direction:column;min-height:100dvh;padding-bottom:0;display:flex}.tasting-col>fieldset>.step>.ladder{flex-direction:column;flex:1 0 auto;display:flex}main.taste-screen:has(.tasting-col>fieldset>.step>.ladder) .tasting-shell{flex-direction:column;flex:1 0 auto;display:flex}.tasting-col:has(>fieldset>.step>.ladder){flex-direction:column;flex:1 0 auto;display:flex}.tasting-col>fieldset:has(>.step>.ladder){flex-direction:column;flex:1 0 auto;display:flex}.tasting-col>fieldset>.step:has(>.ladder){flex-direction:column;flex:1 0 auto;display:flex}.tasting-col>fieldset>.step>.ladder>.ladder-steps{margin-top:auto}}.sign-line{height:auto;display:block;overflow:visible}.sign-rule{stroke:var(--sign-rule);stroke-width:1.5px;stroke-linecap:round}.sign-line.is-matt .sign-rule{stroke:var(--sign-matt)}.sign-apart{fill:none;stroke:var(--sign-rule);stroke-width:1.5px}.sign-line.is-matt .sign-apart{stroke:var(--sign-matt)}.sign-dot{fill:var(--accent);stroke:var(--background);stroke-width:2px;paint-order:stroke}.sign-dot.is-inner{stroke:none}.sign-ring{fill:var(--background);stroke:var(--sign-ring);stroke-width:1.5px}.sign-ring.is-same{stroke:var(--accent)}.sign-halo{fill:var(--accent);opacity:.22}.sign-single{vertical-align:-.15em;width:1em;height:1em;display:inline-block;overflow:visible}.sign-class{align-items:flex-start;gap:.6rem;display:inline-flex}.sign-class-dots{grid-template-columns:repeat(20,.5625rem);gap:.3125rem;display:grid}.sign-class-dot{background:var(--sign-class);border-radius:50%;width:.5625rem;height:.5625rem}.sign-class-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.sign-bar{background:var(--sign-ring);border-radius:2px;width:3px;position:absolute;top:0;bottom:0;left:-.7rem}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}.picker.lookup ul.options.picker-list .term{white-space:normal;flex-wrap:wrap}.picker.lookup ul.options.picker-list .path{white-space:normal;max-width:none;overflow:visible}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 ul.options.options-absent{margin-top:.9rem}.skip-link{z-index:50;border-radius:var(--radius);background:var(--accent);color:var(--accent-contrast);padding:.5rem .9rem;font-weight:600;text-decoration:none;position:absolute;top:-3rem;left:.75rem}.skip-link:focus{top:.75rem}h1[tabindex="-1"]:focus,main[tabindex="-1"]:focus{outline:none}.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}.site-header .site-menu-button,.site-header nav.site-menu-panel{display:none}@media (max-width:34rem){.site-header{flex-wrap:wrap;align-items:center;row-gap:0}.site-header nav.site-nav-row{display:none}.site-header .site-menu-button{min-height:44px;color:var(--foreground);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.55rem;margin-right:-.5rem;padding:0 .5rem;font-size:.95rem;display:inline-flex}.site-menu-icon{flex-direction:column;justify-content:space-between;width:18px;height:12px;display:inline-flex}.site-menu-icon span{background:currentColor;border-radius:1px;height:1.5px;transition:transform .18s,opacity .18s;display:block}.site-menu-icon[data-open=true] span:first-child{transform:translateY(5.25px)rotate(45deg)}.site-menu-icon[data-open=true] span:nth-child(2){opacity:0}.site-menu-icon[data-open=true] span:nth-child(3){transform:translateY(-5.25px)rotate(-45deg)}.site-header nav.site-menu-panel:not([hidden]){border-top:1px solid var(--line);flex-direction:column;flex-basis:100%;margin-top:.75rem;display:flex}.site-header nav.site-menu-panel a{border-bottom-width:1px;border-bottom:1px solid var(--line);min-height:48px;color:var(--foreground);border-left:2px solid #0000;align-items:center;margin:0;padding:0 0 0 .75rem;font-size:1.05rem;display:flex}.site-header .site-menu-button:hover,.site-header .site-menu-button:active,.site-header .site-menu-button[aria-expanded=true]{background:0 0}.site-header nav.site-menu-panel a:last-child{border-bottom-width:0}.site-header nav.site-menu-panel a[aria-current=page]{border-left-color:var(--accent);border-bottom-color:var(--line);color:var(--accent);font-weight:600}}@media (prefers-reduced-motion:reduce){.site-menu-icon span{transition:none}}.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)}.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(min(14rem,100%),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-teach p{max-width:38rem;color:var(--muted)}.landing-teach .landing-actions{margin-top:1.5rem}.landing-foot{color:var(--muted);padding-top:1.5rem}.page-head h1{margin-bottom:.2em}.page-head p{color:var(--muted);margin:0}.page-head-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1.25rem;display:flex}.page-head-text{flex:13rem;min-width:0}.page-head-action{flex-wrap:wrap;align-items:center;gap:.5rem .9rem;padding-top:.25rem;display:flex}.page-head-action .cta,.page-head-action button{text-align:center;min-height:2.6rem;padding:0 1.1rem}.page-head-action .head-link{color:var(--accent);white-space:nowrap;font-size:.92rem;font-weight:600}button.head-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}button.head-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 85%, black);border-color:color-mix(in srgb, var(--accent) 85%, black)}.head-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);margin:-.75rem 0 2rem;padding:1rem 1.1rem 1.15rem}.head-panel>.field-title{margin-bottom:.6rem}.head-panel .wine-form{background:0 0;border:0;margin-top:0;padding:0}.page-head-text .nowrap{white-space:nowrap}.saved-line{color:var(--muted);margin:-.75rem 0 1.5rem;font-size:.9rem}.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{grid-template-columns:minmax(0,1fr);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: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}@media (min-width:40rem){.choice-cards.level-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-cards.level-cards li{flex-direction:column;display:flex}.choice-cards.level-cards label{flex:auto}}.start-actions.start-bar{flex-wrap:wrap}.start-actions.start-bar[data-sticky=yes]{z-index:2;padding:.75rem .25rem calc(.75rem + env(safe-area-inset-bottom));background:var(--background);margin:0 -.25rem;position:sticky;bottom:0}.start-bar button{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.start-bar button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 85%, black);border-color:color-mix(in srgb, var(--accent) 85%, black)}.continue-list{grid-template-columns:minmax(0,1fr);gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.continue-list>li{border:1px solid var(--accent-line);border-radius:var(--radius-lg);background:var(--surface);flex-wrap:wrap;align-items:center;display:flex}.continue-list>li:has(>a:hover){border-color:var(--accent)}.continue-list>li>a{border-radius:var(--radius-lg);min-width:0;color:var(--foreground);flex:1 1 0;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .25rem .75rem 1rem;text-decoration:none;display:flex}.continue-list>li>.row-menu{padding:0 .4rem 0 0}.continue-list>li[data-confirming=yes]>a{padding-right:2.9rem}.continue-list>li>.history-confirm{flex:100%;margin:0 .75rem .75rem}.continue-what{gap:.1rem;min-width:0;display:grid}.continue-wine{font-family:var(--serif);overflow-wrap:anywhere;font-size:1.05rem}.continue-meta{color:var(--muted);font-size:.85rem}.continue-go{color:var(--accent);flex:none;font-size:.92rem;font-weight:600}.continue-all{margin:.6rem 0 0;font-size:.9rem}.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}.choice-cards .level-locked{margin:.55rem 0 0 2.9rem;font-size:.875rem}.level-locked p{margin:0}.level-locked-why{color:var(--foreground);align-items:flex-start;gap:.4rem;font-weight:600;display:flex}.level-locked-glyph{width:.95rem;height:.95rem;color:var(--muted);flex:none;margin-top:.15rem}.level-locked .level-locked-how{color:var(--muted);margin-top:.2rem}.level-locked .level-locked-action{margin-top:.35rem}.level-locked-action a{color:var(--accent);font-weight:600}.segmented{background:var(--surface-sunk);border-radius:10px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented label{color:var(--muted);cursor:pointer;border:1px solid #0000;border-radius:7px;padding:.5rem 1rem;font-size:.92rem;font-weight:600;position:relative}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented label:has(input:checked){background:var(--surface-soft);border-color:var(--field-line);color:var(--foreground)}.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{grid-template-columns:minmax(0,1fr);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);flex-wrap:wrap;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-what{gap:.1rem;min-width:0;display:grid}.session-wine{font-size:.95rem}.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}.signin input[type=email],.signin input[type=password],.signin input[type=text]{width:100%}.signin-links{flex-wrap:wrap;align-items:baseline;gap:.35rem 1.25rem;margin:-.5rem 0 1rem;font-size:.9rem;display:flex}main.auth-page{max-width:34rem}.auth-note{border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-sunk);margin:0 0 1.25rem;padding:.9rem 1rem;font-size:.92rem}.auth-note p:last-child{margin-bottom:0}.signin input.code{letter-spacing:.18em;font-variant-numeric:tabular-nums;width:10ch;font-size:1.35rem}.auth-resend{margin:0 0 1rem}.auth-resend p{margin:0 0 .75rem}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}.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 10.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{white-space:normal;text-align:center;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-older{margin-top:1rem}.history-group{margin:0 0 1.75rem}.history-group-title{margin-bottom:.4rem}.history-group[data-open=yes] .history-group-title{color:var(--accent)}@media (max-width:30rem){.history-list>li{display:block;position:relative}.history-list a{flex-wrap:wrap;gap:.3rem .75rem}.h-what{flex:1 1 0;order:1}.h-score{flex:none;order:2;align-self:flex-start}.h-when{flex:0 0 100%;order:3}}.history-list.with-glass-rows a.h-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.2rem .85rem;padding:.8rem .5rem;display:grid}.h-glass{width:1.875rem;padding-top:.1rem;display:block}.h-glass .wine-glass{width:1.875rem;height:auto;display:block}.with-glass-rows .h-what{gap:.1rem}.with-glass-rows .h-wine{white-space:normal;font-size:1.05rem;font-weight:500}.h-style{color:var(--foreground);font-size:.8rem}.with-glass-rows .h-score{flex-direction:column;align-items:flex-end;gap:.1rem;font-size:1rem;display:flex}.h-grade{font-family:var(--serif);white-space:nowrap;font-size:1.05rem}.h-number{font-family:var(--sans);color:var(--muted);white-space:nowrap;font-size:.75rem}.with-glass-rows .h-score{text-align:right;max-width:45vw}.with-glass-rows .h-score .h-grade,.with-glass-rows .h-score .h-number{white-space:normal;overflow-wrap:anywhere}.history-list.with-glass-rows>li>.h-pick{flex:0 0 2rem;justify-content:center;align-self:center;display:flex}.h-pick input{width:1.15rem;height:1.15rem;accent-color:var(--accent)}.wine-compare{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-top:.75rem;display:flex}.wine-compare .field-note{margin:0}.with-glass-rows .h-score .h-faulty{font-family:var(--serif);letter-spacing:0;text-transform:none;color:var(--foreground);border:0;padding:0;font-size:1.05rem;font-weight:400}@media (max-width:30rem){.history-list.with-glass-rows a.h-row{display:grid}.history-list.with-glass-rows>li:has(.h-pick){display:flex}}.history-list.with-glass-rows>li:has(>.row-menu){align-items:flex-start;display:flex}.row-menu{flex:none;padding-top:.55rem;position:relative}button.row-menu-button{width:2.25rem;min-height:2.25rem;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}button.row-menu-button svg{fill:currentColor}button.row-menu-button:hover:not(:disabled),button.row-menu-button[aria-expanded=true]{background:var(--surface-sunk);color:var(--foreground)}.row-menu-list{z-index:5;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:11rem;box-shadow:var(--shadow-popover);margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% + .25rem);right:0}.row-menu-list li{margin:0}.row-menu-list a,.row-menu-list button{border-radius:calc(var(--radius) - 2px);text-align:left;width:100%;min-height:2.5rem;color:var(--foreground);background:0 0;border:0;padding:.55rem .75rem;font-size:.95rem;font-weight:500;text-decoration:none;display:block}.row-menu-list a:hover,.row-menu-list a:focus-visible,.row-menu-list button:hover:not(:disabled),.row-menu-list button:focus-visible{background:var(--surface-sunk);outline:none}.row-menu-list button[data-danger=yes]{color:var(--danger)}.record-hint{color:var(--muted);margin:-.5rem 0 1rem;font-size:.85rem}.rb-row.is-changeable{padding:0}button.rb-change{text-align:left;width:calc(100% + .8rem);min-height:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;margin:0 -.4rem;padding:.5rem .4rem .55rem;display:block}button.rb-change:hover{background:var(--surface-sunk)}button.rb-change:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}button.rb-change .rb-word{display:block}dialog.change-sheet{width:min(34rem,100vw);max-width:100vw;max-height:min(92dvh,48rem);color:var(--foreground);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-popover);border-bottom:0;border-radius:18px 18px 0 0;margin:auto auto 0;padding:0}dialog.change-sheet::backdrop{background:#00000080}.change-sheet-body{padding:.6rem 1.125rem calc(1rem + env(safe-area-inset-bottom,0px))}.change-sheet-grip{background:var(--line-strong);border-radius:2px;width:38px;height:4px;margin:0 auto .9rem;display:block}.change-sheet-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 .2rem;font-size:.72rem;font-weight:600}.change-sheet-title{margin:0 0 1rem;font-size:1.35rem}.change-sheet-actions{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);gap:.6rem;margin-top:1rem;padding-top:.9rem;display:grid}.change-sheet-actions button:last-child,.wine-compare button{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.change-sheet-actions button:last-child:hover:not(:disabled),.wine-compare button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 85%, black);border-color:color-mix(in srgb, var(--accent) 85%, black)}.compare .page-head p{color:var(--muted)}.cmp-card{grid-template-columns:repeat(var(--cmp-cols,2), minmax(0, 1fr));background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);gap:.75rem;margin:0 0 1.25rem;padding:.85rem 1rem;display:grid}.cmp-card-col p{margin:0}.cmp-card-date{align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;display:flex}.cmp-card-grade{font-family:var(--serif);font-size:1.15rem;line-height:1.3}.cmp-card-grade small{font-family:var(--sans);color:var(--muted);margin-left:.35rem;font-size:.78rem}.cmp-card-meta{color:var(--muted);font-size:.78rem}.cmp-num{border:1px solid var(--foreground);border-radius:50%;flex:none;justify-content:center;align-items:center;width:1.15rem;height:1.15rem;font-size:.7rem;font-weight:600;display:inline-flex}.cmp-summary{margin:0 0 .4rem;font-weight:600}.cmp-legend{flex-wrap:wrap;gap:.35rem 1rem;margin:0 0 1rem;display:flex}.cmp-label{white-space:nowrap;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;display:inline-flex}.cmp-label.is-own,.cmp-label.is-same{color:var(--accent)}.cmp-section{margin-top:1.5rem}.cmp-section-head{font-family:var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem;font-size:.72rem;font-weight:600}ul.cmp-rows{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.cmp-row-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.cmp-distance{color:var(--muted);flex:none;font-size:.78rem}.cmp-distance.is-strong{color:var(--foreground);font-weight:600}.cmp-pair{justify-content:space-between;align-items:center;gap:1rem;display:flex}.cmp-two{min-width:0}.cmp-line-words{align-items:baseline;gap:.6rem;min-width:0;margin:.1rem 0 0;display:flex}.cmp-line-words .cmp-label{flex:none;min-width:5.25rem}.cmp-word{font-family:var(--serif);overflow-wrap:break-word;font-size:1.1rem;line-height:1.35}.cmp-word.is-muted{color:var(--muted)}.cmp-group{margin:.4rem 0 0}.cmp-count{color:var(--muted);font-size:.78rem}ul.cmp-chips{flex-wrap:wrap;gap:.2rem .9rem;margin:.15rem 0 0;padding:0 0 0 1.3rem;list-style:none;display:flex}.cmp-heads{gap:.5rem;padding:.75rem}.cmp-heads .cmp-card-date{gap:.3rem;font-size:.75rem}.cmp-heads .cmp-card-grade{overflow-wrap:normal;font-size:1rem}.cmp-table.is-wide{overflow-x:auto}.cmp-table.is-wide .cmp-table-inner{min-width:calc(var(--cmp-cols) * 8.5rem);padding-left:.8rem}.cmp-grid-cells{grid-template-columns:repeat(var(--cmp-cols), minmax(0, 1fr));gap:.75rem;display:grid}.cmp-table.is-wide .cmp-grid-name{display:inline-block;position:sticky;left:0}.cmp-grid-row.is-same .cmp-word{color:var(--muted)}.record{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.5rem}.record>h2{margin-top:0;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}ul.readback{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.rb-row{border-bottom:1px solid var(--line);padding:.5rem 0 .55rem}.rb-name{color:var(--muted);font-size:.78rem;line-height:1.3;display:block}.rb-pair{justify-content:space-between;align-items:center;gap:1rem;display:flex}.rb-word{min-width:0;font-family:var(--serif);overflow-wrap:break-word;margin:0;font-size:1.125rem;line-height:1.35}.rb-word.is-unanswered{color:var(--muted)}.rb-beside{font-family:var(--sans);color:var(--muted);white-space:nowrap;margin-left:.5rem;font-size:.78rem}.rb-line{flex:none;width:8.5rem}.rb-note{font-family:var(--sans);white-space:pre-line;font-size:.95rem}.rb-swatch{width:.65rem;height:.65rem;box-shadow:0 0 0 1px var(--swatch-ring);vertical-align:.05em;border-radius:50%;flex:none;margin-right:.4rem;display:inline-block}.rb-hue{vertical-align:-.08em;width:.9rem;height:.9rem;margin-right:.5rem}.rb-tiers{grid-template-columns:auto minmax(0,1fr);gap:.3rem .9rem;margin:.35rem 0 .1rem;font-size:.85rem;display:grid}.rb-tiers>div{display:contents}.rb-tiers dt{color:var(--muted)}.rb-tiers dd{margin:0}.rb-tiers ul{flex-wrap:wrap;gap:.2rem .85rem;margin:0;padding:0;list-style:none;display:flex}.record-more{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:2rem;display:flex}.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);text-wrap:pretty;margin:0 0 .4rem;font-size:1.1rem}.warn-block p{margin:.35rem 0 0}.key-pick-label{margin:.5rem 0 0;font-weight:600}ul.options.key-pick{gap:.5rem;margin-top:.5rem}ul.options.key-pick label{border-color:var(--line);background:var(--surface);padding:.7rem .85rem}ul.options.key-pick label:hover{background:var(--surface-sunk)}.key-pick-actions{margin:.9rem 0 0}.room-removed h1{text-wrap:pretty}.key-pick-more{margin:.5rem 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>li>p>small{display:block}.key-gaps small{color:var(--muted)}.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)}.now-joined{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.25rem}.now-joined-prompt{margin:0 0 .6rem;font-size:1.2rem;font-weight:600;line-height:1.3}.teacher-answer{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);margin:.75rem 0 1rem;padding:.75rem 1rem}.teacher-answer h3{margin:0 0 .25rem;font-size:1rem}.teacher-answer-actions{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0;display:flex}.now-key-change{margin-left:.25rem}.student-answers{margin:1.25rem 0 0}.student-answers summary{cursor:pointer;color:var(--muted);font-size:.85rem;font-weight:600}.student-answers ul{gap:.35rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.student-answers li{grid-template-columns:minmax(6rem,12rem) 1fr;gap:.75rem;margin:0;padding:.3rem .4rem;font-size:.92rem;display:grid}.student-answers-name{overflow-wrap:anywhere;min-width:0;font-weight:600}.student-answers-words{overflow-wrap:anywhere;min-width:0}.student-answers-words[data-empty=yes]{color:var(--muted)}.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}.roster-list>li{align-items:center;padding-left:.5rem}.roster-list>li:before{content:none}.running-roster>.roster-list,.running-roster>.empty{margin-top:.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);box-shadow:var(--shadow-popover);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}.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}.grape-total{display:block}.grape-total.over{color:var(--danger)}.empty{color:var(--muted)}section.field>fieldset.field:last-of-type{margin-bottom:1.5rem}.class-list{grid-template-columns:minmax(0,1fr);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}.new-class{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.new-class label{flex:14rem;max-width:22rem}.new-class button,.new-class button.linkish{min-height:2.6rem}.class-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;display:flex}.class-head h3{flex:12rem;min-width:0}.class-students{flex-wrap:wrap;align-items:baseline;gap:.45rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.class-students-label{text-underline-offset:2px;text-decoration:underline}.class-students-count{color:var(--muted);font-size:.8rem;font-weight:400}.class-head>.row-menu{align-self:center;margin-right:-.5rem;padding-top:0}.class-head>.class-rename,.class-head>.class-confirm{flex:100%;margin:.5rem 0 0}@media (max-width:34rem){.class-head>h3{flex-basis:calc(100% - 3rem)}.class-head>.row-menu{order:1;align-self:flex-start;margin-top:-.35rem}.class-head>.class-students{order:2}.class-head>.class-rename,.class-head>.class-confirm{order:3}}.class-rename{flex-wrap:wrap;align-items:center;gap:.6rem .75rem;display:flex}.class-rename label{flex:14rem;max-width:26rem}.class-rename input{width:100%}.class-rename button{min-height:2.6rem}.class-rename>.failure{flex:100%}.class-confirm:focus{outline:none}.page-head .class-page-head{align-items:center}.page-head .class-page-head>.row-menu{margin-right:0}.page-head .class-page-head h1{flex:12rem;min-width:0}:is(.session-list>li:has(>.row-menu),.session-list>li:has(>.history-confirm)){flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.session-list>li>a{flex:1 1 0;min-width:0}.session-list>li>.row-menu{padding-top:0}.session-list>li>.history-confirm{flex:100%}.class-list>li[data-live=yes]{border-color:var(--accent-line);box-shadow:inset 3px 0 0 var(--accent)}.session-top{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:inline-flex}.session-state{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line-strong);border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:600}.session-list>li[data-state=running] .session-state,.session-list>li[data-state=revealing] .session-state{color:var(--accent-contrast);background:var(--accent);border:1px solid var(--accent)}.session-list>li[data-state=running]>a,.session-list>li[data-state=revealing]>a{border-color:var(--accent-line)}.ended-sessions{margin-top:.75rem}.ended-sessions>summary{cursor:pointer;color:var(--muted);padding:.35rem 0;font-size:.9rem}.ended-sessions>summary:hover{color:var(--foreground)}.ended-sessions[open]>summary{margin-bottom:.4rem}.session-list.compact{border-top:1px solid var(--line);gap:0}.session-list.compact a{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;gap:.2rem .9rem;padding:.55rem .15rem}.session-list.compact .session-code{color:var(--muted);min-width:5.5rem;font-size:.9rem}.class-list .session-list{margin-top:.85rem}.class-list .ended-sessions .session-list{margin-top:0}.class-list>li>.class-count{margin-top:.35rem}.head-panel .new-class label{max-width:none}.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{flex-wrap:wrap;align-items:baseline;gap:.6rem;margin:0 0 1.75rem;font-size:.9rem;display:flex}.wine-line{flex-wrap:wrap;align-items:baseline;gap:.6rem;margin:0 0 1rem;font-size:.95rem;display:flex}.join-line-label,.wine-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}.join-line strong,.join-block-code,.session-code{white-space:nowrap;-webkit-hyphens:none;hyphens:none;overflow-wrap:normal}label:has(>.join-code)>.join-code{white-space:nowrap;-webkit-hyphens:none;hyphens:none;overflow-wrap:normal}.join-line strong{font-size:min(1.1rem,13vw)}.join-block{container-type:inline-size}.join-block-code{font-size:min(clamp(2.4rem,9vw,3.4rem),15cqi)}.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-filters{flex-direction:column;flex:100%;gap:.5rem;min-width:0;display:flex}.filter-chips,.filter-active{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.filter-row{overscroll-behavior-x:contain;scrollbar-width:none;min-width:0;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),#0000)}.filter-row::-webkit-scrollbar{display:none}@media (max-width:600px){.filter-row{margin-right:-1rem}}.filter-row>.filter-chips{flex-wrap:nowrap;width:max-content;padding-right:2.5rem}button.filter-chip,button.filter-more{border:1px solid var(--line);background:var(--surface-soft);min-height:2.25rem;color:var(--foreground);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:0 .75rem;font-size:.85rem;font-weight:400;display:inline-flex}button.filter-chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-line);font-weight:600}button.filter-more{border-color:var(--line-strong);color:var(--accent);font-weight:600}button.filter-more svg path{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round}.filter-badge{background:var(--accent);min-width:1.25rem;color:var(--accent-contrast);text-align:center;border-radius:999px;padding:0 .3rem;font-size:.75rem;line-height:1.25rem}.filter-tick path{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}button.filter-on{border:1px solid var(--accent-line);background:var(--accent-soft);min-height:2rem;color:var(--foreground);border-radius:999px;align-items:center;gap:.4rem;padding:0 .55rem 0 .75rem;font-size:.85rem;font-weight:600;display:inline-flex}button.filter-on:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}button.filter-on svg path{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round}.wine-tally .linklike{margin-left:.35rem;font-size:.85rem}dialog.filter-sheet{width:min(34rem,100vw - 2rem);max-height:min(40rem,100dvh - 2rem);color:var(--foreground);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);margin:auto;padding:0}dialog.filter-sheet[open]{flex-direction:column;display:flex}dialog.filter-sheet::backdrop{background:#0006}.filter-sheet-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.75rem .75rem .5rem;display:grid}.filter-sheet-head h2{font-family:var(--serif);text-align:center;overflow-wrap:break-word;margin:0;font-size:1.3rem;font-weight:500;line-height:1.15}@media (max-width:600px){.filter-sheet-head h2{font-size:1.15rem}}button.filter-head-button{border:1px solid var(--line);background:var(--surface-soft);min-height:2.5rem;color:var(--foreground);white-space:nowrap;border-radius:999px;justify-self:start;align-items:center;gap:.3rem;padding:0 .75rem;font-size:.95rem;display:inline-flex}button.filter-head-button.filter-done{justify-self:end;font-weight:600}button.filter-head-button.filter-back{color:var(--accent);padding-left:.65rem}.filter-chevron path{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.filter-sheet-body{flex:auto;padding:.25rem 1rem 1rem;overflow-y:auto}.filter-groups,.filter-choices{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-soft);margin:0;padding:0 1rem;list-style:none}.filter-groups>li,.filter-choices>li{margin:0}.filter-groups>li+li,.filter-choices>li+li{border-top:1px solid var(--line)}.filter-group-row,button.filter-choice{width:100%;min-height:3rem;color:var(--foreground);text-align:left;background:0 0;border:0;border-radius:0;align-items:baseline;gap:.75rem;padding:.8rem 0;font-size:1rem;font-weight:400;display:flex}button.filter-group-row,button.filter-choice{align-items:center}button.filter-group-row:hover:not(:disabled),button.filter-choice:hover:not(:disabled){background:0 0;border-color:#0000}button.filter-group-row:hover .filter-group-title,button.filter-choice:hover>span{text-underline-offset:.2em;text-decoration:underline}.filter-group-title{flex:none}.filter-group-value{text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0;color:var(--muted);flex:auto;overflow:hidden}.filter-group-value.on{color:var(--accent);font-weight:600}.filter-group-row.empty,.filter-group-row.empty .filter-group-value{color:var(--muted)}.filter-group-row .filter-chevron{color:var(--muted);flex:none}button.filter-choice>span{flex:auto;min-width:0}button.filter-choice[aria-pressed=true]>span{font-weight:600}button.filter-choice .filter-tick{visibility:hidden;flex:none}button.filter-choice[aria-pressed=true] .filter-tick{visibility:visible}.filter-search{z-index:1;background:var(--surface);margin:-.25rem 0 .75rem;padding:.25rem 0 0;position:sticky;top:-.25rem}.filter-search input{width:100%}.filter-search input::-webkit-search-cancel-button{appearance:none;background-color:var(--muted);cursor:pointer;width:1rem;height:1rem;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 2l8 8M10 2l-8 8' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 2l8 8M10 2l-8 8' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.glossary-search input::-webkit-search-cancel-button{appearance:none;background-color:var(--muted);cursor:pointer;width:1rem;height:1rem;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 2l8 8M10 2l-8 8' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 2l8 8M10 2l-8 8' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.filter-hint,.filter-nothing{color:var(--muted);margin:.6rem .25rem 0;font-size:.85rem;line-height:1.45}.filter-nothing:empty{margin:0}.filter-sheet-foot{border-top:1px solid var(--line);padding:.75rem 1.25rem 1rem;display:flex}.filter-sheet-foot button{min-height:2.75rem}.filter-sheet-foot button.filter-show{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);flex:auto}.filter-sheet-foot button.filter-show:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 85%, black);border-color:color-mix(in srgb, var(--accent) 85%, black)}@media (max-width:600px){dialog.filter-sheet{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:0;width:100vw;max-width:100vw;max-height:85dvh;margin:auto 0 0}.filter-sheet-foot{padding-bottom:max(1rem, env(safe-area-inset-bottom))}}.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-mark{border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--foreground);border-radius:999px;padding:.1rem .45rem}.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,.wine-note,.wine-status{margin-top:2rem}.wine-note .wine-note-text{margin:0}.wine-tastings h2,.wine-note h2,.wine-status 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-tastings .history-list>li{margin:0}.wine-tastings p.wine-average{margin-bottom:.75rem}.wine-average strong{font-family:var(--serif);color:var(--foreground);font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:600}.wine-tastings p.wine-taste-again{margin-top:1.25rem}.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-what{flex:1 1 0}.w-side{flex-wrap:wrap;flex-basis:100%;row-gap:.3rem}.w-thumb~.w-side{padding-left:3rem}.wine-facts>div{flex-direction:column;gap:.15rem}.wine-actions button{flex:auto}}.wine-status-marks{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}button.wine-status-mark{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);min-height:44px;color:var(--foreground);align-items:center;gap:6px;padding:0 14px;font-size:.95rem;font-weight:400;display:inline-flex}button.wine-status-mark[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-line);font-weight:600}button.wine-status-mark[aria-disabled=true]{cursor:progress}.wine-cellar{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);min-height:44px;color:var(--foreground);align-items:center;gap:10px;padding:0 4px 0 14px;font-size:.95rem;display:inline-flex}.wine-cellar[data-owned=true]{background:var(--accent-soft);border-color:var(--accent-line)}.wine-cellar[data-owned=true] .wine-cellar-label{font-weight:600}.wine-cellar-step{align-items:center;gap:2px;display:inline-flex}button.wine-cellar-btn{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}button.wine-cellar-btn:disabled{opacity:.4;cursor:default}.wine-cellar-btn path{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round}.wine-cellar-count{align-items:baseline;gap:4px;padding:0 4px;display:inline-flex}.wine-cellar .wine-cellar-count input{border:0;border-bottom:1px dashed var(--line-strong);width:3ch;min-height:0;color:var(--foreground);font:inherit;font-variant-numeric:tabular-nums;text-align:center;background:0 0;border-radius:0;padding:0;font-weight:600}.wine-cellar .wine-cellar-count input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wine-cellar-unit{color:var(--muted);font-size:.85rem;display:inline-grid}.wine-cellar-unit>span{grid-area:1/1}.wine-cellar-unit-spare{visibility:hidden}.wine-status-check path{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.wine-status .field-note{margin:.5rem 0 0}.wine-status .failure{margin-top:.75rem}.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-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem .75rem;margin:0 0 .45rem;display:flex}.carried-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem;font-weight:600}button.carried-all{min-height:2.1rem;color:var(--accent);border-color:var(--accent-line);background:var(--surface);padding:.3rem .8rem;font-size:.85rem}button.carried-all:hover:not(:disabled){color:var(--foreground);border-color:var(--accent);background:var(--accent-soft)}.carried-note{color:var(--muted);margin:0;font-size:.85rem;line-height:1.45}.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}.wine-form>.wine-numbers{gap:1rem;margin-bottom:.75rem}.wine-form>.wine-numbers>label{flex:9rem}.wine-form>.wine-numbers:has(+.wine-numbers-note){margin-bottom:0}.wine-form>.wine-numbers-note{margin:.4rem 0 .75rem;display:block}.wine-cellar{border-top:1px solid var(--line);margin:.25rem 0 1rem}.wine-cellar>summary{min-height:2.75rem;color:var(--accent);cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;list-style:none;display:flex}.wine-cellar>summary::-webkit-details-marker{display:none}.wine-cellar>summary:before{content:"+";text-align:center;width:1rem;font-size:1.05rem;line-height:1}.wine-cellar[open]>summary:before{content:"−"}.wine-cellar>.drink-window{gap:1rem;margin-top:.25rem}.wine-cellar>.drink-window>label{flex:0 9rem}.wine-cellar>.field-note{margin-bottom:1rem;display:block}.wine-cellar .wine-note-field label{max-width:none}.wine-note-text{white-space:pre-wrap;overflow-wrap:anywhere}.chip-note{color:var(--muted);margin-left:.4rem;font-size:.78rem}.chip-note:before{content:"= "}.field-note.suggest-note{margin-top:.35rem;line-height:1.45;display:block}.chip-note.plain:before{content:none}.country-field>label{position:relative}.country-field>label>input{padding-right:2.2rem}.country-field .country-tick{pointer-events:none;width:1.15rem;height:1.15rem;position:absolute;bottom:.8rem;right:.75rem}.country-field .country-tick circle{fill:var(--correct)}.country-field .country-tick path{fill:none;stroke:var(--surface);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.country-matches{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);max-width:26rem;box-shadow:var(--shadow-popover);margin:.35rem 0 0;padding:.25rem 0;list-style:none}.country-matches[hidden]{display:none}.country-matches>li{min-height:2.75rem;color:var(--foreground);cursor:pointer;align-items:baseline;gap:.5rem;padding:.6rem .75rem;font-size:.95rem;line-height:1.5rem;display:flex}.country-matches>li.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.country-matches>li>.via{color:var(--muted);font-size:.8rem}.field-note.country-none{margin-top:.35rem;display:block}.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}.place-field>input[type=text]{width:100%;max-width:26rem;min-height:2.75rem;font-size:1rem}.field-optional{letter-spacing:normal;text-transform:none;margin-left:.4rem;font-weight:400}.place-recent{margin-top:.75rem}.place-recent-label{color:var(--muted);margin:0 0 .4rem;font-size:.85rem}.place-chips{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.place-chip{text-align:left;overflow-wrap:anywhere;border:1px dashed var(--field-line);max-width:100%;min-height:44px;color:var(--foreground);background:0 0;border-radius:999px;align-items:center;padding:.35rem .85rem;font-size:.9rem;display:inline-flex}.place-chip:hover:not(:disabled){border-style:solid;border-color:var(--accent);background:var(--surface)}.tasting-place{margin:-.75rem 0 1.75rem}.tasting-place~.record{margin-top:.25rem;font-size:.9rem}.tasting-place>p{overflow-wrap:anywhere;margin:0}.tasting-place-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:600}.tasting-place-value{font-family:var(--serif);color:var(--foreground);font-size:1rem}p.attach-wine>button.linkish,button.linkish.tasting-place-change{text-align:left;align-items:center;min-height:2rem;font-size:.9rem;display:inline-flex}.tasting-place-value+button.linkish.tasting-place-change{margin-left:.25rem}.attach-wine:not(.open):has(+.tasting-place){margin-bottom:0}.attach-wine:not(.open)+.tasting-place{margin-top:0}.tasting-place-edit .attach-actions{flex-wrap:wrap}.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}.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}.profile-stats .empty-card{margin-bottom:0}.profile-stats-figures{flex-wrap:wrap;gap:.75rem;margin:.25rem 0 .75rem;display:flex}.profile-stats-figures>div{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column-reverse;flex:5.5rem;justify-content:flex-end;padding:.75rem .9rem;display:flex}.profile-stats-figures dd{font-family:var(--serif);font-variant-numeric:tabular-nums;margin:0;font-size:2rem;line-height:1.1}.profile-stats-figures dt{color:var(--muted);font-size:.85rem}.profile-stats-note{margin:0 0 1rem}.profile-stats-subhead{margin:1.25rem 0 .5rem;font-size:.95rem}.profile-stats-levels{margin:0 0 .25rem;padding:0;list-style:none}.profile-stats-levels>li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.15rem .75rem;padding:.5rem 0;display:grid}.profile-stats-level-name{overflow-wrap:anywhere}.profile-stats-level-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.profile-stats-bar{background:var(--bar);border-radius:999px;grid-column:1/-1;justify-self:start;block-size:.35rem;max-inline-size:100%;margin-top:.3rem}.profile-stats-more{margin:.75rem 0 .25rem;font-weight:600}.stat-page{gap:1rem;display:grid}.stat-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-inline-size:0;padding:1rem 1.1rem 1.1rem}.stat-card h2{margin:0 0 .25rem;font-size:1.15rem}.wine-calibration{margin-top:1.5rem}.stat-about,.stat-note{color:var(--muted);margin:0 0 .75rem;font-size:.9rem}.stat-note{margin:.6rem 0 0}.stat-too-few{border-radius:var(--radius);background:var(--surface-sunk);color:var(--muted);margin:.5rem 0 0;padding:.75rem .9rem}.stat-sentence{margin:.5rem 0 0}.stat-subhead{margin:1.1rem 0 .4rem;font-size:.95rem}.stat-structure h4{margin:.9rem 0 .25rem;font-size:.92rem;font-weight:600}.stat-score{inline-size:100%}.stat-score svg{display:block;overflow:visible}.stat-grid{stroke:var(--line);stroke-width:1px}.stat-axis{fill:var(--muted);font-size:12px;font-family:var(--sans);font-variant-numeric:tabular-nums}.stat-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.stat-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.stat-bars,.stat-parts,.stat-plain,.stat-across{margin:0;padding:0;list-style:none}.stat-bars>li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.15rem .75rem;padding:.45rem 0;display:grid}.stat-bar-word{overflow-wrap:anywhere}.stat-bar-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.stat-bar{background:var(--accent);border-radius:0 4px 4px 0;grid-column:1/-1;justify-self:start;block-size:.4rem;max-inline-size:100%;margin-top:.25rem}.stat-bar[data-kind=others]{background:var(--bar)}.stat-bar[data-empty]{background:var(--line);inline-size:.2rem}.stat-bars>li[data-mine] .stat-bar-word{font-weight:600}.stat-you{background:var(--accent);color:var(--accent-contrast);vertical-align:.1em;border-radius:999px;margin-inline-start:.5rem;padding:0 .45rem;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-block}.stat-ladder .stat-bars>li{grid-template-columns:minmax(6.5rem,40%) minmax(0,1fr) 2.5ch;align-items:center;padding:.3rem 0}.stat-ladder .stat-bar{grid-area:1/2;margin-top:0}.stat-ladder .stat-bar-count{text-align:end;grid-area:1/3}.stat-legend{color:var(--muted);flex-wrap:wrap;gap:.25rem 1rem;margin:0 0 .5rem;font-size:.85rem;display:flex}.stat-legend-item{align-items:center;gap:.4rem;display:inline-flex}.stat-legend .stat-mark{position:static;transform:none}.stat-parts>li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:.15rem .75rem;padding:.5rem 0 .75rem;display:grid}.stat-part-text{color:var(--muted);font-variant-numeric:tabular-nums;text-align:end;font-size:.9rem}.stat-track{background:linear-gradient(var(--line), var(--line)) center / 100% 2px no-repeat;grid-column:1/-1;block-size:.75rem;margin:.35rem .45rem 0;position:relative}.stat-span{background:var(--accent-line);border-radius:2px;block-size:4px;position:absolute;inset-block:calc(50% - 2px)}.stat-mark{box-sizing:border-box;border-radius:50%;block-size:.8rem;inline-size:.8rem;display:inline-block;position:absolute;inset-block-start:50%;transform:translate(-50%,-50%)}.stat-mark[data-kind=earlier]{border:2px solid var(--muted);background:var(--surface)}.stat-mark[data-kind=recent]{background:var(--accent);box-shadow:0 0 0 2px var(--surface)}.stat-plain>li{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:.35rem 0}.stat-across>li{border-bottom:1px solid var(--line);gap:.1rem;padding:.6rem 0;display:grid}.stat-across-wine{overflow-wrap:anywhere;font-weight:600}.stat-across-grades,.stat-across-steps{color:var(--muted);font-size:.9rem}.stat-across>li[data-steps=same] .stat-across-steps{color:var(--foreground)}.signin-alt{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:.85rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.signin-alt p{color:var(--muted);margin:0;font-size:.9rem}main.profile-screen .who{display:none}.profile-signout{margin-left:1rem;font-size:.85rem}.account-export{border-top:1px solid var(--line);max-width:30rem;margin-top:3rem;padding-top:1.5rem}.account-export>h2{margin-top:0;font-size:1.15rem}.account-export-intro{margin:0 0 .5rem}.account-export-list{color:var(--muted);margin:0 0 .75rem;padding-left:1.2rem;font-size:.925rem}.account-export-list>li+li{margin-top:.35rem}.account-export-note,.account-export-help{color:var(--muted);margin:0 0 1rem;font-size:.925rem}.account-export-help{margin:.75rem 0 0}.account-export-actions{flex-wrap:wrap;gap:.75rem;display:flex}.account-export-actions>button:first-child{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.account-export-actions>button:first-child:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 85%, black);border-color:color-mix(in srgb, var(--accent) 85%, black)}.account-export-done{color:var(--correct);overflow-wrap:anywhere;margin:.75rem 0 0;font-size:.925rem}.account-export .failure{margin-top:.75rem}.name-visibility-switch{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-soft);cursor:pointer;align-items:center;gap:.75rem;min-height:44px;padding:.55rem .9rem;display:flex}.name-visibility-switch:has(input:checked){border-color:var(--accent-line);background:var(--accent-soft)}.name-visibility-switch:has(input:disabled){cursor:default;opacity:.7}.name-visibility-switch input[type=checkbox]{width:1.25rem;height:1.25rem}.name-visibility-loading{color:var(--muted);margin:0;font-size:.925rem}.cert-current{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;align-items:flex-start;gap:.45rem;margin:.75rem 0 1rem;padding:.85rem 1rem;display:flex}.cert-current>p{margin:0}.cert-name{font-family:var(--serif);overflow-wrap:break-word;font-size:1.35rem;line-height:1.2}.cert-none{font-weight:600}.cert-description{color:var(--muted);font-size:.9rem}.cert-note{font-size:.925rem}.cert-reason{border:1px solid var(--line);border-left:3px solid var(--danger);border-radius:var(--radius);background:var(--surface-soft);margin:.1rem 0 .25rem;padding:.55rem .8rem}.cert-reason[data-state=note]{border-left-color:var(--accent)}.cert-reason p{margin:0}.cert-reason-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:600}.cert-reason-text{white-space:pre-line;overflow-wrap:anywhere;font-size:.925rem}.cert-still{align-items:flex-start;gap:.4rem;display:flex}.cert-still .cert-seal{margin-top:.2rem}.cert-seal{block-size:1em;inline-size:1em;color:var(--accent);flex:none}.cert-seal-tick{stroke:var(--accent-contrast)}.cert-badge{border:1px solid var(--line-strong);background:var(--surface-sunk);color:var(--muted);border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .65rem;font-size:.85rem;font-weight:600;display:inline-flex}.cert-badge-verified{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.cert-picker{margin-top:.25rem}.cert-picker-intro{margin:0 0 .5rem}.cert-ladder{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);margin:0 0 .75rem;padding:0;list-style:none;overflow:hidden}.cert-ladder>li+li{border-top:1px solid var(--line)}.cert-option{inline-size:100%;text-align:start;background:0 0;border:0;border-radius:0;align-items:flex-start;gap:.75rem;min-height:44px;padding:.7rem .9rem;font-weight:400;display:flex}.cert-option:hover:not(:disabled){background:var(--surface-soft);border-color:#0000}.cert-option[aria-pressed=true]{background:var(--accent-soft)}.cert-option:disabled{opacity:1;cursor:progress}.cert-option-text{flex-direction:column;flex:auto;gap:.2rem;min-inline-size:0;display:flex}.cert-option-name{overflow-wrap:break-word;font-size:1rem}.cert-option[aria-pressed=true] .cert-option-name{font-weight:600}.cert-option-description{color:var(--muted);font-size:.875rem;line-height:1.4}.cert-option-verified{color:var(--accent);align-items:center;gap:.3rem;font-size:.85rem;font-weight:600;display:inline-flex}.cert-option-mark{block-size:1.25rem;inline-size:1.25rem;color:var(--accent);flex:none;margin-top:.1rem}.cert-option-mark svg{block-size:100%;inline-size:100%;display:block}.cert-spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;block-size:1.1rem;inline-size:1.1rem;animation:.8s linear infinite cert-spin;display:block}@keyframes cert-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.cert-spinner{animation:none}}.cert-picker-actions{gap:.75rem;display:flex}.cert-proof-pending{border-top:1px solid var(--line);flex-direction:column;align-self:stretch;gap:.4rem;margin-top:.35rem;padding-top:.75rem;display:flex}.cert-proof-pending>p{margin:0}.cert-proof-pending-title{align-items:flex-start;gap:.45rem;font-weight:600;display:flex}.cert-proof-clock,.cert-proof-lock{block-size:1rem;inline-size:1rem;color:var(--accent);flex:none;margin-top:.2rem}.cert-proof-mail{white-space:nowrap}.cert-proof-withdraw{align-self:flex-start;min-height:44px}.cert-proof-confirm>p{margin:.25rem 0 .6rem;font-size:.925rem}.cert-proof-confirm button.danger{background:var(--danger);border-color:var(--danger);color:var(--danger-contrast)}.cert-proof-confirm button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 85%, black);border-color:color-mix(in srgb, var(--danger) 85%, black)}.cert-proof-form{margin-top:.25rem}.cert-proof-form>h3{font-family:var(--serif);overflow-wrap:break-word;margin:0;font-size:1.15rem;font-weight:600}.cert-proof-notice{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-soft);margin:.6rem 0 .85rem;padding:.8rem 1rem .85rem}.cert-proof-notice-title{align-items:center;gap:.45rem;margin:0 0 .45rem;font-weight:600;display:flex}.cert-proof-notice-title .cert-proof-lock{color:var(--accent)}.cert-proof-notice ul{flex-direction:column;gap:.35rem;margin:0;padding-left:1.1rem;font-size:.925rem;line-height:1.45;display:flex}.cert-proof-notice li::marker{color:var(--muted)}.cert-proof-docs{flex-direction:column;gap:.6rem;margin:0 0 .85rem;padding:0;list-style:none;display:flex}.cert-doc{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;align-items:flex-start;gap:.6rem;padding:.85rem 1rem;display:flex}.cert-doc[data-state=ready]{border-color:var(--accent-line)}.cert-doc[data-state=error]{border-color:var(--danger)}.cert-doc-head,.cert-doc-text{align-self:stretch}.cert-doc-text>p{margin:0}.cert-doc-name{font-weight:600}.cert-doc-text>.cert-doc-hint{color:var(--muted);margin-top:.2rem;font-size:.875rem;line-height:1.4}.cert-doc-file{align-self:stretch;align-items:center;gap:.65rem;min-inline-size:0;display:flex}.cert-doc-thumb{border:1px solid var(--line);border-radius:var(--radius);object-fit:cover;background:var(--surface-sunk);flex:none;block-size:2.75rem;inline-size:2.75rem}.cert-doc-pdf{color:var(--accent);place-items:center;display:grid}.cert-doc-pdf svg{block-size:1.4rem;inline-size:1.4rem}.cert-doc-file-text{flex-direction:column;min-inline-size:0;display:flex}.cert-doc-file-name{text-overflow:ellipsis;white-space:nowrap;font-size:.925rem;overflow:hidden}.cert-doc-file-size{color:var(--muted);font-size:.825rem}.cert-doc-preparing{color:var(--muted);align-items:center;gap:.5rem;margin:0;font-size:.9rem;display:flex}.cert-doc-error{color:var(--danger);margin:0;font-size:.9rem}.cert-doc-choose{min-height:44px}.cert-proof-consent{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-soft);cursor:pointer;align-items:flex-start;gap:.7rem;min-height:44px;margin:0 0 .5rem;padding:.7rem .9rem;font-size:.95rem;line-height:1.4;display:flex}.cert-proof-consent:has(input:checked){border-color:var(--accent-line);background:var(--accent-soft)}.cert-proof-consent[data-missing]{border-color:var(--danger)}.cert-proof-consent input[type=checkbox]{flex:none;width:1.25rem;height:1.25rem;margin:.05rem 0 0}.cert-proof-consent-missing{color:var(--danger);margin:0 0 .6rem;font-size:.9rem}.cert-proof-format{margin:.35rem 0 1rem}.cert-proof-actions{margin-top:.25rem}.account-delete{border-top:1px solid var(--line);max-width:30rem;margin-top:3rem;padding-top:1.5rem}.account-delete>h2{margin-top:0;font-size:1.15rem}.account-delete-intro{color:var(--muted);margin:0 0 1rem;font-size:.925rem}.account-delete>button.secondary{background:var(--surface);color:var(--muted);border-color:var(--line-strong);font-weight:500}.account-delete>button.secondary:hover:not(:disabled){color:var(--danger);border-color:var(--danger);background:var(--surface)}.account-confirm{border:1px solid var(--danger);border-radius:var(--radius);background:var(--surface);padding:1rem}.account-confirm:focus{outline:none}.account-confirm:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.account-confirm>p{margin:0 0 .5rem}.account-confirm>ul{margin:0 0 .75rem;padding-left:1.2rem}.account-confirm>ul>li+li{margin-top:.35rem}.account-counting{color:var(--muted);font-size:.925rem}.account-final{color:var(--danger);font-weight:600}.account-confirm form{margin-top:1rem}.account-confirm .field-label{margin-bottom:.35rem;display:block}.account-confirm input[type=text]{width:100%;margin-bottom:1rem}.account-confirm-actions{flex-wrap:wrap;gap:.75rem;margin:0;display:flex}.account-confirm button.danger{background:var(--danger);border-color:var(--danger);color:var(--danger-contrast)}.account-confirm button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 85%, var(--foreground));border-color:color-mix(in srgb, var(--danger) 85%, var(--foreground))}.account-confirm button.secondary{background:var(--surface);color:var(--foreground);border-color:var(--line-strong);font-weight:500}@media (max-width:30rem){.account-confirm-actions button{flex:100%}}.notice.account-deleted{margin-bottom:2rem}.failure{border:1px solid color-mix(in srgb, var(--danger) 45%, var(--line));border-left:3px solid var(--danger);border-radius:var(--radius);background:color-mix(in srgb, var(--danger) 6%, var(--surface));margin:0 0 1.25rem;padding:.75rem 1rem}.failure>p{margin:0}.failure>details{color:var(--muted);margin-top:.4rem;font-size:.8rem}.failure>details>summary{cursor:pointer}.failure code{overflow-wrap:anywhere;margin-top:.3rem;font-size:.78rem;display:block}.stale-session{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-sunk);max-width:24rem;margin:0 0 1.25rem;padding:.75rem 1rem;font-size:.925rem}.notice{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-sunk);margin:0 0 1.25rem;padding:.75rem 1rem}.notice>p{margin:0}.notice>details{color:var(--muted);margin-top:.4rem;font-size:.8rem}.notice code{overflow-wrap:anywhere;margin-top:.3rem;font-size:.78rem;display:block}.components{margin:1.25rem 0 0}.components>h3{font-family:var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem;font-size:.72rem;font-weight:600}.component-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.component-list>li{border-bottom:1px solid var(--line);padding:.55rem .25rem}.component-row{align-items:baseline;gap:1rem;display:flex}.component-name{flex:auto;min-width:0}.component-name small{color:var(--muted);margin-left:.4rem}.component-value{text-align:right;flex:none;min-width:4.5rem}.component-value small{color:var(--muted)}.component-note{color:var(--muted);flex:none;font-size:.8rem}.component-row .linkish{flex:none;font-size:.85rem}.component-adjust{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:.6rem 0 .25rem;display:flex}.component-adjust label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.component-adjust input[type=number]{width:6rem}.component-adjust .failure{flex:100%;margin:.25rem 0 0}.components+.field-note{margin-top:.75rem}.result-score p small{color:var(--muted)}@media (max-width:34rem){.component-row{flex-wrap:wrap;gap:.35rem .75rem}.component-note{flex-basis:100%}}.carry-over{border:1px solid var(--line-strong);border-radius:var(--radius);margin:1.5rem 0;padding:1rem}.carry-over p{margin:0 0 .75rem}.carry-over p:last-of-type{margin:.75rem 0 0}.carried-over{border-left:3px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--radius);margin:0 0 1rem;padding:.6rem .9rem}.result-word{font-family:var(--serif);text-transform:capitalize;margin-bottom:.15rem;font-size:1.6rem;line-height:1.2;display:inline-block}.balance-why{border-left:2px solid var(--line-strong);margin:.5rem 0 .2rem;padding-left:.85rem;font-size:.92rem}.balance-why p{margin:0}.balance-why p small{color:var(--muted)}.balance-why ul{margin:0;padding:0;list-style:none}.balance-why li{justify-content:space-between;align-items:baseline;gap:1rem;padding:.15rem 0;display:flex}.balance-why li small{color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.balance-why ul+p{margin-top:.3rem}.result-faulty{border:1px solid var(--line-strong);border-radius:var(--radius);margin:.5rem 0 1rem;padding:.9rem 1rem}.result-faulty>h3{font-family:var(--serif);margin:0 0 .5rem;font-size:1.3rem}.result-faulty p{margin:0 0 .5rem}.result-faulty p:last-child{margin-bottom:0}.result-faulty .field-note small{color:var(--muted)}.h-score .h-faulty{font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;border:1px solid var(--line-strong);border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.picker.lookup ul.options.picker-list>li>button{text-align:left;width:100%;color:var(--foreground);background:0 0;border:0;align-items:center;gap:0;min-height:2.4rem;padding:.4rem .75rem;font-size:.9rem;display:inline-flex}.picker.lookup ul.options.picker-list>li:hover:not(:has(:disabled)){border-color:var(--accent-line);background:var(--accent-soft)}.picker.lookup ul.options.picker-list>li>button:disabled{color:var(--muted);cursor:default}.picker .picker-other{max-width:none;margin-top:1rem;display:block}.picker .picker-other>input{min-height:2.75rem;font-size:1rem}.reveal{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.5rem}.reveal>h2{margin-bottom:.5rem;font-size:1.15rem}.reveal-count{margin:0 0 1rem;font-size:1rem}.reveal-list{border-top:1px solid var(--line);margin:0}.reveal-row{border-bottom:1px solid var(--line);align-items:baseline;gap:1.5rem;padding:.55rem .25rem;display:flex}.reveal-row>dt{min-width:0;color:var(--muted);flex:45%;font-size:.9rem}.reveal-row>dd{overflow-wrap:anywhere;flex:55%;min-width:0;margin:0}.reveal-said{font-weight:500}.reveal-mark{font-family:var(--sans);color:var(--muted);margin-top:.1rem;font-size:.78rem;display:block}.reveal-row.right .reveal-said{color:var(--correct)}.notes-point{margin:1.5rem 0 .5rem}.notes-point>h3{font-family:var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.35rem;margin:0 0 .5rem;font-size:.72rem;font-weight:600;display:flex}.notes-point>dl{border-top:1px solid var(--line);margin:0}.notes-point>dl>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(5.5rem,9rem) minmax(0,1fr);align-items:baseline;gap:0 1rem;padding:.55rem 0;font-size:.9rem;line-height:1.4;display:grid}@media (max-width:40rem){.notes-point>dl>div{grid-template-columns:6rem minmax(0,1fr)}}.notes-point>dl>div:last-child{border-bottom:0}.notes-point dt{color:var(--muted);font-size:.82rem}.notes-point dd{color:var(--foreground);overflow-wrap:anywhere;margin:0}.notes-point ul{margin:0;padding:0;list-style:none}.notes-point li+li{margin-top:.5rem}.notes-point-grape{display:block}.notes-point-regions{color:var(--muted);margin-top:.1rem;font-size:.8rem;line-height:1.4;display:block}.reveal-row.right .reveal-mark{color:var(--correct);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:600}.reveal-row.wrong .reveal-said{color:var(--danger)}.reveal-row>dd .unanswered{color:var(--muted);font-style:italic}@media (max-width:30rem){.reveal-row{flex-direction:column;gap:.15rem}}.tick-scroll{overflow-wrap:normal;max-width:100%;overflow-x:auto}.tick-sheet th{font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);vertical-align:bottom;font-size:.7rem;font-weight:600}.tick-sheet td{text-align:center}.tick-sheet th:not(:first-child){white-space:normal;min-width:7rem;max-width:11rem}.tick-sheet td:first-child,.tick-sheet th:first-child{text-align:left}.tick{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);min-width:2.25rem;min-height:2.25rem;color:var(--muted);padding:.2rem .5rem;font-size:1rem;line-height:1}.tick.yes{color:var(--correct);border-color:var(--correct)}.tick.no{color:var(--danger);border-color:var(--danger)}.tick.decided{background:var(--accent-soft);border-width:2px;font-weight:600}.tick.undecided{border-style:dashed}.tick-points{font-variant-numeric:tabular-nums;white-space:nowrap}.tick:hover:not(:disabled){background:var(--surface-sunk)}.language-switch{background:0 0;border:0;margin:0 0 1.25rem;padding:0}.language-switch legend{font-family:var(--sans);color:var(--muted);margin:0 0 .4rem;padding:0;font-size:.875rem;font-weight:600}.language-switch.compact{margin:.75rem 0 0}.language-switch.compact .segmented label{padding:.3rem .8rem;font-size:.85rem}.language-switch[aria-busy=true]{opacity:.6}.tasting-foot{padding:.25rem 0 max(1rem, env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--muted);margin-top:2rem}.tasting-foot .content-language{margin:.5rem 0 0}.tasting-foot .failure{margin-top:.75rem}fieldset.screen-fieldset{background:0 0;border:0;min-inline-size:0;padding:0}.screen-parts{flex-direction:column;gap:1rem;display:flex}.screen-segmented{width:100%;display:flex}.screen-segmented label{text-align:center;flex:1 1 0;justify-content:center;align-items:center;min-height:2.75rem;display:flex}.screen-question{margin:0 0 .5rem;font-weight:600}.screen-parts>.step{margin-bottom:0}.screen-joined{border-top:1px solid var(--line);padding-top:1rem}.screen-joined .screen-question{flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;display:flex}.screen-optional{color:var(--muted);font-size:.8rem;font-weight:400}.screen-joined textarea{min-height:4rem}.screen-waiting{color:var(--muted);margin:0;font-size:.9rem}.swatch-card{background:var(--colour-card);color:var(--colour-card-ink);border:1px solid var(--colour-card-line);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:14px;display:flex}.swatch-choice{align-items:center;gap:16px;display:flex}.swatch-choice .wine-glass{flex:none}.swatch-caption{color:var(--colour-card-muted);font-size:.8rem}.swatch-value{font-family:var(--serif);margin:0;font-size:1.3rem;font-weight:500;line-height:1.2}.swatch-grid{grid-template-columns:auto repeat(var(--swatch-cols,5), minmax(0, 1fr));align-items:center;gap:6px 2px;display:grid}.swatch-col-label,.swatch-row-label{color:var(--colour-card-muted);font-size:.75rem;line-height:1.2}.swatch-col-label{text-align:center;overflow-wrap:break-word;padding-bottom:2px}.swatch-row-label{letter-spacing:.04em;padding-right:8px}button.swatch-cell{background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;min-width:44px;min-height:52px;padding:0;display:flex}button.swatch-cell:hover:not(:disabled){background:0 0}.swatch-dot{width:40px;height:40px;box-shadow:0 0 0 var(--swatch-mat) var(--swatch-mat-colour), 0 0 0 calc(var(--swatch-mat) + 1px) var(--swatch-ring), inset 0 0 0 1px var(--swatch-sheen);border-radius:50%;transition:box-shadow .12s;display:block}button.swatch-cell[data-on=true] .swatch-dot{box-shadow:0 0 0 3px var(--swatch-mat-colour), 0 0 0 5.5px var(--colour-card-accent)}button.swatch-cell:focus-visible{outline:none}button.swatch-cell:focus-visible .swatch-dot{box-shadow:0 0 0 3px var(--swatch-mat-colour), 0 0 0 5.5px var(--colour-card-accent), 0 0 0 8px var(--colour-card-ink)}@media (prefers-reduced-motion:reduce){.swatch-dot{transition:none}}.frame-where{color:var(--muted);font-size:.8rem}h1.result-title{margin:0 0 1rem;font-size:clamp(1.45rem,1.25rem + .8vw,1.75rem);font-weight:500;line-height:1.2}h1.result-title[data-withheld]{font-style:italic}.blind-pill{border:1px solid var(--line);background:var(--surface-soft);min-height:30px;color:var(--muted);border-radius:15px;align-items:center;gap:.45rem;margin:0 0 .6rem;padding:0 .85rem;font-size:.8rem;display:inline-flex}.blind-pill-icon{background:currentColor;flex:none;width:14px;height:14px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M3 3l18 18'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M3 3l18 18'/%3E%3C/svg%3E") 50%/contain no-repeat}.result-summary{flex-direction:column;gap:1rem;margin:0 0 1.25rem;display:flex}.result-hero{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.result-hero .wine-glass{flex:none}.result-scale{flex-direction:column;flex:10rem;gap:.9rem;min-width:0;display:flex}.result-scale ol.grade-ladder{flex:none}.result-big-score{flex-wrap:wrap;align-items:baseline;gap:.2rem .4rem;margin:0;display:flex}.result-big-number{font-family:var(--serif);font-variant-numeric:tabular-nums;color:var(--foreground);font-size:2.6rem;font-weight:500;line-height:1}.result-out-of{color:var(--muted);font-size:.82rem}ol.grade-ladder{flex-direction:column;flex:10rem;gap:.55rem;min-width:0;margin:0;padding:0;list-style:none;display:flex}ol.grade-ladder li{color:var(--muted);justify-content:space-between;align-items:baseline;gap:.75rem;padding-left:1.4rem;font-size:.82rem;line-height:1.1;display:flex;position:relative}ol.grade-ladder .grade-floor{font-family:var(--sans);font-variant-numeric:tabular-nums;color:var(--muted);font-size:.78rem;font-weight:400}ol.grade-ladder li[data-reached] .grade-floor{color:var(--foreground);font-weight:600}ol.grade-ladder li:before{content:"";border-top:1px solid var(--line);width:.9rem;position:absolute;top:50%;left:0}ol.grade-ladder li[data-reached]{font-family:var(--serif);color:var(--foreground);font-size:1.45rem;font-weight:500}ol.grade-ladder li[data-reached]:before{border-top:2px solid var(--foreground)}.result-suggestion{color:var(--muted);margin:0;font-size:.82rem}dl.result-parts{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 1.4rem;margin:0;padding:.65rem .9rem;display:grid}dl.result-parts>div{flex-direction:column;align-items:flex-start;gap:.2rem;padding:.2rem 0;display:flex}dl.result-parts dt{font-size:.88rem}dl.result-parts dd{align-items:center;gap:.5rem;margin:0;display:inline-flex}.part-number{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.78rem}.part-dots{gap:4px;display:inline-flex}.part-dot{width:10px;height:10px;box-shadow:inset 0 0 0 1.5px var(--muted);background:linear-gradient(to right, var(--foreground) calc(var(--fill) * 100%), transparent calc(var(--fill) * 100%));border-radius:50%}.result-why{margin:0;font-size:.93rem;line-height:1.5}.register-result{flex-direction:column;gap:1rem;margin:0 0 1.25rem;display:flex}.rr-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.35rem;margin:0;font-size:.7rem;font-weight:600;display:flex}.rr-info{border:1px solid var(--line-strong);width:24px;height:24px;min-height:0;color:var(--muted);font-family:var(--serif);letter-spacing:0;text-transform:none;cursor:pointer;background:0 0;border-radius:50%;place-items:center;margin:-4px 0;padding:0;font-size:.8rem;font-style:italic;font-weight:600;line-height:1;display:inline-grid}.rr-info:hover{color:var(--foreground);border-color:var(--field-line)}.rr-halves{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.rr-half{flex-direction:column;align-items:center;gap:.35rem;min-width:0;padding:0 .5rem;display:flex}.rr-half>.rr-label{align-self:flex-start;min-height:24px}.rr-half+.rr-half{border-left:1px solid var(--line)}.rr-half .wine-glass,.rr-rings{width:auto;height:126px;margin:.25rem 0;display:block}.rr-word{font-family:var(--serif);text-align:center;margin:.15rem 0 0;font-size:1.45rem;font-weight:500;line-height:1.15}.rr-number{font-variant-numeric:tabular-nums;color:var(--muted);text-align:center;margin:0;font-size:.8rem}.rr-ring-closed,.rr-ring-arc{fill:none;stroke:var(--accent);stroke-width:2.1px;stroke-linecap:round}.rr-ring-track{fill:none;stroke:var(--field-line);stroke-width:1.2px;stroke-dasharray:1.2 3.6;stroke-linecap:round}.rr-ring-centre{fill:var(--accent)}.rr-sentences{border-bottom:1px solid var(--line);flex-direction:column;gap:.15rem;padding-bottom:1rem;display:flex}.rr-sentences p{margin:0;font-size:.93rem;line-height:1.45}.rr-style{flex-direction:column;gap:.45rem;display:flex}.rr-words{font-family:var(--serif);margin:0;font-size:1.7rem;font-weight:500;line-height:1.15}.rr-words[data-muted]{color:var(--muted)}.rr-also{color:var(--muted);margin:-.2rem 0 0;font-size:.9rem}.rr-note{color:var(--muted);margin:0;font-size:.88rem;line-height:1.45}.rr-centred{text-align:center}ul.rr-pills{flex-wrap:wrap;gap:.4rem;margin:.1rem 0 0;padding:0;list-style:none;display:flex}ul.rr-pills li{border:1px solid var(--field-line);border-radius:999px;padding:.2rem .7rem;font-size:.8rem}.rr-scales{flex-direction:column;gap:.7rem;margin:.5rem 0 .4rem;display:flex}.rr-scale{color:var(--muted);grid-template-columns:4.6rem minmax(0,1fr) 4.6rem;align-items:center;gap:.5rem;font-size:.8rem;display:grid}.rr-pole:first-child{text-align:right}.rr-scale-line{height:20px;display:block;position:relative}.rr-scale-line svg{width:100%;height:20px;display:block;overflow:visible}.rr-scale-rule,.rr-scale-tick{stroke:var(--sign-rule);stroke-width:1.5px;stroke-linecap:round;vector-effect:non-scaling-stroke}.rr-scale[data-empty] .rr-scale-rule{stroke:var(--sign-matt);stroke-dasharray:2 4}.rr-scale[data-empty] .rr-scale-tick{stroke:var(--sign-matt)}.rr-scale[data-empty] .rr-pole,.rr-scale[data-empty] .rr-scale-middle{opacity:.6}.rr-scale-dot{background:var(--accent);width:13px;height:13px;box-shadow:0 0 0 2px var(--background);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.rr-scale-middle{white-space:nowrap;font-size:.75rem;line-height:1;position:absolute;top:100%;left:50%;transform:translate(-50%)}.rr-scales .rr-scale:last-child{margin-bottom:.9rem}.rr-structure svg{width:min(100%,300px);height:auto;margin:0 auto;display:block;overflow:visible}.rr-curve-circle{fill:none;stroke:var(--field-line);stroke-width:.9px;stroke-dasharray:1 3;stroke-linecap:round}.rr-curve-middle{fill:none;stroke:var(--field-line);stroke-width:1.1px}.rr-curve-axis{stroke:var(--line-strong);stroke-width:.8px}.rr-curve{fill:none;stroke:var(--foreground);stroke-width:2px;stroke-linejoin:round}.rr-curve-point{fill:var(--foreground);stroke:var(--background);stroke-width:1.5px;paint-order:stroke}.rr-curve-point.is-hollow{fill:var(--background);stroke:var(--foreground);stroke-width:1.4px}.rr-curve-name{font-family:var(--sans);fill:var(--muted);font-size:12px}.rr-curve-name.is-none{font-style:italic}.rr-map-toggle{width:100%;min-height:2.75rem}.rm{flex-direction:column;align-items:center;gap:.35rem;margin:.4rem 0 .2rem;display:flex}.rm-map{width:min(100%,26rem);height:auto;font-family:var(--sans);display:block;overflow:visible}.rm-field{fill:none;stroke:var(--field-line);stroke-width:1px}.rm-grid{stroke:var(--field-line);stroke-width:.9px;stroke-dasharray:1 3;stroke-linecap:round}.rm-halo{fill:var(--accent-soft)}.rm-thread{stroke:var(--accent);stroke-linecap:round}.rm-thread.is-strong{stroke-width:1.4px}.rm-thread.is-light{stroke-width:.9px;opacity:.8}.rm-ring-closed,.rm-ring-arc{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round}.rm-ring-track{fill:none;stroke:var(--field-line);stroke-width:1px;stroke-dasharray:1 2.6;stroke-linecap:round}.rm-ring-centre{fill:var(--accent)}.rm-word{paint-order:stroke;stroke:var(--background);stroke-width:4px;stroke-linejoin:round;fill:var(--foreground)}.rm-word.is-off{fill:var(--field-line)}.rm-word.is-light{font-weight:500}.rm-word.is-strong{font-weight:700}.rm-axis{fill:var(--foreground);font-size:11.5px;font-weight:600}.rm-sentence{text-align:center;margin:.2rem 0 0;font-size:.93rem;line-height:1.45}.rr-faulty{flex-direction:column;gap:.4rem;margin:0 0 1.25rem;display:flex}.rr-faulty-head{font-family:var(--serif);margin:0;font-size:1.7rem;font-weight:500;line-height:1.15}.rr-faulty-text{color:var(--muted);margin:0;font-size:.93rem;line-height:1.45}dialog.rr-help{width:min(30rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--foreground);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);margin:auto;padding:1.25rem 1.25rem 1rem}dialog.rr-help::backdrop{background:#0006}dialog.rr-help h2{margin:0 0 .5rem;font-size:1.3rem}dialog.rr-help dl{margin:0 0 1rem}dialog.rr-help dl>div{border-top:1px solid var(--line);padding:.6rem 0}dialog.rr-help dt{font-size:.9rem;font-weight:600}dialog.rr-help dd{margin:.15rem 0 0;font-size:.88rem;line-height:1.45}section.conclusions h2{margin:.5rem 0 .4rem;font-size:1.05rem}dl.conclusion-rows{margin:0 0 1rem}dl.conclusion-rows>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;min-height:27px;padding:.2rem 0;font-size:.88rem;display:flex}dl.conclusion-rows dt{color:var(--muted)}dl.conclusion-rows dd{text-align:right;margin:0;font-weight:600}.wine-glass-black{fill:var(--blind-glass,#1f1a16)}.action-bar.result-actions{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;margin:1.25rem 0 .5rem;position:static}fieldset:has(.aroma-wheel){min-inline-size:0}.picker-wheel,.aroma-wheel{min-width:0;max-width:100%}.aroma-wheel{container-type:inline-size}.aroma-wheel-body{flex-direction:column;gap:12px;display:flex}@container (min-width:620px){.aroma-wheel-body{grid-template:"figure tabs""figure panel""legend panel"1fr/minmax(240px,300px) minmax(0,1fr);align-items:start;gap:12px 28px;display:grid}.aroma-wheel-body>.wheel-figure{grid-area:figure;width:100%}.aroma-wheel-body>.wheel-legend{grid-area:legend;gap:4px 12px}.aroma-wheel-body>.wheel-tabs{grid-area:tabs}.aroma-wheel-body>.wheel-panel{grid-area:panel}}.wheel-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:12px 14px 14px;display:flex}.wheel-strip{border-radius:3px;height:6px;display:block}.wheel-panel-head{flex-direction:column;gap:2px;display:flex}.wheel-group-title{font-family:var(--serif);margin:0;font-size:1.3rem;font-weight:500;line-height:1.15}.wheel-group-detail{color:var(--muted);margin:0;font-size:.9rem}.wheel-group-help{color:var(--foreground);margin:4px 0 0;font-size:.9rem;line-height:1.4}.wheel-chips-swap{animation:.18s ease-in-out wheel-chips-in}@keyframes wheel-chips-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.wheel-chips-swap{animation:none}}.wheel-figure{aspect-ratio:1;width:min(100%,300px);margin:0 auto;position:relative}.wheel-figure svg{width:100%;height:100%;display:block;overflow:visible}.wheel-slice{stroke:var(--background);stroke-width:1.5px;cursor:pointer;transition:opacity .12s}.wheel-slice:hover{opacity:.85}.wheel-slice[aria-disabled=true]{cursor:default}.wheel-slice:focus{outline:none}.wheel-slice:focus-visible{stroke:var(--foreground);stroke-width:2.5px}.wheel-tier,.wheel-legend path{fill:none;stroke:var(--muted);stroke-width:1.5px;stroke-linecap:round}.wheel-open{fill:none;stroke:var(--accent);stroke-width:4px;stroke-linecap:round}.wheel-dot{fill:var(--accent)}.wheel-centre{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;width:40%;height:40%;margin:auto;display:flex;position:absolute;inset:0}.wheel-centre-group{font-family:var(--serif);overflow-wrap:break-word;font-size:1.1rem;font-weight:500;line-height:1.1}.wheel-centre-tier,.wheel-centre-count{color:var(--muted);font-size:.72rem;line-height:1.3}.wheel-centre-tier{color:var(--foreground);font-weight:500}.wheel-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:4px 16px;margin:0;padding:0;font-size:.75rem;list-style:none;display:flex}.wheel-legend li{align-items:center;gap:6px;display:inline-flex}.wheel-tabs{scrollbar-width:none;border-bottom:1px solid var(--line);gap:2px;display:flex;position:relative;overflow-x:auto}.wheel-tabs::-webkit-scrollbar{display:none}button.wheel-tab{min-height:44px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:.95rem;font-weight:400;display:inline-flex}button.wheel-tab:hover:not(:disabled){color:var(--foreground);background:0 0}button.wheel-tab[aria-selected=true]{color:var(--foreground);border-bottom-color:var(--foreground);font-weight:600}.wheel-tab-dot{width:10px;height:10px;box-shadow:0 0 0 1px var(--line-strong);border-radius:50%;flex:none}.wheel-tab-count{color:var(--accent);font-size:.72rem;font-weight:600}.wheel-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}button.wheel-chip{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);min-height:44px;color:var(--foreground);align-items:center;gap:6px;padding:0 14px;font-size:.95rem;font-weight:400;display:inline-flex}button.wheel-chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-line);font-weight:600}.wheel-chip-check path{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.picker-wheel{flex-direction:column;gap:14px;display:flex}.wheel-summary{margin:0;font-size:.9rem;line-height:1.45}.wheel-summary strong{color:var(--muted);font-weight:600}@media (prefers-reduced-motion:reduce){.wheel-slice{transition:none}}.class-prompt{color:var(--muted);margin:0 0 .25rem;font-size:.85rem}.class-answers-count{color:var(--muted);margin:.25rem 0 1rem;font-size:.85rem}p.class-off{margin:0 0 1.5rem;font-size:.95rem}p.class-pos{font-weight:600}p.class-pos+p.class-tally{margin-top:-1.35rem}p.class-tally{color:var(--muted);margin:-1rem 0 1.5rem;font-size:.9rem}p.class-tally.is-lead{color:var(--foreground);margin-top:0;font-size:.95rem;font-weight:600}p.class-tally.is-lead+p.class-tally{margin-top:-1.35rem}.class-tally+p.class-tally{margin-top:-1.25rem}.cls-ladder{grid-template-columns:2rem auto auto auto 1fr;column-gap:.9rem;max-width:40rem;margin:0 0 1.25rem;display:grid}ol.cls-rail,ol.cls-apart{grid-column:1/-1;grid-template-columns:subgrid;margin:0;padding:0;list-style:none;display:grid}ol.cls-apart{margin-top:.6rem}.cls-row{--node-y:1.15rem;grid-column:1/-1;grid-template-columns:subgrid;align-items:baseline;padding:.3rem 0;display:grid}.cls-node{align-self:stretch;position:relative}.cls-rail .cls-node:before{content:"";background:var(--sign-rule);width:2px;position:absolute;top:-.3rem;bottom:-.3rem;left:calc(50% - 1px)}.cls-rail .cls-row:first-child .cls-node:before{top:var(--node-y)}.cls-rail .cls-row:last-child .cls-node:before{bottom:calc(100% - var(--node-y))}.cls-rail .cls-row:only-child .cls-node:before,.cls-ladder[data-shape=list] .cls-node:before{display:none}.sign-rail{left:50%;top:var(--node-y);width:2rem;height:2rem;position:absolute;overflow:visible;transform:translate(-50%,-50%)}.sign-node{fill:var(--background);stroke:var(--sign-rule);stroke-width:2px}.cls-body{min-width:0;padding:.25rem 0 .35rem}.cls-word{font-family:var(--serif);overflow-wrap:break-word;font-size:1.22rem;line-height:1.3}.cls-row[data-marked] .cls-word{font-weight:600}.cls-dots{min-width:0;font-size:1.22rem;line-height:1.3}.cls-dots .sign-class{vertical-align:middle}.cls-count{color:var(--foreground);font-variant-numeric:tabular-nums;justify-self:end;font-size:1rem;font-weight:600}.cls-count[data-zero]{color:var(--muted);font-weight:400}.cls-tag{color:var(--foreground);font-size:.8rem;font-weight:600}.cls-ladder[data-shape=list] .cls-row:not([data-marked]) .sign-rail{display:none}.cls-tag[data-kind=own],.cls-tag[data-kind=same]{color:var(--accent)}.cls-dots .sign-class-dots,ul.class-picks-ref .sign-class-dots{flex-wrap:wrap;min-width:0;max-width:17.1875rem;display:flex}ul.class-picks-ref .sign-class-dots{padding-top:.15rem}.cls-dots .sign-class{max-width:100%}.diff-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);max-width:36rem;margin:0 0 1.5rem;padding:.85rem 1rem .95rem}h2.diff-title{font-family:var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem;font-size:.72rem;font-weight:600}.diff-side{grid-template-columns:5.5rem minmax(0,1fr);align-items:baseline;column-gap:.75rem;display:grid}.diff-side+.diff-side{margin-top:.75rem}.diff-who{color:var(--foreground);align-items:center;gap:.4rem;margin:0;font-size:.78rem;font-weight:600;display:flex}.diff-word{font-family:var(--serif);margin:0;font-size:1.125rem;line-height:1.35}.diff-sentence{margin:.15rem 0 0;font-size:.9rem;line-height:1.4}.picks{flex-direction:column;gap:.85rem;margin:.4rem 0 .2rem;display:flex}h3.picks-head{font-family:var(--sans);letter-spacing:0;text-transform:none;align-items:center;gap:.4rem;margin:0 0 .3rem;font-size:.85rem;font-weight:600;display:flex}.picks-group[data-sign=own] .picks-title,.picks-group[data-sign=same] .picks-title{color:var(--accent)}.picks-n{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:400}ul.picks-words{flex-wrap:wrap;gap:.2rem 1rem;margin:0;padding:0 0 0 1.4rem;font-size:1rem;list-style:none;display:flex}.class-picks-q{color:var(--muted);margin:.5rem 0 .4rem;font-size:.85rem}ul.class-picks-ref{margin:0;padding:0;list-style:none}ul.class-picks-ref>li{grid-template-columns:minmax(0,11rem) minmax(0,1fr) auto;align-items:center;column-gap:1rem;padding:.2rem 0;display:grid}.class-picks-word{overflow-wrap:anywhere}p.class-picks-other{color:var(--muted);margin:.6rem 0 0}p.class-picks-other strong{color:var(--foreground)}.cmp-section>h3{margin-top:2rem}.class-result{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.5rem}.class-result>h3{margin:0 0 .25rem}.class-result>.field-help{margin:0 0 1.25rem}p.cmp-summary{margin:0 0 .5rem;font-weight:600}ul.cmp-legend{flex-wrap:wrap;gap:.25rem 1.1rem;margin:0 0 1.5rem;padding:0;font-size:.85rem;font-weight:600;list-style:none;display:flex}ul.cmp-legend>li{align-items:center;gap:.35rem;display:inline-flex}ul.cmp-legend>li.cmp-legend-same{color:var(--accent)}.sign-class-glyph{fill:var(--sign-class)}.cmp-legend-bar{background:var(--sign-ring);border-radius:2px;width:3px;height:1em;display:inline-block}ul.cmp-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.cmp-row{border-bottom:1px solid var(--line);padding:.5rem 0 .6rem;position:relative}.cmp-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.cmp-dist{color:var(--muted);white-space:nowrap;font-size:.85rem}.cmp-dist.is-strong{color:var(--foreground);font-weight:600}.cmp-body{justify-content:space-between;align-items:center;column-gap:1rem;display:flex}.cmp-answers{flex:1 1 0;min-width:0}p.cmp-answer{flex-wrap:wrap;align-items:baseline;column-gap:.75rem;margin:.1rem 0 0;display:flex}.cmp-answer .cmp-tag{min-width:5.5rem}.cmp-tag{white-space:nowrap;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;display:inline-flex}.cmp-tag[data-sign=own],.cmp-tag[data-sign=same]{color:var(--accent)}.cmp-word{font-family:var(--serif);font-size:1.125rem;line-height:1.35}.cmp-word.is-unanswered{color:var(--muted)}.cmp-line{flex:none;width:8.5rem}.end-tabs-block{margin:1.5rem 0 2rem}p.end-people-line{color:var(--muted);margin:0 0 .75rem;font-size:.9rem}.end-tabs{background:var(--surface-sunk);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:.25rem;max-width:36rem;margin-bottom:1.25rem;padding:.25rem;display:grid}button.end-tab{border-radius:calc(var(--radius) - 2px);min-height:2.5rem;color:var(--muted);background:0 0;border:1px solid #0000;padding:.35rem 1rem;font-weight:600}button.end-tab[aria-selected=true]{background:var(--surface);border-color:var(--field-line);color:var(--foreground)}.end-near{margin:0 0 1rem}.end-near p{margin:0 0 .4rem}ul.end-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.end-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:1rem;padding:.5rem 0 .65rem;display:grid}.end-left{min-width:0}.end-under{grid-column:1/-1}p.end-person-back{margin:0 0 .5rem}p.end-ref{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.1rem 0 0;display:flex}.end-ref-label{font-size:.8rem;font-weight:600}.end-ref-word{font-family:var(--serif);font-size:1.125rem}p.end-tally{color:var(--muted);margin:.15rem 0 0;font-size:.9rem}.end-line{width:24rem}@media (max-width:40rem){.end-row[data-has-line]{grid-template-columns:minmax(0,1fr);row-gap:.6rem}.end-line{width:100%;max-width:26rem;padding-inline:.75rem}}.count-line{--cl-gap:.75rem;align-items:flex-start;gap:var(--cl-gap);display:flex}.cl-axis{flex:auto;min-width:0;position:relative}.cl-places{grid-template-columns:repeat(var(--steps), minmax(0, 1fr));display:grid}.cl-place{flex-direction:column;align-items:center;min-width:0;display:flex;position:relative}.cl-place[data-apart]{flex:0 0 calc((100% - var(--cl-gap)) / (var(--steps) + 1))}.cl-count{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:1.05rem;line-height:1.5rem}.cl-count[data-zero]{color:var(--muted)}.cl-place[data-ref] .cl-count{font-weight:700}.cl-mark{width:1.5rem;height:1.5rem;display:block;overflow:visible}.cl-rule{top:calc(2.25rem - .75px);left:calc(50% / var(--steps));right:calc(50% / var(--steps));background:var(--sign-rule);height:1.5px;position:absolute}.cl-label{text-align:center;width:max-content;max-width:150%;color:var(--muted);overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;padding-top:.15rem;font-size:.8rem;line-height:1.25}.cl-place[data-ref] .cl-label{color:var(--foreground);font-weight:600}.count-line[data-words=ends] .cl-places .cl-place:not(:first-child,:last-child) .cl-label{visibility:hidden}ul.end-people{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}button.end-person-row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:3.5rem;color:var(--foreground);text-align:left;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .25rem;font-weight:400;display:flex}button.end-person-row:hover{background:var(--surface-sunk)}.end-person-main{flex-direction:column;min-width:0;display:flex}.end-person-label{font-family:var(--serif);font-size:1.125rem}.end-person-meta,.end-person-summary{color:var(--muted);font-size:.85rem}.end-person-summary{color:var(--foreground)}.end-person-go{color:var(--muted);font-size:1.4rem}h3.end-person-name{font-family:var(--serif);letter-spacing:0;text-transform:none;color:var(--foreground);margin:0 0 .75rem;font-size:1.5rem;font-weight:400}p.end-person-nav{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.class-screen-part{margin-top:1.25rem}.class-screen-part+.class-screen-part{border-top:1px solid var(--line);padding-top:1.25rem}h2.class-screen-name{margin:0 0 .25rem;font-size:1.15rem;font-weight:600;line-height:1.3}p.class-wait{border-top:1px solid var(--line);color:var(--muted);margin:1.5rem 0 0;padding-top:1rem;font-size:.9375rem}p.class-list-found{margin:0 0 .85rem;font-size:1.05rem;font-weight:600}.class-list-group{margin:0 0 1.1rem}h2.class-list-title{font-family:var(--sans);color:var(--muted);margin:0 0 .5rem;font-size:.9rem;font-weight:600}ul.class-list-chips{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}li.class-list-chip{border:1px solid var(--field-line);border-radius:var(--radius);background:var(--surface-soft);color:var(--foreground);align-items:center;gap:.35rem;margin:0;padding:.35rem .75rem;font-size:1rem;line-height:1.3;display:inline-flex}li.class-list-chip.both{border-color:var(--accent-line);background:var(--accent-soft);font-weight:600}li.class-list-chip.reference{background:0 0;border-style:dashed}.class-list-tick path{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.class-list p.class-off{margin:0 0 1rem}.class-answers,.running{max-width:34rem}.site-header{background:linear-gradient(var(--line), var(--line)) center bottom / calc(100% - 2.25rem) 1px no-repeat;max-width:46rem;padding:1.1rem 1.125rem .65rem}.site-header nav a{border-bottom-width:0;align-items:center;min-height:2.75rem;margin:-.9rem 0;padding-bottom:0;display:inline-flex}.site-header nav a[aria-current=page]{color:var(--accent);font-weight:600}.site-header nav.site-nav-row a{flex-direction:column;justify-content:center;align-items:center}.site-header nav.site-nav-row a:after{content:attr(data-label);content:attr(data-label) / "";visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none;height:0;font-weight:600;overflow:hidden}main{padding:1.75rem 1.125rem 5rem}main.start{max-width:46rem}h1{margin-bottom:.35rem;font-size:clamp(1.45rem,1.3rem + .6vw,1.75rem);font-weight:500}h2{margin-top:2rem;font-size:1.2rem}h3{font-size:1.05rem}.page-head{margin-bottom:1.5rem}.page-head p{color:var(--muted);margin:0;font-size:.875rem}.action-bar button,button[type=submit],.start-actions button,.cta{min-height:3rem;padding:0 1.25rem}.failure-retry button{min-height:2.75rem}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],select{min-height:2.75rem;padding:.5rem .75rem}.choice-cards label:has(input:checked){border-color:var(--accent-line);box-shadow:inset 0 0 0 1px var(--accent-line);background:var(--accent-soft)}.choice-cards input,input[type=radio],input[type=checkbox]{accent-color:var(--accent)}.loading{gap:.9rem;max-width:34rem;padding:.5rem 0 1.5rem;display:grid}.loading-rule{background:var(--surface-sunk);border-radius:4px;height:.9rem;animation:1.4s ease-in-out infinite loading-breathe;display:block}.loading-rule:nth-child(2){animation-delay:.15s}.loading-rule.short{width:60%;animation-delay:.3s}@keyframes loading-breathe{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.loading-rule{animation:none}}.empty-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);max-width:34rem;margin:0 0 1.5rem;padding:1.25rem 1.25rem 1.35rem}p.empty-card-title{font-family:var(--serif);margin:0 0 .3rem;font-size:1.15rem;font-weight:500;line-height:1.25}p.empty-card-text{color:var(--muted);margin:0;font-size:.9rem}.empty-card-action{margin-top:1rem}.failure>p.failure-retry{margin:.6rem 0 0}main.landing{max-width:46rem;padding-top:0}.landing-hero{padding:2.5rem 0}.landing-hero h1{margin-bottom:.75rem;font-size:clamp(1.9rem,1.4rem + 2.4vw,2.6rem);line-height:1.12}.landing .lede{font-size:1rem}.landing section{padding:2.25rem 0}.landing section h2{margin-top:0}.wine-form{border-radius:var(--radius-lg);background:var(--surface);padding:1.1rem 1.1rem 1.25rem}.notice{border-color:var(--line);border-radius:var(--radius-lg);background:var(--surface-soft);font-size:.9rem}.warn-block{border-color:var(--line);border-left:3px solid var(--danger)}.warn-block h2{color:var(--foreground)}.warn-block p{font-size:.9rem}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.wordmark{white-space:nowrap;-webkit-hyphens:none;hyphens:none}main.off-page{max-width:34rem;padding-top:4rem}main.off-page h1{margin:0 0 .75rem}p.off-page-text{color:var(--muted);margin:0 0 1.5rem;line-height:1.6}main.off-page .failure{margin-bottom:1.5rem}p.off-page-actions{flex-wrap:wrap;gap:.6rem;margin:0;display:flex}.feedback-form{max-width:34rem}.feedback-form textarea{min-height:9rem}.feedback-form .field-help{color:var(--muted);margin:.4rem 0 1.5rem;font-size:.875rem}.feedback-attached-heading{margin:0 0 .6rem;font-size:1rem}dl.feedback-attached{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.55rem;margin:0 0 1.5rem;padding:.85rem 1rem;font-size:.9rem;display:flex}dl.feedback-attached>div{flex-wrap:wrap;gap:.15rem .75rem;display:flex}dl.feedback-attached dt{color:var(--muted);flex:0 0 8.5rem}dl.feedback-attached dd{overflow-wrap:anywhere;flex:12rem;min-width:0;margin:0}.feedback-actions button[type=submit]{background:var(--accent);border-color:var(--accent);min-height:3rem;color:var(--accent-contrast);padding:0 1.4rem}.feedback-actions 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)}.feedback-form .failure{margin-bottom:1rem}.feedback-sent{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);max-width:34rem;padding:1.25rem 1.25rem 1.4rem}.feedback-sent h2{margin:0 0 .35rem;font-size:1.25rem}.feedback-sent p{margin:0 0 1rem}.feedback-sent button{min-height:2.75rem}.feedback-support,.account-support{border-top:1px solid var(--line);max-width:34rem;margin-top:3rem;padding-top:1.5rem}.feedback-support h2,.account-support h2{margin-top:0;font-size:1.15rem}.feedback-support p{overflow-wrap:anywhere;margin:0}.account-support-intro{margin:0 0 1rem}.account-support-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin:0;display:flex}.record-feedback{margin:1.25rem 0 0;font-size:.925rem}.record-feedback a{color:var(--muted)}.responsible h2{margin-top:0;font-size:1.15rem}.responsible-lead{margin:0 0 .75rem}.responsible-points{margin:0 0 .75rem;padding-left:1.25rem}.responsible-points li{margin-bottom:.4rem}.responsible-help{color:var(--muted);overflow-wrap:anywhere;margin:0}.responsible-help a{color:var(--accent)}.responsible-line{max-width:38rem;margin:0;padding-top:1.5rem}.responsible-line a{color:var(--accent)}.responsible-page>:not(.page-head){max-width:38rem}.account-responsible{border-top:1px solid var(--line);max-width:34rem;margin-top:3rem;padding-top:1.5rem}.responsible-once{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-lg);background:var(--surface);margin:0 0 2rem;padding:1.1rem 1.15rem;font-size:.95rem}.responsible-once button{min-height:2.75rem;margin-top:1rem}.admin-note{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--surface);max-width:38rem;margin:0 0 1.25rem;padding:.75rem .9rem;font-size:.9rem}.admin-tools .wine-tally{margin:0 0 .45rem}.admin-users-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.admin-user{border-bottom:1px solid var(--line);margin:0;padding:.85rem .5rem}.admin-user .failure{margin-top:.6rem}.admin-user-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;display:flex}.admin-user-what{flex-direction:column;flex:18rem;gap:.15rem;min-width:0;display:flex}.admin-user-name{font-family:var(--serif);flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:1rem;font-weight:600;display:flex}.admin-user-noname{color:var(--muted);font-style:italic;font-weight:400}.admin-user-email{overflow-wrap:anywhere;font-size:.9rem}.admin-user-meta{color:var(--muted);font-size:.78rem}.admin-badge{border:1px solid var(--accent-line);background:var(--accent-soft);font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border-radius:999px;padding:.1rem .45rem;font-size:.7rem;font-weight:600}.admin-teacher-switch{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-soft);cursor:pointer;flex:none;align-items:center;gap:.6rem;min-height:44px;padding:.45rem .85rem;font-size:.9rem;display:flex}.admin-teacher-switch:has(input:checked){border-color:var(--accent-line);background:var(--accent-soft)}.admin-teacher-switch:has(input:disabled){cursor:default;opacity:.7}.admin-teacher-switch input[type=checkbox]{width:1.25rem;height:1.25rem;margin:0}.admin-teacher-switch:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.admin-more{margin:1.25rem 0 0}.admin-more button{min-height:2.75rem}.admin-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.25rem 1.25rem;margin:0 0 1.25rem;display:flex}.admin-tabs a{min-height:44px;color:var(--muted);border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;padding:0 .1rem;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.admin-tabs a:hover{color:var(--foreground)}.admin-tabs a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}.review-tally{margin:0 0 .6rem}.review-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.review-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin:0;padding:1.1rem 1.15rem 1.15rem}.review-who{flex-direction:column;gap:.1rem;display:flex}h2.review-name{font-family:var(--serif);flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0;font-size:1.2rem;font-weight:600;display:flex}.review-email{overflow-wrap:anywhere;font-size:.9rem}.review-asks{flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;margin:.7rem 0 0;display:flex}.review-level{color:var(--accent);font-weight:600}.review-sent,.review-facts{color:var(--muted);font-size:.85rem}.review-facts{flex-wrap:wrap;gap:.1rem 1rem;margin:.2rem 0 0;display:flex}.review-earlier{background:var(--surface-soft);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--radius);margin:.9rem 0 0;padding:.65rem .8rem}.review-earlier h3,h3.review-docs-heading{font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .35rem;font-size:.75rem;font-weight:600}.review-earlier ul{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.review-earlier li{flex-direction:column;gap:.15rem;font-size:.88rem;display:flex}.review-earlier li[data-status=rejected] .review-earlier-line{color:var(--danger)}q.review-reason{font-style:italic}.review-noreason{color:var(--muted);font-size:.82rem}h3.review-docs-heading{margin-top:1.1rem}.review-docs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}@media (max-width:30rem){.review-docs{grid-template-columns:minmax(0,1fr)}}button.review-doc,.review-doc{text-align:left;min-width:0;color:var(--foreground);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;align-items:stretch;gap:.35rem;padding:.5rem .5rem .6rem;font-weight:400;display:flex}button.review-doc:hover:not(:disabled){background:var(--surface-soft);border-color:var(--accent-line)}button.review-doc:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.review-doc-preview{background:var(--surface-sunk);border-radius:6px;justify-content:center;align-items:center;height:13rem;display:flex;overflow:hidden}.review-doc-preview img{object-fit:contain;width:100%;height:100%;display:block}.review-doc-pdf{letter-spacing:.06em;color:var(--muted);flex-direction:column;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;display:flex}.review-doc-pdf svg{width:2.75rem;height:2.75rem;color:var(--accent)}.review-doc-empty{text-align:center;color:var(--muted);padding:0 1rem;font-size:.85rem}.review-doc-label{font-size:.92rem;font-weight:600}.review-doc-open{color:var(--accent);font-size:.85rem;font-weight:600}.review-hint,.review-own{color:var(--muted);margin:.9rem 0 0;font-size:.85rem}.review-own{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);color:var(--foreground);padding:.6rem .8rem}.review-actions{flex-wrap:wrap;gap:.6rem;margin-top:.75rem;display:flex}.review-actions button,.review-dialog-actions button{min-height:2.75rem}button.review-approve{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}button.review-approve:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 85%, black);border-color:color-mix(in srgb, var(--accent) 85%, black)}button.review-reject{color:var(--danger);background:var(--surface);border-color:var(--line-strong)}button.review-reject:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 8%, var(--surface));border-color:var(--danger)}button.review-lower{color:var(--accent);background:var(--surface);border-color:var(--accent-line)}button.review-lower:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}button.review-reject-confirm{color:var(--danger-contrast);background:var(--danger);border-color:var(--danger)}button.review-reject-confirm:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 85%, black);border-color:color-mix(in srgb, var(--danger) 85%, black)}.review-done{border:1px solid var(--accent-line);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);margin:0 0 1rem;padding:.65rem .9rem;font-size:.92rem}dialog.review-dialog{width:min(30rem,100vw - 2rem);color:var(--foreground);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);margin:auto;padding:1.25rem 1.25rem 1rem}dialog.review-dialog::backdrop{background:#0006}dialog.review-dialog h2{font-family:var(--serif);margin:0 0 .5rem;font-size:1.3rem;font-weight:500}dialog.review-dialog p{color:var(--muted);margin:0 0 1rem;line-height:1.45}.review-lower-levels{border:0;margin:0 0 .9rem;padding:0}.review-lower-levels legend{margin:0 0 .35rem;padding:0;font-family:inherit;font-size:1rem;font-weight:600}.review-lower-levels ul{border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none}.review-lower-levels li+li{border-top:1px solid var(--line)}.review-lower-levels label{cursor:pointer;align-items:center;gap:.6rem;min-height:2.75rem;padding:.45rem .75rem;display:flex}.review-lower-levels label:has(input:checked){background:var(--accent-soft)}.review-reason-field{flex-direction:column;margin:0 0 .75rem;display:flex}.review-reason-field label{font-weight:600}dialog.review-dialog p.review-reason-hint{margin:.15rem 0 .5rem;font-size:.85rem}.review-reason-field textarea{resize:vertical;width:100%}.review-reason-field textarea[aria-invalid=true]{border-color:var(--danger)}dialog.review-dialog p.review-reason-count{text-align:right;margin:.3rem 0 0;font-size:.8rem}dialog.review-dialog p.review-reason-count[data-over]{color:var(--danger)}dialog.review-dialog p.review-reason-problem{color:var(--danger);margin:.3rem 0 0;font-size:.85rem}.review-dialog .failure{margin:0 0 .75rem}.review-dialog-actions{flex-wrap:wrap;gap:.6rem;display:flex}.review-dialog-actions button{flex:8rem}.review-dialog-actions button.secondary{background:var(--surface);border-color:var(--line-strong)}dialog.review-viewer{width:min(64rem,100vw - 1rem);height:calc(100dvh - 1rem);max-height:calc(100dvh - 1rem);color:var(--foreground);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);margin:auto;padding:.75rem}dialog.review-viewer[open]{flex-direction:column;display:flex}dialog.review-viewer::backdrop{background:#0009}.review-viewer-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.review-viewer-kinds button{min-height:2.4rem;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;padding:.45rem .9rem;font-size:.9rem}.review-viewer-kinds button:hover:not(:disabled){color:var(--foreground);background:0 0;border-color:#0000}.review-viewer-kinds button.is-on,.review-viewer-kinds button.is-on:hover:not(:disabled){background:var(--surface-soft);border-color:var(--field-line);color:var(--foreground)}.review-viewer-who{color:var(--muted);overflow-wrap:anywhere;margin:.5rem .25rem;font-size:.88rem}.review-viewer-stage{background:var(--surface-sunk);border-radius:var(--radius);flex:auto;justify-content:center;align-items:center;min-height:0;display:flex;overflow:auto}.review-viewer-stage img{object-fit:contain;max-width:100%;max-height:100%;display:block}.review-viewer-stage[data-actual]{display:block}.review-viewer-stage[data-actual] img{max-width:none;max-height:none}.review-viewer-stage iframe{background:var(--surface);border:0;width:100%;height:100%}.review-viewer-stage .failure{margin:1rem}.review-viewer-tools{flex-wrap:wrap;align-items:center;gap:.6rem 1.25rem;margin-top:.65rem;display:flex}.review-viewer-tools a{color:var(--accent);font-weight:600}dialog.leave-dialog{width:min(28rem,100vw - 2rem);color:var(--foreground);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);margin:auto;padding:1.25rem 1.25rem 1rem}dialog.leave-dialog::backdrop{background:#0006}dialog.leave-dialog h2{font-family:var(--serif);margin:0 0 .5rem;font-size:1.3rem;font-weight:500}dialog.leave-dialog p{color:var(--muted);margin:0 0 1rem;line-height:1.45}.leave-dialog-actions{flex-direction:column;gap:.6rem;display:flex}.leave-dialog-actions button{width:100%;min-height:2.75rem}.leave-dialog-actions button:first-child:not(.danger){background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.leave-dialog-actions button:first-child:not(.danger):hover:not(:disabled){background:color-mix(in srgb, var(--accent) 85%, black);border-color:color-mix(in srgb, var(--accent) 85%, black)}.leave-dialog-actions button.danger{background:var(--surface);border-color:var(--danger);color:var(--danger)}.leave-dialog-actions button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 12%, var(--surface));border-color:var(--danger)}.leave-dialog-actions button.secondary{background:var(--surface);border-color:var(--line-strong)}select{appearance:none;background-color:var(--surface);background-image:var(--select-chevron);cursor:pointer;background-position:right 1rem center;background-repeat:no-repeat;background-size:.75rem .5rem;padding-right:2.75rem}select:disabled{cursor:default;opacity:.55}.wine-photos{margin:0 0 1.5rem}.photo-strip{grid-template-columns:repeat(auto-fill,minmax(5.75rem,1fr));gap:.9rem .6rem;max-width:40rem;margin:0;padding:0;list-style:none;display:grid}.photo-item{flex-direction:column;gap:.35rem;min-width:0;display:flex}.photo-tile{aspect-ratio:3/4;background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:0;padding:0;display:block;position:relative;overflow:hidden}button.photo-tile:hover:not(:disabled){background:var(--surface-sunk);border-color:var(--line-strong)}button.photo-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.photo-tile img{object-fit:cover;width:100%;height:100%;display:block}.photo-kind{color:var(--muted);font-size:.78rem;line-height:1.3}.photo-missing{text-align:center;height:100%;color:var(--muted);justify-content:center;align-items:center;padding:.5rem;font-size:.75rem;font-weight:500;display:flex}.photo-tile-loading{animation:1.4s ease-in-out infinite loading-breathe}.photo-tile-loading+.photo-tile-loading{animation-delay:.15s}button.photo-add{text-align:center;color:var(--accent);background:var(--surface-soft);border:1px dashed var(--field-line);flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:.5rem;font-size:.85rem;line-height:1.25;display:flex}button.photo-add:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent-line)}.photo-glyph{color:var(--accent);flex:none}.photo-upload-state{background:color-mix(in srgb, var(--surface) 72%, transparent);text-align:center;color:var(--foreground);flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:.4rem;font-size:.78rem;font-weight:600;line-height:1.25;display:flex;position:absolute;inset:0}.photo-upload.is-failed{border-color:var(--danger)}.photo-upload.is-failed .photo-upload-state>span{color:var(--danger)}button.photo-mini{background:var(--surface);border-color:var(--line-strong);min-height:2rem;padding:.2rem .6rem;font-size:.78rem}button.photo-mini.plain{color:var(--muted);background:0 0;border-color:#0000;font-weight:500}.photo-spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:1.25rem;height:1.25rem;animation:.8s linear infinite photo-spin}@keyframes photo-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.photo-spinner{animation-duration:2.4s}.photo-tile-loading{animation:none}}.photo-empty-card{background:var(--surface);border:1px dashed var(--field-line);border-radius:var(--radius-lg);align-items:flex-start;gap:.9rem;max-width:34rem;padding:1.1rem 1.25rem 1.2rem;display:flex}.photo-empty-card .photo-glyph{margin-top:.15rem}p.photo-empty-title{font-family:var(--serif);margin:0 0 .3rem;font-size:1.1rem;font-weight:500;line-height:1.25}p.photo-empty-text{color:var(--muted);margin:0 0 .9rem;font-size:.9rem}button.photo-add-button{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}button.photo-add-button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 85%, black);border-color:color-mix(in srgb, var(--accent) 85%, black)}.wine-photos .failure{margin-top:.75rem}dialog.photo-viewer{width:min(40rem,100vw - 1rem);max-height:calc(100dvh - 1rem);color:var(--foreground);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);margin:auto;padding:.75rem .75rem 1rem;overflow:auto}dialog.photo-viewer::backdrop{background:#0009}.photo-viewer-bar{justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 .6rem .25rem;display:flex}.photo-viewer-count{color:var(--muted);font-size:.9rem}.photo-viewer-stage{justify-content:center;display:flex;position:relative}.photo-viewer-frame{width:min(100%, calc(min(66dvh, 36rem) * var(--photo-ratio,.75)));aspect-ratio:var(--photo-ratio,.75);background:var(--surface-sunk);border-radius:var(--radius);overflow:hidden}.photo-viewer-frame img{object-fit:contain;width:100%;height:100%;display:block}button.photo-viewer-nav{width:2.75rem;height:2.75rem;min-height:0;color:var(--foreground);background:color-mix(in srgb, var(--surface) 85%, transparent);border:1px solid var(--line);box-shadow:var(--shadow-label);border-radius:50%;padding:0 0 .2rem;font-size:1.7rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}button.photo-viewer-nav:hover:not(:disabled){background:var(--surface)}button.photo-viewer-nav.prev{left:.5rem}button.photo-viewer-nav.next{right:.5rem}button.photo-viewer-nav:disabled{visibility:hidden}.photo-viewer-tools{flex-direction:column;gap:.75rem;margin-top:.9rem;display:flex}.photo-kinds{align-self:flex-start}.photo-kinds button{min-height:2.4rem;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;padding:.45rem .9rem;font-size:.9rem}.photo-kinds button:hover:not(:disabled){color:var(--foreground);background:0 0;border-color:#0000}.photo-kinds button.is-on,.photo-kinds button.is-on:hover:not(:disabled){background:var(--surface-soft);border-color:var(--field-line);color:var(--foreground)}.photo-viewer-actions{flex-wrap:wrap;gap:.6rem;display:flex}button.photo-danger-quiet{color:var(--danger);background:var(--surface);border-color:var(--line-strong);margin-left:auto}button.photo-danger{color:var(--danger-contrast);background:var(--danger);border-color:var(--danger)}button.photo-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 85%, black);border-color:color-mix(in srgb, var(--danger) 85%, black)}.photo-confirm p{margin:0 0 .6rem;font-size:.92rem}.photo-viewer .failure{margin-top:.75rem}.w-thumb{aspect-ratio:3/4;background:var(--surface-sunk);border:1px solid var(--line);border-radius:4px;flex:none;align-self:center;width:2.25rem;overflow:hidden}.w-thumb img{object-fit:cover;width:100%;height:100%;display:block}.w-thumb-bottle{width:100%;height:100%;color:var(--line-strong);padding:.3rem .2rem;display:block}@media (max-width:30rem){.photo-viewer-actions button{flex:auto}button.photo-danger-quiet{margin-left:0}}.back-line{margin:0 0 .5rem;font-size:.85rem}.back-line a{color:var(--muted)}.member-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.member-list>li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.75rem 0;display:flex}.member-what{flex-direction:column;flex:14rem;gap:.15rem;min-width:0;display:flex}.member-name{overflow-wrap:anywhere;font-weight:600}.member-meta{color:var(--muted);overflow-wrap:anywhere;font-size:.8rem}.invite-code-line{font-variant-numeric:tabular-nums;letter-spacing:.04em}.member-actions{flex-wrap:wrap;flex:0 auto;align-items:center;gap:.5rem .75rem;display:flex}.member-actions select{max-width:13rem}.member-actions button{min-height:2.2rem;padding:.35rem .75rem;font-size:.85rem}.member-actions button.linkish{min-height:0;padding:0}.roster-note{border:1px solid var(--accent-line);border-radius:var(--radius);background:var(--accent-soft);color:var(--foreground);margin:0 0 1.5rem;padding:.65rem .9rem}.invite-form{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));align-items:end;gap:.9rem 1rem;display:grid}.invite-form label input,.invite-form label select{width:100%}.invite-form-actions{grid-column:1/-1}.class-link{gap:.6rem;display:grid}.class-link input{background:var(--surface-sunk);width:100%;font-size:.9rem}.class-link-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.class-link .field-note,.class-link-off .field-note{margin:0}.class-link-off{justify-items:start;gap:.6rem;display:grid}.my-classes{margin-top:2.5rem}.my-class-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.my-class-head h3{overflow-wrap:anywhere;min-width:0}.my-class-list .field-note{margin:.6rem 0 0}.open-session-list{gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.open-session-list>li{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);flex-wrap:wrap;align-items:center;gap:.4rem .9rem;padding:.55rem .75rem;display:flex}.open-session-list .session-meta{color:var(--muted);flex:auto;font-size:.85rem}button.primary-small{background:var(--accent);border-color:var(--accent);min-height:2.2rem;color:var(--accent-contrast);padding:.35rem .9rem;font-size:.9rem}button.primary-small:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 85%, black);border-color:color-mix(in srgb, var(--accent) 85%, black)}.invite-code-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.invite-code-form label{flex:12rem;max-width:20rem}.invite-code-form label input{width:100%}.invite-code-form button[type=submit]{color:var(--foreground);background:var(--surface-soft);border-color:var(--line)}.invite-code-form button[type=submit]:hover:not(:disabled){background:var(--surface-sunk);border-color:var(--line-strong)}.invite-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:1.1rem 1.2rem 1.2rem}.invite-lead{font-family:var(--serif);overflow-wrap:anywhere;margin:0 0 .4rem;font-size:1.2rem;line-height:1.35}.invite-card .class-count{margin:0 0 1rem}.invite-card form{margin-top:1rem}.invite-card .action-bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-top:0;padding:0;position:static}.invite-card .action-bar:before{content:none}.member-actions select{min-height:2.2rem;padding-top:.3rem;padding-bottom:.3rem;font-size:.85rem}.class-progress-link,.my-class-progress{margin:.5rem 0 0;font-size:.9rem}.progress-legend{color:var(--muted);flex-wrap:wrap;gap:.4rem 1.25rem;margin:0 0 1.25rem;font-size:.85rem;display:flex}.progress-key{align-items:center;gap:.45rem;display:inline-flex}.progress-swatch{border-radius:2px;width:.9rem;height:.6rem;display:inline-block}.progress-swatch-same,.progress-bar-same{background:var(--accent)}.progress-swatch-near,.progress-bar-near{background:var(--accent-line)}.progress-row{flex-wrap:wrap;align-items:flex-start;gap:.4rem 1.25rem;display:flex}.progress-list>.progress-row,.progress-seats>.progress-row{padding:.8rem 0}.progress-session-title{flex-direction:column;flex:0 12rem;gap:.1rem;min-width:0;display:flex}.progress-date{font-variant-numeric:tabular-nums;font-weight:600}.progress-row-body{flex-direction:column;flex:16rem;gap:.3rem;min-width:0;display:flex}.progress-row-body p{margin:0}.progress-bar-line{flex-direction:column;gap:.3rem;display:flex}.progress-bar{background:var(--surface-sunk);border-radius:4px;gap:2px;width:100%;max-width:22rem;height:.7rem;display:flex;overflow:hidden}.progress-bar>span{height:100%;display:block}.progress-bar-words{color:var(--foreground);font-size:.85rem}.progress-none{color:var(--muted);font-size:.85rem}.progress-students>li.progress-student-none{padding-left:1.6rem}.progress-students>li{display:block}.progress-student>summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;list-style:none;display:flex}.progress-student>summary::-webkit-details-marker{display:none}.progress-student>summary:before{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);flex:none;width:.5rem;height:.5rem;margin-right:.1rem;transition:transform .15s;transform:rotate(-45deg)}.progress-student[open]>summary:before{transform:rotate(45deg)}.progress-student>summary .member-what{flex:10rem}.progress-student-glance{text-align:right;grid-template-columns:auto minmax(0,20rem);grid-template-areas:"spark num""spark trend";align-items:center;gap:.1rem .75rem;margin-left:auto;display:grid}.progress-student-glance>.progress-spark{grid-area:spark}.progress-student-glance>.progress-latest-line{grid-area:num}.progress-student-glance>.progress-trend{grid-area:trend}.progress-latest-line{flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:0 .4rem;display:flex}.progress-latest-label{color:var(--muted);font-size:.8rem}.progress-latest-share{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:1.25rem;line-height:1.1}.progress-student>.member-meta{margin:.6rem 0 0 1.6rem}.progress-seats{margin:.4rem 0 0 1.6rem;padding:0;list-style:none}.progress-seats>.progress-row+.progress-row{border-top:1px solid var(--line)}.progress-spark{flex:none;width:7.5rem;height:2rem;overflow:visible}.progress-spark-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.progress-spark-dot{fill:var(--accent);stroke:var(--surface);stroke-width:1.5px}.progress-summary{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin:0 0 1.25rem;padding:1rem 1.1rem;display:flex}.progress-summary p{margin:0}.progress-summary-text{flex-direction:column;gap:.2rem;min-width:0;display:flex}.progress-summary-count{font-family:var(--serif);font-size:1.3rem}.progress-summary .progress-spark{width:10rem;height:2.75rem}@media (max-width:30rem){.progress-student-glance{text-align:left;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"num num""spark trend";margin-left:1.6rem}.progress-latest-line{justify-content:flex-start}}:root{--print-paper:#f6f1e9;--print-surface:#fff;--print-ink:#1f1a16;--print-muted:#665b52;--print-line:#dcd2c4;--print-line-strong:#c4b8a8;--print-accent:var(--brand);--print-black-glass:#1f1a16;--print-surface-soft:#fdfbf7;--print-surface-sunk:#ece6dc;--print-field-line:#8c7f70;--print-accent-soft:#e9ebe2;--print-accent-line:#92a795;--print-swatch-ring:#1f1a1673}.result-exports{flex-wrap:wrap;gap:.6rem;margin:0 0 1.5rem;display:flex}.result-exports button{align-items:center;gap:.45rem;min-height:2.75rem;font-weight:500;display:inline-flex}.result-exports-icon svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;display:block}.share-choice{border:0;min-width:0;margin:-.25rem 0 1.1rem;padding:0}.share-choice .segmented{display:flex}.share-choice .segmented label{text-align:center;flex:1 1 0}.share-note-how{color:var(--muted);margin:.9rem 0 0;font-size:.92rem}.share-sheet-intro{color:var(--muted);margin:-.5rem 0 .9rem;font-size:.92rem}.share-card-frame{aspect-ratio:4/5;border:1px solid var(--line);border-radius:var(--radius);background:var(--print-paper);place-items:center;max-height:52dvh;margin:0 auto;display:grid;overflow:hidden}.share-card-frame img{object-fit:contain;width:100%;height:100%;display:block}.share-card-state{color:var(--print-muted);text-align:center;margin:0;padding:1rem}.share-card-frame .failure{color:var(--print-ink);background:0 0;border:0}.share-sheet-notes{color:var(--muted);margin:.9rem 0 0;padding:0 0 0 1.1rem;font-size:.88rem}.share-sheet-notes li+li{margin-top:.3rem}.share-sheet-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:.6rem;margin-top:1rem;padding-top:.9rem;display:flex}.share-sheet-actions .cta,.share-sheet-actions button{min-height:2.75rem}.share-sheet-actions button:first-child{margin-right:auto}button.share-sheet-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}button.share-sheet-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 85%, black);border-color:color-mix(in srgb, var(--accent) 85%, black)}.notes-print{display:none}.history-export{color:var(--muted);margin:-.5rem 0 1.5rem;font-size:.9rem}.history-export p{margin:.35rem 0 0}.history-export button{align-items:center;gap:.45rem;min-height:2.75rem;font-weight:500;display:inline-flex}@media print{@page{size:A4;margin:18mm 18mm 20mm}body>:not(.notes-print){display:none!important}html,body{background:#fff}.notes-print{--background:var(--print-paper);--surface:var(--print-surface);--foreground:var(--print-ink);--muted:var(--print-muted);--line:var(--print-line);--line-strong:var(--print-line-strong);--accent:var(--print-accent);--blind-glass:var(--print-black-glass);--surface-soft:var(--print-surface-soft);--surface-sunk:var(--print-surface-sunk);--field-line:var(--print-field-line);--accent-soft:var(--print-accent-soft);--accent-line:var(--print-accent-line);--swatch-ring:var(--print-swatch-ring);--swatch-mat:0px;--sign-rule:var(--print-field-line);--sign-matt:var(--print-line-strong);--sign-ring:var(--print-ink);--sign-class:var(--print-muted);color:var(--print-ink);font-family:var(--sans);background:#fff;font-size:10.5pt;line-height:1.4;display:block}.np-head{border-bottom:1px solid var(--print-line);color:var(--print-muted);justify-content:space-between;align-items:baseline;padding-bottom:6pt;font-size:9pt;display:flex}.np-brand{font-family:var(--serif);color:var(--print-accent);font-size:12pt;font-weight:600}.np-kind{letter-spacing:.08em;text-transform:uppercase}.np-title{font-family:var(--serif);margin:14pt 0 3pt;font-size:20pt;font-weight:500;line-height:1.2}.np-meta{color:var(--print-muted);margin:0}.np-result{border-top:1px solid var(--print-line);border-bottom:1px solid var(--print-line);break-inside:avoid;align-items:center;gap:14pt;margin:12pt 0 4pt;padding:10pt 0;display:flex}.np-result p{margin:0}.np-grade{font-family:var(--serif);font-size:17pt;font-weight:500;line-height:1.2}.np-grade:first-letter{text-transform:uppercase}.np-score{color:var(--print-muted)}.np-style{margin-top:3pt!important}.np-section h2{font-family:var(--serif);break-after:avoid;margin:16pt 0 4pt;font-size:13.5pt;font-weight:500}.np-count{color:var(--print-muted);margin:0 0 4pt}.np-group h3{letter-spacing:.08em;text-transform:uppercase;color:var(--print-muted);break-after:avoid;margin:10pt 0 2pt;font-size:8.5pt;font-weight:600}.np-rows{margin:0}.np-row{border-top:1px solid var(--print-line);break-inside:avoid;grid-template-columns:34% minmax(0,1fr);gap:10pt;padding:4pt 0;display:grid}.np-row dt{color:var(--print-muted)}.np-row dd{margin:0}.np-beside{color:var(--print-muted);font-size:9pt;display:block}.np-muted{color:var(--print-muted)}.np-note{font-style:italic}.np-swatch{width:8pt;height:8pt;box-shadow:inset 0 0 0 .5pt var(--swatch-ring);vertical-align:baseline;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:50%;margin-right:4pt;display:inline-block}.np-tiers,.np-tier{display:block}.np-tier small{color:var(--print-muted);margin-right:4pt}.np-result .wine-glass rect{-webkit-print-color-adjust:exact;print-color-adjust:exact}.np-drawings{--background:var(--print-surface);border-top:1px solid var(--print-line);border-bottom:1px solid var(--print-line);-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:12pt 0 4pt;padding:12pt 0 6pt}.np-drawings>*,.np-block,.np-drawings .rr-style{break-inside:avoid}.np-drawings .register-result,.np-drawings .result-summary{margin:0}.np-drawings .register-result.is-printed{gap:14pt}.np-pair{break-inside:avoid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:18pt;display:grid}.np-block{flex-direction:column;gap:10pt;min-width:0;display:flex}.np-block .rr-sentences{margin:0}.np-row.has-line dd{grid-template-columns:minmax(0,1fr) 70pt;align-items:start;column-gap:10pt;display:grid}.np-row.has-line dd>*{grid-column:1}.np-row.has-line .np-line{-webkit-print-color-adjust:exact;print-color-adjust:exact;grid-area:1/2;width:70pt;margin-top:2pt}.np-foot{break-before:avoid;border-top:1px solid var(--print-line);color:var(--print-muted);margin-top:18pt;padding-top:6pt;font-size:8.5pt}}.frame-context .frame-wine{color:var(--accent);font-weight:600}.glass-list{grid-template-columns:minmax(0,1fr);gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.glass-row{align-items:center;gap:.5rem;display:flex}.glass-pick{border:1px solid var(--field-line);border-radius:var(--radius);background:var(--surface) var(--select-chevron) no-repeat right .85rem center / 12px 8px;min-width:0;min-height:2.75rem;color:var(--foreground);cursor:pointer;flex:auto;gap:.05rem;padding:.5rem 2.25rem .5rem .85rem;display:grid;position:relative}.glass-pick:focus-within{outline:2px solid var(--accent);outline-offset:2px}.glass-select{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;font-size:16px;position:absolute;inset:0}.glass-pick-number{letter-spacing:.04em;color:var(--accent);font-size:.78rem;font-weight:600}.glass-name{color:var(--foreground);overflow-wrap:anywhere;font-size:.98rem;font-weight:500;line-height:1.3}.glass-moves{flex:none;gap:.2rem;display:flex}.glass-moves button{background:var(--surface-soft);border:1px solid var(--line);min-width:2.25rem;min-height:2.75rem;color:var(--foreground);padding:0;font-size:1rem;line-height:1}.glass-moves button:hover:not(:disabled){border-color:var(--line-strong)}.glass-moves button:disabled{color:var(--muted);opacity:.5}.glass-add{margin:.6rem 0 0}.flight-strip{flex-wrap:wrap;gap:.4rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.flight-strip a,.flight-strip span.flight-here{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:5.5rem;min-height:2.75rem;color:var(--foreground);flex-direction:column;justify-content:center;padding:.3rem .7rem;font-size:.9rem;line-height:1.25;text-decoration:none;display:inline-flex}.flight-strip a:hover{border-color:var(--line-strong)}.flight-strip span.flight-here{border-color:var(--accent-line);background:var(--accent-soft);font-weight:600}.flight-strip small{color:var(--muted);font-size:.78rem;font-weight:400}.flight-next{border:1px solid var(--accent-line);border-radius:var(--radius-lg);background:var(--surface);border-left-width:6px;margin:0 0 1.5rem;padding:1rem 1.25rem 1.1rem}.flight-next h2{color:var(--accent);text-wrap:pretty;margin:0 0 .35rem;font-size:1.1rem}.flight-next p{margin:.35rem 0 0}.flight-next .flight-next-action{margin-top:.8rem}.flight-tag{color:var(--accent);font-weight:600}.school-invite{border:1px solid var(--accent-line);border-radius:var(--radius-lg);background:var(--surface);border-left-width:6px;margin:0 0 1.75rem;padding:1rem 1.25rem 1.1rem}.school-invite-title{color:var(--accent);text-wrap:pretty;margin:0 0 .35rem;font-size:1.1rem}.school-invite p{text-wrap:pretty;margin:.35rem 0 0}.school-invite-actions{flex-wrap:wrap;align-items:center;gap:.6rem .9rem;margin-top:.9rem;display:flex}.school-line{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:0 0 1.5rem;padding:.6rem .9rem}.school-line p{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;margin:0;display:flex}.school-line-what{overflow-wrap:anywhere;font-weight:600}.school-teachers{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.school-teachers>li{border-bottom:1px solid var(--line);padding:.85rem 0 .9rem}.school-teachers>li>.member-what .member-name{font-family:var(--serif);font-size:1.05rem}.school-classes{border-top:0;border-left:2px solid var(--accent-line);margin:.6rem 0 0 .25rem;padding-left:.9rem}.school-classes>li{padding:.45rem 0}.school-classes>li:last-child{border-bottom:0}.school-classes a.member-name{color:var(--accent)}.school-noclass{margin:.35rem 0 0}.school-live{color:var(--accent);font-weight:600}.school-you{font-weight:400}.school-new-line{margin:0 0 1.25rem}.school-list .member-list{margin-top:.85rem}.school-nobody{margin:.75rem 0 0}.school-add{border-top:1px dashed var(--line-strong);margin-top:1.1rem;padding-top:.9rem}.school-add-title{margin:0;font-size:.95rem}.school-add .field-help{margin:.2rem 0 .6rem}.school-add-tools{flex-wrap:wrap;align-items:flex-end;gap:.6rem 1rem;display:flex}.school-add-tools .wine-search input{width:100%}.school-add-role{flex-direction:column;gap:.2rem;display:flex}.school-matches{margin-top:.6rem}.school-add-search{flex-direction:column;gap:.2rem;display:flex}.school-page .page-head .nowrap{white-space:nowrap}.avatar{background:var(--accent-soft);width:2rem;height:2rem;color:var(--accent);border:1px solid var(--line);font-family:var(--sans);vertical-align:middle;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;line-height:1;display:inline-flex;position:relative;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.avatar-sm{width:1.75rem;height:1.75rem;font-size:.7rem}.avatar-md{width:2.25rem;height:2.25rem;font-size:.85rem}.avatar-lg{width:5rem;height:5rem;font-size:1.7rem;font-family:var(--serif);font-weight:500}.avatar-figure{opacity:.75;width:62%;height:62%}.avatar-busy{animation:1.4s ease-in-out infinite loading-breathe}@media (prefers-reduced-motion:reduce){.avatar-busy{opacity:.6;animation:none}}.profile-photo{align-items:flex-start;gap:1rem;max-width:30rem;margin:0 0 1.75rem;display:flex}.profile-photo-body{flex-direction:column;gap:.5rem;min-width:0;display:flex}.profile-photo-actions{flex-wrap:wrap;gap:.5rem;display:flex}.profile-photo-help{color:var(--muted);margin:0;font-size:.875rem}.room-faces{flex-wrap:wrap;gap:.35rem;margin:.25rem 0 .4rem;padding:0;list-style:none;display:flex}.session-joined{margin:.5rem 0 0;padding:0;list-style:none}.session-joined li{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.3rem 0;display:flex}button.progress-line{cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:6px;width:100%;min-height:1.75rem;margin:0;padding:0;display:flex}button.progress-line:hover:not(:disabled){background:0 0}.progress-line .pl-section{flex-basis:0;align-items:center;min-width:0;height:10px;display:flex}.progress-line .pl-mark{background:var(--line-strong);flex:1 1 0;min-width:0;height:2px;position:relative}.progress-line .pl-mark[data-answered]{background:var(--accent);height:4px}.progress-line .pl-mark+.pl-mark{box-shadow:inset 1px 0 0 var(--background)}.progress-line .pl-mark[data-current]:after{content:"";background:var(--foreground);border-radius:1.5px;width:3px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.frame-bar .frame-progress{border-top:1px solid var(--line);flex:1 0 100%;order:2;align-self:stretch;margin-top:.4rem}@media (max-width:899px){.frame-bar:has(.frame-progress){border-bottom:0;padding-bottom:0}}@media (prefers-color-scheme:dark){.progress-line .pl-mark{background:var(--field-line)}}@media (min-width:900px){.frame-bar .frame-progress{display:none}}.number-step{flex-direction:column;align-items:flex-start;gap:.45rem;display:flex}.number-field{align-items:baseline;gap:.6rem;display:inline-flex}.number-field input[type=text]{width:8ch;font-family:var(--serif);text-align:right;font-variant-numeric:tabular-nums;padding:.35rem .65rem;font-size:1.75rem;line-height:1.2}.number-field input[type=text]::placeholder{color:var(--muted);opacity:.55}.number-unit{font-family:var(--serif);color:var(--muted);font-size:1.3rem}.number-field.has-problem input[type=text]{border-color:var(--danger);border-width:2px}.number-hint,.number-problem{margin:0;font-size:.85rem}.number-hint{color:var(--muted)}.number-problem{color:var(--danger);font-weight:600}.glass-number{border:1.5px solid var(--accent);width:1.5rem;height:1.5rem;color:var(--accent);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.78rem;font-weight:600;line-height:1;display:inline-flex}.glass-number[data-small]{width:1.25rem;height:1.25rem;font-size:.7rem}.glass-number[data-filled]{background:var(--accent);color:var(--accent-contrast)}.frame-bar[data-glasses]{flex-wrap:nowrap;align-items:center;column-gap:.4rem;padding-bottom:.35rem}.frame-bar[data-glasses] .wordmark{justify-content:center;align-items:center;min-width:1.75rem;min-height:2.75rem;font-size:1.6rem;line-height:1;display:inline-flex}.frame-bar[data-glasses] .wordmark:hover{color:var(--accent);text-decoration:none}.frame-bar .frame-glasses{flex:1 1 0;min-width:0}.result-glasses{margin-top:.4rem}.glass-strip{--strip-fade:1.25rem;overscroll-behavior-x:contain;scrollbar-width:none;gap:.3rem;min-height:2.5rem;display:flex;overflow-x:auto}.glass-strip::-webkit-scrollbar{display:none}.glass-strip[data-more-start]{-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--strip-fade), #000 100%);-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--strip-fade), #000 100%);mask-image:linear-gradient(to right, transparent 0, #000 var(--strip-fade), #000 100%)}.glass-strip[data-more-end]{-webkit-mask-image:linear-gradient(to right, #000 0, #000 calc(100% - var(--strip-fade)), transparent 100%);-webkit-mask-image:linear-gradient(to right, #000 0, #000 calc(100% - var(--strip-fade)), transparent 100%);mask-image:linear-gradient(to right, #000 0, #000 calc(100% - var(--strip-fade)), transparent 100%)}.glass-strip[data-more-start][data-more-end]{-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--strip-fade), #000 calc(100% - var(--strip-fade)), transparent 100%);-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--strip-fade), #000 calc(100% - var(--strip-fade)), transparent 100%);mask-image:linear-gradient(to right, transparent 0, #000 var(--strip-fade), #000 calc(100% - var(--strip-fade)), transparent 100%)}.glass-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);min-height:2.5rem;color:var(--foreground);text-align:left;flex:none;align-items:center;gap:.35rem;padding:.2rem .6rem .4rem .35rem;font-size:.78rem;font-weight:500;display:flex;position:relative;overflow:hidden}.glass-card:hover:not(:disabled){background:var(--surface);border-color:var(--line-strong)}.glass-card[aria-current]{background:var(--accent-soft);border-color:var(--accent-line)}.glass-card-name{white-space:nowrap;font-size:.78rem;font-weight:600}.glass-card-bar{background:var(--line);border-radius:1px;height:2px;position:absolute;bottom:.2rem;left:.45rem;right:.45rem}.glass-card-bar span{background:var(--accent);border-radius:1px;height:100%;display:block}.glass-entries{flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}button.glass-entry{background:var(--surface-soft);border:1px solid var(--line);min-height:1.75rem;color:var(--foreground);border-radius:999px;padding:.15rem .6rem;font-size:.78rem;font-weight:600}button.glass-entry[data-open]{color:var(--muted);font-weight:400}button.glass-entry[data-same]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent);font-weight:600}button.glass-entry:hover:not(:disabled){background:var(--surface)}.question~.glass-entries{margin:.25rem 0 .75rem}.series-strip{z-index:5;background:var(--background);border-bottom:1px solid var(--line);margin:.25rem 0 .75rem;padding:.4rem 0;position:sticky;top:0}.room:has(.series-strip) .step{scroll-margin-top:4.5rem}.series-strip .failure{margin-top:.4rem}.series-heading small{color:var(--muted);margin-top:.15rem;font-size:.85rem;font-weight:400;display:block}.room .step>.glass-entries{margin:.4rem 0 .25rem}.series-points{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);margin:.5rem 0 1.25rem;padding:.75rem 1rem}.series-points h3{margin:0 0 .4rem}.series-points dl{margin:0}.series-points dl>div{border-top:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.3rem 0;display:flex}.series-points dl>div:first-child{border-top:0}.series-points dl>div[data-here] dt{color:var(--accent)}.series-points dt{font-weight:600}.series-points dd{font-variant-numeric:tabular-nums;margin:0}.series-points .series-points-sum{border-top:1px solid var(--line-strong);font-weight:700}.series-totals .table-scroll{overflow-x:auto}.series-totals td,.series-totals th{white-space:nowrap}.series-keys-missing a{margin-left:.35rem}.rung[data-marked]{grid-template-columns:1.75rem minmax(0,1fr) auto auto}.rung-glasses{gap:.15rem;padding-top:.15rem;display:inline-flex}.parallel-entry{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--foreground);margin:0 0 1.5rem;padding:.85rem 1rem;text-decoration:none;display:block}.parallel-entry:hover{border-color:var(--line-strong)}.parallel-entry .choice-blurb{color:var(--muted);margin-top:.15rem;font-size:.9rem;display:block}.parallel-glasses{flex-direction:column;gap:.5rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.parallel-glass-row{grid-template-columns:auto minmax(0,1fr) 2.75rem;align-items:center;gap:.6rem;display:grid}.parallel-glass-row select{width:100%;min-width:0}button.linkish.parallel-remove{min-height:2.75rem;color:var(--muted);font-size:1.3rem;text-decoration:none}.parallel-add{align-items:center;gap:.75rem;margin:.25rem 0 0;display:flex}.parallel-add small{color:var(--muted)}.parallel-columns-link,.reveal-wait{margin:0 0 .6rem}.parallel-col-name{overflow-wrap:anywhere;align-items:flex-start;gap:.35rem;display:flex}.history-set{list-style:none}a.history-set-line{color:var(--foreground);flex-direction:column;gap:.1rem;padding:.8rem .5rem .2rem;text-decoration:none;display:flex}.history-set-title{font-weight:600}.history-set-meta{color:var(--muted)}.history-set-glasses{border-left:2px solid var(--line);margin:0;padding:0 0 0 .75rem}.history-list.with-glass-rows a.h-row[data-glass]{grid-template-columns:auto auto minmax(0,1fr) auto}p.section-line button.section-count{min-height:2.75rem;font-family:var(--sans);order:1;margin:-.75rem 0;font-weight:400}.class-wine{border:1px solid var(--accent-line);border-radius:var(--radius-lg);background:var(--surface);border-left-width:6px;margin:0 0 1.5rem;padding:1rem 1.25rem .35rem}.class-wine h3{color:var(--accent);margin:0;font-size:.95rem;font-weight:600}.class-wine-title{font-family:var(--serif);overflow-wrap:anywhere;text-wrap:balance;margin:.2rem 0 .75rem;font-size:1.45rem;line-height:1.25}.class-wine .wine-facts>div:last-child{border-bottom:0}.class-wine .wine-facts>div{flex-direction:row;gap:1rem;padding:.5rem 0}.class-wine .wine-facts dt{flex:0 0 38%}.class-wine-hidden{color:var(--muted);margin:0 0 1.5rem}.show-wine-switch{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-soft);cursor:pointer;align-items:center;gap:.75rem;min-height:44px;padding:.55rem .9rem;display:flex}.show-wine-switch:has(input:checked){border-color:var(--accent-line);background:var(--accent-soft)}.show-wine-switch:has(input:disabled){cursor:default;opacity:.7}.show-wine-switch:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.show-wine-switch input[type=checkbox]{flex:none;width:1.25rem;height:1.25rem;margin:0}.show-wine-status{color:var(--muted);margin:.5rem 0 0;font-size:.925rem}.points-switches{margin-bottom:1.25rem}@media (max-width:30rem){table.results-table,table.results-table tbody{display:block}table.results-table thead{display:none}table.results-table tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;column-gap:.75rem;padding:.75rem .9rem;display:grid}table.results-table tbody tr:last-child{border-bottom:0}table.results-table td{border:0;grid-column:1/-1;padding:0;display:block}table.results-table tbody tr:hover td{background:0 0}table.results-table td.rt-who{color:var(--muted);font-size:.8rem}table.results-table td.rt-q{margin-bottom:.25rem;font-weight:600}table.results-table td[data-label]:before{content:attr(data-label) ": ";color:var(--muted)}table.results-table td.rt-v{grid-column:1;margin-top:.35rem;font-weight:600}table.results-table td.rt-p{text-align:right;grid-column:2;margin-top:.35rem;font-weight:600}}dialog.handin-dialog p.handin-open-intro{margin-bottom:.35rem}.handin-open-list{margin:0 0 1rem;padding-left:1.2rem;line-height:1.45}.ladder[data-teaching=off] .rung{--node-y:1.5625rem}.ladder[data-teaching=off] .rung-body{justify-content:center;min-height:3.125rem}.teaching-diagram{border-bottom:1px solid var(--line);color:var(--foreground);align-items:center;gap:.75rem;margin:0 0 .75rem;padding:0 0 .75rem;display:flex}.teaching-diagram svg{flex:none}.teaching-diagram figcaption{color:var(--foreground);font-size:.85rem;line-height:1.4}.coach-card{border:1px solid var(--accent-line);border-radius:var(--radius-lg);background:var(--accent-soft);margin:0 0 1.25rem;padding:.9rem 1rem 1rem}.coach-card p{margin:0}p.coach-card-eyebrow{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:600}p.coach-card-title{font-family:var(--serif);margin-top:.2rem;font-size:1.15rem;line-height:1.3}p.coach-card-body{margin-top:.3rem;font-size:.95rem;line-height:1.5}button.coach-card-done{min-height:2.5rem;margin-top:.75rem}.guide-card{border:1px solid var(--accent-line);border-radius:var(--radius-lg);background:var(--accent-soft);align-items:flex-start;gap:.5rem;margin:0 0 1.75rem;padding:1.1rem .75rem 1.2rem 1.2rem;display:flex}.guide-card-text{flex:auto;min-width:0}.guide-card p{margin:0}p.guide-card-title{font-family:var(--serif);font-size:1.2rem;line-height:1.3}p.guide-card-body{margin-top:.3rem;font-size:.95rem;line-height:1.5}.guide-card .guide-card-open{margin-top:.9rem}button.guide-card-close{width:2.75rem;height:2.75rem;color:var(--muted);background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin:-.6rem -.25rem 0 0;padding:0;display:inline-flex}button.guide-card-close:hover:not(:disabled){color:var(--foreground);background:0 0}.learn-hub{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}@media (min-width:640px){.learn-hub{grid-template-columns:1fr 1fr}}.learn-hub a{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);height:100%;color:var(--foreground);flex-direction:column;gap:.25rem;padding:1rem 1.1rem 1.1rem;text-decoration:none;display:flex}.learn-hub a:hover{border-color:var(--accent-line)}.learn-hub-title{font-family:var(--serif);color:var(--accent);font-size:1.2rem;line-height:1.3}.learn-hub-text{color:var(--muted);font-size:.95rem;line-height:1.45}.guide-dots{gap:.4rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.guide-dots li{border:1px solid var(--sign-rule);border-radius:50%;width:.5rem;height:.5rem}.guide-dots li[data-on=past]{border-color:var(--accent-line);background:var(--accent-line)}.guide-dots li[data-on=yes]{border-color:var(--accent);background:var(--accent)}.guide-page{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-height:12rem;padding:1.25rem 1.25rem 1.4rem}.guide-page h2{margin-top:.25rem}.guide-page p:last-child{margin-bottom:0;font-size:1.05rem;line-height:1.55}p.guide-step{color:var(--muted);margin:0;font-size:.85rem}.guide-actions{justify-content:space-between;align-items:stretch;gap:.75rem;margin-top:1.25rem;display:flex}.guide-actions button,.guide-actions .cta{min-height:2.75rem;padding:0 1.3rem}button.guide-next,button.guide-next:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.glossary-search{z-index:5;background:var(--background);margin:0 0 .5rem;padding:.5rem 0 .25rem;position:sticky;top:0}.glossary-search input{width:100%}p.glossary-count{min-height:1.3rem;color:var(--muted);margin:.35rem 0 0;font-size:.85rem}.glossary-letter h2{border-bottom:1px solid var(--line);color:var(--accent);margin:1.75rem 0 .25rem;padding-bottom:.25rem;font-size:1.25rem}.glossary-term{border-bottom:1px solid var(--line);padding:.9rem 0 1rem;scroll-margin-top:6rem}.glossary-term:focus{outline:none}.glossary-term:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.glossary-term h3{margin:0 0 .3rem}.glossary-term p{margin:0;line-height:1.55}p.glossary-related{margin-top:.45rem;font-size:.9rem}.glossary-related-label,.style-meta-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:600}.style-jump{flex-wrap:wrap;gap:.4rem 1rem;margin:0 0 .5rem;font-size:.95rem;display:flex}.style-group{scroll-margin-top:1rem}p.style-group-intro{color:var(--muted)}.style-entry{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);margin:0 0 .75rem;padding:1rem 1.1rem 1.05rem}.style-entry h3{margin:0 0 .35rem}.style-entry p{margin:0;line-height:1.5}p.style-meta{margin-top:.55rem;font-size:.92rem}.grape-list{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.grape-list li{border-bottom:1px solid var(--line)}.grape-list a{padding:.7rem .25rem;text-decoration:none;display:block}p.grape-colour{color:var(--muted)}.grape-facts{border-top:1px solid var(--line);margin:0}.grape-facts>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(7rem,11rem) minmax(0,1fr);align-items:center;gap:.25rem 1rem;padding:.65rem 0;display:grid}.grape-facts dt{color:var(--muted);font-size:.92rem}.grape-facts dd{flex-wrap:wrap;align-items:center;gap:.3rem .75rem;margin:0;display:flex}.range-line{flex:none;width:5.5rem;height:.75rem}.range-line .range-rule{stroke:var(--sign-rule);stroke-width:1px}.range-line .range-span{stroke:var(--accent);stroke-width:2.5px}.range-line .range-off{fill:var(--background);stroke:var(--sign-rule);stroke-width:1px}.range-line .range-on{fill:var(--accent)}.grape-aromas{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.grape-aromas li{border:1px solid var(--line-strong);background:var(--surface-soft);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .7rem;font-size:.92rem;display:inline-flex}.grape-aromas li[data-signature]{border-color:var(--accent-line);background:var(--accent-soft);font-weight:600}.grape-signature{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:600}@media (max-width:420px){.grape-facts>div{grid-template-columns:1fr}}
