:root {
    --dao-cinnabar: #a94f3d;
    --dao-ink: #173d31;
    --dao-ochre: #b98843;
    --dao-sand: #e7dcc7;
}

.daodejing-reader-page *, .daodejing-reader-page *::before, .daodejing-reader-page *::after { box-sizing: border-box; }
.daodejing-reader-page { min-height: 100vh; background: #f3eee3; }
.dao-reader-main { overflow: hidden; background: radial-gradient(circle at 84% 16%, rgba(185,136,67,.12), transparent 24%), linear-gradient(180deg, #f7f3eb 0, #eee6d8 100%); }
.dao-reader-intro { position: relative; padding: 46px 0 34px; }
.dao-reader-intro::after { content: "道"; position: absolute; right: 7vw; top: -34px; color: rgba(23,61,49,.035); font: 700 190px/1 KaiTi, serif; pointer-events: none; }
.dao-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; }
.dao-intro-grid h1 { margin: 0; color: var(--dao-ink); font: 700 clamp(46px, 6vw, 72px)/1.05 KaiTi, serif; letter-spacing: .06em; }
.dao-intro-note { padding: 4px 0 4px 28px; border-left: 1px solid rgba(169,79,61,.42); }
.dao-intro-note span { color: var(--dao-cinnabar); font-size: 13px; font-weight: 800; letter-spacing: .18em; }
.dao-intro-note p { max-width: 510px; margin: 10px 0 0; color: #667168; font-size: 15px; line-height: 1.9; }

.dao-reader-section { padding: 0 0 72px; }
.dao-workspace { display: grid; grid-template-columns: 276px minmax(0, 1fr); gap: 20px; align-items: start; }
.dao-directory { position: sticky; top: 96px; height: calc(100vh - 120px); min-height: 590px; display: flex; flex-direction: column; padding: 24px 20px 18px; border: 1px solid #d9ccb5; border-radius: 20px; background: rgba(255,255,255,.78); box-shadow: 0 18px 50px rgba(50,42,29,.08); backdrop-filter: blur(12px); }
.dao-directory-head { display: grid; grid-template-columns: 1fr auto; align-items: end; margin-bottom: 18px; }
.dao-directory-head p { grid-column: 1 / -1; margin: 0 0 5px; color: var(--dao-cinnabar); font-size: 11px; font-weight: 800; letter-spacing: .2em; }
.dao-directory-head h2 { margin: 0; color: var(--dao-ink); font: 700 31px/1 KaiTi, serif; }
.dao-directory-head span { color: #8a806f; font-size: 11px; }
.dao-search { position: relative; display: block; }
.dao-search input { box-sizing: border-box; width: 100%; padding: 11px 38px 11px 12px; border: 1px solid #ded2bf; border-radius: 10px; color: var(--dao-ink); background: #fffdf8; font: 13px/1.4 inherit; outline: none; }
.dao-search input:focus { border-color: var(--dao-ochre); box-shadow: 0 0 0 3px rgba(185,136,67,.12); }
.dao-search > span:last-child { position: absolute; right: 13px; top: 9px; color: #9b8b72; font-size: 18px; }
.dao-volume-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin: 12px 0; padding: 4px; border-radius: 10px; background: #eee7da; }
.dao-volume-tabs button { padding: 7px 4px; border: 0; border-radius: 7px; color: #6c756f; background: transparent; font: 700 12px/1 inherit; cursor: pointer; }
.dao-volume-tabs button.active { color: #fff; background: var(--dao-ink); box-shadow: 0 5px 14px rgba(23,61,49,.18); }
.dao-chapter-list { flex: 1; display: grid; align-content: start; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; min-height: 0; padding-right: 4px; overflow: auto; scrollbar-width: thin; scrollbar-color: #c5b79d transparent; }
.dao-chapter-button { position: relative; min-height: 48px; padding: 8px 7px; border: 1px solid transparent; border-radius: 9px; color: #657068; background: transparent; text-align: left; font: inherit; cursor: pointer; }
.dao-chapter-button span { display: block; color: #a49173; font: 10px/1 Georgia, serif; }
.dao-chapter-button strong { display: block; margin-top: 3px; font: 700 13px/1.2 KaiTi, serif; }
.dao-chapter-button:hover { border-color: #dfd3bf; background: #fbf7ef; }
.dao-chapter-button.active { color: #fff; border-color: var(--dao-cinnabar); background: var(--dao-cinnabar); box-shadow: 0 7px 18px rgba(169,79,61,.2); }
.dao-chapter-button.active span { color: rgba(255,255,255,.72); }
.dao-directory-empty { color: #8a806f; font-size: 13px; }

.dao-reading-card { --reader-font-size: 26px; position: relative; min-height: 720px; overflow: visible; border: 1px solid #d9ccb5; border-radius: 20px; color: #26362f; background-color: #fffdf7; background-image: linear-gradient(rgba(128,105,67,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(128,105,67,.035) 1px, transparent 1px); background-size: 32px 32px; box-shadow: 0 28px 70px rgba(50,42,29,.12); transition: color .2s ease, background-color .2s ease; }
.dao-reading-card[data-theme="white"] { background-color: #fff; background-image: none; }
.dao-reading-card[data-theme="ink"] { color: #e8e6db; border-color: #334a41; background-color: #1d3129; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px); box-shadow: 0 28px 70px rgba(19,31,26,.28); }
.dao-progress-track { position: absolute; inset: 0 0 auto; height: 4px; overflow: hidden; border-radius: 20px 20px 0 0; background: rgba(185,136,67,.12); }
.dao-progress-track span { display: block; width: 1.23%; height: 100%; background: linear-gradient(90deg, var(--dao-cinnabar), var(--dao-ochre)); transition: width .28s ease; }
.dao-reading-head { display: flex; justify-content: space-between; gap: 28px; padding: 38px 42px 26px; border-bottom: 1px solid rgba(154,132,94,.24); }
.dao-chapter-identity { display: flex; align-items: center; gap: 18px; }
.dao-chapter-seal { display: grid; place-items: center; width: 54px; height: 54px; flex: 0 0 auto; border-radius: 17px 17px 22px 17px; color: #fff; background: var(--dao-cinnabar); box-shadow: 0 10px 22px rgba(169,79,61,.18); font: 700 25px/1 KaiTi, serif; }
.dao-chapter-identity p { margin: 0 0 5px; color: #9b8057; font-size: 11px; font-weight: 800; letter-spacing: .18em; }
.dao-chapter-identity h2 { margin: 0; font: 700 34px/1.05 KaiTi, serif; }
.dao-primary-actions { display: flex; align-items: center; gap: 7px; }
.dao-primary-actions button, .dao-settings summary { box-sizing: border-box; min-height: 40px; border: 1px solid rgba(133,112,76,.25); border-radius: 9px; color: inherit; background: rgba(255,255,255,.7); font: 700 12px/1 inherit; cursor: pointer; }
.dao-listen-button { display: flex; align-items: center; gap: 8px; padding: 0 14px; }
.dao-listen-button span:first-child { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; color: #fff; background: var(--dao-cinnabar); font: 10px/1 sans-serif; }
.dao-listen-button:disabled, .dao-stop-button:disabled { opacity: .48; cursor: not-allowed; }
.dao-stop-button { width: 40px; }
.dao-settings { position: relative; }
.dao-settings summary { display: grid; place-items: center; padding: 0 13px; list-style: none; }
.dao-settings summary::-webkit-details-marker { display: none; }
.dao-settings[open] summary { color: #fff; border-color: var(--dao-ink); background: var(--dao-ink); }
.dao-settings-panel { position: absolute; z-index: 12; right: 0; top: 49px; width: 260px; padding: 17px; border: 1px solid #d8ccb7; border-radius: 14px; color: #34483e; background: rgba(255,253,248,.98); box-shadow: 0 18px 50px rgba(38,43,39,.16); }
.dao-setting-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; border-bottom: 1px solid #eee6d8; color: #6c756f; font-size: 12px; }
.dao-setting-row select { padding: 5px 7px; border: 1px solid #dcd0bd; border-radius: 7px; color: #34483e; background: #fff; font: inherit; }
.dao-segmented { display: flex; align-items: center; gap: 3px; }
.dao-segmented button { min-height: 27px; padding: 0 8px; background: #f4eee2; }
.dao-segmented output { min-width: 25px; text-align: center; font: 700 12px/1 Georgia, serif; }
.dao-theme-options { display: flex; gap: 7px; }
.dao-theme-options button { width: 25px; min-height: 25px; padding: 0; border-radius: 50%; background: #fbf6ea; }
.dao-theme-options button:nth-child(2) { background: #fff; }
.dao-theme-options button:nth-child(3) { background: #1d3129; }
.dao-theme-options button.active { outline: 2px solid var(--dao-cinnabar); outline-offset: 2px; }
.dao-setting-switch { display: flex; align-items: center; gap: 8px; min-height: 42px; color: #59665f; font-size: 12px; }
.dao-setting-switch input { accent-color: var(--dao-cinnabar); }
.dao-wake-button { width: 100%; margin-top: 10px; background: #f4eee2 !important; }
.dao-wake-button.active { color: #fff; border-color: var(--dao-ink); background: var(--dao-ink) !important; }

.dao-reading-status { display: flex; align-items: center; gap: 8px; margin: 21px 42px 0; color: #8c7f6c; font-size: 11px; letter-spacing: .1em; }
.dao-status-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--dao-ochre); }
.dao-reading-status.speaking .dao-status-dot { background: var(--dao-cinnabar); box-shadow: 0 0 0 5px rgba(169,79,61,.12); animation: dao-pulse 1.4s infinite; }
.dao-chapter-body { max-width: 730px; min-height: 420px; margin: 0 auto; padding: 44px 64px 58px; font-size: var(--reader-font-size); line-height: 2.08; letter-spacing: .08em; }
.dao-chapter-body p { margin: 0 0 .72em; padding: 0 10px; border-radius: 6px; text-indent: 2em; transition: color .2s ease, background .2s ease; }
.dao-chapter-body p.current { color: #8f392c; background: rgba(185,136,67,.12); }
.dao-reading-card[data-theme="ink"] .dao-chapter-body p.current { color: #ffcf99; background: rgba(255,255,255,.07); }
.dao-loading { color: #908677; font-size: 15px; text-indent: 0 !important; }
.dao-chapter-footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; margin: 0 42px; padding: 22px 0 32px; border-top: 1px solid rgba(154,132,94,.24); }
.dao-chapter-footer button { display: flex; align-items: center; gap: 12px; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; font: inherit; cursor: pointer; }
.dao-chapter-footer button:last-child { justify-content: flex-end; text-align: right; }
.dao-chapter-footer button:disabled { opacity: .35; cursor: not-allowed; }
.dao-chapter-footer small, .dao-chapter-footer strong { display: block; }
.dao-chapter-footer small { color: #9b8a72; font-size: 10px; letter-spacing: .13em; }
.dao-chapter-footer strong { margin-top: 4px; font: 700 17px/1 KaiTi, serif; }
.dao-chapter-footer a { color: #816d4f; font-size: 11px; text-decoration: underline; text-underline-offset: 4px; }

.dao-source-section { padding: 0 0 76px; }
.dao-source-card { display: grid; grid-template-columns: .55fr 1.45fr; gap: 60px; padding: 34px 40px; border: 1px solid rgba(23,61,49,.17); border-radius: 18px; background: rgba(255,255,255,.5); }
.dao-source-card h2 { margin: 0; color: var(--dao-ink); font: 700 30px/1.2 KaiTi, serif; }
.dao-source-card p { margin: 0 0 10px; color: #677168; font-size: 13px; line-height: 1.85; }
.dao-source-card a { color: var(--dao-ink); font-weight: 700; text-underline-offset: 3px; }

@keyframes dao-pulse { 50% { transform: scale(.72); opacity: .7; } }

@media (max-width: 1050px) {
    .tool-links { gap: 18px; }
    .dao-workspace { grid-template-columns: 240px minmax(0, 1fr); }
    .dao-reading-head { padding-inline: 28px; }
    .dao-chapter-body { padding-inline: 42px; }
    .dao-reading-status, .dao-chapter-footer { margin-inline: 28px; }
}

@media (max-width: 820px) {
    .dao-intro-grid { grid-template-columns: 1fr; gap: 22px; }
    .dao-intro-note { max-width: 640px; }
    .dao-workspace { grid-template-columns: 1fr; }
    .dao-directory { position: static; height: auto; min-height: 0; }
    .dao-chapter-list { grid-template-columns: repeat(6, minmax(0, 1fr)); max-height: 194px; }
    .dao-reading-card { min-height: 620px; }
}

@media (max-width: 720px) {
    .dao-reader-intro { padding: 34px 0 26px; }
    .dao-reader-intro::after { font-size: 130px; }
    .dao-intro-grid h1 { font-size: 49px; }
    .dao-intro-note { padding-left: 18px; }
    .dao-chapter-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .dao-reading-head { display: block; padding: 30px 20px 22px; }
    .dao-primary-actions { margin-top: 22px; }
    .dao-settings { margin-left: auto; }
    .dao-chapter-body { min-height: 360px; padding: 34px 20px 44px; line-height: 1.9; }
    .dao-reading-status, .dao-chapter-footer { margin-inline: 20px; }
    .dao-chapter-footer { grid-template-columns: 1fr 1fr; }
    .dao-chapter-footer a { grid-column: 1 / -1; grid-row: 2; text-align: center; }
    .dao-source-card { grid-template-columns: 1fr; gap: 20px; padding: 28px 24px; }
}

@media (max-width: 420px) {
    .dao-directory { padding-inline: 15px; }
    .dao-chapter-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .dao-chapter-seal { width: 47px; height: 47px; border-radius: 14px; }
    .dao-chapter-identity h2 { font-size: 29px; }
    .dao-listen-button { flex: 1; justify-content: center; }
    .dao-settings-panel { position: fixed; top: 78px; right: 14px; left: 14px; width: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .dao-reading-status.speaking .dao-status-dot { animation: none; }
}
