.reading-intro,.reading-pair{border:1px solid var(--line,#c9c3b6);border-radius:8px;margin:0;padding:1rem}.reading-intro ol{padding-left:1.5rem;line-height:1.9}.reading-controls{display:flex;flex-wrap:wrap;gap:1rem;margin:0}.reading-controls label{display:grid;flex:1;gap:.4rem;min-width:12rem}.reading-controls input,.reading-controls select{font:inherit;border:1px solid var(--line,#c9c3b6);background:var(--surface,#fff);color:inherit;border-radius:4px;max-width:100%;padding:.8rem}.reading-links{display:flex;flex-wrap:wrap;gap:1rem}.reading-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1rem;padding:0}.reading-card{border:1px solid var(--line,#c9c3b6);overflow-wrap:anywhere;border-radius:8px;min-width:0;padding:1.25rem}.reading-card h2{margin:.6rem 0;font-size:1.1rem;line-height:1.6}.reading-card p{line-height:1.9}.reading-meta{opacity:.8;display:flex;flex-wrap:wrap;gap:.8rem;font-size:.78rem;line-height:1.6}.reading-card details{border-top:1px solid var(--line,#c9c3b6);margin:1rem 0;padding-top:.8rem}.reading-card summary{cursor:pointer}.reading-page .muted{opacity:.8;font-size:.85rem;line-height:1.8}.page.reading-page{gap:1.5rem}.reading-intro summary{cursor:pointer;line-height:1.8}.reading-intro details[open]>:not(summary){margin-top:.75rem}.textbook-hit{padding:1rem 0}.textbook-hit summary{cursor:pointer}.textbook-hit summary>span{display:block}.textbook-hit summary>.mono{font-size:.75rem}.textbook-hit .hit-title i{margin-left:.5rem;font-size:.75rem}.textbook-hit .textbook-original{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid;margin-top:1rem;padding:1rem;line-height:1.9}.textbook-correction{border-left:.2rem solid;margin-top:1rem;padding:1rem}.textbook-pagination{display:flex;flex-wrap:wrap;align-items: center;gap:1rem;margin:1rem 0}.analytics-intro{border-left:3px solid var(--accent,currentColor);padding-left:1em}.analytics-update{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: center;gap:1rem}.analytics-scroll{overflow-x:auto}.analytics-table{min-width:38rem}.analytics-person{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer;text-align:left;background:0 0;border:0;padding:.3em 0}.analytics-person:focus-visible{outline:2px solid;outline-offset:3px}.analytics-select{max-width:24rem}.analytics-lessons{display:grid;gap:1rem}.analytics-lesson{border-bottom:1px solid var(--line,#ccc);padding-bottom:.75rem}.analytics-lesson h3,.analytics-advice h3{margin:0 0 .4rem;font-size:1rem}.analytics-lesson p,.analytics-advice p{overflow-wrap:anywhere;margin:.35rem 0}.analytics-advice{display:grid;gap:1rem;padding-left:1.5rem}.analytics-advice li{padding-left:.3rem}@media (max-width:600px){.analytics-update{align-items: flex-start}.analytics-lesson{padding-bottom:1rem}}.analytics-advice-item h3{margin:0 0 .4rem;font-size:1rem}.analytics-advice-item p{overflow-wrap:anywhere;margin:.35rem 0}.analytics details{margin-top:1rem}.analytics summary{cursor:pointer}:root{--bg:#ecece6;--surface:#f8f8f4;--ink:#1e1719;--ink-2:#5f5658;--line:#cdcbc3;--wine:#7b1e3c;--on-wine:#f7eeea;--verre:#2f4b3c;--paille:#c9b458;--ok:#2b6747;--ng:#a3301f;--age-1:#5b1b52;--age-2:#a01c3d;--age-3:#7f2a22;--age-4:#a85a30;--rose:#c4687a;--orange:#b8742a;--hit:#f1de7a;--on-hit:#1e1719;--f-display:"Bodoni Moda","Shippori Mincho","Hiragino Mincho ProN",serif;--f-mincho:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;--f-body:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--f-mono:"DM Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--tabbar:0px;--buncss-light:initial;--buncss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#171113;--surface:#211a1c;--ink:#ede6dc;--ink-2:#aa9fa1;--line:#3b3034;--wine:#d0627f;--on-wine:#1b0f13;--verre:#86ae97;--paille:#d8c56e;--ok:#7fc49b;--ng:#e58a75;--age-1:#9a4c90;--age-2:#d0486a;--age-3:#b8574c;--age-4:#c9824f;--rose:#e0909f;--orange:#d9964a;--hit:#7a6a1e;--on-hit:#fff8e0;--buncss-light: ;--buncss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#171113;--surface:#211a1c;--ink:#ede6dc;--ink-2:#aa9fa1;--line:#3b3034;--wine:#d0627f;--on-wine:#1b0f13;--verre:#86ae97;--paille:#d8c56e;--ok:#7fc49b;--ng:#e58a75;--age-1:#9a4c90;--age-2:#d0486a;--age-3:#b8574c;--age-4:#c9824f;--rose:#e0909f;--orange:#d9964a;--hit:#7a6a1e;--on-hit:#fff8e0;--buncss-light: ;--buncss-dark:initial;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.9}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul,ol{list-style:none;padding:0}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--wine)}:focus-visible{outline:2px solid var(--wine);outline-offset:3px}button,input,select{font:inherit;color:inherit}[hidden]{display:none!important}.mono{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:11.5px;line-height:1.6}.paren:before{content:"("}.paren:after{content:")"}.tate{writing-mode:vertical-rl;font-family:var(--f-mincho);letter-spacing:.28em;line-height:1.9}.sr{position:absolute;overflow:hidden;clip-path:inset(50%);white-space:nowrap;width:1px;height:1px}.shell{padding-inline-start:clamp(16px,4vw,48px);padding-inline-end:clamp(16px,4vw,48px);padding-block:20px calc(72px + var(--tabbar));display:flex;flex-direction:column;gap:clamp(28px,5vw,56px);max-width:1120px;min-height:100dvh;margin-inline-start:auto;margin-inline-end:auto}.nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px}.brand{font-family:var(--f-display);text-decoration:none;font-size:22px;line-height:1}.brand em{color:var(--wine)}.nav ul{display:flex;font-family:var(--f-mincho);letter-spacing:.14em;flex-wrap:wrap;gap:6px 22px;font-size:15px}.nav a{text-decoration:none;border-bottom:1px solid #0000;padding-block-start:4px;padding-block-end:4px}.nav a[aria-current=page]{border-bottom-color:var(--wine);color:var(--wine)}.tabbar{display:none}.podcast-player{position:fixed;inset:auto 0 calc(var(--tabbar) + env(safe-area-inset-bottom,0px))0;z-index:9;background:var(--bg);border-top:1px solid var(--ink);padding:10px clamp(16px,4vw,48px);box-shadow:0 -4px 20px #0001}.podcast-player[hidden]{display:none}.podcast-player audio{display:block;width:100%;max-width:1040px;height:40px;margin-inline-start:auto;margin-inline-end:auto}.podcast-now,.podcast-controls{display:flex;flex-wrap:wrap;align-items: center;gap:6px 16px;max-width:1040px;margin-inline-start:auto;margin-inline-end:auto}.podcast-now{justify-content:space-between;font-size:14px}.podcast-controls{padding-block-start:6px;padding-block-end:6px;font-size:13px}.podcast-controls .btn{min-height:36px;padding:4px 10px;font-size:13px}.podcast-controls label{display:inline-flex;align-items: center;gap:5px}.podcast-controls input{width:auto}.podcast-player p:empty{display:none}body:has(.podcast-player:not([hidden])) .shell{padding-bottom:calc(260px + var(--tabbar) + env(safe-area-inset-bottom,0px))}.lesson-podcast,.podcast-episode{border-block:1px solid var(--line);display:flex;flex-direction:column;gap:16px;padding-block-start:20px;padding-block-end:20px;scroll-margin-top:24px}.podcast-chapters{list-style:none;padding:0}.podcast-chapters>li{border-top:1px solid var(--line);padding-block-start:8px;padding-block-end:12px}.podcast-chapters>li[aria-current]{border-left:3px solid var(--wine);padding-left:12px}.podcast-chapter{display:flex;color:var(--ink);cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;align-items: center;gap:14px;width:100%;min-height:44px;padding:4px 0}.podcast-chapter span{color:var(--ink-2);font-size:13px}.podcast-chapter strong{flex:1}.podcast-chapters details{font-size:14px;line-height:1.9}.podcast-chapters summary{cursor:pointer;min-height:32px}.podcast-chapters dt{color:var(--wine);margin-top:12px;font-weight:600}.podcast-chapters dd{white-space:pre-line;max-width:48em;margin:0 0 12px}.podcast-course{display:flex;flex-direction:column;gap:12px}.podcast-course select{font:inherit;color:var(--ink);background:var(--surface);width:100%;max-width:36rem;min-height:44px;padding:8px 12px}.podcast-lessons li[aria-current]{border-left:3px solid var(--wine);padding-left:12px}.podcast-lessons li>div:last-child{display:flex;flex-wrap:wrap;justify-content:end;gap:4px 12px}.offline-downloads{display:flex;border:1px solid var(--line);flex-direction:column;align-items: flex-start;gap:12px;padding:20px}.offline-downloads .notice{width:100%}.podcast-lessons{list-style:none;padding:0}.podcast-lessons li{display:flex;border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding-block-start:10px;padding-block-end:10px;font-size:14px}.podcast-lessons li>:last-child{flex-shrink:0}@media (max-width:480px){.podcast-now{font-size:12px}.podcast-controls{gap:6px 10px}}.nav .set{display:none;font-family:var(--f-mincho);letter-spacing:.14em;text-decoration:none;font-size:14px}.shell>main,.page>*{min-width:0}.page{display:flex;flex-direction:column;gap:clamp(28px,4vw,48px)}.page-head{display:flex;border-top:1px solid var(--ink);flex-direction:column;gap:6px;padding-top:18px}.page-head h1{font-family:var(--f-mincho);letter-spacing:.06em;text-wrap:balance;font-size:clamp(26px,3.4vw,36px);font-weight:600;line-height:1.4}.page-head .orig{font-family:var(--f-display);color:var(--wine);font-size:clamp(20px,2.6vw,28px);font-style:italic;line-height:1.2}.page-head p{color:var(--ink-2);max-width:40em}h2.sub,h3.sub{font-family:var(--f-mincho);letter-spacing:.06em;font-size:20px;font-weight:600;line-height:1.5}.btn{font-family:var(--f-mincho);letter-spacing:.14em;background:var(--wine);color:var(--on-wine);border:1px solid var(--wine);cursor:pointer;text-decoration:none;display:inline-flex;text-align:center;border-radius:0;justify-content:center;align-items: center;padding:10px 26px;font-size:15px;line-height:1.6}.btn:hover:not(:disabled){color:var(--wine);background:0 0}.btn.ghost{color:var(--ink);border-color:var(--ink);background:0 0}.btn.ghost:hover:not(:disabled){border-color:var(--wine);color:var(--wine)}.btn:disabled{opacity:.45;cursor:default}.actions{display:flex;flex-wrap:wrap;align-items: center;gap:12px}.notice{border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;align-items: flex-start;gap:10px;padding:16px 20px;font-size:15px}.notice.err{border-color:var(--ng)}.notice.err strong{color:var(--ng)}.muted{color:var(--ink-2)}.small{font-size:14px;line-height:1.8}.pips{display:inline-flex;align-items: center;gap:4px}.pips i{border:1px solid var(--ink-2);background:0 0;border-radius:50%;width:9px;height:9px}.pips[data-l="1"] i:nth-child(-n+1){background:var(--age-1);border-color:var(--age-1)}.pips[data-l="2"] i:nth-child(-n+2){background:var(--age-2);border-color:var(--age-2)}.pips[data-l="3"] i:nth-child(-n+3){background:var(--age-3);border-color:var(--age-3)}.pips[data-l="4"] i:nth-child(-n+4){background:var(--age-4);border-color:var(--age-4)}.home{display:grid;grid-template-columns:auto minmax(0,1.25fr)minmax(0,1fr);align-items:stretch;gap:clamp(20px,4vw,56px)}.home .tate{display:flex;align-items: flex-start;gap:14px;font-size:21px}.home .tate small{font-family:var(--f-mono);letter-spacing:.14em;color:var(--ink-2);font-size:10.5px}.etiquette{background:var(--surface);border:1px solid var(--ink);outline:1px solid var(--ink);outline-offset:-7px;text-align:center;display:flex;flex-direction:column;align-items: center;gap:14px;min-width:0;padding:clamp(28px,4vw,44px) clamp(20px,3vw,36px)}.etiquette .aoc{font-family:var(--f-display);letter-spacing:-.01em;overflow-wrap:anywhere;font-size:clamp(40px,6.4vw,78px);line-height:1}.etiquette .cru{font-family:var(--f-mincho);color:var(--wine);letter-spacing:.08em;text-wrap:balance;font-size:clamp(17px,2.2vw,21px);line-height:1.5}.etiquette .rule{background:var(--ink);width:44px;height:1px}.etiquette dl{display:grid;grid-template-columns:auto auto;text-align:left;gap:2px 18px;font-size:14px;line-height:1.8}.etiquette dt{font-family:var(--f-mincho);color:var(--ink-2);letter-spacing:.1em}.etiquette dd{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:13px}.today{display:flex;flex-direction:column;justify-content:space-between;gap:22px;min-width:0}.count{display:flex;flex-direction:column;gap:2px}.count .num{font-family:var(--f-display);font-variant-numeric:lining-nums tabular-nums;font-size:clamp(64px,8vw,104px);line-height:.9}.count .num small{font-family:var(--f-mincho);letter-spacing:.1em;margin-left:6px;font-size:18px}.menu li{display:flex;border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding-block-start:9px;padding-block-end:9px;font-size:15px}.menu li:first-child{border-top:1px solid var(--line)}.menu b{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:14px;font-weight:400}.strip{display:flex;border-top:1px solid var(--ink);flex-wrap:wrap;gap:6px 28px;padding-top:12px}.part{display:flex;flex-direction:column;gap:12px}.part-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px}.part-head .fr{font-family:var(--f-display);color:var(--ink-2);font-size:17px;font-style:italic}.chapters li{border-bottom:1px solid var(--line)}.chapters li:first-child{border-top:1px solid var(--line)}.chapters .row{display:grid;grid-template-columns:4ch minmax(0,1fr)4.5em auto 4ch;text-decoration:none;align-items: center;gap:0 18px;padding-block-start:11px;padding-block-end:11px}.chapters a.row:hover .name{color:var(--wine)}.chapters .n,.chapters .rate{font-family:var(--f-mono);color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:12px}.chapters .rate{text-align:right}.chapters .name{font-size:15.5px;line-height:1.5}.chapters .name i{font-family:var(--f-display);color:var(--ink-2);margin-left:8px;font-size:15px;font-style:italic}.chapters .st{color:var(--ink-2);font-size:12.5px}.chapters .planned .name{color:var(--ink-2)}.lesson{display:grid;grid-template-columns:minmax(0,44rem);gap:clamp(28px,4vw,44px)}.points{background:var(--surface);border:1px solid var(--ink);outline:1px solid var(--ink);outline-offset:-6px;display:flex;flex-direction:column;gap:10px;padding:26px 28px}.points li{position:relative;padding-left:1.3em;font-size:15.5px;line-height:1.8}.points li:before{content:"—";position:absolute;color:var(--wine);left:0}.prose{display:flex;flex-direction:column;gap:1.1em;font-size:16.5px}.prose h2{font-family:var(--f-mincho);letter-spacing:.06em;border-top:1px solid var(--line);margin-top:1.2em;padding-top:14px;font-size:22px;font-weight:600;line-height:1.5}.prose>h2:first-child{margin-top:0}.prose strong{background:linear-gradient(transparent 64%,color-mix(in srgb,var(--paille)55%,transparent)64%);font-weight:700}.prose em{font-family:var(--f-display);font-size:1.08em;font-style:italic}.prose ul,.prose ol{display:flex;flex-direction:column;gap:.4em;padding-left:1.4em}.prose ul{list-style:none}.prose ul>li{position:relative}.prose ul>li:before{content:"—";position:absolute;color:var(--ink-2);left:-1.4em}.prose ol{list-style:decimal}.prose ol>li::marker{font-family:var(--f-mono);color:var(--wine);font-size:13px}.prose table{border-collapse:collapse;width:100%;font-size:14.5px;line-height:1.7}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:9px 14px 9px 0}.prose th{font-family:var(--f-mincho);letter-spacing:.08em;border-bottom-color:var(--ink);white-space:nowrap;font-weight:600}.table-scroll{overflow-x:auto}.sec{display:flex;flex-direction:column;gap:1.1em}.sec-h{font-family:var(--f-mincho);letter-spacing:.06em;border-top:1px solid var(--line);padding-top:14px;font-size:22px;font-weight:600;line-height:1.5}.gl-layer{position:relative;display:flex;flex-direction:column;gap:clamp(28px,5vw,44px)}.gl{text-decoration:underline dotted var(--ink-2);text-underline-offset:.28em;text-decoration-thickness:1px;cursor:help}.gl:hover,.gl[aria-describedby]{text-decoration-color:var(--wine);color:var(--wine);outline:none}.gl:focus-visible{text-decoration-color:var(--wine);color:var(--wine);outline:none}.gl-tip{position:absolute;z-index:5;background:var(--surface);border:1px solid var(--ink);display:flex;box-shadow:0 6px 18px color-mix(in srgb,var(--ink)14%,transparent);flex-direction:column;gap:2px;padding:10px 14px 12px;transform:translateY(calc(-100% - 8px))}.gl-tip.below{transform:translateY(8px)}.gl-tip .term{font-family:var(--f-mincho);letter-spacing:.06em;font-size:15.5px;font-weight:600}.gl-tip .yomi{font-family:var(--f-mono);letter-spacing:.04em;color:var(--ink-2);font-size:11px}.gl-tip .def{margin-top:4px;font-size:14px;line-height:1.75}.sec-notes{display:flex;flex-direction:column;align-items: flex-start;gap:12px}.notes-toggle{border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;padding:2px 0}.notes-toggle:hover,.notes-toggle[aria-expanded=true]{color:var(--wine);border-bottom-color:var(--wine)}.notes-panel{display:flex;background:var(--surface);border:1px solid var(--line);flex-direction:column;align-self:stretch;gap:14px;padding:16px clamp(14px,3vw,20px)}.note-list{list-style:none;display:flex;flex-direction:column;gap:14px}.note-item{display:flex;border-bottom:1px solid var(--line);flex-direction:column;gap:6px;min-width:0;padding-bottom:14px}.note-item.reply{border-bottom:0;border-left:1px solid var(--line);padding:0 0 0 14px}.note-item>.note-list{margin-top:6px}.note-meta{display:flex;text-transform:none;flex-wrap:wrap;align-items: center;gap:4px 12px}.kind-tag{border:1px solid var(--line);padding:0 6px}.kind-tag.question{border-color:var(--wine);color:var(--wine)}.note-meta .resolved{color:var(--ok)}.note-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.85}.note-actions{display:flex;flex-wrap:wrap;gap:4px 16px}.note-actions button,.linklike{color:var(--ink-2);text-decoration:underline;text-underline-offset:.25em;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.note-actions button:hover,.linklike:hover{color:var(--wine)}.note-actions button.danger{color:var(--ng)}.note-form{display:flex;flex-direction:column;gap:10px}.note-form textarea{background:var(--bg);color:var(--ink);border:1px solid var(--line);font:inherit;resize:vertical;border-radius:0;width:100%;padding:10px 12px;font-size:16px;line-height:1.7}.note-form textarea:focus-visible{outline:2px solid var(--wine);outline-offset:1px}.note-form .kind{display:flex;border:0;gap:16px;margin-right:auto;font-size:14px}.note-form .kind label{display:inline-flex;cursor:pointer;align-items: center;gap:6px}.note-form .kind input{accent-color:var(--wine)}.small-btn{padding:6px 18px;font-size:14px}.err-text{color:var(--ng)}.note{border-left:1px solid var(--verre);display:flex;flex-direction:column;gap:14px;padding-left:clamp(16px,3vw,28px)}.note .prose{font-size:15.5px}.note h2.sub{color:var(--verre)}.sources li{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding-block-start:8px;padding-block-end:8px;font-size:13.5px;line-height:1.75}.sources li:first-child{border-top:1px solid var(--line)}.terms li{display:grid;grid-template-columns:minmax(0,14rem)minmax(0,1fr);border-bottom:1px solid var(--line);gap:2px 20px;padding-block-start:12px;padding-block-end:12px}.terms li:first-child{border-top:1px solid var(--line)}.terms .term{font-family:var(--f-display);font-size:20px;line-height:1.3}.terms .yomi{color:var(--ink-2);letter-spacing:.08em;font-size:12.5px}.terms .def{font-size:14.5px;line-height:1.8}.badge{font-family:var(--f-mono);letter-spacing:.06em;border:1px solid var(--line);color:var(--ink-2);align-self: flex-start;padding:2px 8px;font-size:11px}.q{display:grid;grid-template-columns:minmax(0,40rem);gap:20px}.q-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px}.timer{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:15px}.timer.low{color:var(--ng)}.stem{font-family:var(--f-mincho);letter-spacing:.04em;font-size:clamp(19px,2.2vw,23px);line-height:1.7}.opts{display:flex;flex-direction:column;gap:8px}.opt{text-align:left;display:grid;grid-template-columns:2.2em minmax(0,1fr)auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);cursor:pointer;border-radius:0;align-items:baseline;gap:8px;width:100%;padding:13px 14px;font-size:16.5px;line-height:1.6}.opt .k{font-family:var(--f-mono);color:var(--ink-2);font-size:12px}.opt .v{letter-spacing:.06em;white-space:nowrap;font-size:12.5px}.opt:hover:not(:disabled){border-color:var(--ink)}.opt:disabled{cursor:default}.opt.dim{color:var(--ink-2)}.opt.is-ok{border-color:var(--ok);box-shadow:inset 4px 0 0 var(--ok)}.opt.is-ok .v{color:var(--ok)}.opt.is-ng{border-color:var(--ng);box-shadow:inset 4px 0 0 var(--ng)}.opt.is-ng .v{color:var(--ng)}.opt.is-picked{border-color:var(--ink);box-shadow:inset 4px 0 0 var(--ink)}.expl{border-top:1px solid var(--line);display:flex;flex-direction:column;align-items: flex-start;gap:14px;padding-top:14px;font-size:15px;line-height:1.85}.verdict-ok{color:var(--ok)}.verdict-ng{color:var(--ng)}.result .num{font-family:var(--f-display);font-variant-numeric:lining-nums tabular-nums;font-size:clamp(56px,8vw,96px);line-height:.95}.result .num small{font-family:var(--f-mono);color:var(--ink-2);margin-left:10px;font-size:16px}.review li{border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px;padding-block-start:18px;padding-block-end:18px}.review li:first-child{border-top:1px solid var(--line)}.review .stem{font-size:17px}.starts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,5vw,64px)}.starts li{display:flex;border-bottom:1px solid var(--line);flex-direction:column;align-items: flex-start;gap:10px;padding-block-start:20px;padding-block-end:20px}.card{display:grid;grid-template-columns:minmax(0,34rem);gap:18px}.face{background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:12px;min-height:14rem;padding:clamp(24px,4vw,40px)}.face .word{font-family:var(--f-display);overflow-wrap:anywhere;font-size:clamp(34px,5vw,52px);line-height:1.1}.face .yomi{font-family:var(--f-mincho);letter-spacing:.16em;color:var(--ink-2);font-size:14px}.face .back{border-top:1px solid var(--line);padding-top:14px;font-size:16px;line-height:1.9}.grade{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.grade .btn{letter-spacing:.08em;flex-direction:column;gap:2px;padding:10px 4px;font-size:14px;line-height:1.4}.grade .btn small{font-family:var(--f-mono);letter-spacing:.04em;opacity:.85;font-size:10.5px}.table{border-collapse:collapse;width:100%;font-size:15px}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:10px 16px 10px 0}.table th{font-family:var(--f-mincho);letter-spacing:.08em;border-bottom-color:var(--ink);font-size:14px;font-weight:600}.table td.num,.table th.num{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums;padding-left:16px;padding-right:0;font-size:13.5px}.form{display:grid;grid-template-columns:minmax(0,26rem);gap:22px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-family:var(--f-mincho);letter-spacing:.1em;font-size:15px}.field input,.field select{background:var(--surface);border:1px solid var(--line);border-radius:0;padding:10px 12px;font-size:16px}.field .hint{color:var(--ink-2);font-size:13px;line-height:1.7}@media (max-width:860px){.home{grid-template-columns:auto minmax(0,1fr)}.home .today{grid-column:1/-1}.starts{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){:root{--tabbar:58px}.nav ul{display:none}.nav .set{display:inline}.tabbar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));position:fixed;background:var(--bg);border-top:1px solid var(--ink);padding-bottom:env(safe-area-inset-bottom,0px);z-index:10;inset:auto 0 0}.tabbar a{text-decoration:none;text-align:center;font-family:var(--f-mincho);letter-spacing:.04em;border-top:2px solid #0000;margin-top:-1px;padding-block-start:14px;padding-block-end:14px;font-size:14px}.tabbar a[aria-current=page]{color:var(--wine);border-top-color:var(--wine)}.home{grid-template-columns:minmax(0,1fr)}.home .tate{writing-mode:horizontal-tb;flex-wrap:wrap;align-items:baseline}.chapters .row{grid-template-columns:4ch minmax(0,1fr)auto}.chapters .st,.chapters .rate{display:none}.terms li{grid-template-columns:minmax(0,1fr)}.grade .btn{letter-spacing:0}}@media (prefers-reduced-motion:no-preference){.btn,.opt,a{transition:color .18s,background-color .18s,border-color .18s}}.login{display:flex;text-align:center;flex-direction:column;align-items: center;gap:16px;max-width:30rem;margin-inline-start:auto;margin-inline-end:auto;padding-block-start:clamp(12px,6vh,64px);padding-block-end:clamp(12px,6vh,64px)}.login .etiquette{align-self:stretch}.login .etiquette .aoc{font-size:clamp(34px,9vw,52px)}.login .etiquette .aoc em{color:var(--wine)}.login h1.cru{outline:none}.login .form{grid-template-columns:minmax(0,1fr);text-align:left;gap:18px;width:100%;margin-top:6px}.login .form .btn{justify-self:stretch}.qr{border:1px solid var(--line);justify-self:center;width:min(220px,70%);height:auto}.secret{display:block;font-family:var(--f-mono);letter-spacing:.08em;overflow-wrap:anywhere;user-select:all;padding:8px 0;font-size:15px}.login details p{margin-top:6px}.open-questions{list-style:none;display:flex;flex-direction:column}.open-questions a{display:flex;border-bottom:1px solid var(--line);text-decoration:none;flex-direction:column;gap:2px;min-width:0;padding:12px 0}.open-questions a:hover .q-body{color:var(--wine)}.open-questions .q-body{display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:15px;line-height:1.7}.mono.asis{text-transform:none}.cave-filters{display:flex;flex-wrap:wrap;gap:12px 24px}.seg{display:inline-flex;overflow-x:auto;border:1px solid var(--ink);max-width:100%}.seg button{font-family:var(--f-mincho);letter-spacing:.1em;white-space:nowrap;color:var(--ink);border:0;border-right:1px solid var(--ink);cursor:pointer;background:0 0;border-radius:0;padding:8px 14px;font-size:14px;line-height:1.6}.seg button:last-child{border-right:0}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}@media (max-width:560px){.cave-filters .seg{display:flex;overflow-x:visible;border:0;flex-wrap:wrap;gap:6px}.cave-filters .seg button,.cave-filters .seg button:last-child{border:1px solid var(--ink);padding:8px 12px}}.cave-upload{display:flex;border:1px solid var(--line);background:var(--surface);flex-direction:column;gap:12px;padding:16px 20px}.cave-upload .actions{align-items: flex-end}.cave-failed{padding-left:1.2em}.cave-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:24px 16px}.cave-card{display:flex;text-decoration:none;flex-direction:column;gap:8px}.cave-thumb{aspect-ratio:3/4;background:var(--surface);border:1px solid var(--line);display:grid;overflow:hidden;place-items: center}.cave-thumb img{object-fit:cover;width:100%;height:100%}.cave-card:hover .cave-thumb{border-color:var(--wine)}.cave-card-text{display:flex;flex-direction:column;gap:2px}.cave-title{font-family:var(--f-mincho);overflow-wrap:anywhere;font-size:15px;line-height:1.5}.cave-photos{list-style:none;display:flex;overflow-x:auto;gap:12px}.cave-photos img{display:block;border:1px solid var(--line);width:auto;max-width:none;height:min(70dvh,560px)}.cave-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.cave-note{white-space:pre-wrap;max-width:40em}.cave-search{display:flex;flex-wrap:wrap;align-items: center;gap:8px 12px}.cave-search input{flex:220px;min-width:0}.cave-merge{display:flex;border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:24px}.cave-merged{list-style:none;display:flex;flex-direction:column;gap:8px}.cave-merged li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: center;gap:8px 16px}.cave-candidate{display:flex;flex-direction:column;gap:8px}.cave-source{display:flex;border:1px solid var(--line);background:var(--surface);flex-direction:column;gap:10px;width:100%;padding:16px 20px}.cave-passage{display:flex;flex-direction:column;gap:4px}.cave-label{display:flex;flex-direction:column;gap:8px;max-width:40em}.cave-label img{display:block;border:1px solid var(--line);width:auto;max-width:100%;max-height:min(60dvh,520px)}.cave-label--reference img{border-style:dashed}.cave-label figcaption{display:flex;flex-direction:column;gap:4px}.cave-label-list{list-style:none;display:flex;flex-direction:column;gap:24px}.cave-label-row{display:grid;grid-template-columns:minmax(96px,200px)1fr;border-top:1px solid var(--line);align-items: start;gap:16px;padding-top:16px}.cave-label-thumb img{display:block;border:1px solid var(--line);width:100%;height:auto}.cave-label-facts{display:flex;flex-direction:column;gap:6px;min-width:0}.cave-label-facts .asis{overflow-wrap:anywhere}@media (max-width:560px){.cave-label-row{grid-template-columns:96px 1fr;gap:12px}}.cave-passage h4{display:flex;flex-wrap:wrap;gap:4px 12px;font-weight:400}.field textarea{background:var(--surface);color:var(--ink);border:1px solid var(--line);font:inherit;resize:vertical;border-radius:0;padding:10px 12px;font-size:16px;line-height:1.7}.field .check{display:flex;font-family:var(--f-body);letter-spacing:0;align-items: center;gap:10px}.map-figure{display:flex;flex-direction:column;gap:8px;margin:0}.map-frame{position:relative;border:1px solid var(--ink);overflow:hidden;background:#fdfbf3;width:100%;margin-inline-start:auto;margin-inline-end:auto}.map-svg{display:block;user-select:none;-webkit-user-select:none;cursor:grab;width:100%;height:auto}.map-sea{font-family:"Amatic SC",var(--f-display);letter-spacing:.08em;fill:#2f8c95;font-size:30px;font-weight:700}.map-title{font-family:"Amatic SC",var(--f-display);letter-spacing:.1em;fill:#3b2f2f;font-size:64px;font-weight:700}.map-ribbon{font-family:"Amatic SC",var(--f-display);fill:#3b2f2f;font-weight:700}.map-marker{cursor:pointer;outline:none}.map-marker circle{fill:#fffdf6;stroke:#1f6f78;stroke-width:3}.map-marker text{font-family:var(--f-mono);fill:#1f6f78;pointer-events:none;font-size:12px;font-weight:500}.map-marker.mine circle{fill:#7b1e3c;stroke:#fffdf6;stroke-width:2.5}.map-marker.mine text{fill:#fffdf6}.map-marker circle.halo,.map-marker.mine circle.halo{fill:none;stroke:#1e1719;stroke-width:2.5;stroke-dasharray:5 4}.map-marker:focus-visible circle:not(.halo){stroke:#1e1719;stroke-width:4}.map-zoom{position:absolute;display:flex;background:#fdfbf3;border:1px solid #1e1719;flex-direction:column;bottom:10px;right:10px}.map-zoom button{font-family:var(--f-mincho);color:#1e1719;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #1e1719;border-radius:0;min-width:44px;min-height:44px;padding:0 8px;font-size:15px;line-height:1}.map-zoom button:last-child{border-bottom:0}.map-zoom button:disabled{opacity:.35;cursor:default}@media (max-width:640px){.map-zoom{position:static;border-width:1px 0 0;flex-direction:row}.map-zoom button{border-bottom:0;border-right:1px solid #1e1719;flex:1}.map-zoom button:last-child{border-right:0}}.map-legend{list-style:none;display:flex;color:var(--ink-2);flex-wrap:wrap;gap:6px 20px;font-size:13px;line-height:1.7}.map-legend li{display:flex;align-items: center;gap:6px}.map-dot{background:#fffdf6;border:3px solid #1f6f78;border-radius:50%;flex:none;width:14px;height:14px}.map-dot.mine{outline:1px solid var(--line);background:#7b1e3c;border:2px solid #fffdf6}.map-panel{border:1px solid var(--line);background:var(--surface);padding:16px 20px;scroll-margin-block:12px}.map-panel-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: center;gap:8px 16px;margin-bottom:12px}.map-panel-head h2:focus{outline:none}.map-producers{list-style:none;display:flex;flex-direction:column;gap:14px}.map-producer{display:flex;border-left:3px solid #1f6f78;flex-direction:column;gap:4px;padding-left:12px}.map-producer.mine{border-left-color:var(--wine)}.map-producer h3{font-family:var(--f-mincho);font-size:16px;font-weight:600;line-height:1.6}.map-producer ul{list-style:none;display:flex;flex-direction:column;gap:2px;font-size:14.5px;line-height:1.75}.map-producer summary{cursor:pointer;color:var(--ink-2);font-size:14px}.map-places{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px 20px}.map-places ul{list-style:none;border-left:1px solid var(--line);margin-top:2px;padding-left:14px}.map-place{display:flex;text-align:left;color:var(--ink);border:0;border-bottom:1px solid var(--line);font:inherit;cursor:pointer;background:0 0;border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;width:100%;padding:7px 2px;font-size:15px}.map-place[aria-pressed=true]{border-bottom-color:var(--wine);color:var(--wine)}.map-place:disabled{color:var(--ink-2);cursor:default}.map-unplaced,.map-search{display:flex;flex-direction:column;gap:10px}.producer-link{font-family:var(--f-body);letter-spacing:0;white-space:nowrap;margin-left:6px;font-size:13px;font-weight:400}.producer-notice{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);padding:12px 16px;font-size:13.5px;line-height:1.8}.producer-refs{font-family:var(--f-mono);white-space:nowrap;font-size:11.5px}.producer-refs a{text-decoration:none;margin-left:2px}.producer-people{list-style:none;display:flex;flex-direction:column;gap:4px}.producer-sources{display:flex;overflow-wrap:anywhere;flex-direction:column;gap:6px;padding-left:1.6em;font-size:14.5px;line-height:1.75}.producer-sources li:target{background:var(--surface);outline:1px solid var(--line)}.seg a{font-family:var(--f-mincho);letter-spacing:.1em;white-space:nowrap;color:var(--ink);border-right:1px solid var(--ink);text-decoration:none;padding:8px 14px;font-size:14px;line-height:1.6}.seg a:last-child{border-right:0}.seg a[aria-current=page]{background:var(--ink);color:var(--bg)}@media (max-width:560px){.cave-filters .seg a,.cave-filters .seg a:last-child{border:1px solid var(--ink);padding:8px 12px}}.btn.ghost.danger{color:var(--ng);border-color:var(--ng)}.diagram{display:flex;flex-direction:column;gap:12px}.diagram figcaption{color:var(--ink-2);font-size:13.5px;line-height:1.7}.lanes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items: start;gap:22px 14px}.lane{--vin:var(--ink);display:flex;flex-direction:column;gap:10px;min-width:0}.lane[data-vin=rouge]{--vin:var(--age-2)}.lane[data-vin=blanc]{--vin:var(--paille)}.lane[data-vin=rose]{--vin:var(--rose)}.lane[data-vin=rotling]{--vin:var(--age-4)}.lane[data-vin=orange]{--vin:var(--orange)}.lane>h3{font-family:var(--f-mincho);letter-spacing:.1em;border-bottom:3px solid var(--vin);padding-bottom:6px;font-size:17px;font-weight:600;line-height:1.5}.prose ol.flow{list-style:none;gap:22px;padding-left:0}.flow>li{position:relative;display:flex;background:var(--surface);border:1px solid var(--line);overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;padding:9px 12px 10px;font-size:14px;line-height:1.65}.flow>li:not(:last-child):after{content:"";position:absolute;border-right:1px solid var(--ink-2);border-bottom:1px solid var(--ink-2);width:8px;height:8px;bottom:-17px;left:50%;transform:translate(-50%)rotate(45deg)}.flow>li>b{font-family:var(--f-mincho);letter-spacing:.06em;font-size:15px;font-weight:600}.flow>li>i{font-family:var(--f-display);color:var(--ink-2);font-size:14px;font-style:italic;line-height:1.4}.flow>li>span{color:var(--ink-2);font-size:13.5px}.flow>li.key{border-color:var(--wine);box-shadow:inset 3px 0 0 var(--wine)}.flow>li.key>b{color:var(--wine)}.flow>li.opt{background:0 0;border-style:dashed}.book-search{display:flex;flex-direction:column;gap:22px;max-width:44rem}.search-box{position:relative;display:flex;flex-direction:column;gap:6px}.search-row{display:flex;gap:8px}.search-row input{background:var(--surface);border:1px solid var(--ink);-webkit-appearance:none;appearance:none;border-radius:0;flex:1;min-width:0;padding:10px 12px;font-size:16px;line-height:1.6}.search-row input:focus-visible{outline:2px solid var(--wine);outline-offset:1px}.search-row .btn{white-space:nowrap;padding-inline-start:20px;padding-inline-end:20px}.suggest{position:absolute;z-index:6;background:var(--surface);border:1px solid var(--ink);box-shadow:0 6px 18px color-mix(in srgb,var(--ink)14%,transparent);overflow-y:auto;max-height:min(60vh,26rem);top:calc(100% + 4px);left:0;right:0}.suggest li{display:flex;cursor:pointer;border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:9px 12px}.suggest li:last-child{border-bottom:0}.suggest li[aria-selected=true]{background:color-mix(in srgb,var(--wine)12%,var(--surface))}.suggest .label{overflow-wrap:anywhere;min-width:0;font-size:15.5px;line-height:1.5}.suggest .mono{white-space:nowrap;text-transform:none}.search-results{display:flex;flex-direction:column;gap:14px}.search-count{display:flex;font-family:var(--f-mincho);letter-spacing:.06em;flex-wrap:wrap;align-items:baseline;gap:4px 16px;font-size:16px}.hits{display:flex;border-top:1px solid var(--ink);flex-direction:column}.hits a{display:flex;border-bottom:1px solid var(--line);text-decoration:none;flex-direction:column;gap:3px;min-width:0;padding-block-start:14px;padding-block-end:14px}.hits a:hover{color:inherit}.hits a:hover .hit-title{color:var(--wine)}.hits .mono{text-transform:none}.hit-title{font-family:var(--f-mincho);letter-spacing:.06em;font-size:17px;font-weight:600;line-height:1.5}.hit-title i{font-family:var(--f-mono);letter-spacing:.08em;color:var(--ink-2);margin-left:10px;font-size:11.5px;font-style:normal;font-weight:400}.hit-text{color:var(--ink-2);overflow-wrap:anywhere;font-size:14.5px;line-height:1.8}mark{background:var(--hit);color:var(--on-hit);padding-inline-start:1px;padding-inline-end:1px}::highlight(search-hit){background-color:var(--hit);color:var(--on-hit)}.hit-bar{display:flex;background:var(--surface);border:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:4px 18px;padding:8px 14px;font-size:14px}.podcast-comparison select{width:100%}.comparison-versions{display:grid;gap:16px}.comparison-versions section{border:1px solid var(--line);display:grid;gap:12px;min-width:0;padding:16px}.comparison-versions audio{display:block;width:100%}
