:root{color-scheme:light;--ink:#161616;--paper:#fff;--line:#e5e5e5;--quote:#f0f4f7;--font:'Google Sans Flex',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:1.0625rem/1.7 var(--font);font-optical-sizing:auto}header{max-width:1160px;margin:auto;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a{color:inherit;text-underline-offset:4px}.brand{font-size:1.75rem;font-weight:600;text-decoration:none;letter-spacing:-.04em}.brand span{font-size:.75rem;letter-spacing:.1em;margin-left:12px;font-weight:400}.private{font-size:.75rem;color:#666}main{max-width:820px;margin:auto;padding:36px 24px 70px}.eyebrow{font-size:.75rem;letter-spacing:.09em;color:#666}h1{font-size:clamp(2rem,6vw,3rem);font-weight:500;line-height:1.15;letter-spacing:-.035em;margin:14px 0}.lead{font-size:1.125rem;max-width:550px}.edition{font-size:.8125rem;color:#666;margin-bottom:26px}nav{position:sticky;top:0;background:#fff;z-index:2;padding:12px 0;border-bottom:1px solid var(--line)}.tabs{display:flex;gap:6px;flex-wrap:wrap}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:10px 17px;min-height:44px}button[aria-pressed=true]{background:#111;color:#fff;border-color:#111}button:focus-visible,a:focus-visible{outline:2px solid #111;outline-offset:4px}#resume{display:block;font-size:.875rem;margin-top:9px}#resume[hidden]{display:none}.legend{padding:20px 0;font-size:.875rem;display:flex;gap:18px;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:8px}.legend i{width:16px;height:16px;border-radius:3px;display:inline-block;border:1px solid #b9c1c7}.gray{background:white}.blue{background:var(--quote)}.legend small{width:100%;font-size:.75rem;color:#666}article{border-bottom:1px solid var(--line);padding:20px 0;margin-bottom:4px;scroll-margin-top:120px}.passage-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.number{color:#666;font-size:.875rem;font-variant-numeric:tabular-nums}.bookmark{font-size:.875rem;padding:7px 10px;min-height:44px;border-color:var(--line)}.authorship{display:block;font-size:.8125rem;line-height:1.5;color:#5a5a5a;margin-bottom:10px}.language{padding:18px 20px;border-radius:6px}.language p{font:1.375rem/1.8 var(--font);margin:0;letter-spacing:-.012em}.language[lang=ko] p,.language[lang=zh] p{word-break:keep-all;overflow-wrap:anywhere;font-size:1.25rem;letter-spacing:normal}.sep{color:var(--ink);background:var(--quote)}.teaching{color:var(--ink);background:white}body[data-view=en] .language:not([lang=en]),body[data-view=ko] .language:not([lang=ko]),body[data-view=zh] .language:not([lang=zh]){display:none}body[data-view=parallel] main{max-width:1400px}body[data-view=parallel] .columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}body[data-view=parallel] .language p{font-size:1.125rem}footer{margin-top:32px;padding-top:20px;font-size:.875rem;color:#555}footer h2{font-size:1rem;color:var(--ink);font-weight:500}.small{font-size:.75rem}#notice:not(:empty){position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#111;color:white;border-radius:6px;padding:10px 18px;font-size:.875rem;z-index:5;width:max-content;max-width:90vw}del{color:#777}@media(max-width:650px){header{padding:16px 20px}main{padding:24px 16px 50px}.tabs{gap:5px}.tabs button{padding:9px 12px;font-size:.875rem}.language{padding:16px 14px}.language p{font-size:1.25rem}body[data-view=parallel] .columns{grid-template-columns:1fr;gap:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{nav,.bookmark,#notice{display:none}article{break-inside:avoid}main{padding:0}}

.new-block{display:inline-block;font-size:.875rem;margin-top:10px}.block-heading{margin-top:32px;border-top:1px solid var(--line);padding-top:14px}.block-heading .language{font-size:1rem;font-weight:500;padding:8px 0;line-height:1.5}.block-heading:first-child{margin-top:8px}

/* Navigation actions share the pill shape used by every button. */
nav .new-block,nav #resume{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;text-decoration:none;margin:10px 6px 0 0}nav #resume[hidden]{display:none}

/* ddun.ai-inspired reader: quiet monochrome, generous space, soft pills. */
:root{--ink:#0a0a0a;--paper:#fafafa;--line:#e8e8e8;--muted:#68686e;--quote:#f0f4f7}
header{max-width:1120px;border:0;padding:28px 36px}.brand{font-weight:400;font-size:1.5rem}.brand span{color:var(--muted);letter-spacing:.04em;font-size:.6875rem}.private{color:var(--muted)}
main{max-width:880px;padding:32px 40px 96px}.intro{text-align:center;padding:58px 0 56px}.eyebrow,.edition,.number,.authorship{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:400;color:var(--muted)}.eyebrow{font-size:.6875rem;letter-spacing:.035em}h1{font-size:clamp(2.5rem,5.4vw,4rem);font-weight:400;line-height:1.2;letter-spacing:-.055em;margin:28px 0}.lead{margin:24px auto 0;font-size:1rem;line-height:1.65;color:var(--muted);max-width:440px}.edition{font-size:.6875rem;margin:24px 0 0}
nav{background:var(--paper);padding:18px 0 14px;text-align:center;border-bottom:1px solid var(--line)}.tabs{justify-content:center;gap:8px}button,nav .new-block,nav #resume{border:1px solid transparent;background:#f0f0f1;color:#55555b;border-radius:999px;min-height:44px;padding:10px 20px;font-size:.875rem;font-weight:400;text-decoration:none;transition:background .15s,color .15s}button:hover,nav .new-block:hover,nav #resume:hover{background:#e5e5e7;color:var(--ink)}button[aria-pressed=true]{background:#171717;color:#fafafa;border-color:transparent}button[aria-pressed=true]:hover{background:#333}button:focus-visible,a:focus-visible{outline:2px solid #555;outline-offset:4px}nav .new-block,nav #resume{font-size:.75rem;margin:12px 3px 0;padding:8px 16px;min-height:40px;background:transparent;border-color:#ddd}
.legend{justify-content:center;text-align:center;gap:8px;padding:24px 0 38px;color:var(--muted)}.legend span{font-size:.75rem}.legend i{border-radius:50%;width:8px;height:8px;border-color:#b5b5ba}.legend small{max-width:500px;font-size:.75rem;line-height:1.6;color:var(--muted)}
.block-heading{margin-top:64px;padding-top:20px;border-top:1px solid #ccc}.block-heading .language{font-size:1rem;line-height:1.6;font-weight:500;letter-spacing:-.015em;padding:12px 0;margin:0}.block-heading:first-child{margin-top:0}
article{padding:26px 0 34px;margin:0;border-bottom:1px solid var(--line)}.passage-top{margin-bottom:16px}.number{font-size:.75rem;font-variant-numeric:tabular-nums;letter-spacing:.02em}.bookmark{font-size:.75rem;padding:9px 15px;min-height:40px;background:#efeff0}.language{padding:6px 0 0;border-radius:12px}.teaching{background:transparent}.authorship{font-size:.625rem;letter-spacing:.015em;margin-bottom:12px;color:var(--muted)}.language p{font-size:1.5rem;font-weight:400;line-height:1.75;letter-spacing:-.025em}.language[lang=ko] p,.language[lang=zh] p{font-size:1.3125rem;line-height:1.95}.sep{padding:20px 24px}
body[data-view=parallel] main{max-width:1440px}body[data-view=parallel] .columns{gap:32px}body[data-view=parallel] .intro{max-width:800px;margin:auto}body[data-view=parallel] .language p{font-size:1.125rem;line-height:1.85;letter-spacing:-.01em}
footer{margin-top:80px;border-top:1px solid var(--line);padding-top:32px;color:var(--muted);font-size:.8125rem;line-height:1.8}footer h2{font-weight:400;font-size:1.125rem}footer>a:last-child{display:inline-flex;align-items:center;border-radius:999px;background:#efeff0;padding:10px 18px;min-height:44px;text-decoration:none;margin-top:20px}#notice:not(:empty){border-radius:999px;background:#171717;color:#fafafa;font-size:.8125rem;padding:12px 22px}
@media(max-width:650px){header{padding:22px 22px}.brand span{margin-left:8px;font-size:.625rem}.private{font-size:.6875rem}main{padding:12px 22px 60px}.intro{padding:34px 0 38px}h1{font-size:2.6rem;margin:22px 0;line-height:1.2}.lead{font-size:.9375rem;max-width:300px}.eyebrow{font-size:.625rem}.edition{font-size:.625rem}nav{padding:12px 0}.tabs{gap:5px}.tabs button{font-size:.8125rem;padding:9px 15px}.legend{padding:22px 6px 30px}.block-heading{margin-top:46px}.block-heading .language{font-size:.9375rem}article{padding:22px 0 28px}.language{padding:4px 0 0}.language p{font-size:1.3rem;line-height:1.8}.language[lang=ko] p,.language[lang=zh] p{font-size:1.1875rem}.sep{padding:16px}body[data-view=parallel] .columns{gap:22px}footer{margin-top:56px}}
@media(prefers-reduced-motion:reduce){button,nav a{transition:none}}

/* Compact introduction above the language controls. */
.intro{padding:8px 0 12px}.intro .eyebrow{margin:0}
@media(max-width:650px){.intro{padding:8px 0 16px}}

/* Reading shortcuts stay separate from language selection. */
.reading-actions{position:fixed;bottom:0;left:0;right:0;z-index:4;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}
.reading-actions a,.reading-actions #resume{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:10px 16px;min-height:44px;border-radius:999px;background:#efeff0;color:#55555b;font-size:.8125rem;text-decoration:none;line-height:1.4}
.reading-actions #resume[hidden]{display:none}.reading-actions a:hover{background:#e5e5e7;color:var(--ink)}
main{padding-bottom:180px}#notice:not(:empty){bottom:calc(90px + env(safe-area-inset-bottom))}
@media(max-width:650px){.reading-actions{gap:6px;padding-left:12px;padding-right:12px}.reading-actions a,.reading-actions #resume{font-size:.75rem;padding:10px 12px}main{padding-bottom:180px}}
@media print{.reading-actions{display:none}}

/* Upward-opening block index in the persistent dock. */
.block-menu{position:relative}.block-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;border-radius:999px;padding:10px 16px;min-height:44px;background:#171717;color:#fafafa;font-size:.8125rem;line-height:1.4}.block-menu summary::-webkit-details-marker{display:none}.block-menu summary:focus-visible{outline:2px solid #555;outline-offset:4px}.block-menu[open] summary span{transform:rotate(180deg)}
.block-options{position:absolute;bottom:calc(100% + 14px);left:0;width:340px;max-width:calc(100vw - 24px);max-height:min(60vh,480px);overflow-y:auto;overscroll-behavior:contain;padding:8px;background:var(--paper);border:1px solid #ddd;border-radius:20px;box-shadow:0 10px 40px #00000014}
.reading-actions .block-options a{display:block;border-radius:12px;background:transparent;padding:12px 14px;text-align:left;color:var(--ink);line-height:1.5}.reading-actions .block-options a:hover,.reading-actions .block-options a:focus-visible{background:#efeff0}
.block-options span{display:none}body[data-view=en] .block-options [lang=en],body[data-view=parallel] .block-options [lang=en],body[data-view=ko] .block-options [lang=ko],body[data-view=zh] .block-options [lang=zh]{display:inline}.block-heading{scroll-margin-top:90px}.block-heading:focus{outline:none}
@media(max-width:650px){.block-menu{position:static}.block-menu summary{font-size:.75rem;padding:10px 12px}.block-options{left:12px;right:12px;width:auto;bottom:calc(100% + 8px);max-height:55vh}}

/* Light reading cards and floating tools. */
:root{--paper:#f7f7f8;--line:#e8e8eb;--muted:#71717a}
header{max-width:1120px;padding-top:28px;padding-bottom:16px}
main{max-width:920px;padding-top:20px}.intro{padding-bottom:8px}
nav{background:rgba(247,247,248,.96);border:0;padding:14px 0 20px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.tabs button{background:transparent;color:#65656d}.tabs button:hover{background:#eaeaed}.tabs button[aria-pressed=true]{background:#fff;color:#111;border-color:#e2e2e6}
.block-card{background:#fff;border:1px solid #e5e5e9;border-radius:18px;padding:28px 32px;margin:12px 0 28px}
.block-card .block-heading{margin:0 0 12px;padding:0;border:0}.block-card .block-heading .language{padding:0 0 12px;font-weight:500;font-size:1.0625rem;color:#27272b}
.block-card article{border:0;padding:18px 0 22px;margin:0}.block-card article:last-child{padding-bottom:4px}.block-card article+article{margin-top:16px}
.passage-top{margin-bottom:8px}.number{font-size:.6875rem;color:#71717a}.bookmark{background:#f5f5f6;color:#71717a;font-size:.6875rem;padding:8px 13px;min-height:36px}.bookmark[aria-pressed=true]{background:#171717;color:#fff}
.language p{font-size:1.375rem;line-height:1.85;letter-spacing:-.018em}
.reading-actions{left:50%;right:auto;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 24px);padding:6px;border:1px solid #e0e0e5;border-radius:999px;background:rgba(255,255,255,.97);box-shadow:0 3px 18px #00000008;gap:4px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.reading-actions>a,.reading-actions #resume{background:transparent}.reading-actions>a:hover,.reading-actions #resume:hover{background:#f1f1f3}.block-menu summary{background:#f0f0f2;color:#27272b}.block-menu[open] summary{background:#171717;color:#fff}
.block-options{background:#fff;border-color:#e5e5e9;box-shadow:0 5px 22px #0000000c}
footer{border:0;margin-top:50px}#notice:not(:empty){bottom:calc(130px + env(safe-area-inset-bottom))}
@media(max-width:650px){header{padding:22px 20px 12px}.brand{font-size:1.375rem}main{padding:12px 12px 180px}.block-card{border-radius:14px;padding:22px 20px;margin:8px 0 20px}.block-card .block-heading .language{font-size:.9375rem}.block-card article{padding:16px 0 18px}.block-card article+article{margin-top:12px}.language p{font-size:1.1875rem;line-height:1.85}.language[lang=ko] p,.language[lang=zh] p{font-size:1.125rem}.reading-actions{border-radius:28px;padding:6px;gap:2px}.reading-actions>a,.reading-actions #resume,.block-menu summary{font-size:.75rem;padding:10px 12px}.block-options{left:0;right:0;max-width:none;min-width:280px;max-height:55vh}footer{padding:0 10px}}
@media print{.block-card{border:0;padding:0;margin:24px 0}body{background:#fff}}

/* Uppercase English block titles, with modest spacing for legibility. */
.block-card .block-heading .language[lang=en]{text-transform:uppercase;letter-spacing:.035em}

/* A quiet underline distinguishes block headings in every language. */
.block-card .block-heading .language{text-decoration-line:underline;text-decoration-color:#a1a1aa;text-decoration-thickness:1px;text-underline-offset:7px;text-decoration-skip-ink:auto}

/* Quiet bookmark controls, short heading rules, closer connected sentences. */
.block-card .block-heading .language{text-decoration:none;padding-bottom:8px}
.block-card .block-heading .language::after{content:"";display:block;width:36px;height:2px;margin-top:12px;background:#a1a1aa;border-radius:1px}
.bookmark{width:44px;height:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border-color:transparent;color:#71717a}
.bookmark-icon{display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.bookmark:hover{background:#f3f3f5;color:#27272b}.bookmark[aria-pressed=true]{background:#f3f3f5;color:#171717}.bookmark[aria-pressed=true] .bookmark-icon{fill:currentColor}
.block-card article{padding:12px 0 16px}.block-card article+article{margin-top:4px}.passage-top{margin-bottom:2px}
@media(max-width:650px){.block-card article{padding:10px 0 14px}.block-card article+article{margin-top:4px}.block-card .block-heading .language::after{margin-top:10px}}
