:root{--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--accent:#2563eb;--accent-hover:#1d4ed8;--border:#e2e8f0;--font-sans:"Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-serif:"Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}.secure-reader{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.secure-reader img{pointer-events:none}@media print{body{display:none!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 var(--bg-tertiary)}.app-container{height:100vh;max-height:100vh;display:flex;overflow:hidden}.sidebar-wrapper{z-index:30;flex-direction:column;flex-shrink:0;height:100%;max-height:100vh;display:flex}.sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--border);flex-direction:column;width:350px;height:100%;max-height:100vh;display:flex;overflow:hidden}.sidebar-scroll-area{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.main-content{flex-direction:column;flex:1;height:100vh;max-height:100vh;display:flex;position:relative;overflow:hidden}.reader-area{flex:1;justify-content:center;padding:4rem 2rem;display:flex;position:relative;overflow-y:auto}.document-container{width:100%;max-width:800px;font-family:var(--font-serif);color:#1e293b;font-size:1.125rem;line-height:1.8}.document-container h1,.document-container h2,.document-container h3,.document-container h4,.document-container h5,.document-container h6{font-family:var(--font-sans);color:var(--text-primary);margin-top:2em;margin-bottom:.8em;font-weight:600}.document-container h1{border-bottom:2px solid var(--text-primary);margin-top:0;padding-bottom:.5em;font-size:2.75rem;line-height:1.2}.document-container h2{border-bottom:1px solid var(--border);padding-bottom:.5em;font-size:2rem}.document-container h3{color:var(--text-secondary);font-size:1.5rem}.document-container h4{font-size:1.25rem;font-weight:700}.document-container p{margin-bottom:1.5em;position:relative}.document-container ul,.document-container ol{margin-bottom:1.5em;padding-left:2.5rem}.document-container li{margin-bottom:.5em;position:relative}.document-container ul{list-style-type:disc}.document-container ol{list-style-type:decimal}.document-container table{border-collapse:collapse;width:100%;margin-bottom:2em;font-size:1.25rem}.document-container th,.document-container td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:1rem}.document-container th{background-color:var(--bg-tertiary);font-weight:600}.review-block-wrapper{border-radius:4px;margin:0;padding:0;transition:background-color .2s;position:relative}.review-block-wrapper:hover{box-shadow:-4px 0 0 0 var(--accent);background-color:#2563eb08}.add-note-btn{opacity:0;color:var(--text-tertiary);cursor:pointer;z-index:10;background:0 0;border:none;padding:.25rem;transition:opacity .2s;position:absolute;top:0;right:-3rem}.review-block-wrapper:hover .add-note-btn,.review-block-wrapper:hover .block-id-reference{opacity:1}.add-note-btn:hover{color:var(--accent)}.block-id-reference{opacity:0;color:var(--text-tertiary);pointer-events:none;align-items:center;gap:.2rem;padding:.25rem;font-family:monospace;font-size:.75rem;transition:opacity .2s;display:flex;position:absolute;top:0;right:-8rem}.watermark-container{pointer-events:none;z-index:9999;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.watermark{color:#00000008;text-transform:uppercase;white-space:pre-wrap;text-align:center;font-size:1.5rem;font-weight:700;line-height:1.4;position:absolute;transform:rotate(-30deg)}.btn{background-color:var(--accent);color:#fff;cursor:pointer;font-weight:500;font-family:var(--font-sans);border:none;border-radius:6px;padding:.5rem 1rem;transition:background-color .2s}.btn:hover{background-color:var(--accent-hover)}.input{border:1px solid var(--border);font-family:var(--font-sans);border-radius:6px;width:100%;padding:.5rem .75rem}.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #2563eb1a}.mobile-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:1rem;display:none}.mobile-menu-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.mobile-header-title{font-family:var(--font-serif);color:var(--text-primary);font-size:1.25rem;font-weight:600}.sidebar-overlay{z-index:40;opacity:0;pointer-events:none;background:#00000080;transition:opacity .3s;display:none;position:fixed;inset:0}@media (width<=768px){.mobile-header{display:flex}.sidebar-wrapper{z-index:50;background-color:var(--bg-secondary);transition:left .3s;position:fixed;top:0;bottom:0;left:-350px;box-shadow:2px 0 8px #0000001a}.sidebar-wrapper.open{left:0}.sidebar-overlay.show{opacity:1;pointer-events:auto;display:block}.sidebar{height:100vh}.reader-area{padding:1.5rem 1rem}.document-container h1{font-size:2rem}.document-container h2{font-size:1.5rem}.add-note-btn{opacity:1;background:var(--bg-tertiary);border-radius:50%;top:-1.5rem;right:0;box-shadow:0 1px 3px #0000001a}.block-id-reference{display:none}}.document-container{overflow-wrap:break-word;word-wrap:break-word}.document-container img{max-width:100%;height:auto}.document-container table{-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}@media (width<=768px){.document-container{font-size:1rem}.document-container h1{font-size:1.75rem}.document-container h2{font-size:1.5rem}.document-container h3{font-size:1.25rem}.document-container h4{font-size:1.1rem}.document-container table{font-size:1rem}.document-container th,.document-container td{padding:.5rem}}
