:root{--color-primary: #1a73e8;--color-primary-light: #e8f0fe;--color-success: #34a853;--color-warning: #fbbc04;--color-error: #ea4335;--color-text: #202124;--color-text-secondary: #5f6368;--color-border: #dadce0;--color-bg: #f8f9fa;--color-card: #ffffff;--tab-height: 56px;--safe-bottom: env(safe-area-inset-bottom, 0px)}:root.dark{--color-primary: #8ab4f8;--color-primary-light: #1d2a3a;--color-success: #81c995;--color-warning: #fdd663;--color-error: #f28b82;--color-text: #e8eaed;--color-text-secondary: #9aa0a6;--color-border: #3c4043;--color-bg: #121212;--color-card: #292a2d;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;padding-bottom:calc(var(--tab-height) + var(--safe-bottom))}.tab-bar{position:fixed;bottom:0;left:0;right:0;height:calc(var(--tab-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--color-card);border-top:1px solid var(--color-border);display:flex;justify-content:space-around;align-items:center;z-index:100}.tab-bar button{flex:1;background:none;border:none;padding:8px 0;font-size:11px;color:var(--color-text-secondary);display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer}.tab-bar button.active{color:var(--color-primary)}.tab-bar button svg{width:24px;height:24px}.screen{padding:16px;max-width:480px;margin:0 auto}.screen-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.screen-header h1{font-size:24px;font-weight:700}.settings-section{margin-bottom:24px}.settings-section h2{font-size:18px;font-weight:600;margin-bottom:12px}.toggle-switch{position:relative;width:48px;height:28px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch .slider{position:absolute;inset:0;background:var(--color-border);border-radius:28px;transition:background .2s;cursor:pointer}.toggle-switch .slider:before{content:"";position:absolute;width:22px;height:22px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s}.toggle-switch input:checked+.slider{background:var(--color-primary)}.toggle-switch input:checked+.slider:before{transform:translate(20px)}.btn{display:block;width:100%;padding:12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-card);font-size:15px;color:var(--color-text);cursor:pointer;text-align:center;margin-bottom:8px}.btn:active{background:var(--color-bg)}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.about-info{font-size:13px;color:var(--color-text-secondary);line-height:1.6}.theme-toggle{display:flex;border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.theme-toggle button{flex:1;padding:8px 0;border:none;background:var(--color-card);font-size:13px;color:var(--color-text-secondary);cursor:pointer;border-right:1px solid var(--color-border)}.theme-toggle button:last-child{border-right:none}.theme-toggle button.active{background:var(--color-primary);color:#fff}:root.dark input[type=number],:root.dark input[type=text],:root.dark input[type=file],:root.dark select,:root.dark textarea{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.book-row{display:flex;align-items:center;padding:10px 0;border-bottom:1px solid var(--color-border);cursor:pointer}.book-row:last-child{border-bottom:none}.book-row .book-title{font-weight:600;font-size:14px;flex:2}.book-row .book-author{font-size:13px;color:var(--color-text-secondary);flex:1}.book-row .book-shelf{font-size:12px;color:var(--color-text-secondary);text-align:right;flex:1}.search-area{display:flex;flex-direction:row;gap:8px;margin-bottom:12px}.search-input{flex:1;padding:10px 14px;border:1px solid var(--color-border);border-radius:10px;font-size:15px;background:var(--color-card);color:var(--color-text)}.icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;position:relative}.icon-btn svg{width:20px;height:20px}.icon-btn .filter-badge{position:absolute;top:-4px;right:-4px;width:18px;height:18px;background:var(--color-primary);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;border-radius:50%}.filter-panel{background:var(--color-card);border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 2px 8px #0000001f}.filter-panel .form-group{margin-bottom:12px}.filter-panel label{font-size:13px;font-weight:500;margin-bottom:4px;display:block}.filter-panel select{width:100%;padding:8px 12px;border-radius:8px;border:1px solid var(--color-border);font-size:14px}.filter-panel .toggle-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.clear-filters{font-size:13px;color:var(--color-primary);cursor:pointer;border:none;background:none;padding:0;text-align:left}.badge{display:inline-block;font-size:11px;padding:2px 10px;border-radius:10px;background:var(--color-primary-light);color:var(--color-primary)}.badge-secondary{background:#fef7e0;color:#b06000}:root.dark .badge-secondary{background:#3a3000;color:#fdd663}.badge-flag{background:var(--color-primary-light);color:var(--color-primary);font-size:12px;padding:4px 12px}.fab{position:fixed;bottom:calc(var(--tab-height) + var(--safe-bottom) + 16px);right:16px;width:56px;height:56px;border-radius:50%;background:var(--color-primary);color:#fff;border:none;font-size:28px;cursor:pointer;box-shadow:0 4px 12px #0000004d;z-index:90;display:flex;align-items:center;justify-content:center}.modal-overlay{position:fixed;inset:0;background:#00000080;z-index:200;display:flex;align-items:flex-end;justify-content:center}@media(min-height:600px){.modal-overlay{align-items:flex-end}}.modal{background:var(--color-bg);width:100%;max-width:480px;margin:0 auto;max-height:100vh;display:flex;flex-direction:column;border-radius:16px 16px 0 0}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 12px;border-bottom:1px solid var(--color-border);flex-shrink:0}.modal-header h2{font-size:20px;font-weight:700}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:500;margin-bottom:4px;color:var(--color-text-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;font-size:16px;background:var(--color-card);color:var(--color-text)}.form-group textarea{resize:vertical;min-height:80px}.form-group .field-warning{font-size:12px;color:var(--color-warning);margin-top:2px}.form-group .field-error{font-size:12px;color:var(--color-error);margin-top:2px}.detail-screen{padding:16px;max-width:480px;margin:0 auto}.detail-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.detail-header .back-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--color-text);padding:0}.detail-section{margin-bottom:20px}.detail-section h3{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.detail-field{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}.detail-field .field-label{color:var(--color-text-secondary)}.empty-state{text-align:center;padding:48px 16px;color:var(--color-text-secondary);font-size:15px}.result-count{font-size:13px;color:var(--color-text-secondary);margin-bottom:8px}.sort-label{font-size:11px;color:var(--color-text-secondary);text-align:center;margin-top:2px}.btn-danger{color:var(--color-error);border-color:var(--color-error)}.btn-secondary{border-color:var(--color-border);color:var(--color-text-secondary)}.import-result{background:var(--color-primary-light);border-radius:8px;padding:12px;margin-bottom:8px;font-size:13px}.import-actions{display:flex;gap:8px;margin-top:8px}.import-actions .btn{flex:1;margin-bottom:0}.error-text{font-size:13px;color:var(--color-error);margin-bottom:8px}.paste-area{margin-top:8px;margin-bottom:12px}.paste-area textarea{width:100%;min-height:120px;padding:12px;border:1px solid var(--color-border);border-radius:8px;font-family:monospace;font-size:16px;resize:vertical;background:var(--color-card);color:var(--color-text);margin-bottom:8px}.form-actions{display:flex;flex-direction:column;gap:8px;margin-top:24px;padding-bottom:calc(16px + var(--safe-bottom))}.keyword-chips{display:flex;flex-wrap:wrap;gap:6px}.keyword-chip{font-size:11px;background:var(--color-primary-light);color:var(--color-primary);padding:2px 8px;border-radius:10px}.detail-title{font-size:22px;font-weight:700}.detail-subtitle{font-size:16px;color:var(--color-text-secondary);margin:4px 0}.detail-authors{font-size:15px;margin:4px 0}.detail-year{font-size:14px;color:var(--color-text-secondary);margin:4px 0 16px}.detail-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.detail-section-title{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.detail-label{color:var(--color-text-secondary)}.detail-description{font-size:14px;line-height:1.6}.detail-keywords{display:flex;flex-wrap:wrap;gap:6px}.detail-value-notes{font-size:13px;color:var(--color-text-secondary);font-style:italic;margin-top:4px}.badge-default,.badge-primary{display:inline-block;font-size:11px;padding:2px 10px;border-radius:10px;background:var(--color-primary-light);color:var(--color-primary)}.badge-rare{display:inline-block;font-size:11px;padding:2px 10px;border-radius:10px;background:#fce8e6;color:#c5221f}.badge-provenance{display:inline-block;font-size:11px;padding:2px 10px;border-radius:10px;background:#e6f4ea;color:#137333}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--color-text);padding:4px}.modal-body{padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;min-height:0}.modal-footer{display:flex;gap:8px;padding:12px 16px calc(12px + var(--safe-bottom));border-top:1px solid var(--color-border);flex-shrink:0}.warning-box{background:#fef7e0;border:1px solid #fbbc04;border-radius:8px;padding:12px;margin-bottom:12px;font-size:13px}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text);cursor:pointer}.btn-link{background:none;border:none;color:var(--color-primary);font-size:13px;cursor:pointer;padding:4px 0}.value-section{border-top:1px solid var(--color-border);padding-top:16px;margin-top:8px}.filter-toggles{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}:root.dark .warning-box{background:#3a3000;border-color:#fdd663}:root.dark .badge-rare{background:#3c1010;color:#f28b82}:root.dark .badge-provenance{background:#0d3320;color:#81c995}
