:root{color:#1d2525;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f4ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{background:linear-gradient(90deg,#e9e3d5 0,#f6f4ef 260px,#fbfaf7 260px);grid-template-columns:260px minmax(320px,440px) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .2s;display:grid}.app-shell.sidebar-collapsed{background:linear-gradient(90deg,#e9e3d5 0,#f6f4ef 64px,#fbfaf7 64px);grid-template-columns:64px minmax(280px,400px) minmax(0,1fr)}.app-shell.reader-focus,.app-shell.reader-focus.sidebar-collapsed{background:#fbfaf7;grid-template-columns:0 0 minmax(0,1fr)!important}.app-shell.reader-focus .list-pane,.app-shell.reader-focus .sidebar{display:none!important}.app-shell.reader-focus .detail-pane{border-left:0;grid-column:1/-1;max-width:none}.nav-canon-block{gap:3px;display:grid}.nav-bulei-list{margin-left:12px}.sidebar{border-right:1px solid #d8d3c7;flex-direction:column;gap:22px;min-width:0;padding:22px 16px;display:flex;overflow:auto}.app-shell.sidebar-collapsed .sidebar{align-items:stretch;gap:14px;padding:16px 8px}.app-shell.sidebar-collapsed .brand-block{justify-content:center}.sidebar-toolbar{flex-direction:column;gap:8px;display:flex}.sidebar-toggle{color:#3a3a34;background:#f8f5ee;border:1px solid #cfc7b8;border-radius:8px;min-height:34px}.app-shell.sidebar-collapsed .sidebar-toggle{width:100%}.brand-block{align-items:center;gap:12px;display:flex}.brand-mark{color:#fffaf0;background:#2f463d;border:1px solid #60574a;border-radius:8px;place-items:center;width:46px;height:46px;font-size:24px;font-weight:700;display:grid}h1,h2,h3,p{margin:0}h1{font-size:22px;line-height:1.1}.brand-block p{color:#69645b;margin-top:4px;font-size:13px}.locale-toggle{grid-template-columns:1fr 1fr;gap:6px;display:grid}.locale-toggle button,.nav-list button,.sutra-row{color:#25302d;background:0 0;border:1px solid #0000;border-radius:8px}.locale-toggle button{background:#f8f5ee;min-height:36px}.locale-toggle button.active,.nav-list button.active,.sutra-row.active{background:#fffaf0;border-color:#9f8f72}.nav-list{gap:6px;display:grid}.nav-group{gap:4px;display:grid}.nav-sublist{border-left:2px solid #d8d0c0;gap:3px;margin:0 0 4px 10px;padding:4px 0 4px 8px;display:grid}.nav-sublist button{color:#3d433f;min-height:34px;padding:0 10px;font-size:13px}.nav-parent-label{align-items:center;gap:6px;display:inline-flex}.nav-chevron{color:#7a7468;font-size:12px;font-style:normal;transition:transform .15s;display:inline-block}.nav-chevron.open{transform:rotate(90deg)}.list-filter-chip{background:#fffaf0;border:1px solid #d8d3c7;border-radius:8px;flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:0;max-height:none;margin:0 16px 8px;padding:6px 12px;font-size:13px;line-height:1.3;display:flex}.list-filter-chip>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.list-filter-chip button{color:#5b6b4a;background:0 0;border:0;flex:none;text-decoration:underline}.reader-focus-exit{z-index:40;color:#2f463d;background:#fffaf0;border:1px solid #9f8f72;border-radius:999px;min-height:40px;padding:0 14px;font-weight:600;position:fixed;top:14px;right:14px;box-shadow:0 8px 24px #28241c1f}.auth-gate{background:linear-gradient(160deg,#e9e3d5,#f6f4ef 45%,#fbfaf7);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fffaf0;border:1px solid #d8d3c7;border-radius:16px;gap:14px;width:min(420px,100%);padding:28px 24px;display:grid;box-shadow:0 18px 40px #28241c14}.auth-card h1{font-size:28px}.auth-help{color:#69645b;font-size:13px;line-height:1.5}.auth-submit{color:#fffaf0;background:#2f463d;border:1px solid #2f463d;border-radius:10px;min-height:42px;font-weight:600}.auth-submit:disabled{opacity:.55;cursor:not-allowed}.auth-switch{color:#5b6b4a;background:0 0;border:0;min-height:36px;text-decoration:underline}.auth-status{border-radius:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.45}.auth-status.ok{color:#2f463d;background:#e8f3ea;border:1px solid #b7d2bc}.auth-status.warn{color:#6a4b22;background:#f8efe3;border:1px solid #e0c79a}.nav-list button{text-align:left;justify-content:space-between;align-items:center;min-height:40px;padding:0 12px;display:flex}.nav-list strong{color:#737066;font-size:12px}.list-pane{background:#fbfaf7;border-right:1px solid #ded9ce;flex-direction:column;min-width:0;min-height:0;display:flex}.toolbar{border-bottom:1px solid #e0dcd2;flex:none;grid-template-columns:minmax(0,1fr) 116px;gap:10px;padding:16px;display:grid}.toolbar input,.toolbar select,.note-box textarea{color:#1d2525;background:#fffefb;border:1px solid #d2ccc0;border-radius:8px;width:100%}.toolbar input,.toolbar select{height:40px;padding:0 12px}.sutra-list{flex:auto;min-height:0;padding:8px;overflow:auto}.sutra-row{text-align:left;grid-template-columns:minmax(0,1fr) auto;gap:10px;width:100%;min-height:74px;padding:10px 12px;display:grid}.sutra-row:hover{background:#f3efe6}.row-main{gap:6px;min-width:0;display:grid}.row-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.35;overflow:hidden}.row-main small{color:#736f66}.row-flags{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:4px;display:flex}.row-flags span{color:#5e513d;border:1px solid #c9beaa;border-radius:6px;padding:2px 6px;font-size:12px}.detail-pane{background:#fffefb;min-width:0;padding:26px;overflow:auto}.detail-card{max-width:820px}.detail-heading{border-bottom:1px solid #e2ddd2;justify-content:space-between;gap:18px;padding-bottom:22px;display:flex}.eyebrow{color:#776f5f;margin-bottom:8px;font-size:13px;display:block}.detail-heading h2{max-width:680px;font-size:32px;line-height:1.2}.detail-heading p{color:#686157;margin-top:8px}.meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px;display:grid}.stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.stat-card{background:#fbfaf7;border:1px solid #ddd6c9;border-radius:8px;min-height:86px;padding:14px}.stat-card span{color:#6e675d;font-size:13px;display:block}.stat-card strong{margin-top:10px;font-size:22px;line-height:1.1;display:block}.switch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px;display:grid}.switch-grid label{background:#f8f5ee;border:1px solid #d8d0c1;border-radius:8px;align-items:center;gap:10px;min-height:48px;padding:0 14px;display:flex}.switch-grid input{accent-color:#2f6f5d;width:18px;height:18px}.note-box{gap:10px;margin-top:22px;display:grid}.note-box span,.history-list h3{color:#4d463c;font-size:15px}.note-box textarea{resize:vertical;padding:12px;line-height:1.7}.history-list{gap:8px;margin-top:28px;display:grid}.history-list div{border-bottom:1px solid #ece6dc;justify-content:space-between;gap:16px;padding:10px 0;display:flex}.history-list span{color:#675f54}.empty-state{color:#726b61;text-align:center;padding:30px 16px}@media (width<=980px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.app-shell.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.app-shell.reader-focus,.app-shell.reader-focus.sidebar-collapsed{grid-template-columns:minmax(0,1fr)!important}.detail-pane{border-top:1px solid #ded9ce;grid-column:1/-1}.app-shell.reader-focus .detail-pane{border-top:0}.stats-grid,.meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.app-shell{display:block}.sidebar,.list-pane{border-bottom:1px solid #ded9ce;border-right:0}.sidebar{gap:14px;padding:16px}.nav-list{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-list button{min-height:42px}.toolbar,.switch-grid,.stats-grid,.meta-grid{grid-template-columns:1fr}.detail-pane{padding:18px}.detail-heading h2{font-size:24px}}.tool-section{border-top:1px solid #e2ddd2;gap:10px;margin-top:26px;padding-top:22px;display:grid}.tool-section h3{color:#2f332f;font-size:18px}.tool-section p,.data-panel .detail-heading p{color:#6d665d;line-height:1.7}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px;display:grid}.action-grid button,.file-button{color:#27312e;cursor:pointer;background:#f8f5ee;border:1px solid #cfc6b7;border-radius:8px;place-items:center;min-height:44px;display:grid}.action-grid button:hover,.file-button:hover{background:#f0eadf}.file-button input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.message{border-radius:8px;margin-top:20px;padding:12px 14px;line-height:1.6}.message.success{color:#24543b;background:#edf7ef;border:1px solid #9dc4aa}.message.error{color:#7b3328;background:#fff1ed;border:1px solid #d6a097}@media (width<=680px){.action-grid{grid-template-columns:1fr}}.centered-state{color:#1d2525;text-align:center;background:#f6f4ef;place-content:center;justify-items:center;gap:14px;min-height:100vh;padding:24px;display:grid}.centered-state h1{font-size:28px}.centered-state p{color:#6d665d;max-width:520px;line-height:1.7}.detail-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.detail-actions button,.inline-file-button,.plan-actions button,.list-manager button{color:#27312e;background:#f8f5ee;border:1px solid #cfc6b7;border-radius:8px;min-height:38px;padding:0 12px}.detail-actions button:hover,.inline-file-button:hover,.plan-actions button:hover:not(:disabled),.list-manager button:hover:not(:disabled){background:#f0eadf}.list-manager{grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto auto;align-items:end;gap:10px;margin-top:18px;display:grid}.list-manager label{color:#5f584f;gap:6px;font-size:13px;display:grid}.list-manager input,.list-manager select{color:#1d2525;background:#fffefb;border:1px solid #cfc6b7;border-radius:8px;min-width:0;min-height:38px;padding:0 10px}.list-manager button:disabled{cursor:default;opacity:.45}.create-list{grid-template-columns:minmax(0,1fr) auto;margin-top:10px}.plan-list{gap:10px;margin-top:24px;display:grid}.plan-row{background:#fbfaf7;border:1px solid #ddd6c9;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.plan-title{color:#1d2525;text-align:left;background:0 0;border:0;gap:6px;min-width:0;padding:0;display:grid}.plan-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plan-title span{color:#716a60;font-size:13px}.plan-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.plan-actions button:disabled{cursor:default;opacity:.45}@media (width<=680px){.list-manager,.create-list,.plan-row{grid-template-columns:1fr}.plan-actions{justify-content:flex-start}}.mode-toggle{flex-shrink:0;align-self:flex-start;gap:6px;display:flex}.mode-toggle button,.theme-buttons button{color:#27312e;background:#f8f5ee;border:1px solid #cfc6b7;border-radius:8px;min-height:36px;padding:0 12px}.mode-toggle button.active,.theme-buttons button.active{background:#fffaf0;border-color:#7d6f59}.reader-shell{gap:18px;margin-top:22px;display:grid}.reader-controls{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.reader-controls label{color:#5b554d;gap:8px;font-size:13px;display:grid}.reader-controls input[type=range]{accent-color:#2f6f5d;width:100%}.theme-buttons{flex-wrap:wrap;gap:6px;display:flex}.reader-page{scroll-behavior:smooth;border:1px solid #ddd6c9;border-radius:8px;max-width:760px;min-height:440px;max-height:min(68vh,760px);padding:38px clamp(20px,5vw,56px);overflow:auto;box-shadow:0 18px 42px #38302514}.reader-page.light{color:#1d2525;background:#fffefb}.reader-page.warm{color:#241f19;background:#fbf2df}.reader-page.dark{color:#edf2ed;background:#18201e;border-color:#3f4642}.reader-page{scrollbar-color:#b8ad9c transparent}.reader-page header{border-bottom:1px solid;margin-bottom:30px;padding-bottom:18px}.reader-page header span,.reader-page header p{opacity:.68;font-size:.72em}.reader-page h3{margin:8px 0;font-size:1.35em;line-height:1.35}.reader-page p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0 0 1.25em}.reader-cbeta-body{overflow-wrap:anywhere}.reader-page.cbeta-html .cbeta-lb,.reader-page.cbeta-html .cbeta-facsimile,.reader-page.cbeta-html .cbeta-note-marker,.reader-page.cbeta-html .cbeta-footnotes{display:none}.reader-page.cbeta-html.show-lineheads .cbeta-lb{color:#7a6a4a;white-space:nowrap;background:#78643c1f;border-radius:4px;margin-right:.35em;padding:0 .25em;font-family:ui-monospace,monospace;font-size:.72em;display:inline}.reader-page.cbeta-html.show-facsimile .cbeta-facsimile{color:#5b6b4a;white-space:nowrap;margin:0 .2em;font-size:.78em;display:inline}.reader-page.cbeta-html.show-notes .cbeta-note-marker{color:#8a4b2f;cursor:help;vertical-align:super;margin:0 .1em;font-size:.75em;font-weight:600;display:inline}.reader-page.cbeta-html.show-notes .cbeta-footnotes{opacity:.92;border-top:1px dashed #78643c59;margin-top:1.75em;padding-top:1em;font-size:.88em;line-height:1.55;display:block}.reader-page.cbeta-html .cbeta-footnote{margin:0 0 .55em}.reader-page.cbeta-html .cbeta-footnote-id{color:#8a4b2f;margin-right:.35em;font-family:ui-monospace,monospace;font-size:.9em}.reader-page.dark.show-lineheads .cbeta-lb{color:#c9b896;background:#ffffff14}.reader-page.dark.show-notes .cbeta-note-marker,.reader-page.dark .cbeta-footnote-id{color:#e0a888}.cbeta-chrome-toggles button{font-size:12px}.reader-footer{color:#6d665d;justify-content:space-between;align-items:center;gap:14px;max-width:760px;font-size:13px;display:flex}.reader-footer .inline-file-button{min-height:38px;padding:0 12px}.reader-footer button{color:#27312e;background:#f8f5ee;border:1px solid #cfc6b7;border-radius:8px;min-height:38px;padding:0 12px}@media (width<=780px){.detail-heading{display:grid}.reader-controls{grid-template-columns:1fr}.reader-footer{flex-direction:column;align-items:stretch}}.bookmark-list{gap:12px;margin-top:24px;display:grid}.bookmark-row{background:#fbfaf7;border:1px solid #ddd6c9;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(180px,280px) auto;align-items:center;gap:10px;padding:12px;display:grid}.bookmark-title{color:#1d2525;text-align:left;background:0 0;border:0;gap:6px;min-width:0;padding:0;display:grid}.bookmark-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bookmark-title span,.bookmark-title em{color:#716a60;font-size:13px;font-style:normal}.bookmark-row textarea{resize:vertical;color:#1d2525;background:#fffefb;border:1px solid #d2ccc0;border-radius:8px;width:100%;padding:8px;line-height:1.5}.bookmark-row>button:last-child,.reader-footer-actions button{color:#27312e;background:#f8f5ee;border:1px solid #cfc6b7;border-radius:8px;min-height:38px;padding:0 12px}.reader-footer-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.reader-footer-actions button:disabled{cursor:default;opacity:.58}@media (width<=820px){.bookmark-row{grid-template-columns:1fr}.reader-footer-actions{justify-content:flex-start}}.sutra-note-box{margin-top:18px}.notes-list{gap:12px;margin-top:24px;display:grid}.note-row{background:#fbfaf7;border:1px solid #ddd6c9;border-radius:8px;grid-template-columns:minmax(180px,260px) minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px;display:grid}.note-title{color:#1d2525;text-align:left;background:0 0;border:0;gap:6px;min-width:0;padding:0;display:grid}.note-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.note-title span{color:#716a60;font-size:13px}.note-row p{color:#413c35;-webkit-line-clamp:4;-webkit-box-orient:vertical;line-height:1.6;display:-webkit-box;overflow:hidden}.note-row>button:last-child{color:#27312e;background:#f8f5ee;border:1px solid #cfc6b7;border-radius:8px;min-height:38px;padding:0 12px}@media (width<=860px){.note-row,.review-row{grid-template-columns:1fr}}.session-review{gap:12px;margin-top:24px;display:grid}.session-review h3{color:#2f332f;font-size:18px}.daily-bars,.review-grid,.session-list{gap:10px;display:grid}.daily-bar-row{color:#5b554d;grid-template-columns:64px minmax(0,1fr) 82px;align-items:center;gap:10px;font-size:13px;display:grid}.daily-bar-row div{background:#ece5d8;border-radius:999px;height:10px;overflow:hidden}.daily-bar-row i{border-radius:inherit;background:#2f6f5d;height:100%;display:block}.daily-bar-row strong{color:#27312e;text-align:right;font-weight:650}.review-row{color:#5b554d;background:#fbfaf7;border:1px solid #ddd6c9;border-radius:8px;grid-template-columns:minmax(90px,1fr) auto auto;align-items:center;gap:12px;padding:12px;display:grid}.review-row strong{color:#27312e;font-weight:700}.review-row em{color:#716a60;font-size:13px;font-style:normal}.session-row{background:#fbfaf7;border:1px solid #ddd6c9;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.session-row div{gap:5px;min-width:0;display:grid}.session-row strong{color:#1d2525;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-row span,.session-row em{color:#716a60;font-size:13px;font-style:normal}.session-row em{color:#27312e;font-weight:650}@media (width<=680px){.daily-bar-row{grid-template-columns:56px minmax(0,1fr)}.daily-bar-row strong{text-align:left;grid-column:2}.session-row{grid-template-columns:1fr}}.reader-paragraph{gap:8px;margin-bottom:1.25em;display:grid}.reader-paragraph p{margin-bottom:0}.reader-paragraph textarea{resize:vertical;width:100%;color:inherit;font:inherit;opacity:.72;background:#ffffff7a;border:1px solid #0000;border-radius:8px;padding:8px 10px;font-size:.66em;line-height:1.6}.reader-paragraph textarea:focus{opacity:1;border-color:#b9ad9b;outline:none}.reader-page.dark .reader-paragraph textarea{background:#ffffff14}.reader-page.vertical{writing-mode:vertical-rl;text-orientation:mixed;max-width:min(760px,100%);min-height:560px}.reader-page.vertical header{border-bottom:0;border-right:1px solid;margin-bottom:0;margin-left:28px;padding-bottom:0;padding-right:18px}.reader-page.vertical h3{margin:0 8px}.reader-page.vertical .reader-paragraph{margin-left:1.25em;margin-right:0}.reader-page.vertical .reader-paragraph textarea{writing-mode:horizontal-tb;min-width:7em;max-height:100%}.import-log-list{gap:10px;display:grid}.import-log-row{background:#fbfaf7;border:1px solid #ddd6c9;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px;display:grid}.import-log-row.success{border-color:#bdd4c4}.import-log-row.error{border-color:#ddb3aa}.import-log-row div{gap:5px;min-width:0;display:grid}.import-log-row strong{color:#1d2525}.import-log-row span,.import-log-row p,.import-log-row em{color:#716a60;font-size:13px;font-style:normal;line-height:1.5}.import-log-row p{overflow-wrap:anywhere}.import-log-row em{color:#27312e;font-weight:650}@media (width<=680px){.import-log-row{grid-template-columns:1fr}}
