:root{--ink:#182229;--muted:#66727a;--line:#d9dee1;--red:#d71920;--teal:#126e70;--teal-soft:#e5f1ef}*{box-sizing:border-box}html{background:#f4f5f5}body{color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}.exam-shell{background:#fff;grid-template-rows:72px 48px minmax(0,1fr) 68px;width:100%;min-width:0;height:100vh;min-height:650px;display:grid;overflow:hidden}.exam-header{z-index:2;border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:26px;padding:0 24px;display:flex}.wordmark{color:var(--red);letter-spacing:-1.3px;white-space:nowrap;background:0 0;border:0;padding:0;font-size:23px;font-weight:950}.wordmark span{color:var(--ink);letter-spacing:.16em;margin-left:4px;font-size:11px}.candidate{align-items:center;gap:9px;min-width:0;margin-right:auto;display:flex}.candidate-dot{background:#5aaf7b;border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 4px #e7f4ec}.candidate strong,.candidate span{white-space:nowrap;text-overflow:ellipsis;max-width:min(27vw,330px);display:block;overflow:hidden}.candidate strong{font-size:13px}.candidate span{color:var(--muted);margin-top:2px;font-size:11px}.save-state{color:#758087;align-items:center;gap:6px;font-size:10px;display:flex}.save-state>span{background:#6bae82;border-radius:50%;width:6px;height:6px}.save-state>span.saving{background:#e9a34a;animation:1s infinite pulse}.header-actions{align-items:center;gap:3px;height:100%;display:flex}.tool-button{color:#4e5b62;background:0 0;border:0;min-width:53px;height:100%;padding:8px 7px 5px}.tool-button b,.tool-button span{display:block}.tool-button b{color:#27343a;height:20px;font-size:15px}.tool-button span{margin-top:2px;font-size:9px}.tool-button:hover{background:#f5f6f6}.highlight-icon{-webkit-text-decoration:underline #ffd861;text-decoration:underline #ffd861;text-decoration-thickness:5px}.timer{border:0;border-left:1px solid var(--line);text-align:left;background:0 0;min-width:98px;height:100%;margin-left:3px;padding:8px 16px}.timer span,.timer strong{display:block}.timer span{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:9px}.timer strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:3px;font-size:18px}.finish-button{color:var(--red);white-space:nowrap;background:#fff;border:1px solid #e9aaad;border-radius:4px;padding:10px 14px;font-size:11px;font-weight:750}.finish-button:hover{background:#fff5f5}.notice-bar{color:#fff;background:#222b30;align-items:center;gap:18px;padding:0 24px;display:flex}.notice-bar>span{color:#b7c0c4;letter-spacing:.14em;font-size:9px}.notice-bar strong{white-space:nowrap;font-size:12px}.notice-bar p{color:#d4d9db;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.notice-bar button{color:#253137;white-space:nowrap;background:#fff;border:0;border-radius:3px;margin-left:auto;padding:7px 11px;font-size:11px;font-weight:750}.notice-bar .library-button{color:#fff;background:#3a454a;margin-left:-10px}.workspace{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);width:100%;min-width:0;min-height:0;display:grid;overflow:hidden}.passage-pane,.question-pane{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c4cacc transparent;min-width:0;padding:30px clamp(28px,4vw,60px) 90px;overflow:auto}.passage-pane{--reading-scale:1;background:#fff;border-right:1px solid #cfd4d7}.pane-label{color:var(--red);letter-spacing:.12em;margin-bottom:16px;font-size:9px;font-weight:800}.passage-pane h1{font-family:Georgia,Times New Roman,serif;font-size:calc(clamp(28px, 3vw, 41px) * var(--reading-scale));letter-spacing:-.025em;max-width:700px;margin:0;line-height:1.08}.intro{font-size:calc(12px * var(--reading-scale));color:var(--muted);border-left:3px solid var(--red);max-width:650px;margin:20px 0 28px;padding-left:13px;line-height:1.55}.passage-copy{font-family:Georgia,Times New Roman,serif;font-size:calc(16px * var(--reading-scale));max-width:760px;line-height:1.78}.passage-copy p{margin:0 0 21px}.passage-copy b{font-family:Arial,sans-serif;font-size:calc(11px * var(--reading-scale));margin-right:9px}.passage-table-block{margin:6px 0 27px;overflow-x:auto}.passage-block-label{color:var(--ink);font-family:Arial,sans-serif;font-size:calc(11px * var(--reading-scale));margin:0 0 8px;font-weight:850}.passage-table-block table{border-collapse:collapse;width:min(100%,680px);font-family:Arial,Helvetica,sans-serif;font-size:calc(12px * var(--reading-scale));line-height:1.35}.passage-table-block caption{caption-side:top;text-align:left;color:var(--ink);padding:0 0 9px;font-weight:800}.passage-table-block th,.passage-table-block td{text-align:left;border:1px solid #d8dfe1;padding:7px 10px}.passage-table-block th{color:#314247;background:#eef3f2;font-weight:800}.passage-table-block td:last-child,.passage-table-block th:last-child{text-align:center;font-variant-numeric:tabular-nums;width:190px}.passage-caption{color:#59666c;font-family:Arial,Helvetica,sans-serif;font-size:calc(11px * var(--reading-scale));line-height:1.5;margin:11px 0 0!important}.passage-option-bank{font-family:Arial,Helvetica,sans-serif;font-size:calc(12px * var(--reading-scale));background:#f6f9f8;border:1px solid #dbe2e2;border-radius:6px;margin:14px 0 27px;padding:12px 14px}.passage-option-bank>strong{color:var(--teal);font-size:calc(10px * var(--reading-scale));letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px;display:block}.passage-option-bank>div{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:7px 14px;display:grid}.passage-option-bank span{color:#36464b}.passage-option-bank b{width:18px;color:var(--red);font-size:calc(10px * var(--reading-scale));margin-right:5px;display:inline-block}.user-highlight{color:inherit;background:#ffe487;padding:2px 0}.question-pane{background:#f7f8f8;padding-left:clamp(24px,3vw,42px);padding-right:clamp(24px,3vw,42px)}.question-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.question-heading span{color:var(--red);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:800}.question-heading h2{margin:5px 0 0;font-size:18px}.question-heading .answered-count{color:var(--muted);letter-spacing:0;text-transform:none;white-space:nowrap;font-weight:400}.question-card{background:#fff;border:1px solid #e0e3e5;border-radius:7px;gap:15px;min-width:0;margin-bottom:14px;padding:19px;transition:border-color .15s,box-shadow .15s;display:flex}.active-question{border-color:#73a5a6;box-shadow:0 0 0 1px #73a5a6}.question-number{color:#fff;background:#253238;border:0;border-radius:50%;flex:0 0 25px;place-items:center;height:25px;padding:0;font-size:10px;font-weight:800;display:grid}.question-number:hover{background:var(--red)}.question-body{overflow-wrap:anywhere;flex:auto;min-width:0}.question-body>p{margin:2px 0 14px;font-size:13px;font-weight:750;line-height:1.5}.question-body label{color:#3f4b51;cursor:pointer;border-radius:4px;align-items:flex-start;gap:9px;min-width:0;margin:3px 0;padding:9px 10px;font-size:12px;line-height:1.4;display:flex}.question-body label span{overflow-wrap:anywhere;min-width:0}.question-body label:hover{background:#f4f6f6}.question-body label.selected{background:var(--teal-soft);color:#174c4d}.question-body input[type=radio],.question-body input[type=checkbox]{accent-color:var(--teal);flex:none;margin:1px 0 0}.short-answer{background:#fff;border:1px solid #bdc5c9;border-radius:4px;outline:0;width:min(100%,360px);padding:10px 11px;font-size:13px}.compact-answer{color:#34434a;background:#fff;border:1px solid #bdc5c9;border-radius:4px;outline:0;width:100%;max-width:520px;padding:9px 10px;font-size:12px}.short-answer:focus,.essay-answer:focus{border-color:var(--teal);box-shadow:0 0 0 2px #dcebea}.essay-answer{resize:vertical;border:1px solid #bdc5c9;border-radius:4px;outline:0;width:100%;min-height:320px;padding:13px;font-family:Georgia,serif;font-size:15px;line-height:1.6}.word-count{text-align:right;color:var(--muted);margin-top:6px;font-size:10px;display:block}.question-nav{z-index:3;background:#fff;border-top:1px solid #ccd1d3;align-items:stretch;gap:8px;min-width:0;padding:8px 18px;display:flex;overflow:hidden;box-shadow:0 -5px 18px #1c2a320f}.part-tabs,.group-tabs{flex:none;align-items:stretch;display:flex}.part-tab{color:var(--muted);background:0 0;border:0;padding:0 14px;font-size:11px;font-weight:750}.part-tab.active{color:var(--ink);border-bottom:3px solid var(--red)}.group-tabs{scrollbar-width:thin;gap:2px;max-width:37%;overflow-x:auto}.group-tab{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:0 9px;font-size:10px;font-weight:750}.group-tab.active{color:var(--ink);border-bottom-color:var(--teal)}.number-strip{scrollbar-width:thin;flex:1 1 0;justify-content:flex-start;align-items:center;gap:5px;min-width:0;display:flex;overflow:auto hidden}.number-strip button{color:#5e696f;background:#fff;border:1px solid #d9dee0;border-radius:50%;flex:none;width:30px;height:30px;padding:0;font-size:10px;position:relative}.number-strip button.current{background:var(--ink);color:#fff;border-color:var(--ink)}.number-strip button.answered:not(.current){background:var(--teal-soft);color:#165d5d;border-color:#85b4b2}.number-strip button.flagged:after{content:"";background:var(--red);border:1px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:-2px;right:-2px}.review-button{color:#465158;white-space:nowrap;background:0 0;border:0;padding:0 10px;font-size:11px;font-weight:750}.review-button>span{background:#eff1f2;border-radius:50%;place-items:center;width:20px;height:20px;margin-left:5px;display:inline-grid}.notes-drawer{z-index:6;background:#fffef2;border:1px solid #dedbc0;width:min(360px,100vw - 40px);padding:22px;position:fixed;top:73px;right:20px;box-shadow:0 15px 45px #101b212e}.notes-drawer>div{justify-content:space-between;align-items:center;display:flex}.notes-drawer>div span{color:#987e20;letter-spacing:.12em;font-size:9px;font-weight:800}.notes-drawer>div button{background:0 0;border:0;font-size:22px}.notes-drawer h2{margin:14px 0 5px;font-family:Georgia,serif;font-size:25px}.notes-drawer p{color:#7d7964;font-size:11px}.notes-drawer textarea{resize:none;background:0 0;border:0;border-top:1px solid #e3dfc4;outline:0;width:100%;height:220px;padding:15px 0;line-height:1.6}.notes-drawer small{text-align:right;color:#aaa58c;display:block}.audio-player{background:#f1f3f3;border-radius:6px;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;margin:22px 0;padding:14px;display:grid}.audio-player button{background:var(--ink);color:#fff;border:0;border-radius:50%;width:38px;height:38px}.audio-player>div{background:#c9cfd1;border-radius:4px;height:4px;position:relative}.audio-player>div span{background:var(--red);border-radius:4px;width:12%;height:100%;position:absolute}.audio-player>div i{background:var(--red);border-radius:50%;width:10px;height:10px;position:absolute;top:-3px;left:12%}.audio-player time{color:#566269;font-size:10px}.audio-player small{color:var(--muted);grid-column:2/4}.native-audio{background:#f1f3f3;border-radius:6px;gap:9px;margin:22px 0;padding:15px;display:grid}.native-audio>span{color:var(--red);letter-spacing:.1em;font-size:9px;font-weight:850}.native-audio audio{width:100%;height:38px}.native-audio small{color:var(--muted);font-size:9px}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10181c94;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.library-modal{background:#fff;border-radius:8px;width:min(760px,100%);max-height:min(760px,91vh);overflow:auto;box-shadow:0 28px 80px #00000040}.modal-top{border-bottom:1px solid #e6e8e9;justify-content:space-between;align-items:flex-start;padding:28px 30px 20px;display:flex}.eyebrow{color:var(--red);letter-spacing:.14em;font-size:9px;font-weight:850}.modal-top h2{margin:7px 0 0;font-family:Georgia,serif;font-size:28px}.modal-top>button{background:#f1f3f3;border:0;border-radius:50%;width:32px;height:32px;font-size:20px}.library-summary{background:#f6f7f7;align-items:center;gap:18px;padding:20px 30px;display:flex}.library-summary>div{background:var(--ink);color:#fff;text-align:center;border-radius:50%;place-content:center;width:60px;height:60px;display:grid}.library-summary strong,.library-summary span{display:block}.library-summary strong{font-size:20px}.library-summary span{text-transform:uppercase;letter-spacing:.08em;font-size:8px}.library-summary p{color:#5d696f;flex:1;font-size:11px;line-height:1.5}.library-summary button,.primary-button{background:var(--red);color:#fff;border:0;border-radius:4px;padding:11px 14px;font-size:11px;font-weight:750}.paper-list{padding:10px 30px 16px}.paper-row{text-align:left;background:#fff;border:0;border-bottom:1px solid #e5e8e9;align-items:center;gap:13px;width:100%;padding:16px 8px;display:flex}.paper-row:hover{background:#fafbfb}.paper-row.selected-paper{background:#f4f8f7}.paper-row>span:nth-child(2){flex:1;min-width:0}.paper-row strong,.paper-row small{display:block}.paper-row strong{font-size:13px}.paper-row small{color:var(--muted);margin-top:4px;font-size:10px}.paper-row i{color:var(--teal);font-size:10px;font-style:normal;font-weight:750}.module-badge{color:#fff;background:#1d5e60;border-radius:4px;flex:none;place-items:center;width:34px;height:34px;font-size:12px;font-weight:850;display:grid}.module-badge.listening{background:#7252a3}.module-badge.writing{background:#a05c2f}.unofficial-note{color:#92999d;margin:0;padding:12px 30px 22px;font-size:9px;line-height:1.45}.import-form{padding:22px 30px 30px}.format-callout{border-left:3px solid var(--red);background:#f6f7f7;margin-bottom:20px;padding:14px 145px 14px 15px;position:relative}.format-callout strong{font-size:12px}.format-callout p{color:#59656b;margin:5px 0 0;font-size:10px;line-height:1.55}.format-callout a{color:var(--teal);font-size:10px;font-weight:750;text-decoration:none;position:absolute;top:16px;right:15px}.import-form>label:not(.file-drop){grid-template-columns:120px 1fr;align-items:center;gap:15px;margin:14px 0;display:grid}.import-form label>span{color:#536067;font-size:11px;font-weight:700}.import-form input,.import-form select{background:#fff;border:1px solid #ccd2d5;border-radius:4px;outline:0;width:100%;padding:10px}.file-drop{text-align:center;cursor:pointer;background:#fafbfb;border:1px dashed #aab4b9;border-radius:6px;place-items:center;min-height:145px;margin:20px 0 12px;padding:24px;display:grid;position:relative}.file-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-drop b{color:#314047;font-size:13px}.file-drop span{margin-top:-22px;font-weight:400}.audio-upload{border:1px solid #d9dee0;border-radius:5px;grid-template-columns:190px 1fr;align-items:center;gap:12px;margin:12px 0;padding:12px;display:grid}.audio-upload input{border:0;padding:0;font-size:10px}.audio-upload small{color:var(--muted);grid-column:2;margin-top:-8px;font-size:9px}.import-status{color:#775f17;background:#fff6dd;border-radius:4px;padding:9px 11px;font-size:10px}.library-load-status{margin:12px 30px 0}.modal-actions{justify-content:flex-end;gap:9px;padding-top:12px;display:flex}.modal-actions button{background:#fff;border:1px solid #d5dadd;border-radius:4px;padding:10px 14px;font-size:11px}.modal-actions .primary-button{border-color:var(--red);background:var(--red)}.confirm-modal{text-align:center;background:#fff;border-radius:8px;width:min(430px,100%);padding:35px;box-shadow:0 25px 75px #00000040}.confirm-icon{background:var(--teal-soft);width:48px;height:48px;color:var(--teal);border-radius:50%;place-items:center;margin:auto;font-size:22px;display:grid}.confirm-modal h2{margin:17px 0 8px;font-family:Georgia,serif;font-size:26px}.confirm-modal p{color:#647178;font-size:12px;line-height:1.55}.confirm-modal>div{justify-content:center;gap:9px;margin-top:22px;display:flex}.confirm-modal button{background:#fff;border:1px solid #d4dadd;border-radius:4px;padding:10px 14px;font-size:11px}.confirm-modal .primary-button{border-color:var(--red);background:var(--red)}.result-shell{background:#f5f6f6;min-height:100vh}.result-header{background:#fff;border-bottom:1px solid #e0e3e4;align-items:center;gap:22px;height:72px;padding:0 clamp(24px,7vw,100px);display:flex}.result-header>span{color:#69747a;border-left:1px solid #d6dbdd;padding-left:22px;font-size:11px}.result-hero{color:#fff;background:#202a2f;justify-content:space-between;align-items:center;gap:40px;padding:52px clamp(24px,7vw,100px);display:flex}.result-hero h1{max-width:720px;margin:10px 0 12px;font-family:Georgia,serif;font-size:clamp(32px,5vw,58px);line-height:1.05}.result-hero p{color:#c5cccf;font-size:12px}.score-orbit{text-align:center;width:170px;height:170px;box-shadow:inset 0 0 0 3px var(--red);border:8px solid #3f4a4f;border-radius:50%;flex:none;place-content:center;display:grid}.score-orbit strong{font-size:45px;line-height:1}.score-orbit small{color:#adb7bb;font-size:18px}.score-orbit span{color:#bac3c6;text-transform:uppercase;letter-spacing:.07em;margin-top:8px;font-size:9px}.result-stats{background:#fff;border-radius:6px;grid-template-columns:repeat(4,1fr);margin:-20px clamp(24px,7vw,100px) 0;display:grid;box-shadow:0 8px 28px #1e2b3214}.result-stats>div{border-right:1px solid #e1e4e5;padding:21px 25px}.result-stats>div:last-child{border-right:0}.result-stats span,.result-stats strong{display:block}.result-stats span{color:#788288;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.result-stats strong{margin-top:5px;font-family:Georgia,serif;font-size:24px}.review-list{max-width:1060px;margin:48px auto;padding:0 24px 80px}.review-title{justify-content:space-between;align-items:flex-end;margin-bottom:20px;display:flex}.review-title h2{margin:7px 0 0;font-family:Georgia,serif;font-size:28px}.review-title button{background:#fff;border:1px solid #bfc7ca;border-radius:4px;padding:10px 15px;font-size:11px;font-weight:700}.review-row{background:#fff;border:1px solid #e0e4e5;border-radius:6px;grid-template-columns:34px 1fr;gap:14px;margin-bottom:10px;padding:20px;display:grid}.review-status{color:#7a858a;background:#eef0f1;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.review-status.correct{color:#2a7d4b;background:#e3f3e9}.review-status.incorrect{color:var(--red);background:#fde8e9}.review-row h3{margin:2px 0 10px;font-size:13px;line-height:1.5}.review-row h3 span{color:var(--red);margin-right:10px}.review-row p{color:#5d696f;margin:4px 0;font-size:11px}.explanation{color:#435357;background:#f1f6f5;border-left:2px solid #82aeaa;margin-top:11px;padding:9px 11px;font-size:11px;line-height:1.5}@keyframes pulse{50%{opacity:.3}}@media (max-width:1050px){.candidate,.save-state{display:none}.wordmark{margin-right:auto}.workspace{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}.group-tabs{max-width:32%}}@media (max-width:780px){.exam-shell{grid-template-rows:61px 48px minmax(0,1fr) 58px;height:100vh;min-height:0}.exam-header{gap:3px;height:61px;padding:0 13px;position:sticky;top:0}.tool-button,.finish-button{display:none}.timer{border-left:0;min-width:75px;height:61px;padding:7px}.notice-bar{z-index:2;flex-wrap:wrap;gap:7px 12px;min-height:48px;padding:8px 13px;position:sticky;top:61px}.notice-bar p{display:none}.notice-bar button{margin-left:auto}.notice-bar .library-button{margin-left:0}.passage-pane,.question-pane{padding:26px 20px 55px;overflow:auto}.passage-pane{border-right:1px solid var(--line)}.question-heading{display:block}.question-heading .answered-count{margin-top:7px;display:block}.question-nav{height:58px;padding:7px 9px;position:sticky;bottom:0}.part-tabs{display:none}.group-tabs{max-width:36%}.part-tabs .part-tab:not(.active){display:none}.part-tab{padding:0 8px}.review-button{padding:0 4px}.result-hero{padding-top:38px;display:block}.score-orbit{width:130px;height:130px;margin-top:30px}.result-stats{grid-template-columns:1fr 1fr}.result-stats>div:nth-child(2){border-right:0}.result-stats>div:nth-child(-n+2){border-bottom:1px solid #e1e4e5}.library-summary{flex-wrap:wrap;align-items:flex-start}.library-summary p{min-width:60%}.format-callout{padding-right:15px}.format-callout a{margin-top:8px;display:block;position:static}.import-form>label:not(.file-drop){grid-template-columns:1fr;gap:6px}}@media (max-width:480px){.wordmark span,.notice-bar>span{display:none}.question-card{gap:10px;padding:15px}.modal-backdrop{align-items:end;padding:0}.library-modal{border-radius:10px 10px 0 0;max-height:94vh}.modal-top,.import-form,.library-summary,.paper-list{padding-left:20px;padding-right:20px}.paper-row i{display:none}.result-stats{margin-left:12px;margin-right:12px}.review-title{align-items:flex-start;gap:15px}}.library-center{flex-direction:column;width:min(1280px,100%);height:min(820px,92vh);max-height:92vh;display:flex;overflow:hidden}.library-center-header{background:#fff;border-bottom:1px solid #e4e8e9;flex:none;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 28px 20px;display:flex}.library-center-header h2{letter-spacing:-.02em;margin:6px 0 5px;font-family:Georgia,serif;font-size:29px}.library-center-header p{max-width:590px;color:var(--muted);margin:0;font-size:11px;line-height:1.5}.library-header-actions{align-items:center;gap:10px;display:flex}.library-import-button{background:var(--red);color:#fff;white-space:nowrap;border:0;border-radius:4px;padding:10px 13px;font-size:11px;font-weight:800}.library-import-button:hover{background:#b91319}.library-close{color:#455158;background:#f0f3f3;border:0;border-radius:50%;width:32px;height:32px;font-size:20px;line-height:1}.library-center-body{flex:auto;grid-template-columns:184px minmax(300px,.9fr) minmax(380px,1.2fr);min-height:0;display:grid}.library-sidebar{background:#f4f6f6;border-right:1px solid #dfe4e5;flex-direction:column;gap:3px;min-width:0;padding:22px 12px;display:flex;overflow:auto}.library-side-label{color:#899499;letter-spacing:.13em;padding:0 10px 9px;font-size:9px;font-weight:850}.library-category{color:#59666d;text-align:left;background:0 0;border:0;border-radius:5px;grid-template-columns:25px 1fr auto;align-items:center;gap:6px;width:100%;padding:10px 9px;font-size:11px;display:grid}.library-category:hover{color:var(--ink);background:#e8eeee}.library-category.active{color:var(--ink);background:#fff;font-weight:800;box-shadow:0 2px 8px #192b3114}.library-category b{color:#929da1;font-size:10px;font-weight:700}.library-category-icon{color:#68757a;background:#e0e7e7;border-radius:5px;place-items:center;width:22px;height:22px;font-size:11px;font-weight:850;display:grid}.library-category-icon.reading{color:#176b6b;background:#dcefee}.library-category-icon.listening{color:#7450a1;background:#eee7f7}.library-category-icon.writing{color:#a25729;background:#f6e7dc}.library-category-icon.favorite{color:#a67b11;background:#fff0c7}.library-category-icon.archived{color:#59656b;background:#e4e7e9}.library-sidebar-note{border-top:1px solid #dbe1e2;margin:auto 9px 0;padding:14px 0 0}.library-sidebar-note strong,.library-sidebar-note span{display:block}.library-sidebar-note strong{font-size:11px}.library-sidebar-note span{color:#899499;margin-top:4px;font-size:9px;line-height:1.45}.library-list-panel{background:#fbfcfc;border-right:1px solid #dfe4e5;flex-direction:column;min-width:0;display:flex;overflow:hidden}.library-list-toolbar{border-bottom:1px solid #e4e8e9;flex:none;gap:8px;padding:16px 16px 11px;display:flex}.library-search{background:#fff;border:1px solid #cfd7d9;border-radius:4px;flex:auto;align-items:center;gap:7px;min-width:0;padding:0 9px;display:flex}.library-search>span{color:#7d898e;font-size:18px;line-height:1;transform:rotate(-15deg)}.library-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:9px 0;font-size:11px}.library-list-toolbar>select{color:#526067;background:#fff;border:1px solid #cfd7d9;border-radius:4px;outline:0;width:126px;padding:0 7px;font-size:10px}.library-list-heading{flex:none;align-items:baseline;gap:7px;padding:12px 17px 8px;display:flex}.library-list-heading strong{font-size:12px}.library-list-heading span{color:#899499;font-size:10px}.library-paper-list{scrollbar-width:thin;min-height:0;padding:0 10px 16px;overflow:auto}.library-paper-row{text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:10px;width:100%;padding:12px 8px;display:grid}.library-paper-row:hover{background:#f1f5f4}.library-paper-row.selected-paper{background:#eaf4f2;border-color:#8ab5b2;box-shadow:0 1px 4px #126e7014}.library-paper-copy{min-width:0}.library-paper-copy strong,.library-paper-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.library-paper-copy strong{color:#26353b;font-size:12px}.library-paper-copy small{color:#7b878c;margin-top:4px;font-size:9px}.library-progress-line{background:#e5e9e9;border-radius:3px;height:14px;margin-top:7px;display:block;position:relative;overflow:hidden}.library-progress-line i{background:#9dc9c2;min-width:0;height:100%;display:block}.library-progress-line em{color:#4f6968;font-size:8px;font-style:normal;line-height:14px;position:absolute;inset:0 5px}.library-row-markers{color:#aa7c0e;gap:4px;font-size:11px;display:flex}.library-row-markers i{font-style:normal}.library-empty,.library-preview-loading{color:#7a878c;text-align:center;align-content:center;place-items:center;min-height:220px;padding:22px;display:grid}.library-empty strong{color:#3f4c52;font-size:13px}.library-empty span{margin-top:5px;font-size:10px}.library-preview-panel{background:#fff;min-width:0;overflow:hidden}.library-preview-scroll{scrollbar-width:thin;height:100%;padding:25px 28px 34px;overflow:auto}.preview-heading{justify-content:space-between;gap:18px;display:flex}.preview-heading>div{min-width:0}.module-badge.large{border-radius:6px;width:42px;height:42px;font-size:16px;display:inline-grid}.preview-kicker{color:var(--red);letter-spacing:.12em;text-transform:uppercase;margin-top:15px;font-size:9px;font-weight:850;display:block}.preview-heading h3{letter-spacing:-.02em;overflow-wrap:anywhere;margin:7px 0 5px;font-family:Georgia,serif;font-size:26px;line-height:1.1}.preview-heading p{color:#7b878c;overflow-wrap:anywhere;margin:0;font-size:10px}.favorite-button{color:#9aa4a7;background:#fff;border:1px solid #d2dadd;border-radius:50%;flex:none;width:34px;height:34px;font-size:19px;line-height:1}.favorite-button:hover,.favorite-button.on{color:#a67b11;background:#fff7d8;border-color:#edc55b}.preview-actions{gap:8px;margin:23px 0 9px;display:flex}.preview-actions button{font-size:11px}.preview-actions .primary-button{padding:11px 15px}.secondary-button{color:#45555b;background:#fff;border:1px solid #c6d0d2;border-radius:4px;padding:10px 13px;font-weight:750}.secondary-button:hover{background:#f4f7f7}.preview-management{gap:14px;margin-bottom:21px;display:flex}.preview-management button,.danger-link{color:#647278;background:0 0;border:0;padding:0;font-size:10px}.preview-management button:hover{color:var(--teal)}.preview-management .danger-link{color:#b4575c}.preview-management .danger-link:hover{color:var(--red)}.preview-stats{background:#f8fafa;border:1px solid #e0e5e5;border-radius:5px;grid-template-columns:repeat(3,1fr);display:grid}.preview-stats>div{border-right:1px solid #e0e5e5;padding:12px 10px}.preview-stats>div:last-child{border-right:0}.preview-stats strong,.preview-stats span{display:block}.preview-stats strong{color:#27363c;font-family:Georgia,serif;font-size:22px}.preview-stats strong small{font-family:Arial,sans-serif;font-size:10px}.preview-stats span{color:#7b878c;margin-top:3px;font-size:9px}.preview-progress{margin:21px 0}.preview-progress>div:first-child{color:#657278;justify-content:space-between;gap:12px;font-size:10px;display:flex}.preview-progress strong{color:#27363c}.preview-progress-bar{background:#e5eaea;border-radius:5px;height:7px;margin-top:8px;overflow:hidden}.preview-progress-bar i{background:var(--teal);height:100%;display:block}.preview-progress>small{color:#97a1a4;margin-top:6px;font-size:9px;display:block}.preview-section{border-top:1px solid #e3e8e8;margin-top:23px;padding-top:17px}.preview-section-title{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.preview-section-title span{color:#8b969a;letter-spacing:.13em;font-size:9px;font-weight:850}.preview-section-title b{color:#7c888c;font-size:9px;font-weight:600}.preview-part{align-items:flex-start;gap:10px;padding:9px 0;display:flex}.preview-part>span{color:var(--red);flex:0 0 23px;font-size:10px;font-weight:850}.preview-part strong,.preview-part small{display:block}.preview-part strong{color:#334248;font-size:11px}.preview-part small{color:#879297;margin-top:3px;font-size:9px}.type-chips{flex-wrap:wrap;gap:6px;display:flex}.type-chips span{color:#667479;background:#f7f9f9;border:1px solid #dce3e3;border-radius:4px;align-items:center;gap:5px;padding:6px 8px;font-size:9px;display:inline-flex}.type-chips b{color:var(--teal);font-size:11px}.history-row{grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:8px 0;display:grid}.history-row>span{color:#7b888c;background:#edf0f0;border-radius:50%;place-items:center;width:19px;height:19px;font-size:11px;display:grid}.history-row>span.done{color:#2e8050;background:#e5f3ea}.history-row>span.progress{color:#b27812;background:#fff1d4}.history-row strong,.history-row small{display:block}.history-row strong{color:#45545a;font-size:10px}.history-row small{color:#8b969a;margin-top:2px;font-size:9px}.history-row>b{color:var(--teal);font-size:10px}.history-empty{color:#899499;margin:0;font-size:10px;line-height:1.5}.preview-status{margin-top:18px}.import-modal{width:min(760px,100%);max-height:min(760px,91vh);overflow:auto}@media (max-width:960px){.library-center{height:94vh}.library-center-body{grid-template-columns:150px minmax(260px,.9fr) minmax(310px,1.1fr)}.library-center-header{padding:20px}.library-center-header p{max-width:430px}.library-preview-scroll{padding:22px 19px 28px}}@media (max-width:720px){.library-center{height:94vh;max-height:94vh}.library-center-header{padding:17px 18px}.library-center-header h2{font-size:24px}.library-center-header p{display:none}.library-center-body{grid-template-rows:auto minmax(230px,38vh) minmax(0,1fr);grid-template-columns:1fr;overflow:auto}.library-sidebar{border-bottom:1px solid #dfe4e5;border-right:0;flex-direction:row;gap:5px;padding:10px;display:flex;overflow-x:auto}.library-side-label,.library-sidebar-note{display:none}.library-category{flex:none;grid-template-columns:22px auto;width:auto;padding:7px 8px}.library-category b{display:none}.library-list-panel{border-bottom:1px solid #dfe4e5;border-right:0}.library-preview-panel{min-height:420px}}
