:root{--shironeri: #FCFAF2;--sumi: #1C1C1C;--shironezumi: #BDC0BA;--kurotsurubami: #0B1013;--kon: #0F2540;--rurikon: #0B346E;--kuchinashi: #F6C555;--aisumicha: #373C38;--sensaicha: #4D5139;--byakugun: #78C2C4;--haizakura: #D7C4BB;--azuki: #954A45;--hatobanezumi: #72636E;--toki: #EEA9A9;--sakuranezumi: #B19693;--p1-bg: var(--kon);--p1-ink: var(--shironeri);--p1-muted: var(--shironezumi);--p1-accent: var(--kuchinashi);--p1-tint: var(--rurikon);--p2-bg: var(--aisumicha);--p2-ink: var(--shironeri);--p2-muted: var(--shironezumi);--p2-accent: var(--byakugun);--p2-tint: var(--sensaicha);--p3-bg: color-mix(in srgb, var(--haizakura) 32%, var(--shironeri));--p3-ink: var(--sumi);--p3-muted: var(--hatobanezumi);--p3-accent: var(--azuki);--p3-tint: var(--haizakura);--serif-jp: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;--serif-tc: "Noto Serif TC", "Songti TC", "PMingLiU", serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--p3-bg: var(--kurotsurubami);--p3-ink: var(--shironeri);--p3-muted: var(--sakuranezumi);--p3-accent: var(--toki);--p3-tint: var(--hatobanezumi);color-scheme:dark}}:root[data-theme=dark]{--p3-bg: var(--kurotsurubami);--p3-ink: var(--shironeri);--p3-muted: var(--sakuranezumi);--p3-accent: var(--toki);--p3-tint: var(--hatobanezumi);color-scheme:dark}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif-jp);line-height:1.7;font-size:15px;--surface: color-mix(in srgb, var(--ink) 4%, var(--bg));--line: color-mix(in srgb, var(--ink) 13%, var(--bg));--yomi: color-mix(in srgb, var(--tint) 24%, var(--bg))}body.p1{--bg: var(--p1-bg);--ink: var(--p1-ink);--muted: var(--p1-muted);--accent: var(--p1-accent);--tint: var(--p1-tint)}body.p2{--bg: var(--p2-bg);--ink: var(--p2-ink);--muted: var(--p2-muted);--accent: var(--p2-accent);--tint: var(--p2-tint)}body.p3{--bg: var(--p3-bg);--ink: var(--p3-ink);--muted: var(--p3-muted);--accent: var(--p3-accent);--tint: var(--p3-tint)}body.p1,body.p2{color-scheme:dark;--yomi: color-mix(in srgb, var(--tint) 70%, var(--bg))}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[lang=ja]{font-family:var(--serif-jp)}[lang=zh-Hant]{font-family:var(--serif-tc)}.switch{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);border-bottom:1px solid var(--line);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:10px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.toc-btn,.themes button,.tools button{background:none;border:0;border-radius:0;padding:6px 0;font-size:14px;color:var(--muted)}.toc-btn{color:var(--ink);margin-right:16px}.toc-btn[aria-expanded=true],.themes button[aria-checked=true],.tools button[aria-pressed=true],.units a.on{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:6px}.themes{display:flex;gap:16px;margin-left:auto}.themes button{display:inline-flex;align-items:center;gap:6px}.themes button i{width:10px;height:10px;border:1px solid var(--line)}.toc{position:fixed;top:0;bottom:0;left:0;width:min(84vw,320px);z-index:20;background:var(--bg);overflow:auto;font-size:14px;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));transform:translate(-105%);visibility:hidden;transition:transform .25s ease,visibility 0s .25s;box-shadow:0 0 40px #00000040}.toc.open{transform:none;visibility:visible;transition:transform .25s ease}.toc-close{display:block;margin-left:auto;background:none;border:0;font-size:13px;color:var(--muted);padding:4px 0 8px}.scrim{position:fixed;inset:0;z-index:15;background:color-mix(in srgb,var(--sumi) 40%,transparent)}@media(prefers-reduced-motion:reduce){.toc{transition:none!important}}.toc details{padding-block:4px}.toc summary{cursor:pointer;padding-block:4px;list-style:none;display:flex;justify-content:space-between;color:var(--ink)}.toc summary::-webkit-details-marker{display:none}.toc summary .n{color:var(--muted);font-variant-numeric:tabular-nums}.toc ul{list-style:none;margin:0 0 6px;padding:0}.toc li a{padding:3px 0;font-size:13px;color:var(--ink);display:flex;gap:8px;text-decoration:none}.toc li a .code{min-width:52px;color:var(--muted);font-variant-numeric:tabular-nums}.toc li a:hover{color:var(--accent)}.toc li a.on span:last-child{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:5px}.toc .foot{font-size:12px;color:var(--muted);margin-top:12px}.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:28px 72px}.main{max-width:68ch;margin:0 auto;min-width:0}.eyebrow{font-size:13px;color:var(--muted)}.intro{color:var(--muted)}.main h1{font-size:32px;font-weight:600;margin:2px 0 10px;line-height:1.35;text-wrap:balance}.goals{color:var(--muted);font-size:14px;padding-left:1.2em;margin:0 0 12px}.tools{display:flex;flex-wrap:wrap;gap:4px 20px;align-items:center;position:sticky;top:53px;background:var(--bg);padding-block:6px;z-index:2;margin-bottom:8px;border-bottom:1px solid var(--line)}.jumps{display:flex;flex-wrap:wrap;gap:4px 12px;margin-left:auto}.jumps a{font-size:13px;color:var(--muted);text-decoration:none}.jumps a:hover{color:var(--accent)}.hide-yomi .yomi,.hide-yomi .yomi-cell{display:none!important}.cover-zh .zh{background:var(--line);color:transparent!important;border-radius:3px;cursor:pointer;-webkit-user-select:none;user-select:none;width:fit-content;max-width:100%}.cover-zh .zh .tag,.cover-zh .zh small{color:transparent}.cover-zh .zh.shown{background:none;color:var(--muted)!important;cursor:default}.cover-zh .zh.shown .tag{color:var(--accent)}h2.sec{font-size:24px;font-weight:600;line-height:1.4;margin:36px 0 0;padding-top:36px;border-top:1px solid var(--line);scroll-margin-top:60px}.main h3{font-size:15px;font-weight:600;color:var(--accent);margin:28px 0 4px;scroll-margin-top:60px}.prose{white-space:pre-line;margin:12px 0}.rule{color:var(--muted);font-size:14px;margin:8px 0;display:grid;gap:2px}.rule .label{font-size:12px}.ex{padding-block:16px;border-bottom:1px dashed var(--line)}.ex .jp{font-size:19px;line-height:1.75}.ex .yomi{display:flex;flex-wrap:wrap;gap:0 14px;font-size:13px;padding:3px 10px;background:var(--yomi);width:fit-content;max-width:100%;margin-top:4px}.ex .zh{color:var(--muted);margin-top:4px;white-space:pre-line}.ex .tag{margin-left:10px;font-size:13px;color:var(--accent)}.ex.bad .jp:before{content:"\2715  ";color:var(--muted);font-size:15px}.ex.good .jp:before{content:"\25ef  ";color:var(--muted);font-size:15px}.ex.maybe .jp:before{content:"\25b3  ";color:var(--muted);font-size:15px}.ex .flag{font-size:13px;color:var(--accent);margin-top:4px}.pat{font-style:normal;font-weight:600;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:5px}.units{display:flex;flex-wrap:wrap;gap:6px 16px;margin:4px 0 16px}.units a{font-size:13px;color:var(--muted);text-decoration:none;padding-block:2px}.units a:hover{color:var(--ink)}.vocab{margin:8px 0 20px}.vocab .row{display:grid;grid-template-columns:minmax(0,14em) minmax(0,1fr);grid-template-areas:"w m" "r m";gap:2px 20px;padding-block:9px;border-bottom:1px solid var(--line);align-items:baseline}.vocab .w{grid-area:w;font-size:18px}.vocab .r{grid-area:r;font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:0 8px}.vocab .m{grid-area:m}.vocab small{display:block;font-size:13px;color:var(--muted)}.vocab .flag{color:var(--accent)}.acc{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.hide-yomi .yomi-col>span:not(.acc){display:none}@media(max-width:760px){.vocab .row{grid-template-columns:minmax(0,1fr);grid-template-areas:"w" "r" "m"}}.table-wrap{overflow-x:auto;margin:12px 0}.table-wrap table{border-collapse:collapse;font-size:15px}.table-wrap td{padding:4px 12px 4px 0;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:baseline}.table-wrap .yomi-cell{display:block;font-size:12px;color:var(--muted)}@media(max-width:760px){.themes{margin-left:auto}.themes button{padding-right:8px;font-size:12px}.main h1{font-size:26px}.tools{top:49px}.jumps{margin-left:0}}
