:root{--paper:#f6f5f1;--white:#fff;--ink:#172e3b;--muted:#778186;--line:#e4e6e2;--teal:#22645e;--teal-light:#e5eeea;--sidebar-width:288px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{color:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #76a8a0;outline-offset:3px}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:650;letter-spacing:.15em;color:var(--muted);margin:0 0 10px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;height:36px;width:36px;background:var(--ink);border-radius:8px;color:var(--paper);font-family:Georgia,"Times New Roman",serif;font-size:27px;line-height:1;font-weight:400;letter-spacing:-3px;padding-right:4px}.brand-mark>span{color:#abc6b8}.brand-mark-large{width:58px;height:58px;font-size:44px;border-radius:12px}.loading-screen{height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--muted);font-size:13px;gap:14px}.loading-dots{display:inline-block;animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.25}}.signin-screen{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;background:radial-gradient(ellipse at 15% 25%,#e4ece5 0,transparent 55%),var(--paper)}.signin-card{width:min(100%,410px);text-align:left}.signin-card>.eyebrow{margin-top:45px;color:var(--teal)}.signin-card h1{font-family:Georgia,"Times New Roman",serif;font-size:54px;font-weight:400;letter-spacing:-2px;line-height:1.12;margin:17px 0 22px}.signin-copy{font-size:15px;line-height:1.8;color:#66747a;max-width:320px;margin-bottom:35px}.signin-button{background:var(--ink);color:white;text-decoration:none;display:flex;align-items:center;gap:17px;padding:17px 20px;border-radius:7px;font-size:14px;font-weight:550;transition:background .15s}.signin-button:hover{background:var(--teal)}.signin-button>span:last-child{margin-left:auto}.google-letter{font-weight:700;font-size:19px}.signin-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:17px}.signin-footer{font-size:11px;color:var(--muted);letter-spacing:.08em;margin:64px 0 0}

.archive-app { display:grid; grid-template-columns:var(--sidebar-width) minmax(0,1fr); height:100dvh; overflow:hidden; }
.sidebar { min-height:0; display:flex; flex-direction:column; background:var(--paper); border-right:1px solid var(--line); padding:0 10px; }
.sidebar-heading { min-height:58px; display:flex; align-items:center; justify-content:space-between; padding:0 8px; }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; }
.brand .brand-mark { height:29px; width:29px; font-size:22px; border-radius:6px; }
.brand strong { display:block; font-size:13px; font-weight:650; letter-spacing:-.2px; }
.brand small { display:block; color:var(--muted); font-size:9px; margin-top:3px; }
.search-box { display:flex; align-items:center; gap:9px; padding:8px 10px; margin:0 4px 13px; background:#eeefea; border:1px solid #e2e5df; border-radius:5px; }
.search-box input { width:100%; min-width:0; background:transparent; border:0; color:var(--ink); font-size:12px; outline:none; }
.search-box:focus-within { border-color:#91b1a8; box-shadow:0 0 0 2px #22645e13; }
.search-box input::placeholder { color:#87918b; }
.search-icon { width:11px; height:11px; border:1.4px solid #7a8b87; border-radius:50%; position:relative; flex:none; margin-right:1px; }
.search-icon:after { content:""; position:absolute; width:5px; height:1.4px; background:#7a8b87; transform:rotate(45deg); top:8px; left:7px; }
.search-box kbd { font-size:10px; line-height:1; border:1px solid #d9ded7; color:#88918b; border-radius:3px; padding:3px 5px; }
.library-heading { display:flex; justify-content:space-between; color:#687a73; font-size:11px; font-weight:600; margin:0 11px 7px; }
.library-heading>span:last-child { color:#8d9991; font-size:10px; font-weight:400; }
.search-status { font-size:11px; color:var(--muted); padding:0 11px; margin:0 0 8px; line-height:1.5; }
.project-tree { min-height:0; overflow:auto; flex:1; scrollbar-width:thin; scrollbar-color:#d6dcd6 transparent; padding-bottom:14px; }
.project-tree ul { list-style:none; margin:0; padding:0; }
.chevron { display:inline-block; width:10px; flex:0 0 10px; font-size:14px; line-height:1; transition:transform .12s; text-align:center; }
.chevron.expanded { transform:rotate(90deg); }
.project-row { display:flex; align-items:center; min-height:35px; border-radius:4px; margin:1px 0; }
.project-row:hover,.file-row:hover { background:#eaece6; }
.project-row.active { background:var(--teal-light); }
.project-toggle { width:20px; align-self:stretch; background:transparent; border:0; padding:8px 0 8px 5px; color:#829189; }
.project-select { min-width:0; flex:1; align-self:stretch; display:flex; align-items:center; gap:7px; padding:8px 7px 8px 3px; background:transparent; border:0; text-align:left; font-size:12px; font-weight:450; line-height:1.5; }
.project-row.active .project-select { color:var(--teal); font-weight:600; }
.project-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.project-tag { max-width:108px; flex:0 1 auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:9px; font-weight:400; line-height:1.4; padding:2px 5px; border-radius:3px; background:#e2e7e1; color:#5c7165; }
.folder-icon { width:13px; height:10px; display:inline-block; border:1.2px solid currentColor; border-radius:2px; position:relative; flex:0 0 13px; opacity:.7; }
.folder-icon:before { content:""; position:absolute; top:-4px; left:-1.2px; width:7px; height:4px; border:1.2px solid currentColor; border-bottom:0; border-radius:2px 2px 0 0; background:var(--paper); }
.active .folder-icon:before { background:var(--teal-light); }
.file-list { margin-left:23px!important; border-left:1px solid #dce3dc; padding-left:6px!important; }
.file-list .file-list { margin-left:10px!important; }
.file-row { width:100%; min-height:29px; display:flex; align-items:center; gap:6px; padding:5px 6px; border:0; border-radius:3px; background:transparent; font-size:11px; text-align:left; color:#63766b; line-height:1.6; }
.file-row.active { color:var(--teal); background:var(--teal-light); font-weight:600; }
.file-label { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.file-row.source-file { color:#86938a; }
.file-icon { width:10px; height:13px; border:1px solid currentColor; border-radius:1px; flex:0 0 10px; display:inline-block; position:relative; opacity:.7; }
.file-icon:after { content:""; position:absolute; height:1px; width:4px; background:currentColor; top:5px; left:2px; box-shadow:0 3px 0 currentColor; }
.pdf-icon { color:#477e75; }
.compiled-tag { font-size:8px; padding:1px 3px; border-radius:2px; border:1px solid #cbdcd2; line-height:1.3; margin-left:auto; font-weight:400; color:#6c8c7e; flex:none; }
.no-results { padding:18px 12px; color:#88928b; font-size:12px; line-height:1.8; }
.sidebar-footer { display:flex; align-items:center; gap:8px; border-top:1px solid var(--line); padding:12px 7px; min-width:0; }
.account { display:flex; align-items:center; gap:7px; min-width:0; flex:1; font-size:10px; color:#7c8780; }
.account>span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-avatar { height:19px; width:19px; flex:none; border-radius:50%; background:#e1e8df; border:1px solid #d5dfd2; position:relative; overflow:hidden; }
.account-avatar:after { content:""; position:absolute; left:5px; top:3px; width:7px; height:7px; border-radius:50%; background:#9fac9a; box-shadow:0 7px 0 2px #9fac9a; }
.text-button { border:0; background:transparent; padding:5px 0 5px 6px; color:#6d7e77; font-size:10px; white-space:nowrap; }
.text-button:hover { text-decoration:underline; }
.workspace { min-width:0; display:flex; flex-direction:column; overflow:hidden; background:#f8faf7; }
.workspace-toolbar { height:52px; flex:0 0 52px; min-width:0; display:flex; align-items:center; gap:14px; padding:0 14px; border-bottom:1px solid #dde3dc; background:#fafbf8; }
.toolbar-document { flex:1; min-width:0; }
.document-location { display:flex; align-items:center; gap:7px; min-width:0; }
.document-location h1 { min-width:0; margin:0; font-size:13px; line-height:1.4; font-weight:600; letter-spacing:-.1px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.breadcrumb { max-width:60%; min-width:0; display:flex; align-items:center; gap:7px; color:#839189; font-size:11px; white-space:nowrap; overflow:hidden; }
.breadcrumb span { overflow:hidden; text-overflow:ellipsis; }
.breadcrumb .crumb-separator { color:#b0bcb1; flex:none; }
.document-metadata { display:flex; align-items:center; gap:14px; margin-top:3px; color:#839189; font-size:9px; line-height:1.4; white-space:nowrap; overflow:hidden; }
.document-metadata>span { overflow:hidden; text-overflow:ellipsis; }
.document-metadata strong { font-weight:400; color:#64776b; margin-left:4px; }
.document-actions { display:flex; align-items:center; flex:none; gap:5px; }
.toolbar-action { min-height:29px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:5px 8px; text-decoration:none; font-size:11px; color:#526e62; border:1px solid #dce3da; border-radius:4px; background:#fff; white-space:nowrap; }
.toolbar-action:hover { background:#edf3e9; }
.toolbar-action>span:last-child { font-size:14px; line-height:1; }
.viewer-area { min-height:0; flex:1; display:flex; flex-direction:column; overflow:hidden; margin:0; padding:0; border:0; border-radius:0; background:#282828; }
#pdf-viewer { display:block; width:100%; min-height:0; flex:1; border:0; margin:0; background:#282828; }
.viewer-empty { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:25px; text-align:center; background:#f0f4ed; min-height:160px; }
.empty-document-icon { width:34px; height:45px; border:1px solid #a8bcae; border-radius:3px; position:relative; margin-bottom:20px; background:#f8faf6; }
.empty-document-icon:before { content:""; position:absolute; width:17px; height:1px; left:8px; top:14px; background:#b5c5b5; box-shadow:0 7px 0 #b5c5b5,0 14px 0 #b5c5b5; }
.viewer-empty h2 { font-family:Georgia,"Times New Roman",serif; font-size:24px; font-weight:400; letter-spacing:-.4px; margin:0 0 10px; }
.viewer-empty p { font-size:12px; color:#7d8f83; max-width:350px; line-height:1.8; margin:0; }
.button { display:inline-flex; align-items:center; justify-content:center; border:1px solid #dce2dc; border-radius:4px; padding:9px 12px; font-size:11px; color:#526d69; background:white; }
.button:hover { background:#eaf2e6; }
.viewer-empty .button { margin-top:18px; }
.notification { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); background:var(--ink); color:white; padding:12px 16px; border-radius:5px; box-shadow:0 4px 20px #172e3b20; font-size:12px; max-width:calc(100% - 30px); z-index:10; }
.icon-button { border:0; background:transparent; min-width:30px; min-height:30px; font-size:23px; color:#61766b; border-radius:4px; }
.icon-button:hover { background:#e9ede5; }
.mobile-only { display:none; }
.sidebar-scrim { position:fixed; inset:0; background:#142d3b50; z-index:4; border:0; }
@media(max-width:900px) {
  :root { --sidebar-width:258px; }
  .workspace-toolbar { gap:9px; padding:0 10px; }
  .document-actions { gap:4px; }
  .toolbar-action { padding:5px 6px; gap:5px; font-size:10px; }
  .breadcrumb { max-width:45%; }
  .project-tag { max-width:92px; }
}
@media(max-width:700px) {
  .archive-app { display:block; }
  .workspace { height:100dvh; }
  .sidebar { position:fixed; inset:0 auto 0 0; width:min(310px,88vw); z-index:5; transform:translateX(-100%); transition:transform .18s ease; box-shadow:15px 0 45px #172e3b15; }
  .sidebar.open { transform:translateX(0); }
  .mobile-only { display:inline-flex; align-items:center; justify-content:center; }
  .menu-button { font-size:18px; margin-left:-4px; flex:none; }
  .workspace-toolbar { gap:6px; padding:0 8px; }
  .document-location { gap:5px; }
  .document-location h1 { font-size:12px; }
  .breadcrumb { max-width:40%; font-size:10px; gap:5px; }
  .document-metadata { font-size:8px; gap:8px; }
  .document-actions { gap:4px; }
  .toolbar-action { min-width:29px; padding:5px 6px; }
  .action-label { display:none; }
  .viewer-empty { padding:24px 20px; }
  .viewer-empty h2 { font-size:22px; }
  .viewer-empty p { font-size:11px; }
  .signin-card h1 { font-size:47px; }
  .search-box kbd { display:none; }
}
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
