:root{--bg:#f7f8f5;--surface:#ffffff;--surface-muted:#eef2ec;--text:#1e2524;--muted:#62706e;--line:#d8dfd8;--accent:#146c66;--accent-strong:#0f4e4a;--gold:#b88920;--red:#b5473d;--shadow:0 16px 36px rgba(29,42,40,0.08)}*{box-sizing:border-box}body,html{margin:0;max-width:100%;min-height:100%;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app-shell{min-height:100vh;min-width:0}.topbar{background:rgba(247,248,245,.92);border-bottom:1px solid var(--line);justify-content:space-between;padding:18px clamp(20px,5vw,64px);position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand,.topbar{align-items:center;display:flex}.brand{gap:10px;font-weight:800}.brand-mark{align-items:center;background:var(--accent);border-radius:8px;color:white;display:inline-flex;height:32px;justify-content:center;width:32px}.topbar-note{color:var(--muted);font-size:14px}.main{margin:0 auto;max-width:1180px;padding:34px 20px 56px;width:100%}.hero{display:grid;grid-gap:18px;gap:18px;margin-bottom:26px}.hero h1{font-size:clamp(34px,6vw,62px);line-height:1.02;margin:0;max-width:900px}.hero p{color:var(--muted);font-size:18px;line-height:1.6;margin:0;max-width:780px}.search-form{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:18px;gap:18px;min-width:0;padding:18px}.search-row{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) auto}.search-input{border:1px solid var(--line);border-radius:8px;color:var(--text);min-height:48px;padding:0 14px;width:100%}.icon-button,.primary-button,.secondary-button{align-items:center;border:0;border-radius:8px;cursor:pointer;display:inline-flex;font-weight:700;gap:8px;justify-content:center;min-height:48px;padding:0 16px}.primary-button{background:var(--accent);color:white}.icon-button,.secondary-button{background:var(--surface-muted);color:var(--accent-strong)}.icon-button{aspect-ratio:1;padding:0;width:42px}.filter-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr))}.field{display:grid;grid-gap:6px;gap:6px;min-width:0}.field label{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.field input,.field select{background:white;border:1px solid var(--line);border-radius:8px;min-height:42px;min-width:0;padding:0 10px;width:100%}.status-line{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin:24px 0 14px}.paper-card,.results{display:grid;grid-gap:14px;gap:14px;min-width:0}.paper-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere;padding:18px}.paper-card h2{font-size:21px;line-height:1.25}.paper-card h2,.paper-card p{margin:0;min-width:0;overflow-wrap:anywhere}.paper-card p{color:var(--muted);line-height:1.55}.action-row,.meta-row,.tag-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;min-width:0}.meta-item,.tag{align-items:center;background:var(--surface-muted);border-radius:999px;color:var(--muted);display:inline-flex;font-size:13px;gap:6px;min-height:28px;max-width:100%;min-width:0;overflow-wrap:anywhere;padding:0 10px;white-space:normal}.tag.oa{background:#dcefe9;color:var(--accent-strong)}.tag.closed{background:#f3e4df;color:var(--red)}.empty-state{border:1px dashed var(--line);border-radius:8px;color:var(--muted);padding:28px;text-align:center}.detail-layout{display:grid;grid-gap:20px;gap:20px;grid-template-columns:minmax(0,1fr) 320px}.detail-panel,.source-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:22px}.detail-panel h1{font-size:clamp(30px,5vw,52px);line-height:1.08;margin:0 0 16px}.detail-section{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.detail-section h2,.source-panel h2{font-size:16px;margin:0 0 10px}.fact-list{display:grid;grid-gap:12px;gap:12px}.fact{display:grid;grid-gap:4px;gap:4px}.fact span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.fact strong{font-size:15px}@media (max-width:840px){.topbar{align-items:flex-start;flex-direction:column;gap:8px}.detail-layout,.search-row{grid-template-columns:1fr}}@media (max-width:560px){.primary-button,.secondary-button{width:100%}}