*,*:before,*:after{box-sizing:border-box}:root{--primary: #3B82F6;--primary-dark: #1E40AF;--secondary: #6B7280;--danger: #EF4444;--success: #10B981;--background: #F3F4F6;--surface: #FFFFFF;--text: #111827;--text-muted: #6B7280;--border: #E5E7EB;--focus-ring: 0 0 0 3px rgba(59, 130, 246, .5)}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--background);color:var(--text);line-height:1.5}body.share-view-mode header,body.share-view-mode nav,body.share-view-mode #user-controls,body.share-view-mode #auth-buttons,body.share-view-mode .modal{display:none!important}body.share-view-mode .node-group.selected,body.share-view-mode .connection-line.selected{animation:none!important}body.share-view-mode .node-group.selected .node-rect{stroke-width:2;stroke:#374151;filter:none}body.share-view-mode .connection-line.selected{stroke-width:inherit!important;filter: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}:focus{outline:none}:focus-visible{box-shadow:var(--focus-ring);outline:2px solid var(--primary);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:0;padding:8px 16px;background:var(--primary);color:#fff;z-index:1000}.skip-link:focus{top:0}header{background:var(--surface);padding:1rem 2rem;display:flex;align-items:center;gap:2rem;box-shadow:0 1px 3px #0000001a;position:sticky;top:0;z-index:100}header h1{margin:0;font-size:1.5rem;color:var(--primary-dark)}nav{display:flex;gap:.5rem}.nav-btn{padding:.5rem 1rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px;font-size:1rem;transition:all .2s}.nav-btn:hover{background:var(--background)}.nav-btn.active{background:var(--primary);color:#fff}#user-info{margin-left:auto;font-size:.875rem;color:var(--text-muted)}main{padding:1rem;max-width:1600px;margin:0 auto}.section{display:none}.section.active{display:block}.section[hidden]{display:none}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{margin:0}.section-subheading{font-size:1.1rem;color:var(--text-muted);margin:1.5rem 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.section-subheading:first-child{margin-top:0}.btn-primary,.btn-secondary{padding:.625rem 1.25rem;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--border);color:var(--text)}.btn-secondary:hover{background:var(--secondary);color:#fff}.btn-danger{padding:.625rem 1.25rem;border:none;border-radius:6px;font-size:1rem;cursor:pointer;background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-danger-text{color:var(--danger)}.btn-danger-text:hover:not(:disabled){background:#ef44441a}.btn-danger-text:disabled{color:var(--text-muted);opacity:.5;cursor:not-allowed}.panel-danger-zone{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.btn-sm{padding:.375rem .75rem;font-size:.875rem}.oauth-section{margin-top:1rem}.oauth-divider{display:flex;align-items:center;text-align:center;color:var(--text-muted);margin:1rem 0}.oauth-divider:before,.oauth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border)}.oauth-divider span{padding:0 .75rem;font-size:.875rem}.btn-oauth{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.625rem 1.25rem;border:1px solid var(--border);border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.btn-google{background:var(--surface);color:var(--text)}.btn-google:hover{background:var(--background);border-color:var(--secondary)}.btn-google:focus-visible{box-shadow:var(--focus-ring)}.btn-google .google-icon{flex-shrink:0}.connection-popover{position:absolute;background:var(--surface);border-radius:6px;padding:.5rem;box-shadow:0 4px 12px #0003;z-index:100}.connection-popover[hidden]{display:none}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.card{background:var(--surface);border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.card h3{margin:0 0 .5rem;color:var(--primary-dark)}.card p{margin:0;color:var(--text-muted);font-size:.875rem}.card-footer{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--text-muted)}.card-actions{display:flex;gap:.5rem;align-items:center}.card-actions .btn-icon{color:var(--text-muted);font-size:1rem;padding:.25rem .5rem;border-radius:4px;transition:background .2s,color .2s}.card-actions .btn-icon:hover{background:var(--hover);color:var(--primary)}#editor-section.active{position:relative;display:flex;flex-direction:column;height:calc(100vh - 80px);min-height:500px}.editor-toolbar{background:var(--surface);padding:.75rem 1rem;display:flex;align-items:center;gap:1rem;border-radius:8px;margin-bottom:1rem;flex-wrap:wrap;flex-shrink:0}.editor-title{margin:0;font-size:1.25rem}.tool-group,.style-group{display:flex;align-items:center;gap:.5rem;padding-left:1rem;border-left:1px solid var(--border)}.tool-btn{padding:.5rem .75rem;border:1px solid var(--border);background:var(--surface);border-radius:6px;cursor:pointer;transition:all .2s;font-size:1rem;line-height:1.5;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;box-sizing:border-box}.tool-btn span[aria-hidden=true]:only-child{font-size:1.25rem;line-height:1}.tool-btn:hover{background:var(--background)}.tool-btn:disabled{opacity:.5;cursor:not-allowed}.tool-btn:disabled:hover{background:var(--surface)}.tool-btn[aria-pressed=true]{background:var(--primary);color:#fff;border-color:var(--primary)}.publish-group{margin-left:auto}.toggle-label{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:1rem;padding:.35rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);transition:all .2s;height:auto;line-height:1.5}.toggle-label:hover{background:var(--background)}.toggle-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.toggle-label input[type=checkbox]:checked+.toggle-text{color:var(--success);font-weight:500}.toggle-label-inline{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;font-weight:500}.toggle-label-inline input[type=checkbox]{width:16px;height:16px;cursor:pointer}.toggle-label-toolbar{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:1rem;padding:.35rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);transition:all .2s;height:auto;line-height:1.5}.toggle-label-toolbar:hover{background:var(--background)}.toggle-label-toolbar input[type=checkbox]{width:16px;height:16px;cursor:pointer}.help-text{font-size:.75rem;color:var(--text-muted);margin:.25rem 0 0}.style-group label{font-size:.875rem;color:var(--text-muted)}.style-group input[type=color]{width:32px;height:32px;border:1px solid var(--border);border-radius:4px;cursor:pointer}#bibmap-container{background:var(--surface);border-radius:8px;flex:1;min-height:400px;position:relative;overflow:hidden}#bibmap-svg{width:100%;height:100%}.node-group{cursor:move}.node-group:focus{outline:none}.node-group:focus .node-rect{stroke-width:3;stroke:var(--primary)}.node-group.selected .node-rect{stroke-width:4;stroke:var(--primary-dark);filter:drop-shadow(0 0 8px var(--primary)) drop-shadow(0 0 4px var(--primary))}@keyframes selection-pulse{0%,to{opacity:.6}50%{opacity:1}}.node-group.selected{animation:selection-pulse 1.5s ease-in-out infinite}.node-rect{transition:stroke-width .2s}.node-label{pointer-events:none;-webkit-user-select:none;user-select:none}.connection-line{fill:none;cursor:pointer}.connection-line:hover{filter:brightness(1.2)}.connection-line.selected{stroke-width:4!important;filter:drop-shadow(0 0 6px var(--primary)) drop-shadow(0 0 3px var(--primary));animation:selection-pulse 1.5s ease-in-out infinite}.legend-panel{position:absolute;bottom:1rem;left:1rem;background:var(--surface);border-radius:8px;padding:.75rem 1rem;box-shadow:0 2px 8px #00000026;z-index:100;min-width:150px;max-width:280px}.legend-title{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--text)}.legend-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text)}.legend-color-indicator{width:16px;height:16px;border-radius:3px;flex-shrink:0;border:1px solid rgba(0,0,0,.1);position:relative}.legend-color-indicator[data-pattern=stripes]{background-image:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(255,255,255,.4) 2px,rgba(255,255,255,.4) 4px)}.legend-color-indicator[data-pattern=dots]{background-image:radial-gradient(circle,rgba(255,255,255,.5) 1.5px,transparent 1.5px);background-size:5px 5px}.legend-color-indicator[data-pattern=crosshatch]{background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.3) 2px,rgba(255,255,255,.3) 4px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(255,255,255,.3) 2px,rgba(255,255,255,.3) 4px)}.legend-color-indicator[data-pattern=dashes]{background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(255,255,255,.4) 3px,rgba(255,255,255,.4) 5px)}.legend-color-indicator[data-pattern=waves]{background-image:repeating-linear-gradient(-45deg,transparent,transparent 2px,rgba(255,255,255,.4) 2px,rgba(255,255,255,.4) 4px)}.legend-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-label-readonly{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.share-refs-panel{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--background);padding:1.5rem;overflow-y:auto;z-index:200}.share-refs-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.share-refs-header h2{margin:0;font-size:1.25rem;color:var(--text)}.share-refs-content{max-width:800px}.share-refs-content .reference-card{margin-bottom:1rem;padding:1rem;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.share-refs-content .reference-card h3{margin:0 0 .5rem;font-size:1rem;color:var(--text)}.share-refs-content .authors{color:var(--text-secondary);font-size:.875rem;margin:.25rem 0}.share-refs-content .meta{color:var(--text-secondary);font-size:.8125rem;margin:.25rem 0}.share-refs-content .abstract{font-size:.875rem;color:var(--text-secondary);margin-top:.5rem;line-height:1.5}.share-refs-content .tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}.share-refs-content .tag{padding:.125rem .5rem;border-radius:12px;font-size:.75rem}.legend-label-input{width:100%;padding:.125rem .25rem;font-size:.8125rem;border:1px solid var(--primary);border-radius:3px;background:var(--surface);color:var(--text);outline:none}.editor-panels{position:absolute;right:1rem;top:1rem;bottom:1rem;width:300px;pointer-events:none;z-index:100}.panel{position:relative;width:100%;background:var(--surface);border-radius:8px;padding:1rem;box-shadow:0 4px 12px #00000026;max-height:calc(100vh - 200px);overflow-y:auto;pointer-events:auto}.panel h3{margin:0}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.btn-icon{background:none;border:none;cursor:pointer;padding:.25rem;font-size:1.25rem;line-height:1;border-radius:4px;transition:all .2s}.btn-danger-icon{color:var(--text-muted)}.btn-danger-icon:hover{color:var(--danger);background:#ef44441a}.form-group-inline{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.form-group-inline label{font-weight:500;font-size:.875rem;white-space:nowrap}.form-group-inline input[type=color]{width:32px;height:32px;border:1px solid var(--border);border-radius:4px;cursor:pointer;padding:2px}.category-selector{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.existing-categories{display:contents}.category-option{display:inline-flex;align-items:center;justify-content:center;padding:2px;border:2px solid var(--border);border-radius:6px;cursor:pointer;background:var(--surface);transition:all .15s}.category-option:hover{border-color:var(--primary)}.category-option.selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light, rgba(59, 130, 246, .3))}.category-color-swatch{width:24px;height:24px;border-radius:4px;flex-shrink:0}.new-category-option{border-style:dashed}.new-category-option .category-color-picker{width:24px;height:24px;border:none;padding:0;cursor:pointer;background:transparent;border-radius:4px}.text-style-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.text-style-controls select{padding:.375rem .5rem;border:1px solid var(--border);border-radius:4px;font-size:.875rem;min-width:80px}.text-style-controls input[type=number]{width:50px;padding:.375rem;border:1px solid var(--border);border-radius:4px;font-size:.875rem;text-align:center}.style-btn{width:28px;height:28px;padding:0;border:1px solid var(--border);background:var(--surface);border-radius:4px;cursor:pointer;font-size:.875rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.style-btn:hover{background:var(--background)}.style-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.text-color-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px 0;gap:0;width:28px;height:28px}.text-color-icon{font-weight:700;font-size:.875rem;line-height:1}.text-color-bar{position:absolute;bottom:3px;left:4px;right:4px;height:4px;background-color:#000;border-radius:1px}.hidden-color-input{position:absolute;opacity:0;width:100%;height:100%;top:0;left:0;cursor:pointer}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.375rem;font-weight:500;font-size:.875rem}.form-group input[type=text],.form-group textarea,.form-group select{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:6px;font-size:1rem;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.form-group select[multiple]{min-height:80px}.legend-category-select{background-repeat:no-repeat;background-position:right .5rem center;background-size:1.5em}.legend-category-select:disabled{opacity:.5;cursor:not-allowed;background-color:var(--background)}.legend-category-select option{padding:.25rem .5rem}.form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.filter-bar{margin-bottom:1rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-size:.875rem;color:var(--text-muted);white-space:nowrap}.filter-input{padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;min-width:200px}.filter-input:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.filter-bar select{padding:.5rem;border:1px solid var(--border);border-radius:6px}.references-grid{display:flex;flex-direction:column;gap:.75rem}.reference-card{background:var(--surface);border-radius:8px;padding:1rem;box-shadow:0 1px 3px #0000001a}.reference-card h3{margin:0 0 .5rem;font-size:1rem}.reference-card .authors{color:var(--text-muted);font-size:.875rem;margin-bottom:.5rem}.reference-card .meta{font-size:.75rem;color:var(--text-muted)}.reference-card .tags{display:flex;gap:.375rem;flex-wrap:wrap;margin-top:.5rem}.reference-category{display:inline-flex;align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.75rem;color:var(--text-muted)}.category-color-block{width:14px;height:14px;border-radius:3px;flex-shrink:0}.category-name{font-weight:500}.tag{display:inline-block;padding:.125rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.match-indicators{display:flex;gap:.375rem;flex-wrap:wrap;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.match-indicator{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:12px;font-size:.7rem;font-weight:500;background:var(--surface);border:1px solid var(--border);color:var(--text-secondary)}.match-indicator--taxonomy,.match-indicator--legend{background:var(--surface)}.match-indicator .color-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.match-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.025em;color:var(--text-muted);margin-right:.125rem}.pagination-bar{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding:1rem 0;border-top:1px solid var(--border);flex-wrap:wrap;gap:1rem}.pagination-info{font-size:.875rem;color:var(--text-muted)}.pagination-controls{display:flex;align-items:center;gap:.75rem}.pagination-controls span{font-size:.875rem;color:var(--text)}.pagination-size{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.pagination-size label{color:var(--text-muted)}.pagination-size select{padding:.375rem .5rem;border:1px solid var(--border);border-radius:4px;font-size:.875rem}.header-actions{display:flex;align-items:center;gap:.75rem}.btn-download{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:.875rem;color:var(--text);cursor:pointer;transition:all .2s}.btn-download:hover{background:var(--background);border-color:var(--primary);color:var(--primary)}.btn-download span{font-size:1rem;margin-right:.25rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-overlay[hidden]{display:none}.modal{background:var(--surface);border-radius:12px;padding:1.5rem;width:90%;max-width:480px;max-height:90vh;overflow-y:auto;border:none;box-shadow:0 20px 40px #0000004d}.modal.modal-lg{max-width:640px}.modal.modal-confirm{max-width:400px;text-align:center}.modal.modal-confirm h2{margin-bottom:.5rem}.modal.modal-confirm p{color:var(--text-muted);margin-bottom:1.5rem}.modal.modal-confirm .form-actions{justify-content:center}.modal h2{margin:0 0 1rem}.taxonomy-card h3{display:flex;align-items:center;gap:.5rem}.tag-color-dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0}@media (max-width: 768px){header{flex-direction:column;gap:1rem}nav{width:100%;justify-content:center}#user-info{margin-left:0}.editor-toolbar{flex-direction:column;align-items:stretch}.tool-group,.style-group{padding-left:0;border-left:none;padding-top:.5rem;border-top:1px solid var(--border)}.panel{position:fixed;right:0;top:auto;bottom:0;width:100%;max-height:50vh;border-radius:12px 12px 0 0}}#share-view{height:100vh;display:flex;flex-direction:column;background:var(--background)}#share-header{padding:1rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}#share-header h1{margin:0;font-size:1.5rem;color:var(--text)}#share-view #bibmap-container{flex:1;height:auto;min-height:0;border-radius:0}.share-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;color:var(--text-muted)}.share-error a{color:var(--primary);text-decoration:none}.share-error a:hover{text-decoration:underline}@media (prefers-contrast: high){:root{--border: #000}.card,.reference-card,.panel,.modal{border:2px solid var(--border)}.node-rect{stroke-width:2}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.tag-input-container{position:relative;border:1px solid var(--border);border-radius:6px;padding:.5rem;background:var(--surface);min-height:42px}.tag-input-container:focus-within{border-color:var(--primary);box-shadow:var(--focus-ring)}.selected-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.25rem}.selected-tags:empty{margin-bottom:0}.selected-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;color:#fff}.selected-tag .remove-tag{background:none;border:none;color:inherit;cursor:pointer;padding:0;font-size:1rem;line-height:1;opacity:.7}.selected-tag .remove-tag:hover{opacity:1}.tag-search-input{border:none;outline:none;width:100%;padding:.25rem;font-size:.875rem;background:transparent}.tag-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto;z-index:1000;margin-top:4px}.tag-suggestion{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;font-size:.875rem}.tag-suggestion:hover,.tag-suggestion.highlighted{background:var(--background)}.tag-suggestion .tag-color-dot{flex-shrink:0}.tag-suggestion-name{flex:1}.no-suggestions{padding:.5rem .75rem;color:var(--text-muted);font-size:.875rem;font-style:italic}.file-input{display:block;width:100%;padding:.5rem;border:2px dashed var(--border);border-radius:6px;background:var(--background);cursor:pointer;font-size:.875rem}.file-input:hover{border-color:var(--primary)}.file-input:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.bibtex-editor{font-family:monospace;font-size:.875rem;line-height:1.4}#import-result h4{margin:1rem 0 .5rem;font-size:.875rem;color:var(--text-muted)}#import-duplicates-list,#import-errors{margin:0;padding-left:1.5rem;font-size:.875rem}#import-duplicates-list li{color:var(--secondary)}#import-errors li{color:var(--danger)}.taxonomy-card{cursor:pointer}.taxonomy-card-compact{padding:.75rem 1rem}.taxonomy-card-compact h3{margin:0;font-size:.95rem}.taxonomy-card-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.taxonomy-card-row .btn-icon{opacity:.5;transition:opacity .2s}.taxonomy-card-compact:hover .btn-icon{opacity:1}.reference-card{cursor:pointer;transition:transform .2s,box-shadow .2s}.reference-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}#node-references{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.refs-link.btn-secondary{display:inline-block;text-decoration:none;text-align:center}.refs-link.btn-secondary:hover{text-decoration:none;color:var(--text-muted)}.section-description{color:var(--text-muted);margin:-1rem 0 1.5rem;font-size:.875rem}.section-description[hidden]{display:none}.reference-card .abstract{font-size:.8125rem;color:var(--text-muted);margin-top:.5rem;line-height:1.4}.line-width-input{width:50px}.tool-btn-danger:not(:disabled):hover{background:var(--danger);color:#fff;border-color:var(--danger)}.about-content{max-width:800px;margin:0 auto;padding:2rem}.about-content h2{font-size:2rem;margin-bottom:.5rem}.about-tagline{font-size:1.25rem;color:var(--text-muted);margin-bottom:2rem}.about-description{background:var(--surface);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.about-description p{line-height:1.6;margin-bottom:1.5rem}.about-description h3{font-size:1.125rem;margin:1.5rem 0 .75rem;color:var(--primary)}.about-description h3:first-of-type{margin-top:0}.about-description ul,.about-description ol{margin:0;padding-left:1.5rem;line-height:1.8}.about-description li{margin-bottom:.5rem}.about-description li strong{color:var(--text)}.shortcuts-list{list-style:none;padding-left:0}.shortcuts-list li{display:flex;align-items:center;gap:.75rem}.shortcuts-list kbd{display:inline-block;padding:.25rem .5rem;font-family:monospace;font-size:.875rem;background:var(--background);border:1px solid var(--border);border-radius:4px;min-width:80px;text-align:center}.about-version{text-align:center;color:var(--text-muted);font-size:.875rem}#user-controls{display:flex;align-items:center;gap:1rem;margin-left:auto}#user-info{font-size:.875rem;color:var(--text-muted)}#auth-buttons{display:flex;gap:.5rem}.error-message{color:var(--danger);background:#ef44441a;padding:.5rem .75rem;border-radius:4px;font-size:.875rem;margin-bottom:1rem}.modal-footer-text{text-align:center;font-size:.875rem;color:var(--text-muted);margin-top:1rem}.modal-footer-text a{color:var(--primary);text-decoration:none}.modal-footer-text a:hover{text-decoration:underline}.badge{display:inline-block;padding:.125rem .5rem;font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:uppercase}.badge-admin{background:#3b82f61a;color:var(--primary)}.badge-user{background:#6b72801a;color:var(--secondary)}.user-card .card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.user-card .card-meta{margin:.25rem 0;font-size:.875rem;color:var(--text-muted)}.user-card .card-actions{margin-top:.75rem;display:flex;gap:.5rem}.text-danger{color:var(--danger)}#profile-modal hr{border:none;border-top:1px solid var(--border);margin:1.5rem 0}#profile-modal h3{font-size:1rem;margin-bottom:1rem}.settings-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;max-width:1000px}.settings-group{background:var(--surface);padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.settings-group h3{margin:0 0 1rem;font-size:1rem;color:var(--primary-dark);padding-bottom:.5rem;border-bottom:1px solid var(--border)}.settings-group .form-group{margin-bottom:1rem}.settings-group .form-group:last-child{margin-bottom:0}.settings-group .number-input{width:80px}[data-theme=dark]{--background: #1a1a2e;--surface: #16213e;--text: #e5e5e5;--text-muted: #a0a0a0;--border: #3a3a5c;--primary: #4f8cff;--primary-dark: #2563eb}[data-theme=dark] header{background:var(--surface);box-shadow:0 1px 3px #0000004d}[data-theme=dark] .card,[data-theme=dark] .settings-group{background:var(--surface);box-shadow:0 1px 3px #0000004d}[data-theme=dark] .modal{background:var(--surface);color:var(--text)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--background);color:var(--text);border-color:var(--border)}[data-theme=dark] .panel,[data-theme=dark] .filter-bar{background:var(--surface)}[data-theme=dark] .btn-secondary{background:var(--background);border-color:var(--border);color:var(--text)}[data-theme=dark] .nav-btn{color:var(--text-muted)}[data-theme=dark] .nav-btn.active,[data-theme=dark] .nav-btn:hover{background:var(--primary);color:#fff}
