:root { color-scheme: light; font-size:100%; --night:#101522; --night-2:#171d2d; --paper:#f7f8fb; --white:#fff; --mist:#e7e9f1; --line:#d9dce6; --ink:#171b27; --muted:#666d7d; --indigo:#5559e8; --indigo-dark:#3c40c7; --coral:#ff6b5e; --aqua:#64d7d0; --good:#16755b; --warn:#b4433a; --display:"Bricolage Grotesque",system-ui,sans-serif; --sans:"Manrope",system-ui,sans-serif; --serif:"Source Serif 4",Georgia,serif; --mono:"DM Mono",monospace; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { background:var(--paper); scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { margin:0; min-height:100vh; max-width:100%; overflow-x:hidden; color:var(--ink); background:var(--paper); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; touch-action:manipulation; }
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible { outline:3px solid rgba(85,89,232,.3); outline-offset:2px; }
.kicker { color:var(--indigo); font:500 10px/1 var(--mono); letter-spacing:.13em; text-transform:uppercase; }
.kicker.light { color:var(--aqua); }
.brand-glyph { position:relative; display:grid; place-items:center; width:39px; height:39px; border:1px solid rgba(255,255,255,.28); border-radius:12px 12px 3px 12px; color:white; font:700 19px var(--display); }
.brand-glyph span { position:absolute; top:2px; right:4px; color:var(--coral); font-size:11px; }
.button { border:0; border-radius:999px; padding:12px 18px; display:inline-flex; align-items:center; justify-content:center; gap:18px; font-weight:700; font-size:12px; transition:transform .18s,background .18s,box-shadow .18s; }
.button:hover { transform:translateY(-1px); }
.button.primary { color:white; background:var(--indigo); box-shadow:0 9px 24px rgba(85,89,232,.23); }
.button.primary:hover { background:var(--indigo-dark); }
.button.ghost { color:var(--ink); background:var(--white); border:1px solid var(--line); }
.button.quiet { color:var(--muted); background:var(--mist); }
.button.wide { width:100%; }
.button:disabled { opacity:.6; cursor:wait; transform:none; }

/* The login is an edition cover rather than a generic authentication panel. */
.login-shell { min-height:100vh; position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.65fr); grid-template-rows:auto 1fr auto; gap:30px 8vw; padding:42px clamp(28px,6vw,92px); color:#f4f6fb; background:var(--night); isolation:isolate; }
.login-atmosphere { position:absolute; inset:0; overflow:hidden; z-index:-1; }
.login-atmosphere::before { content:""; position:absolute; width:60vw; height:60vw; right:-20vw; top:-28vw; border:1px solid rgba(100,215,208,.18); border-radius:50%; box-shadow:0 0 0 12vw rgba(85,89,232,.04),0 0 0 24vw rgba(255,107,94,.025); }
.login-atmosphere i { position:absolute; left:0; width:54%; height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent); transform:rotate(-12deg); }
.login-atmosphere i:nth-child(1){top:25%}.login-atmosphere i:nth-child(2){top:55%}.login-atmosphere i:nth-child(3){top:78%}
.login-brand { grid-column:1/-1; display:flex; align-items:center; gap:13px; font:600 15px var(--display); }
.login-copy { align-self:center; max-width:800px; }
.login-copy h1 { margin:24px 0 26px; font:600 clamp(54px,7vw,100px)/.92 var(--display); letter-spacing:-.055em; }
.login-copy h1 em { color:transparent; font-style:normal; -webkit-text-stroke:1px #bdc3d4; }
.login-copy p { max-width:580px; color:#aeb5c6; font:400 clamp(17px,2vw,21px)/1.6 var(--serif); }
.login-card { align-self:center; position:relative; background:var(--paper); color:var(--ink); padding:42px; border-radius:3px 26px 3px 3px; box-shadow:0 34px 80px rgba(0,0,0,.35); }
.login-card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:linear-gradient(var(--coral) 0 28%,var(--indigo) 28% 72%,var(--aqua) 72%); }
.edition-stamp { display:flex; justify-content:space-between; border-bottom:1px solid var(--line); padding-bottom:15px; color:var(--muted); font:500 9px var(--mono); text-transform:uppercase; letter-spacing:.12em; }
.edition-stamp b { color:var(--indigo); }
.login-card h2 { margin:32px 0 5px; font:600 32px var(--display); letter-spacing:-.03em; }
.login-card > p { color:var(--muted); margin:0 0 25px; font-size:12px; }
.login-card label,dialog label,.settings-card label,.feedback-card label { display:grid; gap:7px; margin:16px 0; color:#4d5361; font-size:10px; font-weight:700; }
.login-card input,dialog input,dialog textarea,dialog select,.settings-card input,.settings-card textarea,.settings-card select,.feedback-card textarea { width:100%; min-height:48px; border:1px solid #cfd3de; border-radius:7px; color:var(--ink); background:white; padding:12px 13px; outline:0; font-size:16px; }
.login-card input:focus,dialog input:focus,dialog textarea:focus,dialog select:focus,.settings-card input:focus,.settings-card textarea:focus,.settings-card select:focus,.feedback-card textarea:focus { border-color:var(--indigo); box-shadow:0 0 0 3px rgba(85,89,232,.1); }
.form-error { color:var(--warn)!important; padding:9px 11px; background:#fee9e7; border-radius:6px; }
.login-foot { grid-column:1/-1; align-self:end; color:#697286; font:400 10px var(--mono); letter-spacing:.08em; }

#app { display:grid; grid-template-columns:252px minmax(0,1fr); min-height:100vh; }
.sidebar { position:fixed; inset:0 auto 0 0; width:252px; color:#e9ecf5; background:var(--night); padding:25px 15px 18px; display:flex; flex-direction:column; z-index:20; }
.brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; padding:0 8px 35px; }
.brand strong,.brand small { display:block; }.brand strong{font:600 15px var(--display)}.brand small{color:#7f879a;font-size:9px;margin-top:2px}
.sidebar-label { display:flex; justify-content:space-between; align-items:center; padding:0 8px 11px; color:#70798c; font:500 9px var(--mono); text-transform:uppercase; letter-spacing:.11em; }
.round-button { width:25px; height:25px; padding:0; border:1px solid #3b4355; border-radius:50%; color:#d5d9e5; background:transparent; }
.round-button:hover { background:#282f40; }
.desk-list { display:grid; gap:3px; overflow:auto; }
.desk-link { width:100%; display:grid; grid-template-columns:27px minmax(0,1fr) 15px; gap:8px; align-items:center; border:0; border-radius:9px; padding:11px 9px; color:#a7afc1; background:transparent; text-align:left; }
.desk-link:hover { background:#1b2232; }.desk-link.active{background:#f7f8fb;color:var(--ink)}
.desk-index { color:#626b7f; font:500 8px var(--mono); }.desk-link.active .desk-index{color:var(--indigo)}
.desk-link strong,.desk-link small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desk-link strong{font-size:11px}.desk-link small{margin-top:3px;color:#717a8e;font-size:8px;text-transform:capitalize}
.desk-arrow { color:#4f586c; font-size:10px; }.desk-alert{width:6px;height:6px;border-radius:50%;background:var(--coral)}
.sidebar-footer { margin-top:auto; border-top:1px solid #2d3445; padding:16px 7px 2px; display:grid; grid-template-columns:9px 1fr auto; gap:9px; align-items:center; }
.status-dot { width:7px;height:7px;border-radius:50%;background:var(--aqua);box-shadow:0 0 0 3px rgba(100,215,208,.1)}
.sidebar-footer b,.sidebar-footer small{display:block}.sidebar-footer b{font-size:9px}.sidebar-footer small{margin-top:2px;color:#687186;font-size:8px}.sidebar-footer button{border:0;background:transparent;color:#6f788c;font-size:8px;padding:4px}.sidebar-footer button:hover{color:white}
.main { grid-column:2; min-width:0; }
.empty-state { min-height:100vh; position:relative; overflow:hidden; padding:14vh clamp(30px,8vw,120px); background:linear-gradient(135deg,#f7f8fb 0 62%,#eef0f7 62%); }
.empty-state h1 { max-width:900px; margin:22px 0 24px; font:600 clamp(52px,7vw,94px)/.93 var(--display); letter-spacing:-.055em; }.empty-state h1 em{font-style:normal;color:var(--indigo)}
.empty-state>p { max-width:620px; color:var(--muted); font:400 19px/1.65 var(--serif); margin:0 0 30px; }
.empty-note { margin-top:16vh; max-width:620px; border-top:1px solid var(--line); padding-top:17px; display:grid; grid-template-columns:150px 1fr; font-size:10px; }.empty-note span{color:var(--muted)}
.empty-orbit { position:absolute; right:5vw; top:11vh; width:26vw; aspect-ratio:1; border:1px solid #d8dbe6;border-radius:50%;animation:float 8s ease-in-out infinite}.empty-orbit::after{content:"";position:absolute;inset:23%;border:1px dashed #c8cce0;border-radius:50%}.empty-orbit span{position:absolute;padding:6px 9px;background:var(--white);border:1px solid var(--line);border-radius:20px;font:500 8px var(--mono)}.empty-orbit span:nth-child(1){top:9%;left:2%}.empty-orbit span:nth-child(2){right:-5%;top:45%}.empty-orbit span:nth-child(3){bottom:6%;left:18%}
@keyframes float{50%{transform:translateY(9px) rotate(2deg)}}

.workspace-header { position:sticky; top:0; z-index:10; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px 30px; padding:27px clamp(25px,5vw,72px) 0; border-bottom:1px solid var(--line); background:rgba(247,248,251,.92); backdrop-filter:blur(16px); }
.header-copy h1 { margin:9px 0 4px; font:600 clamp(31px,4vw,45px)/1 var(--display); letter-spacing:-.04em; }.header-copy p{max-width:740px;margin:0;color:var(--muted);font:400 12px/1.55 var(--serif)}
.header-actions{display:flex;gap:8px;align-items:start}.tabs{grid-column:1/-1;display:flex;gap:25px;margin-top:7px}.tab{border:0;border-bottom:2px solid transparent;padding:11px 1px;color:#777e8d;background:transparent;font-size:10px;font-weight:700}.tab.active{color:var(--ink);border-color:var(--indigo)}.tab span{margin-left:3px;color:var(--indigo)}
.workspace { max-width:1450px; padding:27px clamp(25px,5vw,72px) 70px; }
.job-banner { display:flex;gap:13px;align-items:center;padding:14px 16px;margin-bottom:16px;background:#ececff;border:1px solid #d4d5fb;border-radius:9px}.job-banner b,.job-banner small{display:block}.job-banner b{font-size:11px}.job-banner small{margin-top:3px;color:var(--muted);font-size:9px}
.job-banner.failed{justify-content:space-between;background:#fff1ef;border-color:#f1c9c5}.job-banner.failed b{color:var(--warn)}
.status-strip { display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:26px;border:1px solid var(--line);border-radius:10px;background:var(--white);overflow:hidden}.status-strip>div{padding:14px 17px;border-right:1px solid var(--line)}.status-strip>div:last-child{border:0}.status-strip small,.status-strip b{display:block}.status-strip small{color:var(--muted);font:500 8px var(--mono);text-transform:uppercase;letter-spacing:.09em}.status-strip b{margin-top:5px;font:600 14px var(--display)}.good{color:var(--good)}.warn{color:var(--warn)}
.library { display:grid;grid-template-columns:250px minmax(0,1fr);min-height:600px;border:1px solid var(--line);border-radius:12px;background:var(--white);overflow:hidden;box-shadow:0 18px 50px rgba(24,29,44,.05)}
.edition-list { padding:14px;background:#f0f2f7;border-right:1px solid var(--line)}
.section-heading{display:flex;justify-content:space-between;padding:4px 6px 14px;color:#656c7b;font:500 8px var(--mono);text-transform:uppercase;letter-spacing:.12em}.section-heading small{font:inherit;color:#999eaa}
.edition-card { display:block;width:100%;padding:15px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left}.edition-card:hover{background:rgba(255,255,255,.65)}.edition-card.active{background:white;box-shadow:0 7px 24px rgba(26,31,47,.08)}.edition-card time,.edition-card .edition-number{display:inline;color:var(--muted);font:500 8px var(--mono);text-transform:uppercase}.edition-card .edition-number{color:var(--coral);margin-right:7px}.edition-card strong,.edition-card small{display:block}.edition-card strong{margin:7px 0 9px;font:600 15px/1.2 var(--display);letter-spacing:-.01em}.edition-card small{color:#858b98;font-size:8px}
.reader{min-width:0}.reader-toolbar{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 18px;border-bottom:1px solid var(--line);color:#8a909e;font:400 8px var(--mono);text-transform:uppercase;letter-spacing:.05em}.reader-toolbar button{border:0;background:transparent;color:#62697a;font:600 8px var(--mono);margin-left:11px}.reader-toolbar button:hover{color:var(--indigo)}
.report { position:relative;max-width:800px;margin:auto;padding:51px clamp(35px,8%,72px) 70px 84px}.signal-rail{position:absolute;left:42px;top:55px;bottom:74px;width:4px;display:grid;grid-template-rows:28% 44% 28%;gap:4px}.signal-rail i:nth-child(1){background:var(--coral)}.signal-rail i:nth-child(2){background:var(--indigo)}.signal-rail i:nth-child(3){background:var(--aqua)}
.report h1{margin:0 0 15px;font:600 clamp(37px,5vw,55px)/1 var(--display);letter-spacing:-.05em}.report .standfirst{margin:0 0 34px;color:#565d6d;font:400 19px/1.5 var(--serif)}.report h2{margin:41px 0 13px;font:600 24px/1.1 var(--display);letter-spacing:-.025em}.report p{font:400 16px/1.78 var(--serif)}.report a{color:var(--indigo-dark);text-underline-offset:3px}.report ul{padding-left:19px}.report li{margin:8px 0;font:400 13px/1.55 var(--serif)}.citation{position:relative;border:0;border-radius:4px;padding:2px 4px;color:var(--indigo);background:#ececff;font:500 8px var(--mono);vertical-align:2px;touch-action:manipulation}.citation::before{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
.feedback-card { margin-top:55px;padding:27px;border:1px solid #d7d9ec;border-radius:4px 20px 4px 4px;background:#f4f4ff}.feedback-card h3{margin:7px 0 5px;font:600 23px var(--display)}.feedback-card p{margin:0 0 15px;color:var(--muted);font:400 12px/1.5 var(--sans)}.feedback-actions{display:flex;flex-wrap:wrap;gap:6px}.feedback-actions button{border:1px solid #d1d3e3;border-radius:999px;padding:8px 10px;color:#555c6c;background:white;font-size:9px;font-weight:600}.feedback-actions button:hover,.feedback-actions button.selected{color:white;border-color:var(--indigo);background:var(--indigo)}.feedback-card label{margin-top:17px}.feedback-submit{margin-top:2px}
.blank-panel{min-height:480px;display:grid;grid-template-columns:120px minmax(0,480px);gap:38px;place-content:center;padding:50px;border:1px solid var(--line);border-radius:12px;background:white}.blank-mark{display:grid;place-items:center;width:120px;height:120px;border-radius:50%;color:white;background:var(--night);font:600 30px var(--display);box-shadow:15px 15px 0 #dfe1ff}.blank-panel h2{margin:10px 0 5px;font:600 32px var(--display)}.blank-panel p{margin:0 0 19px;color:var(--muted);font:400 14px/1.6 var(--serif)}

.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:14px 0 16px}.section-head h2{margin:8px 0 4px;font:600 30px var(--display)}.section-head p{max-width:680px;margin:0;color:var(--muted);font:400 13px/1.6 var(--serif)}
.section-head-actions{display:flex;gap:8px;flex:0 0 auto}
.source-table{border:1px solid var(--line);border-radius:10px;background:white;overflow:hidden}.source-row{display:grid;grid-template-columns:minmax(220px,1.6fr) 100px 100px 88px 42px 58px;gap:12px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line);font-size:10px}.source-table.selecting .source-row{grid-template-columns:44px minmax(220px,1.6fr) 100px 100px 88px 42px 58px}.source-row:last-child{border:0}.source-row.header{padding-block:9px;color:#828897;background:#f1f2f6;font:500 8px var(--mono);text-transform:uppercase;letter-spacing:.08em}.source-row.selected{background:#f3f3ff;box-shadow:inset 3px 0 var(--indigo)}.source-name strong,.source-name small{display:block}.source-name strong{font-size:11px}.source-name strong i{margin-left:6px;color:var(--coral);font:500 7px var(--mono);text-transform:uppercase}.source-name small{margin-top:3px;max-width:460px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#858b98;font-size:8px}.role-pill,.health-pill{width:max-content;padding:4px 7px;border-radius:20px;background:#eef0f4;font:500 8px var(--mono);text-transform:capitalize}.health-pill.healthy{color:var(--good);background:#e3f4ee}.health-pill.error{color:var(--warn);background:#fde9e7}.health-pill.warning{color:#876218;background:#fff2d7}.authority{color:var(--indigo);letter-spacing:1px;font-size:8px}.switch{width:31px;height:18px;padding:2px;border:0;border-radius:12px;background:#c7cad3}.switch::after{content:"";display:block;width:14px;height:14px;border-radius:50%;background:white;transition:transform .2s}.switch.on{background:var(--indigo)}.switch.on::after{transform:translateX(13px)}.source-actions{display:flex}.source-actions button{width:25px;border:0;background:transparent;color:#959aa7;font-size:15px}.source-actions button:hover{color:var(--coral)}
.source-select{position:relative;width:44px;height:44px;display:grid;place-items:center;margin:-10px 0}.source-select input{position:absolute;width:44px;height:44px;margin:0;opacity:0;cursor:pointer}.source-select span{width:20px;height:20px;border:2px solid #aeb3bf;border-radius:6px;background:white}.source-select input:checked+span{border-color:var(--indigo);background:var(--indigo);box-shadow:inset 0 0 0 4px white}.source-select input:focus-visible+span{outline:3px solid #b9baff;outline-offset:3px}.source-bulk-bar{position:sticky;top:126px;z-index:12;min-height:58px;display:flex;align-items:center;gap:18px;margin:0 0 12px;padding:7px 10px 7px 14px;border:1px solid #d6d7ec;border-radius:11px;background:rgba(250,250,255,.96);box-shadow:0 10px 28px rgba(23,28,44,.1);backdrop-filter:blur(12px)}.source-bulk-bar:focus{outline:none}.source-bulk-bar strong{margin-right:auto;font-size:12px}.source-bulk-bar>div{display:flex;gap:8px}.source-select-all{min-height:44px;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700}.source-select-all input{width:20px;height:20px;accent-color:var(--indigo)}.button.destructive{color:white;background:#ad4337}.button.destructive:disabled{opacity:.45}.source-delete-warning{padding:12px 14px;border-left:3px solid var(--coral);border-radius:3px 9px 9px 3px;color:#77463f;background:#fff0ec;font-size:12px;line-height:1.5}
.settings-card{max-width:780px;padding:32px;border:1px solid var(--line);border-radius:12px;background:white}.settings-card h2{margin:8px 0 4px;font:600 30px var(--display)}.settings-card>p{margin:0 0 20px;color:var(--muted);font:400 12px/1.5 var(--serif)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}

dialog{width:min(610px,calc(100vw - 28px));max-height:calc(100vh - 30px);overflow:auto;padding:0;border:0;border-radius:4px 24px 4px 4px;color:var(--ink);background:var(--paper);box-shadow:0 30px 90px rgba(12,17,30,.35)}dialog::backdrop{background:rgba(10,14,24,.7);backdrop-filter:blur(4px)}dialog form{position:relative;padding:38px 40px 31px}dialog form::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--coral),var(--indigo),var(--aqua))}dialog h2{margin:9px 0 5px;font:600 32px var(--display);letter-spacing:-.03em}.dialog-intro{margin:0 0 20px;color:var(--muted);font:400 12px/1.55 var(--serif)}.dialog-close{position:absolute;right:17px;top:13px;border:0;background:transparent;color:#7b8190;font-size:24px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.check-label{grid-template-columns:18px 1fr!important;align-items:start;padding:12px;border:1px solid var(--line);border-radius:7px;background:white}.check-label input{width:auto;margin-top:2px}.check-label strong,.check-label small{display:block}.check-label small{margin-top:3px;color:var(--muted);font-weight:400}
.source-pack-dialog{width:min(760px,calc(100vw - 28px))}
.source-pack-dialog textarea{min-height:188px;resize:vertical;font-family:var(--mono);font-size:13px;line-height:1.55}
.field-help{display:block;color:var(--muted);font-size:11px;font-weight:400;line-height:1.45}.field-help code{color:#5559e8;font:500 10px var(--mono)}
.source-pack-summary{min-height:42px;display:flex;align-items:center;margin-top:18px;padding:11px 13px;border:1px solid var(--line);border-radius:8px;color:#5f6675;background:#f3f4f7;font-size:12px}
.source-pack-summary.ready{color:#186c5d;background:#e8f6f1;border-color:#b9ded3}.source-pack-summary.warning{color:#8a5d16;background:#fff5df;border-color:#ead3a3}
.source-pack-preview{display:grid;gap:8px;max-height:230px;overflow:auto;margin-top:10px;overscroll-behavior:contain}
.source-pack-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:white}
.source-pack-item strong,.source-pack-item small{display:block;min-width:0}.source-pack-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.source-pack-item small{grid-column:1/-1;color:var(--muted);font-size:10px;line-height:1.35}
.source-pack-meta{display:flex;align-items:center;gap:6px;color:#676e7c;font:500 8px var(--mono);text-transform:uppercase;letter-spacing:.04em}.source-pack-meta i{padding:4px 6px;border-radius:12px;background:#eef0f5;font-style:normal}
.source-pack-item.duplicate{opacity:.58}.source-pack-item.rejected{border-color:#efd1cb;background:#fff8f6}.source-pack-item.rejected strong{color:var(--warn)}
.selection-action{position:fixed;left:50%;top:90px;bottom:auto;z-index:80;min-height:48px;display:flex;align-items:center;gap:9px;padding:11px 17px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:white;background:var(--night);box-shadow:0 14px 38px rgba(12,17,30,.3);font-size:13px;font-weight:750;transform:translate(-50%,-100%);touch-action:manipulation}.selection-action[hidden]{display:none}.selection-action svg,.empty-pencil svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.annotation-root ::selection{color:var(--ink);background:#cfd0ff}.personal-highlight{margin:-1px 0;padding:1px 0;border-radius:2px;color:inherit;background:linear-gradient(180deg,transparent 12%,rgba(255,210,98,.5) 12%,rgba(255,210,98,.5) 91%,transparent 91%);box-decoration-break:clone;-webkit-box-decoration-break:clone;cursor:pointer}.personal-highlight.has-comment{background:linear-gradient(180deg,transparent 10%,rgba(255,198,82,.62) 10%,rgba(255,198,82,.62) 90%,transparent 90%);box-shadow:inset 0 -2px #d85e45}.personal-highlight:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}.personal-highlight.highlight-arrival{animation:highlight-arrival 1.4s ease-out}
.annotation-dialog form,.compact-sheet form{padding:0}.annotation-dialog form::before,.compact-sheet form::before{display:none}.annotation-dialog .sheet-heading,.compact-sheet .sheet-heading{margin-bottom:16px}.annotation-quote{max-height:150px;overflow:auto;margin:0 0 20px;padding:17px 18px 17px 23px;border:1px solid #ded8c8;border-radius:4px 14px 4px 4px;color:#303544;background:#fffaf0;font:italic 400 17px/1.55 var(--serif);quotes:none}.annotation-dialog label>span{float:right;color:var(--muted);font-weight:400}.annotation-dialog textarea{resize:vertical;min-height:105px}.notebook-fieldset{margin:19px 0 0;padding:0;border:0}.notebook-fieldset legend{margin-bottom:10px;font-size:11px;font-weight:700}.notebook-choices{display:flex;flex-wrap:wrap;gap:8px}.notebook-choice{display:block;margin:0!important}.notebook-choice input{position:absolute;width:1px!important;height:1px!important;min-height:0!important;opacity:0;pointer-events:none}.notebook-choice span{min-height:44px;display:flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:#596171;background:white;font-size:12px;font-weight:700;cursor:pointer}.notebook-choice svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}.notebook-choice input:checked+span{border-color:#aaacf0;color:var(--indigo-dark);background:#efefff;box-shadow:inset 0 0 0 1px #d1d2ff}.notebook-choice em{margin-left:2px;color:#71778a;font:500 8px var(--mono);text-transform:uppercase;letter-spacing:.06em}.new-notebook-button{min-height:44px;margin-top:8px;padding:8px 10px;border:0;color:var(--indigo-dark);background:transparent;font-size:12px;font-weight:750}.annotation-sharing{display:grid;grid-template-columns:1fr auto;align-items:center;gap:15px;margin-top:18px;padding:16px;border:1px solid #d9dbea;border-radius:12px;background:#f3f3fb}.annotation-sharing-status{display:inline-flex;padding:4px 7px;border-radius:999px;color:#6d7484;background:#e4e6ed;font:600 8px var(--mono);text-transform:uppercase;letter-spacing:.08em}.annotation-sharing-status.shared{color:#286b62;background:#dff3ee}.annotation-sharing h3{margin:7px 0 4px;font:600 16px var(--display)}.annotation-sharing p{max-width:300px;margin:0;color:#697080;font-size:10px;line-height:1.45}.annotation-sharing-actions{display:grid;justify-items:end;gap:3px}.annotation-share{min-height:46px;color:white;background:var(--indigo)}.annotation-unshare{min-height:38px;padding:7px;border:0;color:#9a473d;background:transparent;font-size:10px;font-weight:700}.annotation-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.annotation-delete{margin-right:auto;color:#aa3e31;background:#fbe9e5}.citation-meta{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 13px}.citation-meta span,.citation-meta time{padding:6px 8px;border-radius:999px;color:#5e6574;background:#e9ebf0;font:500 9px var(--mono);text-transform:capitalize}.citation-url{min-height:58px;display:flex;flex-direction:column;justify-content:center;gap:3px;overflow:hidden;margin:0 0 16px;padding:11px 13px;border:1px solid #d9dbee;border-radius:11px;color:var(--indigo-dark);background:#f5f5ff;text-decoration:none}.citation-url strong,.citation-url span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.citation-url strong{font-size:13px}.citation-url span{color:#777d91;font:500 10px var(--mono)}.citation-url:hover,.citation-url:focus-visible{border-color:#aeb0f2;background:#efefff}.citation-used{margin:0 0 18px;padding:15px 16px;border-left:3px solid #ffc45f;border-radius:2px 10px 10px 2px;background:#fff9ec}.citation-used small{color:#8a6a2c;font:700 8px var(--mono);text-transform:uppercase;letter-spacing:.11em}.citation-used blockquote{margin:7px 0 0;color:#424957;font:400 14px/1.5 var(--serif)}.citation-unavailable{margin:0 0 20px;color:#5e6574;font:400 15px/1.55 var(--serif)}.citation-open{width:100%;justify-content:space-between}
.notebook-view{min-height:100vh;padding:54px clamp(24px,6vw,88px) 90px;background:linear-gradient(180deg,#f1f2f7,#f8f8fa 380px)}.notebook-header{max-width:980px;display:flex;align-items:end;justify-content:space-between;gap:30px;margin:0 auto 32px}.notebook-header h1{margin:11px 0 8px;font:600 clamp(44px,6vw,70px)/.95 var(--display);letter-spacing:-.055em}.notebook-header p{max-width:630px;margin:0;color:#5e6574;font:400 17px/1.6 var(--serif)}.notebook-new{flex:0 0 auto}.notebook-tabs{max-width:980px;display:flex;gap:8px;overflow-x:auto;margin:0 auto;padding:0 0 12px;scrollbar-width:none}.notebook-tabs::-webkit-scrollbar{display:none}.notebook-tabs button{flex:0 0 auto;min-height:48px;display:flex;align-items:center;gap:11px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:#596171;background:white;font-size:13px;font-weight:700}.notebook-tabs button small{min-width:22px;padding:4px 6px;border-radius:999px;color:#747b89;background:#eef0f3;font:600 9px var(--mono)}.notebook-tabs button.active{border-color:var(--night);color:white;background:var(--night)}.notebook-tabs button.active small{color:var(--night);background:white}.notebook-section-heading{max-width:980px;margin:15px auto 12px;border-top:1px solid #dfe1e7;padding-top:19px}.notebook-section-heading>div{display:flex;justify-content:space-between;align-items:center}.notebook-section-heading span{font:600 23px var(--display)}.notebook-section-heading small{color:var(--muted);font:500 9px var(--mono);text-transform:uppercase;letter-spacing:.07em}.notebook-list{max-width:980px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:auto}.note-card{position:relative;min-width:0;padding:25px 25px 19px 31px;border:1px solid var(--line);border-radius:4px 16px 4px 4px;background:white;box-shadow:0 10px 35px rgba(25,30,44,.04)}.note-card-rule{position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(var(--coral) 0 35%,#ffce60 35% 68%,var(--indigo) 68%)}.note-card blockquote{margin:0;font:italic 400 18px/1.5 var(--serif)}.note-card>p{margin:17px 0 20px;padding-top:15px;border-top:1px solid #ece7db;color:#333a49;font:400 14px/1.55 var(--sans)}.note-card>p.note-empty{color:#9398a4;font-style:italic}.note-card-meta{display:flex;align-items:end;justify-content:space-between;gap:18px}.note-card-meta strong,.note-card-meta small{display:block}.note-card-meta strong{font-size:12px}.note-card-meta small{max-width:250px;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35}.note-card-meta button{flex:0 0 auto;min-height:44px;padding:8px 0 8px 12px;border:0;color:var(--indigo-dark);background:transparent;font-size:11px;font-weight:750}.note-card-notebooks{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}.note-card-notebooks span{padding:4px 7px;border-radius:999px;color:#6c7280;background:#f0f1f5;font:500 8px var(--mono)}.notebook-empty{grid-column:1/-1;min-height:390px;display:grid;place-content:center;justify-items:center;padding:45px;text-align:center;border:1px dashed #ccd0da;border-radius:14px;background:rgba(255,255,255,.55)}.empty-pencil{display:grid;place-items:center;width:62px;height:62px;border-radius:18px;color:var(--indigo);background:#e7e7ff}.empty-pencil svg{width:27px;height:27px}.notebook-empty h2{margin:22px 0 7px;font:600 29px var(--display)}.notebook-empty p{max-width:410px;margin:0 0 20px;color:var(--muted);font:400 15px/1.55 var(--serif)}
.toast{position:fixed;right:22px;bottom:22px;z-index:100;padding:12px 16px;border-radius:9px;color:white;background:var(--night);box-shadow:0 12px 35px rgba(0,0,0,.22);font-size:10px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.toast.error{background:var(--warn)}
.spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.35);border-top-color:white;border-radius:50%;animation:spin .7s linear infinite}.spinner.dark{border-color:#c8c9f2;border-top-color:var(--indigo)}@keyframes spin{to{transform:rotate(360deg)}}

/* Reader mode is the product; management is a deliberately separate workspace. */
.skip-link{position:fixed;left:14px;top:10px;z-index:300;transform:translateY(-150%);padding:11px 14px;border-radius:6px;color:white;background:var(--indigo);font-size:14px;font-weight:700}.skip-link:focus{transform:none}
.mobile-reader-bar{display:none}
.sidebar-mode{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:auto;margin-bottom:13px;padding:4px;border:1px solid #30384a;border-radius:11px;background:#171d2b}
.sidebar-mode button{min-height:38px;border:0;border-radius:7px;color:#858ea2;background:transparent;font-size:11px;font-weight:700}
.sidebar-mode button.active{color:var(--night);background:white}
.sidebar-footer{margin-top:0}
.reading-view{min-height:100vh;padding:34px clamp(24px,5vw,72px) 80px;background:linear-gradient(180deg,#f4f5fa 0,#f8f8fb 320px)}
.reading-context{max-width:900px;margin:0 auto 20px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.reading-context p{display:flex;flex-wrap:wrap;gap:8px 17px;margin:10px 0 0;color:var(--muted);font:500 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em}
.reading-context p span+time,.reading-context p time+span{position:relative}
.reading-context p span+time::before,.reading-context p time+span::before{content:"";position:absolute;left:-9px;top:50%;width:3px;height:3px;border-radius:50%;background:#abb0be}
.reading-actions{display:flex;align-items:center;gap:8px}.edition-share-button{min-height:46px;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;color:#555d6e;background:white;font-size:12px;font-weight:700}.edition-share-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.archive-button{min-height:46px;display:inline-flex;align-items:center;gap:9px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;color:#555d6e;background:white;font-size:12px;font-weight:700}
.archive-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.reading-archive{max-width:900px;margin:0 auto 20px;padding:17px;border:1px solid var(--line);border-radius:14px;background:#edeff5}
.archive-heading{display:flex;justify-content:space-between;margin-bottom:12px;color:#686f7f;font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.08em}
.archive-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.archive-card{min-height:116px;padding:16px;border:1px solid transparent;border-radius:9px;color:var(--ink);background:rgba(255,255,255,.62);text-align:left}
.archive-card:hover{background:white}.archive-card.active{border-color:#cfd1f7;background:white;box-shadow:0 7px 22px rgba(26,31,47,.07)}
.archive-card span,.archive-card time{color:var(--muted);font:500 9px var(--mono);text-transform:uppercase}.archive-card span{margin-right:8px;color:var(--coral)}
.archive-card strong{display:block;margin-top:11px;font:600 15px/1.3 var(--display)}
.reading-paper{max-width:900px;margin:0 auto;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:white;box-shadow:0 24px 70px rgba(29,34,50,.07)}
.reading-paper .report{max-width:790px;padding-top:65px}
.shareable-heading{position:relative;isolation:isolate;padding-right:48px;scroll-margin-top:96px}.section-share-button{position:absolute;right:0;top:50%;width:44px;height:44px;display:grid;place-items:center;padding:10px;border:0;border-radius:50%;color:#787f8e;background:transparent;transform:translateY(-50%);opacity:.45;touch-action:manipulation}.section-share-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.section-share-button:hover,.section-share-button:focus-visible{color:var(--indigo);background:#efefff;opacity:1}.shared-section-arrival::after{content:"";position:absolute;inset:-10px -8px -8px;border-radius:10px;background:#fff0be;z-index:-1;animation:section-arrival 1.5s ease-out forwards}
.reader-status{max-width:900px;margin:0 auto 16px;display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid #d6d7f7;border-radius:10px;background:#eeeeff}
.reader-status b,.reader-status small{display:block}.reader-status b{font-size:13px}.reader-status small{margin-top:3px;color:var(--muted);font-size:11px}
.reading-empty{min-height:100vh;display:grid;place-content:center;justify-items:start;max-width:720px;padding:70px clamp(25px,8vw,100px)}
.reading-empty h1{margin:30px 0 12px;font:600 clamp(40px,7vw,67px)/.98 var(--display);letter-spacing:-.05em}
.reading-empty p{max-width:560px;margin:0 0 25px;color:var(--muted);font:400 18px/1.6 var(--serif)}
.manager-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.manager-card{min-height:245px;display:flex;flex-direction:column;align-items:flex-start;padding:27px;border:1px solid var(--line);border-radius:12px;background:white}
.manager-card h2{margin:13px 0 8px;font:600 27px/1.08 var(--display);letter-spacing:-.03em}.manager-card p{margin:0 0 24px;color:var(--muted);font:400 14px/1.6 var(--serif)}
.manager-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.text-action{margin-top:auto;padding:10px 0;border:0;color:var(--indigo-dark);background:transparent;font-size:13px;font-weight:700}
.primary-manager-card{background:linear-gradient(145deg,#fff 0 60%,#f0efff 60%)}
.sheet-dialog{width:min(470px,calc(100vw - 28px));padding:25px;border-radius:18px;color:var(--ink);background:var(--paper);overscroll-behavior:contain}
.sheet-handle{display:none}.sheet-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:19px}.sheet-heading h2{margin:7px 0 0;font:600 30px var(--display)}
.sheet-close{flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;aspect-ratio:1;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:#6e7584;background:#e6e8ef;font-size:25px;line-height:1}
.mobile-desk-list,.mode-menu{display:grid;gap:8px}
.mobile-desk-link,.mode-menu>button{width:100%;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:white;text-align:left}
.mobile-desk-link strong,.mobile-desk-link small,.mode-menu strong,.mode-menu small{display:block}.mobile-desk-link strong,.mode-menu strong{font-size:14px}.mobile-desk-link small,.mode-menu small{margin-top:4px;color:var(--muted);font-size:11px}
.mobile-desk-link.active{border-color:#bfc1f3;background:#f0f0ff}.mobile-desk-link>span:last-child{color:var(--indigo);font-size:18px}
.mode-menu>button{justify-content:flex-start}.menu-icon{flex:0 0 44px;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:var(--indigo);background:#eeeeff}
.menu-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.mode-menu>button>span:last-child{min-width:0}
.menu-signout{width:100%;min-height:48px;margin-top:16px;border:0;border-top:1px solid var(--line);color:var(--muted);background:transparent;font-size:13px;font-weight:700}

@media(max-width:900px){
  #app{grid-template-columns:1fr}
  .sidebar{position:relative;width:auto;height:auto;padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}
  .brand{padding:0}
  .brand small,.sidebar-label,.sidebar-footer{display:none}
  .brand-glyph{width:40px;height:40px}
  .desk-list{display:flex;overflow-x:auto;margin-left:14px;gap:8px;scrollbar-width:none}
  .desk-list::-webkit-scrollbar{display:none}
  .desk-link{min-width:184px;min-height:56px;padding:10px 12px}
  .desk-link strong{font-size:13px}
  .desk-link small{font-size:11px}
  .desk-index,.desk-arrow{font-size:10px}
  .main{grid-column:1}
  .workspace-header{top:0}
  .library{grid-template-columns:1fr}
  .edition-list{display:flex;overflow-x:auto;border:0;border-bottom:1px solid var(--line);scrollbar-width:none}
  .edition-list::-webkit-scrollbar{display:none}
  .section-heading{display:none}
  .edition-card{min-width:232px;min-height:116px;padding:17px}
  .edition-card time,.edition-card .edition-number{font-size:10px}
  .edition-card strong{font-size:16px;line-height:1.25}
  .edition-card small{font-size:11px}
  .empty-orbit{opacity:.5}
  .source-row{grid-template-columns:minmax(180px,1fr) 85px 90px 42px 54px}
  .source-table.selecting .source-row{grid-template-columns:44px minmax(180px,1fr) 85px 90px 42px 54px}
  .source-row .authority{display:none}
}
@media(max-width:680px){
  .kicker{font-size:11px;line-height:1.25}
  .button{min-height:48px;padding:13px 18px;font-size:14px}
  .sidebar{grid-template-columns:auto minmax(0,1fr) auto}
  .brand>span:last-child{display:none}
  .sidebar-footer{display:block;margin:0;border:0;padding:0}
  .sidebar-footer>span{display:none}
  .sidebar-footer button{min-width:62px;min-height:44px;padding:8px;color:#c8cedd;font-size:12px}
  .sidebar-footer button:hover{color:white}
  .login-shell{min-height:100dvh;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:25px;padding:calc(22px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
  .login-brand{order:0;font-size:16px}
  .login-copy{order:1;margin-top:2vh}
  .login-copy h1{margin:18px 0 20px;font-size:clamp(43px,12.5vw,52px);line-height:.96}
  .login-copy p{font-size:17px;line-height:1.55}
  .login-card{order:2;padding:31px 24px}
  .edition-stamp{font-size:11px}
  .login-card h2{font-size:32px}
  .login-card>p{font-size:15px;line-height:1.5}
  .login-card label,dialog label,.settings-card label,.feedback-card label{gap:8px;margin:18px 0;font-size:13px;line-height:1.35}
  .login-card input,dialog input,dialog textarea,dialog select,.settings-card input,.settings-card textarea,.settings-card select,.feedback-card textarea{min-height:50px;font-size:16px;line-height:1.4}
  .login-foot{order:3;font-size:11px}
  .workspace-header{display:block;padding:22px max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left))}
  .header-copy h1{margin-top:10px;font-size:35px;line-height:1.03}
  .header-copy p{font-size:15px;line-height:1.55}
  .header-actions{margin-top:18px;gap:10px}
  .header-actions .button{flex:1}
  .tabs{overflow-x:auto;gap:20px;margin-top:12px;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .tab{min-height:48px;padding:13px 2px;font-size:13px}
  .workspace{padding:20px max(14px,env(safe-area-inset-right)) calc(60px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
  .job-banner{padding:16px}
  .job-banner b{font-size:14px}
  .job-banner small{font-size:12px;line-height:1.4}
  .status-strip{grid-template-columns:1fr 1fr}
  .status-strip>div{padding:14px}
  .status-strip>div:nth-child(2){border-right:0}
  .status-strip>div:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line)}
  .status-strip small{font-size:10px;line-height:1.35}
  .status-strip b{font-size:16px;line-height:1.25}
  .library{border-radius:9px}
  .reader-toolbar{min-height:56px;align-items:center;padding:6px 12px}
  .reader-toolbar>span{display:none}
  .reader-toolbar>div{display:flex;width:100%;justify-content:flex-end;gap:4px}
  .reader-toolbar button{min-height:44px;margin:0;padding:8px 10px;font-size:11px}
  .report{padding:39px 21px 55px 42px}
  .signal-rail{left:18px;top:44px;bottom:55px;width:3px}
  .report h1{font-size:clamp(36px,10.5vw,42px);line-height:1.02}
  .report .standfirst{margin-bottom:35px;font-size:19px;line-height:1.55}
  .report h2{margin-top:42px;font-size:27px;line-height:1.13}
  .report p{font-size:18px;line-height:1.72}
  .report li{font-size:16px;line-height:1.65}
  .citation{padding:4px 5px;font-size:10px}
  .feedback-card{margin-top:48px;padding:22px 19px}
  .feedback-card h3{font-size:25px}
  .feedback-card p{font-size:15px;line-height:1.5}
  .feedback-actions{gap:8px}
  .feedback-actions button{min-height:44px;padding:10px 13px;font-size:13px}
  .feedback-submit{width:100%}
  .empty-state{padding:13vh 25px}
  .empty-state h1{font-size:51px}
  .empty-state>p{font-size:17px}
  .empty-orbit{display:none}
  .empty-note{grid-template-columns:1fr;gap:5px;font-size:13px}
  .blank-panel{display:block;padding:45px 25px}
  .blank-mark{width:80px;height:80px;margin-bottom:35px}
  .blank-panel h2{font-size:30px}
  .blank-panel p{font-size:16px}
  .section-head{align-items:stretch;flex-direction:column}
  .section-head h2{font-size:30px}
  .section-head p{font-size:16px}
  .section-head .button{width:100%}
  .section-head-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}.section-head-actions .button:first-child:nth-last-child(3){grid-column:1/-1}
  .source-table{overflow:visible;border:0;background:transparent}
  .source-row.header{display:none}
  .source-row:not(.header){min-width:0;margin-bottom:12px;padding:17px;grid-template-columns:minmax(0,1fr) auto;gap:13px 16px;border:1px solid var(--line);border-radius:10px;background:white;font-size:14px}
  .source-table.selecting .source-row:not(.header){grid-template-columns:44px minmax(0,1fr) auto}.source-table.selecting .source-name{grid-column:2/-1}
  .source-row:not(.header)>*{display:flex}
  .source-name{display:block!important;grid-column:1/-1;min-width:0}
  .source-name strong{font-size:15px}
  .source-name small{max-width:100%;font-size:12px;line-height:1.4}
  .source-row [data-label]{width:100%;align-items:center;justify-content:space-between;gap:12px}
  .source-row [data-label]::before{content:attr(data-label);color:var(--muted);font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.07em}
  .role-pill,.health-pill{width:100%;padding:8px 10px;font-size:11px}
  .authority{grid-column:1/-1;font-size:11px}
  .switch{width:64px;height:44px;padding:8px}
  .switch::after{width:28px;height:28px}
  .switch.on::after{transform:translateX(20px)}
  .source-actions{gap:4px;justify-content:flex-end}
  .source-actions button{width:44px;height:44px;font-size:20px}
  .source-select{grid-column:1;grid-row:1}.source-bulk-bar{position:fixed;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));top:auto;bottom:calc(10px + env(safe-area-inset-bottom));z-index:70;display:grid;grid-template-columns:auto 1fr;padding:9px 10px}.source-bulk-bar strong{text-align:right}.source-bulk-bar>div{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.source-bulk-bar .button{min-height:46px}.manage-workspace:has(.source-bulk-bar){padding-bottom:calc(155px + env(safe-area-inset-bottom))}
  .settings-card{padding:25px 19px}
  .settings-card h2{font-size:30px}
  .settings-card>p{font-size:15px}
  .field-row{grid-template-columns:1fr}
  dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
  dialog form{padding:36px 22px 28px}
  dialog h2{font-size:31px}
  .dialog-intro{font-size:15px}
  .dialog-close{right:8px;top:6px;width:44px;height:44px;font-size:26px}
  .dialog-actions{gap:10px}
  .dialog-actions .button{flex:1}
  .source-pack-dialog textarea{min-height:210px;font-size:16px}
  .field-help{font-size:12px}.field-help code{font-size:11px}
  .source-pack-summary{font-size:13px;line-height:1.4}
  .source-pack-preview{max-height:210px}
  .source-pack-item{padding:13px}
  .source-pack-item strong{font-size:14px}.source-pack-item small{font-size:12px}
  .source-pack-dialog .dialog-actions{position:sticky;z-index:2;bottom:-28px;margin:18px -22px -28px;padding:12px 22px calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:linear-gradient(rgba(247,247,249,.94),var(--paper) 28%)}
  .check-label{grid-template-columns:24px 1fr!important;padding:14px}
  .check-label input{min-height:24px}
  .check-label small{font-size:12px;line-height:1.45}
  .toast{left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));padding:14px 16px;font-size:14px}
  .selection-action{top:auto!important;bottom:calc(15px + env(safe-area-inset-bottom));min-height:52px;padding:13px 19px;font-size:14px;transform:translateX(-50%)}
  .annotation-dialog .sheet-heading{margin-bottom:14px}.annotation-quote{max-height:122px;padding:14px 15px 14px 19px;font-size:16px}.annotation-dialog textarea{min-height:118px}.notebook-choice span{min-height:48px;padding:10px 14px;font-size:13px}.annotation-actions{position:sticky;z-index:2;bottom:calc(-22px - env(safe-area-inset-bottom));margin:19px -20px calc(-22px - env(safe-area-inset-bottom));padding:12px max(20px,env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));border-top:1px solid var(--line);background:linear-gradient(rgba(247,247,249,.96),var(--paper) 32%)}.annotation-actions .button{min-height:50px}.citation-url{min-height:62px}.citation-used blockquote,.citation-unavailable{font-size:16px}
}
@media(max-width:360px){
  .login-copy h1{font-size:41px}
  .report{padding-left:36px;padding-right:17px}
  .signal-rail{left:15px}
  .report h1{font-size:34px}
  .header-actions{flex-direction:column}
  .header-actions .button{width:100%}
}
@media(max-width:900px){
  #app{display:block}
  .sidebar{display:none!important}
  .mobile-reader-bar{position:sticky;top:0;z-index:30;min-height:68px;display:grid;grid-template-columns:44px minmax(0,1fr) 48px;gap:10px;align-items:center;padding:10px max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left));border-bottom:1px solid #252b3a;color:white;background:rgba(16,21,34,.97);backdrop-filter:blur(18px)}
  .mobile-brand{display:grid;place-items:center;width:44px;height:44px;color:white;text-decoration:none}
  .mobile-brand>span{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid #4b5365;border-radius:11px 11px 3px 11px;font:700 18px var(--display)}
  .mobile-brand>span>span{position:absolute;right:4px;top:2px;color:var(--coral);font-size:9px}
  .mobile-publication-button{min-width:0;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 11px;border:0;border-radius:10px;color:white;background:#1b2232;text-align:left}
  .mobile-publication-button span{min-width:0}.mobile-publication-button small,.mobile-publication-button strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-publication-button small{color:#8e97a9;font:500 9px var(--mono);text-transform:uppercase;letter-spacing:.08em}.mobile-publication-button strong{margin-top:3px;font-size:13px}
  .mobile-publication-button svg,.app-menu-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
  .app-menu-button{width:48px;height:48px;padding:12px;border:0;border-radius:10px;color:#dce0eb;background:transparent}
  .main{min-width:0}
  .sheet-dialog{inset:auto 0 0;width:100%;max-width:none;max-height:min(82dvh,760px);margin:0;padding:13px max(20px,env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));border-radius:24px 24px 0 0}
  .sheet-dialog[open]{animation:sheet-in .22s cubic-bezier(.2,.8,.2,1)}
  .sheet-handle{display:block;width:42px;height:5px;margin:0 auto 17px;border-radius:4px;background:#c8cbd4}
  .reading-view{min-height:calc(100vh - 68px);padding:24px max(14px,env(safe-area-inset-right)) calc(55px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
  .reading-paper{border-radius:12px}
  .manage-header{position:relative}
  .manager-grid{grid-template-columns:1fr}
  .manager-card{min-height:220px}
  .notebook-view{min-height:calc(100vh - 68px);padding:40px max(20px,env(safe-area-inset-right)) calc(65px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.notebook-header{align-items:flex-start;flex-direction:column;gap:19px}.notebook-list{grid-template-columns:1fr}
}
@media(max-width:680px){
  .reading-view{padding-top:18px}
  .reading-context{align-items:flex-start;gap:14px;margin-bottom:16px;padding:0 6px}
  .reading-context p{gap:6px 15px;font-size:10px}
  .reading-context p span+time::before,.reading-context p time+span::before{display:none}
  .archive-button{flex:0 0 auto;min-width:48px;min-height:48px;padding:10px}
  .archive-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .archive-button svg{width:22px;height:22px}
  .reading-actions{gap:6px}.edition-share-button{flex:0 0 auto;min-width:48px;min-height:48px;padding:10px}.edition-share-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.edition-share-button svg{width:22px;height:22px}.shareable-heading{padding-right:44px;scroll-margin-top:84px}.section-share-button{right:-4px;opacity:.68}
  .reading-archive{margin-bottom:14px;padding:14px 12px}
  .archive-track{display:flex;overflow-x:auto;gap:9px;padding-bottom:2px;scrollbar-width:none;scroll-snap-type:x proximity}
  .archive-track::-webkit-scrollbar{display:none}.archive-card{flex:0 0 242px;scroll-snap-align:start}
  .reading-paper{margin-inline:-14px;border-width:1px 0;border-radius:0;box-shadow:none}
  .reading-paper .report{padding-top:43px}
  .reader-status{margin-inline:0}
  .reading-empty{min-height:calc(100vh - 68px);padding:55px 25px}
  .manager-grid{gap:12px}.manager-card{padding:22px;min-height:210px}.manager-card h2{font-size:26px}.manager-card p{font-size:16px}
  .manage-header .header-actions{display:grid;grid-template-columns:1fr 1fr}
  .notebook-view{padding-top:31px}.notebook-header{margin-bottom:22px}.notebook-header h1{font-size:48px}.notebook-header p{font-size:16px}.notebook-new{width:100%}.notebook-tabs{margin-inline:-20px;padding-inline:20px}.notebook-section-heading{margin-top:8px}.notebook-section-heading small{font-size:8px}.note-card{padding:23px 20px 17px 27px}.note-card blockquote{font-size:19px}.note-card>p{font-size:15px}.note-card-meta{align-items:flex-start;flex-direction:column;gap:8px}.note-card-meta button{width:100%;padding-left:0;text-align:left}.notebook-empty{min-height:360px;padding:30px 22px}
}
@keyframes sheet-in{from{transform:translateY(20px);opacity:.35}to{transform:none;opacity:1}}
@keyframes highlight-arrival{0%,35%{background-color:rgba(255,167,79,.8);box-shadow:0 0 0 7px rgba(255,190,82,.23)}100%{background-color:transparent;box-shadow:inset 0 -2px #d85e45}}
@keyframes section-arrival{0%,30%{opacity:.95}100%{opacity:0}}
.note-card-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end}.note-card-notebooks span.shared{color:#286b62;background:#dff3ee}
@media(max-width:680px){.annotation-sharing{grid-template-columns:1fr;padding:15px}.annotation-sharing p{max-width:none;font-size:11px}.annotation-sharing-actions{grid-template-columns:1fr auto;align-items:center;justify-items:stretch}.annotation-share{min-height:50px}.annotation-unshare{min-height:44px;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
