@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600&display=swap');
:root{color-scheme:light;--ink:#19372f;--green:#173c31;--lime:#d8ee9a;--muted:#6c7b73;--line:#dbe1d9;--surface:#f8faf6;--workspace:#e8ede7;font-family:'DM Sans','Noto Sans SC',sans-serif;color:var(--ink);font-synthesis:none;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--surface)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;transition:background .16s,transform .16s}button:active{transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #96b7ff;outline-offset:3px}a{color:inherit;text-decoration:none}button{border:0}h1,h2,p{margin:0}.topbar{height:82px;background:#112e27;color:#eef4e7;display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:20px}.brand{display:flex;gap:13px;align-items:center;font-size:32px;letter-spacing:-1.5px;font-weight:600}.brand-mark{font-family:Georgia,serif;font-style:italic;font-size:36px;color:var(--lime);border:1px solid #789281;border-radius:9px;width:40px;height:40px;line-height:38px;text-align:center}.brand-caption{font-size:14px;font-weight:400;letter-spacing:2px;margin-left:20px;color:#b3c9bc}.top-note{font-size:14px;letter-spacing:3px;color:#bdcdbc}.quiet{background:transparent;color:inherit;padding:10px 14px;border-radius:7px;font-size:14px}.quiet:hover{background:#ffffff12}.topbar .quiet{color:#dbe8d8}.workspace{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 82px)}.sidebar{padding:30px 24px 20px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column}.section-label{display:flex;justify-content:space-between;color:#64776b;font-size:13px;letter-spacing:1.5px;margin-bottom:17px}.section-label span{font-size:12px;color:#9aaa9f}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;border-radius:7px;padding:12px 17px;font-size:14px;font-weight:600}.primary{background:var(--green);color:white}.primary:hover:enabled{background:#245844}.secondary{background:transparent;color:var(--ink);border:1px solid #cbd4c9}.secondary:hover:enabled{background:#edf2e9}.full{width:100%}.import-links{display:flex;justify-content:space-between;margin:13px 0 27px;gap:8px}.text-button{background:none;padding:4px 0;color:#667769;font-size:12px;text-decoration:underline;text-underline-offset:4px}.score-card{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:2px;color:#6e7e71;text-transform:uppercase}.score-card h1{font-size:19px;line-height:1.6;margin:11px 0 6px;word-break:break-word;font-weight:500}.score-card p{font-size:12px;color:#7a887b;line-height:1.7}.step{display:flex;gap:11px;margin:6px 0 16px;align-items:flex-start}.step-number{border:1px solid #ccd6c8;border-radius:100%;width:23px;min-width:23px;height:23px;font-size:12px;display:grid;place-items:center}.step b{font-size:14px;font-weight:500}.step p{font-size:12px;color:#7c887d;line-height:1.8;margin-top:4px}.steps .quiet{margin:6px 0 20px}.anchors{max-height:175px;overflow:auto}.anchors p{font-size:12px;line-height:1.9}.anchor{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:6px;margin-bottom:5px;padding:6px 9px;font-size:12px;background:transparent;width:100%;color:var(--ink)}.anchor.active{background:#e4edd5;border-color:#aec48d}.anchor .anchor-remove{border:0;background:none;color:#9a5151;cursor:pointer}.sidebar-bottom{display:flex;gap:10px;margin-top:auto;padding-top:30px;align-items:center}.privacy-icon{font-size:24px;color:#678675}.sidebar-bottom p{font-size:11px;line-height:1.9;color:#6d8071}.sidebar-bottom p span{color:#95a090}.reader{min-width:0;padding:0 30px 0;background:var(--workspace);display:flex;flex-direction:column}.reader-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:15px}.reader-location{display:flex;gap:20px;align-items:center}.reader-location .eyebrow{font-size:10px}.reader-location #page-label{font-size:12px;color:#6d8071}.view-controls{display:flex;align-items:center;gap:4px}.icon-button{padding:6px 10px;height:32px;background:transparent;border-radius:4px;font-size:20px;color:#637666}.icon-button.selected{background:#f8faf4;box-shadow:0 1px 3px #00000010;color:#244b39}.separator{height:17px;border-left:1px solid #c3cfc1;margin:0 9px}.score-stage{position:relative;min-height:470px;flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;border:1px solid #d6ddd2;border-radius:5px;background:#dfe6dc;background-image:radial-gradient(#b8c6b633 .8px,transparent .8px);background-size:7px 7px;padding:25px;outline-offset:-4px}.empty-state{background:#fcfdf8;width:min(100%,570px);min-height:500px;padding:52px 45px;box-shadow:0 7px 24px #22362912;position:relative;border-radius:2px}.empty-kicker{font-size:10px;letter-spacing:2.2px;color:#7f937d}.empty-state h2{font-family:'Noto Sans SC',sans-serif;font-size:clamp(34px,3.5vw,50px);font-weight:400;letter-spacing:1px;line-height:1.5;margin:28px 0 20px}.empty-state p{font-size:14px;line-height:2;color:#758470}.empty-state .primary{margin-top:26px;background:#dceaab;color:#213d2e;gap:30px}.empty-state small{display:block;font-size:11px;color:#939f8b;margin-top:17px}.pages{display:flex;gap:20px;align-items:flex-start;justify-content:center;width:100%;align-self:flex-start}.pages[hidden]{display:none}.sheet{flex:0 1 auto;min-width:0;background:white;box-shadow:0 4px 20px #16352919;line-height:0}.sheet canvas{max-width:100%;height:auto;display:block}.render-status{position:absolute;inset:20px auto auto 50%;transform:translateX(-50%);padding:10px 20px;background:#183b30e8;color:white;border-radius:100px;z-index:2;font-size:13px}.page-navigation{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.page-navigation .secondary{border:0;font-weight:400;padding:6px 8px;min-height:32px;font-size:13px}.page-navigation input{width:42px;padding:5px;text-align:center;border:1px solid #cbd6c7;border-radius:4px;background:#f5f8f1;color:var(--ink);font-size:13px;appearance:textfield}.page-navigation input::-webkit-inner-spin-button{display:none}#page-count{margin-left:7px;font-size:12px;color:#7b8a75}.listening-bar{display:flex;align-items:center;gap:16px;border:1px solid #ccd6c6;background:#f5f8ef;min-height:87px;border-radius:9px;padding:17px 20px}.listening-info{display:flex;gap:13px;align-items:center;margin-right:auto}.listening-info strong{font-size:14px;font-weight:500}.listening-info p{font-size:12px;color:#7a8973;margin-top:5px}.mic-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e7eedc;color:#789664;font-size:23px}.listening-bar.listening .mic-icon{background:#d4eaa6;color:#416a28}.listening-bar .primary{background:var(--lime);color:#273f25;white-space:nowrap}.meter{display:flex;gap:3px;align-items:center;height:25px;margin:0 10px}.meter span{height:6px;width:3px;background:#c5d1b7;border-radius:2px;transition:height .12s,background .12s}.reader-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;color:#84917b;font-size:11px}.reader-footer label{font-size:12px}.reader-footer select{background:transparent;border:0;color:#506649;font-size:12px;padding:5px}.reader-footer kbd{font-size:10px;border:1px solid #c4d0bd;border-radius:3px;padding:2px 4px;margin:0 3px}.reference-panel{background:#f8faf3;padding:17px 20px;border:1px solid #ccd6c6;border-radius:8px;margin-bottom:15px}.reference-heading{display:flex;justify-content:space-between;font-size:13px;gap:15px}.reference-heading span{color:#819173}.reference-panel audio{width:100%;height:35px;margin:14px 0}.reference-actions{display:flex;gap:8px;flex-wrap:wrap}.reference-panel p{font-size:12px;color:#7b8873;margin-top:10px;line-height:1.8}dialog{border:1px solid #ced9c7;border-radius:14px;max-width:560px;width:calc(100% - 32px);padding:35px;color:var(--ink);box-shadow:0 25px 100px #061e2840}dialog::backdrop{background:#10292099;backdrop-filter:blur(4px)}dialog h2{font-size:25px;margin:15px 0 22px;font-weight:500;line-height:1.6}dialog p,dialog li{font-size:14px;line-height:1.9;color:#6d7b69}dialog li{padding:6px 0}dialog ol{padding-left:22px}dialog p{margin-bottom:17px}dialog .dialog-close{position:absolute;top:12px;right:12px}.dialog-actions,.url-row{display:flex;gap:10px;flex-wrap:wrap}.url-row{flex-wrap:nowrap;margin:12px 0}.url-row input{min-width:0;width:100%;border:1px solid var(--line);border-radius:6px;padding:10px}dialog label{font-size:14px}dialog hr{border:0;border-top:1px solid var(--line);margin:24px 0}.muted{color:var(--muted)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#173c31;color:white;max-width:calc(100% - 32px);padding:14px 23px;border-radius:9px;z-index:10;font-size:14px;line-height:1.7;box-shadow:0 5px 30px #0003}.reader:fullscreen{padding:0 24px;height:100vh}.reader:fullscreen .score-stage{min-height:0}.reader:fullscreen .reader-toolbar,.reader:fullscreen .reader-footer{display:none}.busy{cursor:progress}
@media(min-width:1450px){.reader{padding:0 50px}.score-stage{padding:32px}.workspace{grid-template-columns:300px minmax(0,1fr)}.sidebar{padding:34px 28px}.empty-state{min-height:570px;padding-top:65px}}
@media(max-width:900px){.workspace{grid-template-columns:240px minmax(0,1fr)}.sidebar{padding:23px 18px}.reader{padding:0 15px}.top-note{display:none}.reader-location .eyebrow{display:none}.score-stage{padding:12px;min-height:420px}.empty-state{padding:35px 25px;min-height:420px}.listening-bar{padding:13px;gap:10px;flex-wrap:wrap}.meter{display:none}.reader-footer>span:last-child{display:none}.pages{gap:8px}.reader-footer{min-height:44px}}
@media(max-width:650px){.topbar{height:66px;padding:0 18px}.brand{font-size:27px}.brand-caption{margin-left:10px;font-size:12px;letter-spacing:1px}.brand-mark{width:32px;height:32px;line-height:30px;font-size:28px}.topbar .quiet{padding:8px;font-size:12px}.workspace{display:flex;flex-direction:column;min-height:calc(100vh - 66px)}.sidebar{padding:18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;border-right:0;border-bottom:1px solid var(--line)}.sidebar>.section-label,.sidebar-bottom{display:none}.sidebar>.primary{align-self:start}.import-links{margin:0;align-items:center;gap:10px;justify-content:flex-end}.score-card{grid-column:1/-1;margin:0;padding:11px 0 0;border-bottom:0}.score-card .eyebrow{display:none}.score-card h1{font-size:17px;margin:0}.score-card p{font-size:11px}.steps{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.steps .step{display:none}.steps>.quiet{border:1px solid #cbd4c9;margin:0}.anchors{grid-column:1/-1;display:flex;gap:6px;max-height:60px;overflow:auto}.anchors>p{margin:0;font-size:11px}.anchor{white-space:nowrap;width:auto;min-width:110px;flex-shrink:0}.reader{padding:0 12px}.reader-toolbar{min-height:54px}.score-stage{min-height:360px;max-height:68vh;padding:8px}.empty-state{padding:28px;min-height:350px}.empty-kicker{font-size:8px}.empty-state h2{font-size:35px;margin:20px 0 10px}.empty-state p{font-size:13px}.empty-state .primary{margin-top:18px}.empty-state small{font-size:10px}.page-navigation{padding:8px 0}.listening-bar .primary{margin-left:auto}.listening-info strong{font-size:13px}.listening-info p{font-size:11px}.listening-bar{gap:9px}.mic-icon{display:none}.reference-panel{padding:14px}.reference-actions button{font-size:12px;padding:10px}.reader-footer{font-size:10px;gap:5px}dialog{padding:27px}.reader:fullscreen{padding:0 8px}.reader:fullscreen .score-stage{max-height:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.performance-only{display:none}.view-controls{flex-wrap:wrap;justify-content:flex-end}#performance-open{padding:8px 12px;white-space:nowrap}.reader-toolbar{flex-wrap:wrap;padding:8px 0}.performance-setup{padding:16px;margin-bottom:18px;border:1px solid var(--line);border-radius:8px}.performance-setup p{margin-bottom:10px}#performance-dialog p{font-size:1rem}#performance-dialog .performance-notice{color:#694919;background:#fbf3df;border-left:3px solid #cba455;padding:12px 14px}#performance-dialog .error{color:#a03131}
body.performance-mode{overflow:hidden;background:#151c19}body.performance-mode>.topbar,body.performance-mode .sidebar,body.performance-mode dialog,body.performance-mode #toast{display:none!important}body.performance-mode .workspace{display:block;min-height:0}body.performance-mode .reader{position:fixed;inset:0;z-index:100;width:100%;height:100vh;height:100dvh;min-height:0;padding:env(safe-area-inset-top) max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left));background:#151c19}body.performance-mode .reader>:not(.score-stage):not(.page-navigation){display:none!important}body.performance-mode .score-stage{flex:1;min-height:0;max-height:none;overflow:hidden;padding:8px;border:0;border-radius:0;background:#151c19;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}body.performance-mode .pages{align-self:center}body.performance-mode .render-status,body.performance-mode .page-jump{display:none!important}body.performance-mode .ink-overlay{pointer-events:none!important}body.performance-mode .page-navigation{flex-wrap:wrap;justify-content:center;gap:8px 16px;padding:8px 0;color:#e5ece7}body.performance-mode .performance-only{display:inline-flex}body.performance-mode .performance-position{flex-direction:column;gap:2px;text-align:center;min-width:88px;font-size:1rem;font-variant-numeric:tabular-nums}body.performance-mode #performance-follow-status{font-size:.875rem;color:#b1c0b6}body.performance-mode .page-navigation .secondary{color:#e5ece7;min-height:44px;padding:10px 16px;font-size:1rem;background:#26332d;border:1px solid #47584d}body.performance-mode .page-navigation .secondary:hover:enabled{background:#35473d}body.performance-mode #performance-exit{min-height:44px;font-size:.875rem;color:#c2cec6;margin-left:auto}body.performance-mode #performance-error{flex-basis:100%;text-align:center;font-size:.875rem;color:#f0ce8d;line-height:1.5}body.performance-mode #performance-error[hidden]{display:none}@media(max-width:480px){body.performance-mode .page-navigation{gap:6px}body.performance-mode .page-navigation .secondary{padding:10px}body.performance-mode #performance-exit{padding:10px 8px}body.performance-mode .performance-position{min-width:80px}}
.library-category-card{background:#f5f9ed;border:1px solid #d6dfcc;border-radius:8px;min-height:130px;padding:24px;text-align:left;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;gap:12px}.library-category-card strong{font-size:19px;font-weight:500;line-height:1.5}.library-category-card span{font-size:14px;color:#6d7b69}.library-category-card:hover{background:#e5efcf}.metadata-form{display:grid;gap:12px}.metadata-form label{display:grid;gap:6px;font-size:14px}.metadata-form input{padding:10px;border:1px solid var(--line);border-radius:5px;font-size:16px;width:100%;box-sizing:border-box}
.library-entry{margin-bottom:10px;justify-content:space-between}.library-dialog{max-width:1120px;width:calc(100% - 32px);height:min(88dvh,1000px);padding:30px}.library-dialog h2{margin:10px 0;font-size:27px}.library-dialog>p{font-size:14px}.library-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 0 20px}.library-filters input{flex:1;min-width:220px;padding:12px;border:1px solid var(--line);border-radius:6px;font-size:16px}.library-filters select,.ink-tools select{padding:7px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink)}.library-body{display:grid;grid-template-columns:210px minmax(0,1fr);gap:22px}.library-groups{display:flex;flex-direction:column;gap:6px;align-self:start;position:sticky;top:0;max-height:60dvh;overflow:auto}.library-group{background:transparent;color:var(--ink);padding:12px;text-align:left;font-size:14px;border-radius:5px}.library-group.selected{background:#d8ee9a}.library-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.library-card{border:1px solid var(--line);border-radius:8px;padding:18px;background:#f8fbf6;min-width:0}.library-card h3{font-size:17px;line-height:1.6;margin:0 0 10px;overflow-wrap:anywhere}.library-card p{font-size:14px;margin:0 0 10px}.library-card small{font-size:12px;line-height:1.7;color:var(--muted)}.library-card details{font-size:13px;line-height:1.7;margin:12px 0;overflow-wrap:anywhere}.library-card details p{font-size:13px;margin-top:8px}.library-card>.secondary{font-size:14px;display:inline-flex;margin-top:5px}#library-count{font-size:14px;position:sticky;top:0;background:white;padding:8px 0}.sheet{position:relative}.sheet .ink-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;max-width:none}.sheet .ink-overlay.writing{pointer-events:auto;touch-action:none;cursor:crosshair;user-select:none;-webkit-user-select:none}.ink-toolbar{flex-shrink:0;padding:8px 0 12px;line-height:1.7}.ink-toolbar[hidden]{display:none}.ink-tools{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.ink-tools button{font-size:14px;padding:7px 9px;min-height:34px}.ink-tools button.selected{background:#d8ee9a}.ink-tools label{font-size:13px;margin-left:4px}.ink-toolbar small{display:block;font-size:12px;color:#6d7b69;margin-top:6px}.pages.zoomed{width:max-content;max-width:none;justify-content:flex-start}.pages.zoomed .sheet{flex-shrink:0}.score-stage.zoomed{display:block}.reader:fullscreen .ink-toolbar{padding:10px 0}
@media(max-width:750px){.library-results{grid-template-columns:1fr}.library-body{grid-template-columns:140px minmax(0,1fr);gap:12px}.library-dialog{padding:22px 16px}.library-filters input{min-width:100%;width:100%}.library-group{font-size:13px;padding:10px 7px}.library-card{padding:14px}.library-dialog h2{font-size:23px}.library-entry{grid-column:1/-1;margin:0}.ink-tools button{font-size:13px;padding:7px}.ink-toolbar small{font-size:12px}.ink-tools label{font-size:12px}.ink-tools select{max-width:110px}}
.reader{height:calc(100dvh - 82px);overflow:hidden}.sidebar{max-height:calc(100dvh - 82px);overflow-y:auto}.reader-toolbar,.page-navigation,.listening-bar,.reader-footer,.reference-panel{flex-shrink:0}.score-stage{min-height:0}.empty-state{min-height:440px}.pages{align-self:center}.reader:fullscreen{height:100dvh}.score-card>button{margin-top:14px}
@media(max-width:650px){.reader{height:calc(100dvh - 80px);min-height:620px}.sidebar{max-height:none;overflow:visible}.score-stage{max-height:none;min-height:180px}.empty-state{min-height:350px}.reader:fullscreen{height:100dvh;min-height:0}}
.library-download-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 16px;font-size:14px;line-height:1.6}.library-download-actions span{color:var(--muted)}.library-download-actions button{font-size:14px;white-space:nowrap}
.library-card .library-open-status{font-size:14px;line-height:1.7;color:var(--green);margin:0 0 12px}.library-card .library-open-status.error{color:#a03131}
.library-breadcrumbs{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-height:40px;font-size:14px}.library-breadcrumbs .quiet{color:var(--green);padding:7px 5px}.library-breadcrumbs strong{font-weight:500}.work-card>.secondary{display:flex;margin-top:14px}.work-card .library-open-status{margin:10px 0}.work-versions>summary{cursor:pointer;color:var(--green);font-size:14px}.work-version{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.work-version>strong{font-size:14px;line-height:1.7;display:block}.work-version>p{font-size:13px;overflow-wrap:anywhere;margin:5px 0}.work-version .secondary{font-size:14px;padding:8px 11px}.edition-toolbar{padding:12px 15px;background:#f8fbf6;border:1px solid var(--line);border-radius:7px;margin:0 0 6px;flex-shrink:0}.edition-toolbar[hidden]{display:none}.edition-toolbar>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.edition-toolbar strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}.edition-toolbar label{display:flex;align-items:center;gap:8px;font-size:14px;min-width:0;max-width:100%}.edition-toolbar select{min-width:0;max-width:100%;padding:8px;border:1px solid var(--line);border-radius:5px;background:white;font-size:14px;color:var(--ink)}.edition-toolbar p{font-size:13px;line-height:1.7;margin:5px 0 0;color:var(--muted)}.edition-toolbar .library-open-status{font-size:14px;color:var(--green)}.edition-toolbar .error{color:#a03131}.library-body>section{min-width:0}@media(max-width:750px){.edition-toolbar{padding:10px}.edition-toolbar label{width:100%}.edition-toolbar select{flex:1;width:0}.library-body{grid-template-columns:130px minmax(0,1fr)}}
/* Native hidden must win over component display rules. */
[hidden]{display:none!important}
