@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;700&family=EB+Garamond:ital,wght@0,400;0,500;1,400&family=Inter:wght@300;400;500&display=swap";:root{--nz-bg-0: #0C0A08;--nz-bg-1: #111009;--nz-bg-2: #18150F;--nz-bg-3: #211C14;--nz-bg-4: #2A2318;--nz-gold-0: #D4AF37;--nz-gold-1: #C9A227;--nz-gold-2: #A67C00;--nz-gold-3: #7D5A00;--nz-gold-muted: rgba(212, 175, 55, .5);--nz-gold-dim: rgba(212, 175, 55, .18);--nz-amber: #E8A045;--nz-border: rgba(212, 175, 55, .12);--nz-border-strong: rgba(212, 175, 55, .28);--nz-border-subtle: rgba(255, 255, 255, .06);--nz-text-0: #F0EAD6;--nz-text-1: #C8BFA0;--nz-text-2: #8C8270;--nz-text-3: #5A5248;--nz-teal: #2A7A6F;--nz-teal-bright: #3DB89F;--nz-teal-dim: rgba(42, 122, 111, .25);--nz-purple: #6B4FA0;--nz-purple-bright:#9B7FD4;--nz-purple-dim: rgba(107, 79, 160, .25);--nz-error: #C0392B;--nz-error-dim: rgba(192, 57, 43, .15);--nz-error-text: #E07060;--nz-success: #2E7D52;--nz-success-dim: rgba(46, 125, 82, .15);--nz-success-text: #5DB87A;--nz-font-display: "Cinzel", serif;--nz-font-serif: "EB Garamond", serif;--nz-font-sans: "Inter", sans-serif;--nz-font-mono: "JetBrains Mono", "Fira Code", monospace;--nz-text-xs: 11px;--nz-text-sm: 12px;--nz-text-base: 14px;--nz-text-md: 15px;--nz-text-lg: 16px;--nz-text-xl: 20px;--nz-text-2xl: 24px;--nz-text-3xl: 32px;--nz-sp-1: 4px;--nz-sp-2: 8px;--nz-sp-3: 12px;--nz-sp-4: 16px;--nz-sp-5: 20px;--nz-sp-6: 24px;--nz-sp-8: 32px;--nz-sp-10: 40px;--nz-sp-12: 48px;--nz-sp-16: 64px;--nz-r-xs: 2px;--nz-r-sm: 4px;--nz-r-md: 8px;--nz-r-lg: 12px;--nz-r-xl: 16px;--nz-r-2xl:24px;--nz-r-full: 9999px;--nz-dur-fast: .1s;--nz-dur-base: .15s;--nz-dur-slow: .25s;--nz-ease: cubic-bezier(.4, 0, .2, 1);--nz-shadow-sm: 0 1px 3px rgba(0,0,0,.4);--nz-shadow-md: 0 4px 12px rgba(0,0,0,.5);--nz-shadow-lg: 0 8px 24px rgba(0,0,0,.6);--nz-shadow-gold: 0 0 0 1px rgba(212,175,55,.2);--nz-z-base: 0;--nz-z-above: 10;--nz-z-modal: 100;--nz-z-toast: 200;--nz-z-tooltip: 300}.nz-btn{align-items:center;border-radius:var(--nz-r-sm);cursor:pointer;display:inline-flex;font-family:var(--nz-font-sans);font-size:var(--nz-text-sm);font-weight:400;gap:var(--nz-sp-2);justify-content:center;line-height:1;padding:7px 16px;transition:all var(--nz-dur-base) var(--nz-ease);-webkit-user-select:none;user-select:none;white-space:nowrap}.nz-btn:active{transform:scale(.98)}.nz-btn-primary{background:var(--nz-gold-0);border:.5px solid var(--nz-gold-0);color:#0c0a08;font-weight:500}.nz-btn-primary:hover{background:var(--nz-gold-1);border-color:var(--nz-gold-1)}.nz-btn-secondary{background:transparent;border:.5px solid var(--nz-border-strong);color:var(--nz-gold-0)}.nz-btn-secondary:hover{background:var(--nz-gold-dim)}.nz-btn-ghost{background:transparent;border:.5px solid transparent;color:var(--nz-text-1)}.nz-btn-ghost:hover{background:#ffffff0d;color:var(--nz-text-0)}.nz-btn-danger{background:transparent;border:.5px solid rgba(192,57,43,.4);color:var(--nz-error-text)}.nz-btn-danger:hover{background:var(--nz-error-dim)}.nz-btn-sm{font-size:var(--nz-text-xs);padding:5px 12px}.nz-btn-lg{font-size:var(--nz-text-md);padding:10px 24px}.nz-btn-icon{padding:7px;width:32px;height:32px}.nz-btn-icon.nz-btn-sm{width:28px;height:28px;padding:5px}.nz-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.nz-input{background:var(--nz-bg-2);border:.5px solid var(--nz-border);border-radius:var(--nz-r-md);color:var(--nz-text-0);font-family:var(--nz-font-sans);font-size:var(--nz-text-base);outline:none;padding:8px 12px;transition:border-color var(--nz-dur-base) var(--nz-ease),box-shadow var(--nz-dur-base) var(--nz-ease);width:100%}.nz-input::placeholder{color:var(--nz-text-3)}.nz-input:hover{border-color:var(--nz-border-strong)}.nz-input:focus{border-color:var(--nz-gold-2);box-shadow:0 0 0 2px #d4af371f}.nz-input.error{border-color:#c0392b80}.nz-input.success{border-color:#2e7d5280}.nz-textarea{resize:vertical;min-height:80px}.nz-label{color:var(--nz-text-2);display:block;font-size:var(--nz-text-sm);margin-bottom:var(--nz-sp-1)}.nz-hint{color:var(--nz-text-3);font-size:var(--nz-text-xs);margin-top:var(--nz-sp-1)}.nz-error-msg{color:var(--nz-error-text);font-size:var(--nz-text-xs);margin-top:var(--nz-sp-1)}.nz-badge{border-radius:var(--nz-r-full);display:inline-block;font-family:var(--nz-font-sans);font-size:10px;font-weight:500;letter-spacing:.04em;padding:3px 9px;white-space:nowrap}.nz-badge-gold{background:var(--nz-gold-dim);border:.5px solid var(--nz-border-strong);color:var(--nz-gold-0)}.nz-badge-teal{background:var(--nz-teal-dim);border:.5px solid rgba(42,122,111,.4);color:var(--nz-teal-bright)}.nz-badge-purple{background:var(--nz-purple-dim);border:.5px solid rgba(107,79,160,.4);color:var(--nz-purple-bright)}.nz-badge-neutral{background:#ffffff0d;border:.5px solid var(--nz-border-subtle);color:var(--nz-text-2)}.nz-badge-error{background:var(--nz-error-dim);border:.5px solid rgba(192,57,43,.3);color:var(--nz-error-text)}.nz-badge-success{background:var(--nz-success-dim);border:.5px solid rgba(46,125,82,.3);color:var(--nz-success-text)}.nz-card{background:var(--nz-bg-2);border:.5px solid var(--nz-border);border-radius:var(--nz-r-lg);padding:var(--nz-sp-4)}.nz-card:hover{border-color:var(--nz-border-strong)}.nz-card-interactive{cursor:pointer;transition:border-color var(--nz-dur-base) var(--nz-ease),background var(--nz-dur-base) var(--nz-ease)}.nz-card-interactive:hover{background:var(--nz-bg-3)}.nz-book-card{display:flex;gap:var(--nz-sp-3)}.nz-book-cover{background:var(--nz-bg-4);border:.5px solid var(--nz-border-strong);border-radius:var(--nz-r-xs);flex-shrink:0;height:72px;width:48px;overflow:hidden}.nz-book-cover img{width:100%;height:100%;object-fit:cover}.nz-idea-card{background:var(--nz-bg-2);border:.5px solid var(--nz-border);border-left:2px solid var(--nz-gold-0);border-radius:0 var(--nz-r-md) var(--nz-r-md) 0;padding:var(--nz-sp-3) var(--nz-sp-4)}.nz-idea-concept{color:var(--nz-gold-0);font-family:var(--nz-font-sans);font-size:var(--nz-text-xs);letter-spacing:.08em;margin-bottom:var(--nz-sp-1);text-transform:uppercase}.nz-idea-text{color:var(--nz-text-0);font-family:var(--nz-font-serif);font-size:var(--nz-text-md);font-style:italic;line-height:1.6}.nz-annotation{background:var(--nz-bg-3);border:.5px solid var(--nz-border-subtle);border-radius:var(--nz-r-md);padding:var(--nz-sp-3)}.nz-annotation-quote{border-left:2px solid var(--nz-teal);color:var(--nz-text-1);font-family:var(--nz-font-serif);font-size:var(--nz-text-base);font-style:italic;line-height:1.5;margin-bottom:var(--nz-sp-2);padding-left:var(--nz-sp-3)}.nz-concept-node{align-items:center;background:var(--nz-bg-3);border:.5px solid var(--nz-border-strong);border-radius:var(--nz-r-full);color:var(--nz-gold-0);display:inline-flex;font-family:var(--nz-font-sans);font-size:var(--nz-text-sm);gap:var(--nz-sp-2);padding:5px 12px}.nz-concept-node:before{background:currentColor;border-radius:50%;content:"";flex-shrink:0;height:6px;width:6px}.nz-concept-node.annotation{color:var(--nz-teal-bright);border-color:#2a7a6f66}.nz-concept-node.ai{color:var(--nz-purple-bright);border-color:#6b4fa066}.nz-avatar{align-items:center;background:var(--nz-bg-4);border:1px solid var(--nz-border-strong);border-radius:50%;color:var(--nz-gold-0);display:flex;flex-shrink:0;font-family:var(--nz-font-sans);font-size:var(--nz-text-sm);font-weight:500;justify-content:center;overflow:hidden}.nz-avatar img{display:block;height:100%;object-fit:cover;width:100%}.nz-avatar-xs{height:22px;width:22px;font-size:9px}.nz-avatar-sm{height:28px;width:28px;font-size:11px}.nz-avatar-md{height:36px;width:36px}.nz-avatar-lg{height:48px;width:48px;font-size:var(--nz-text-md)}.nz-toast{align-items:center;background:var(--nz-bg-3);border:.5px solid var(--nz-border);border-radius:var(--nz-r-md);display:flex;font-size:var(--nz-text-base);gap:var(--nz-sp-3);padding:10px 14px}.nz-toast.success{border-color:#2e7d5266}.nz-toast.error{border-color:#c0392b66}.nz-toast.info{border-color:var(--nz-border-strong)}.nz-stack{display:flex;flex-direction:column}.nz-row{display:flex;align-items:center}.nz-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--nz-sp-4)}.nz-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--nz-sp-4)}.nz-grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--nz-sp-3)}.nz-empty{align-items:center;border:.5px dashed var(--nz-border);border-radius:var(--nz-r-lg);display:flex;flex-direction:column;gap:var(--nz-sp-3);padding:var(--nz-sp-12) var(--nz-sp-6);text-align:center}.nz-empty-icon{color:var(--nz-text-3);font-size:32px}.nz-empty-title{color:var(--nz-text-1);font-family:var(--nz-font-display);font-size:var(--nz-text-lg);letter-spacing:.06em}.nz-empty-desc{color:var(--nz-text-3);font-size:var(--nz-text-base)}.nz-progress{background:var(--nz-bg-4);border-radius:var(--nz-r-xs);height:3px;overflow:hidden}.nz-progress-fill{background:var(--nz-gold-0);border-radius:var(--nz-r-xs);height:100%;transition:width var(--nz-dur-slow) var(--nz-ease)}.nz-sidebar{background:var(--nz-bg-2);border-right:.5px solid var(--nz-border);display:flex;flex-direction:column;gap:var(--nz-sp-1);padding:var(--nz-sp-4) var(--nz-sp-3);width:220px}.nz-sidebar-logo{align-items:center;color:var(--nz-gold-0);display:flex;font-family:var(--nz-font-display);font-size:15px;gap:var(--nz-sp-2);letter-spacing:.1em;margin-bottom:var(--nz-sp-5);padding:0 var(--nz-sp-2)}.nz-nav-item{align-items:center;border-radius:var(--nz-r-sm);color:var(--nz-text-2);cursor:pointer;display:flex;font-size:var(--nz-text-sm);gap:var(--nz-sp-2);padding:7px 10px;transition:all var(--nz-dur-base) var(--nz-ease)}.nz-nav-item:hover{background:#ffffff0a;color:var(--nz-text-0)}.nz-nav-item.active{background:var(--nz-gold-dim);color:var(--nz-gold-0)}.nz-bottom-nav{background:var(--nz-bg-2);border-top:.5px solid var(--nz-border);display:flex;justify-content:space-around;padding:8px 0 12px}.nz-bottom-nav-item{align-items:center;color:var(--nz-text-3);cursor:pointer;display:flex;flex-direction:column;font-size:9px;gap:3px;transition:color var(--nz-dur-base)}.nz-bottom-nav-item.active{color:var(--nz-gold-0)}.nz-tab-bar{border-bottom:.5px solid var(--nz-border);display:flex;flex-wrap:wrap;gap:var(--nz-sp-2);margin-bottom:var(--nz-sp-5);padding-bottom:var(--nz-sp-3)}.nz-tab{background:transparent;border:.5px solid var(--nz-border);border-radius:var(--nz-r-sm);color:var(--nz-text-2);cursor:pointer;font-family:var(--nz-font-sans);font-size:var(--nz-text-sm);padding:8px 14px;transition:all var(--nz-dur-base) var(--nz-ease)}.nz-tab:hover{border-color:var(--nz-border-strong);color:var(--nz-text-0)}.nz-tab.active{background:var(--nz-gold-dim);border-color:var(--nz-border-strong);color:var(--nz-gold-0)}.nz-panel{background:var(--nz-bg-2);border:.5px solid var(--nz-border);border-radius:var(--nz-r-lg);margin:0 auto;max-width:1200px;padding:var(--nz-sp-5)}.nz-section-title{color:var(--nz-text-0);font-family:var(--nz-font-display);font-size:var(--nz-text-lg);letter-spacing:.05em;margin:0 0 var(--nz-sp-2)}.nz-table-wrap{margin-top:var(--nz-sp-4);overflow-x:auto}.nz-table{border-collapse:collapse;font-size:var(--nz-text-sm);width:100%}.nz-table th,.nz-table td{border-bottom:.5px solid var(--nz-border-subtle);padding:8px 10px;text-align:left;vertical-align:top}.nz-table th{color:var(--nz-text-2);font-family:var(--nz-font-sans);font-size:var(--nz-text-xs);font-weight:500;letter-spacing:.04em;text-transform:uppercase}.nz-table tbody tr:hover{background:#ffffff05}.nz-table .nz-cell-title{color:var(--nz-text-0);max-width:220px}.nz-table .nz-cell-muted{color:var(--nz-text-2);font-size:var(--nz-text-xs);max-width:280px}:root{--bg: var(--nz-bg-0);--surface: var(--nz-bg-2);--border: var(--nz-border);--text: var(--nz-text-0);--text-muted: var(--nz-text-1);--text-dim: var(--nz-text-2);--muted: var(--nz-text-2);--accent: var(--nz-gold-0);--accent-dim: var(--nz-gold-dim);--danger: var(--nz-error-text);--font: var(--nz-font-sans);--mono: var(--nz-font-mono);--color-concept: #60a5fa;--color-concept-bright: #93c5fd;--color-concept-soft: #bfdbfe;--color-concept-dim: rgba(96, 165, 250, .12);--color-concept-bg: rgba(96, 165, 250, .06);--color-idea: #34d399;--color-idea-bright: #6ee7b7;--color-idea-soft: rgba(167, 243, 208, .85);--color-idea-dim: rgba(52, 211, 153, .12);--color-idea-bg: rgba(52, 211, 153, .06)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.5}a{color:var(--accent)}button,input,select,textarea{font-family:inherit}.app{max-width:1200px;margin:0 auto;padding:24px;min-height:100vh;display:flex;flex-direction:column}.app.app-embedded{max-width:none;margin:0;padding:0;min-height:0;flex:1;overflow:hidden}.header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--border)}.header-brand{display:flex;align-items:center;gap:14px}.cuneiform{font-size:36px}.header h1{margin:0;font-size:28px;font-weight:700;font-family:var(--nz-font-display);letter-spacing:.06em;color:var(--nz-gold-0);background:none;-webkit-text-fill-color:unset}.tagline{margin:4px 0 0;font-size:13px;color:var(--text-dim);font-style:italic}.header-actions{display:flex;gap:10px}.btn-primary,.btn-secondary,.btn-danger{border-radius:8px;padding:10px 18px;font-weight:600;font-size:13px;cursor:pointer;border:1px solid transparent;transition:opacity .15s}.btn-primary{background:var(--nz-gold-0);color:#0c0a08;border-color:var(--nz-gold-0);font-weight:500}.btn-secondary{background:transparent;color:var(--nz-gold-0);border-color:var(--nz-border-strong)}.btn-secondary:hover{background:var(--nz-gold-dim)}.btn-danger{background:transparent;color:var(--danger);border-color:#f8717166;width:100%;margin-top:16px}.btn-primary:hover,.btn-secondary:hover,.btn-danger:hover{opacity:.85}.btn-icon{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px 12px;cursor:pointer}.stats-bar{display:flex;gap:12px;margin:20px 0;flex-wrap:wrap}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 20px;min-width:90px}.stat-value{display:block;font-size:24px;font-weight:800;color:var(--accent);font-family:var(--mono)}.stat-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}.stat--button{cursor:pointer;font:inherit;text-align:left;color:inherit}.stat--button:hover{border-color:var(--nz-gold-muted, rgba(201, 162, 39, .45))}.stat--warn .stat-value{color:var(--nz-gold, #c9a227)}.result-count-concepts-missing{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:0;margin:0;font:inherit;color:var(--nz-gold, #c9a227);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.result-count-concepts-missing:hover{color:var(--accent)}.book-cleanup-banner{margin:0 0 16px;padding:10px 12px;border-radius:12px;border:1px solid var(--nz-gold-muted, rgba(201, 162, 39, .35));background:#c9a2270f;font-size:12px}.book-cleanup-details[open] .book-cleanup-summary{margin-bottom:8px}.book-cleanup-summary{cursor:pointer;list-style:none}.book-cleanup-summary::-webkit-details-marker{display:none}.book-cleanup-banner-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.book-cleanup-progress{font-size:12px;font-family:var(--mono);color:var(--text-dim)}.book-cleanup-warn{margin:0 0 10px;font-size:13px;color:var(--nz-gold, #c9a227)}.book-cleanup-next-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.book-cleanup-next-list li{display:flex;gap:8px;font-size:12px;line-height:1.45}.book-cleanup-step-icon{width:12px;flex-shrink:0;color:var(--nz-gold, #c9a227)}.book-cleanup-step--done .book-cleanup-step-icon{color:#86efac}.book-cleanup-next-rank{flex-shrink:0;color:var(--nz-gold, #c9a227);font-family:var(--mono)}.book-cleanup-next-hint{color:var(--text-dim);font-weight:400}.book-cleanup-more{margin:8px 0 0}.book-cleanup-status-field{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 0;font-size:13px}.book-cleanup-status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:#ffffff0a;font-weight:600}.book-cleanup-status-badge--warn{border-color:var(--nz-gold-muted, rgba(201, 162, 39, .45));background:#c9a2271f;color:var(--nz-gold, #c9a227)}.book-cleanup-status-meta{font-size:12px;color:var(--text-dim);font-family:var(--mono)}.panel{background:var(--accent-dim);border:1px solid rgba(245,158,106,.25);border-radius:16px;padding:24px;margin-bottom:20px}.panel h2{margin:0 0 16px;font-size:18px}.book-form .isbn-lookup{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}.isbn-row{display:flex;gap:10px;margin-top:8px}.isbn-row input{flex:1}.hint{font-size:12px;color:var(--text-dim);margin:8px 0 0}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1 / -1}.field label{font-size:12px;color:var(--text-muted);font-weight:600}input,select,textarea{background:#ffffff0a;border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);font-size:14px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.error{color:var(--danger);font-size:13px;margin:12px 0 0}.search-bar{margin-bottom:0}.search-input{width:100%;margin-bottom:12px;font-size:15px}.filters-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filters-row select{min-width:140px}.view-toggle{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-left:auto}.view-toggle button{background:transparent;border:none;color:var(--text-dim);padding:8px 14px;cursor:pointer;font-size:12px;font-weight:600}.view-toggle button.active{background:var(--accent-dim);color:var(--accent)}.result-count{font-size:12px;color:var(--text-dim);margin:10px 0 0;font-family:var(--mono)}.library-layout{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.library-layout--with-detail{min-height:100%;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth}.library-toolbar{flex-shrink:0;display:flex;flex-direction:column;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface);max-height:min(52vh,540px);overflow-y:auto}.library-section{flex-shrink:0;display:flex;flex-direction:column;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--surface)}.library-section--stats,.library-section--add{max-height:min(42vh,480px);overflow-y:auto}.library-section--presentation{gap:10px}.app-embedded .library-section{padding:10px 16px}.library-section-title{margin:0;font-size:.95rem;font-weight:600;letter-spacing:.01em;color:var(--text)}.library-add-actions{display:flex;flex-wrap:wrap;gap:10px}.library-add-actions .btn-primary.is-active,.library-add-actions .btn-secondary.is-active{outline:2px solid var(--accent);outline-offset:1px}.photo-book-import{display:flex;flex-direction:column;gap:14px}.photo-import-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}.photo-import-step{padding:12px 0 0;border-top:1px solid var(--border)}.photo-import-step:first-child{border-top:none;padding-top:0}.photo-import-step-title{margin:0 0 6px;font-size:.9rem;font-weight:600}.photo-import-step--soon{opacity:.78}.photo-import-drop{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px}.photo-import-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.photo-import-filename{margin:0}.photo-import-preview{margin-top:10px;max-width:280px;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--bg)}.photo-import-preview img{display:block;width:100%;height:auto;max-height:200px;object-fit:contain}.photo-import-location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:8px}.photo-import-field{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--text-muted)}.photo-import-candidates{margin:8px 0 0;padding-left:1.1rem}.photo-import-candidates--cards{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}.photo-import-candidate{padding:12px;margin:0}.photo-import-candidate--duplicate{border-color:#c0392b73}.photo-import-candidate--skipped{opacity:.65}.photo-import-candidate--confirmed{border-color:#2e7d5273}.photo-import-candidate-main{display:flex;gap:12px;align-items:flex-start}.photo-import-candidate-cover{width:72px;height:108px;object-fit:cover;border-radius:4px;flex-shrink:0;background:var(--bg);border:1px solid var(--border)}.photo-import-candidate-cover--empty{background:var(--surface)}.photo-import-meta-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:4px 12px;margin:8px 0;font-size:.8rem}.photo-import-meta-list>div{display:flex;flex-direction:column;gap:1px;min-width:0}.photo-import-meta-list dt{color:var(--text-muted);font-weight:500}.photo-import-meta-list dd{margin:0;color:var(--text);overflow-wrap:anywhere}.photo-import-step-block{margin-top:10px;padding-top:8px;border-top:1px solid var(--border)}.photo-import-step-block-title{margin:0 0 6px;font-size:.8rem;font-weight:600;color:var(--text-muted)}.photo-import-candidate-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.photo-import-candidate-title{font-size:.95rem}.photo-import-candidate-edit{display:grid;gap:8px}.photo-import-duplicate-banner{margin:6px 0 0;font-size:.8rem;color:#e8a0a0}.photo-import-ok-banner{margin:6px 0 0;font-size:.8rem;color:#8fbf9f}.photo-import-meta-miss{margin:4px 0 0;font-size:.8rem;color:#f0c674}.photo-import-error{margin:8px 0 0;font-size:.85rem;color:#e8a0a0}.photo-import-error--inline{margin:0;align-self:center}.photo-import-success{margin:8px 0 0;padding:10px 12px;font-size:.9rem;font-weight:600;color:#8fbf9f;background:#2e7d521f;border:1px solid rgba(46,125,82,.35);border-radius:6px}.photo-import-phase{margin:6px 0 0}.photo-import-confirm-bar{margin-top:12px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.photo-import-actions{margin-top:4px}.app-embedded .library-toolbar{padding:10px 16px}.library-toolbar-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding-bottom:8px;border-bottom:1px solid var(--border)}.library-toolbar-panel{margin:0}.stats-bar--compact{margin:0;padding:4px 0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;gap:8px}.stats-bar--compact .stat{padding:8px 12px;min-width:68px;flex-shrink:0}.stats-bar--compact .stat-value{font-size:17px}.stats-bar--compact .stat-label{font-size:10px;white-space:nowrap}.stats-bar--compact .stat--status .stat-value{color:var(--accent)}.library-detail-band{flex-shrink:0;z-index:2;border-bottom:1px solid var(--border);background:var(--bg);box-shadow:0 6px 20px #00000047;scroll-margin-top:8px}.library-layout--with-detail .library-detail-band{overflow:visible}.library-detail-band .book-detail{position:relative;top:auto;max-height:none;overflow:visible;margin:0;border:none;border-radius:0;box-shadow:none}.library-gallery{flex:1;min-height:180px;overflow-y:auto;padding:16px 20px 24px;background:var(--bg)}.library-layout--with-detail .library-gallery{flex:0 0 auto;margin-top:auto;min-height:140px;max-height:min(34vh,320px)}.app-embedded .library-gallery{padding:12px 16px 16px}.main-layout{display:grid;grid-template-columns:1fr;gap:20px;flex:1}.main-layout.with-detail{grid-template-columns:1fr 340px}@media(max-width:900px){.main-layout.with-detail{grid-template-columns:1fr}}.book-collection.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;align-content:start}.book-collection.list{display:flex;flex-direction:column;gap:2px}.book-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:0;text-align:left;color:inherit;overflow:hidden;transition:border-color .15s,transform .15s}.book-card-main{flex:1;min-width:0;background:none;border:none;padding:0;cursor:pointer;text-align:left;color:inherit;font:inherit}.book-card-main.grid{display:flex;flex-direction:column}.book-card-main.list{display:flex;flex-direction:row;align-items:center;gap:10px;padding:4px 8px 4px 36px;min-height:36px}.book-card.list:not(.bulk-selectable) .book-card-main.list{padding-left:8px}.book-card:hover{border-color:var(--nz-border-strong)}.book-card.selected{border-color:var(--nz-gold-0);box-shadow:var(--nz-shadow-gold)}.book-card.bulk-selected{border-color:var(--nz-gold-muted)}.book-card-bulk-check{position:absolute;top:8px;left:8px;z-index:2;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#0f0f14bf;border:1px solid var(--border);cursor:pointer}.book-card-bulk-check input{width:16px;height:16px;cursor:pointer}.bulk-select-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px;padding:10px 14px;border-radius:12px;background:#ffffff08;border:1px solid var(--border)}.bulk-select-bar--hint{opacity:.95}.bulk-actions-bar{display:flex;flex-direction:column;gap:12px;margin:0 0 14px;padding:14px 16px;border-radius:12px;background:#c9a2270f;border:1px solid var(--nz-gold-muted)}.bulk-actions-summary{font-size:14px}.bulk-actions-hint{color:var(--text-muted);font-size:13px}.bulk-actions-cache-toggle{font-size:13px;color:var(--text-muted)}.bulk-actions-fresh{color:var(--nz-gold)}.bulk-actions-buttons{display:flex;flex-wrap:wrap;gap:8px}.bulk-cover-panel{margin:0 16px 16px}.bulk-cover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;margin-top:12px}.bulk-cover-card{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:10px;border:1px solid var(--border);background:#ffffff05}.bulk-cover-thumb-btn{padding:0;border:none;background:none;cursor:pointer;border-radius:6px;overflow:hidden}.bulk-cover-thumb{display:block;width:100%;aspect-ratio:2/3;object-fit:cover}.bulk-cover-meta{display:flex;flex-direction:column;gap:6px}.bulk-cover-title{font-size:12px;font-weight:600;line-height:1.3;margin:0}.bulk-cover-source{font-size:11px;color:var(--text-muted);margin:0}.bulk-cover-missing{margin:12px 0 0;padding-left:18px;font-size:13px;color:var(--text-muted)}.classification-section{margin-top:8px}.classification-lines{display:grid;gap:6px;margin-bottom:12px}.classification-line{margin:0;font-size:13px}.classification-block{margin:14px 0;padding:12px 0;border-top:1px solid var(--border)}.classification-block:first-of-type{border-top:none;padding-top:0}.classification-subtitle{margin:0 0 8px;font-size:14px;font-weight:600}.classification-legacy-notice{margin:0 0 10px;padding:10px 12px;border-radius:8px;font-size:13px;background:#c9a22714;border:1px solid var(--nz-gold-muted)}.classification-genre-select{display:flex;flex-direction:column;gap:6px;max-width:280px;font-size:13px}.classification-genre-actions{margin-top:10px}.classification-inline-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.classification-block-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.classification-block-header .classification-subtitle{margin:0}.classification-inline-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:#ffffff0a;font-size:12px}.classification-chip-remove{display:inline-flex;align-items:center;justify-content:center;margin:0 0 0 2px;padding:0;width:16px;height:16px;border:none;border-radius:50%;background:transparent;color:var(--nz-text-2, inherit);font-size:14px;line-height:1;cursor:pointer}.classification-chip-remove:hover:not(:disabled){color:var(--nz-text-0, inherit);background:#ffffff14}.classification-chip-remove:disabled{opacity:.5;cursor:not-allowed}.classification-manual-add,.classification-manual-taxonomy{margin-top:12px}.classification-manual-add,.classification-manual-taxonomy-row{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.classification-taxonomy-select{display:flex;flex-direction:column;gap:6px;min-width:220px;font-size:13px}.classification-taxonomy-select input,.classification-taxonomy-select select,.classification-manual-add input{min-width:220px}.classification-feedback{margin:10px 0 0;padding:8px 12px;border-radius:8px;font-size:13px;line-height:1.45}.classification-feedback--genre{margin-top:12px;font-weight:500}.classification-feedback--success{color:var(--text);background:#48bb781f;border:1px solid rgba(72,187,120,.35)}.classification-feedback--error{color:var(--text);background:#e53e3e1a;border:1px solid rgba(229,62,62,.35)}.classification-governance-hint{margin-top:10px}.classification-proposal-local{display:flex;align-items:flex-start;gap:8px;margin-top:10px;font-size:13px;color:var(--text-muted)}.classification-proposal-history{margin:10px 0 0;padding-left:1.1rem;display:grid;gap:6px;font-size:13px}.proposal-status{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;margin-right:4px}.proposal-status--pending{color:#9a6700}.proposal-status--accepted{color:#1a7f37}.proposal-status--rejected{color:#b42318}.proposal-status--superseded{color:var(--text-muted)}.classification-migration-panel{padding:12px;border-radius:10px;background:#ffffff05;border:1px solid var(--border)}.classification-migration-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.bulk-select-summary{font-size:13px;color:var(--text-muted)}.bulk-select-actions{display:flex;flex-wrap:wrap;gap:8px}.book-card.grid{display:flex;flex-direction:column}.book-card.grid.bulk-selectable .book-card-main{padding-top:36px}.book-card.list{display:flex;flex-direction:row;align-items:stretch;border-radius:6px;background:color-mix(in srgb,var(--surface) 88%,transparent)}.book-card.list:hover{background:color-mix(in srgb,var(--nz-gold-dim) 35%,var(--surface))}.book-cover{aspect-ratio:2/3;background:#ffffff0a;overflow:hidden}.book-card.list .book-cover,.book-cover-dense{width:28px;height:40px;aspect-ratio:auto;flex-shrink:0;border-radius:3px;border:1px solid color-mix(in srgb,var(--nz-gold-muted) 40%,var(--border))}.book-cover img{width:100%;height:100%;object-fit:cover}.cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:32px;min-height:120px}.cover-placeholder.dense{min-height:0;font-size:10px;color:var(--nz-gold-muted);background:linear-gradient(145deg,color-mix(in srgb,var(--nz-gold-dim) 50%,transparent),#ffffff08)}.book-list-header{display:flex;flex-direction:row;align-items:center;gap:10px;padding:2px 8px 6px;margin-bottom:2px;border-bottom:1px solid color-mix(in srgb,var(--nz-gold-muted) 28%,var(--border));color:var(--nz-gold-muted);font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.book-list-header-cover{width:28px;flex-shrink:0}.book-card.list.bulk-selectable .book-list-header,.book-collection.list.bulk-mode>.book-list-header{padding-left:36px}.book-row-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) 52px minmax(0,.85fr) minmax(0,1fr) minmax(0,1fr) 64px 44px 64px;align-items:center;gap:8px;flex:1;min-width:0;width:100%}.book-row-title,.book-row-author,.book-row-genre,.book-row-domains,.book-row-thematics{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-row-title{font-size:13px;font-weight:650;line-height:1.25;color:var(--text)}.book-row-author{font-size:12px;color:var(--text-muted)}.book-row-year{font-size:11px;font-family:var(--mono);color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums}.book-row-genre{font-size:11px;color:var(--nz-gold-muted)}.book-row-domains,.book-row-thematics{font-size:11px;color:var(--text-muted)}.book-row-count{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:3px;font-family:var(--mono);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.book-row-count-label{opacity:.7;font-size:9px;font-weight:700;letter-spacing:.02em}.book-row-count-value{font-weight:650;min-width:1.25ch;text-align:right}.book-row-count.tone-concept{color:var(--color-concept-bright)}.book-row-count.tone-idea{color:var(--color-idea-bright)}.book-row-count.tone-link{color:#c4b5fd}.book-list-header .book-row-title,.book-list-header .book-row-author,.book-list-header .book-row-year,.book-list-header .book-row-genre,.book-list-header .book-row-domains,.book-list-header .book-row-thematics,.book-list-header .book-row-count{color:inherit;font-size:10px;font-weight:600}.book-list-header .book-row-count{justify-content:flex-end}@media(max-width:1100px){.book-row-fields{grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) 52px minmax(0,.9fr) minmax(0,1fr) 64px 44px 64px}.book-row-thematics,.book-list-header .book-row-thematics{display:none}}@media(max-width:820px){.book-row-fields{grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) 44px 60px 40px 60px}.book-row-genre,.book-list-header .book-row-genre,.book-row-domains,.book-list-header .book-row-domains,.book-row-thematics,.book-list-header .book-row-thematics{display:none}}@media(max-width:560px){.book-row-fields{grid-template-columns:minmax(0,1fr) 56px 36px 56px;gap:6px}.book-row-author,.book-row-year,.book-list-header .book-row-author,.book-list-header .book-row-year{display:none}.book-card-main.list{gap:8px;padding-right:6px}}.book-card.list .book-card-bulk-check{top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:5px;background:transparent;border-color:transparent}.book-info{padding:12px}.book-card.list .book-info{padding:0;flex:1}.book-info h3{margin:0 0 4px;font-size:14px;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.author{margin:0;font-size:12px;color:var(--text-muted)}.meta{margin:4px 0 0;font-size:11px;color:var(--text-dim);font-family:var(--mono)}.status-badge{display:inline-block;margin-top:8px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;font-family:var(--mono)}.status-to-read{background:#ffffff0f;color:var(--nz-text-2)}.status-reading{background:var(--nz-gold-dim);color:var(--nz-gold-0)}.status-read{background:var(--nz-teal-dim);color:var(--nz-teal-bright)}.status-abandoned{background:var(--nz-error-dim);color:var(--nz-error-text)}.status-reread{background:var(--nz-purple-dim);color:var(--nz-purple-bright)}.rating{display:block;margin-top:6px;color:var(--accent);font-size:12px;letter-spacing:1px}.tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.tag{background:#ffffff0f;border-radius:4px;padding:2px 6px;font-size:10px;color:var(--text-dim)}.book-detail{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;position:sticky;top:24px;max-height:calc(100vh - 48px);overflow-y:auto}.close-btn{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-dim);font-size:13px;cursor:pointer;line-height:1;padding:4px 0 4px 8px}.close-btn-label{font-size:12px;font-weight:500;white-space:nowrap}.close-btn-icon{font-size:22px;line-height:1}.close-btn:hover{color:var(--text)}.detail-cover{width:100%;max-width:140px;border-radius:8px;display:block;object-fit:cover;aspect-ratio:2 / 3}.book-presentation-info{flex:1;min-width:0}.book-presentation-info h2{margin:0 0 6px;padding-right:0}.detail-cover-placeholder{width:140px;aspect-ratio:2 / 3;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px dashed var(--border);background:#ffffff08;color:var(--text-dim);font-size:2rem}.detail-cover-placeholder--loading{font-size:12px}.detail-cover-badge{display:block;margin-top:6px;font-size:11px;color:var(--text-muted);text-align:center}.detail-cover--preview{outline:2px solid var(--accent);outline-offset:2px}.book-presentation-cover-btn{width:100%;text-align:center}.cover-presentation-feedback{margin:0;font-size:12px;line-height:1.4}.cover-proposal--embedded{margin-bottom:0;padding:10px 0 0;border:none;background:transparent}.cover-proposal-grid--single{display:none}.book-detail h2{margin:0 0 6px;font-size:18px;padding-right:160px}.detail-author{margin:0 0 12px;color:var(--text-muted)}.detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.detail-meta span{background:#ffffff0d;border-radius:4px;padding:3px 8px;font-size:11px;font-family:var(--mono);color:var(--text-dim)}.summary{font-size:13px;color:var(--text-muted);line-height:1.6;margin-bottom:16px}.detail-location,.detail-link,.detail-structure{font-size:13px;color:var(--text-muted);margin:8px 0}.table-of-contents-section .table-of-contents-input,.book-structure-section .book-structure-input{width:100%;margin-top:8px;font-size:13px;line-height:1.5;font-family:inherit;resize:vertical}.table-of-contents-actions,.book-structure-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px}.detail-link a{color:#60a5fa}.ideas-section{margin:16px 0}.ideas-section h3{font-size:14px;margin:0 0 8px}.ideas-section>.book-detail-section-title,.concepts-section>.book-detail-section-title{font-size:var(--nz-text-lg);margin:0 0 14px}.concepts-section h3:not(.book-detail-section-title),.book-detail .concepts-section h3:not(.book-detail-section-title){color:var(--color-concept)}.personal-ideas-section h3:not(.book-detail-section-title),.book-detail .personal-ideas-section h3:not(.book-detail-section-title){color:var(--color-idea)}.ideas-list{margin:0;padding-left:20px;font-size:13px;color:var(--text-muted)}.ideas-list li{margin-bottom:6px}.concepts-section .ideas-list li{border-left:2px solid var(--color-concept);padding-left:10px}.author-concepts-list{list-style:none;margin:0;padding:0}.author-concept-item{margin-bottom:10px}.author-concept-edit-card{display:grid;gap:6px}.author-concept-edit-title-row{display:flex;align-items:center;gap:8px}.author-concept-edit-name{flex:1 1 auto;min-width:0;color:var(--color-concept-bright);font-weight:600;border-color:#60a5fa59;background:var(--color-concept-bg, rgba(96, 165, 250, .06))}.author-concept-edit-name::placeholder{color:var(--color-concept-soft, #bfdbfe);opacity:.7}.author-concept-edit-delete{flex:0 0 auto;width:auto;margin-top:0;align-self:center}.author-concept-edit-description{width:100%;resize:vertical;min-height:2.5rem}.author-concept-title{color:var(--color-concept-bright);display:block}.author-concept-description{color:var(--nz-text-2);font-size:.875rem;line-height:1.45;margin:4px 0 0}.taxonomy-section h3{margin-bottom:8px}.taxonomy-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.taxonomy-chip{background:#ffffff08;border:.5px solid var(--nz-border-subtle);border-radius:999px;display:inline-flex;gap:8px;padding:6px 10px;align-items:baseline}.taxonomy-chip--domain strong{color:var(--nz-gold-0)}.taxonomy-chip--theme strong{color:var(--nz-text-0)}.taxonomy-chip-meta{color:var(--nz-text-2);font-size:.75rem;white-space:nowrap}.taxonomy-chip--override{border-color:#d4af3747}.detail-meta-legacy-genre{color:var(--nz-warning, #e8a045);border-bottom:1px dotted var(--nz-warning, #e8a045)}.taxonomy-section-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}.taxonomy-suggestion-panel{margin:.75rem 0 1rem;padding:1rem;border:1px solid var(--border-subtle, rgba(255, 255, 255, .12));border-radius:8px;background:#00000026}.taxonomy-suggestion-list{list-style:none;margin:.75rem 0;padding:0}.taxonomy-suggestion-item{margin-bottom:.75rem}.taxonomy-suggestion-rationale{margin:.25rem 0 0 1.75rem;font-size:.9rem;opacity:.85}.taxonomy-suggestion-summary{font-style:italic;opacity:.9}.personal-ideas-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px}.personal-ideas-select-all{margin:0}.personal-ideas-list{list-style:none;margin:0;padding:0}.personal-idea-item{display:flex;align-items:flex-start;gap:10px;background:#ffffff08;border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:8px}.personal-idea-checkbox{flex-shrink:0;margin-top:2px}.personal-idea-body{flex:1;min-width:0;font-size:13px;color:var(--text-muted)}.personal-idea-body strong{color:var(--text)}.personal-idea-content{margin:6px 0 0;line-height:1.5;white-space:pre-wrap}.personal-idea-staging-tag{display:inline-block;margin-left:8px;font-size:11px;color:var(--text-dim)}.detail-controls{display:grid;gap:12px;margin-bottom:20px}.detail-controls--two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.book-presentation-controls{margin-top:12px;margin-bottom:0}.book-detail-section{margin-bottom:24px;padding-bottom:8px;border-bottom:1px solid var(--border)}.book-detail-section:last-of-type{border-bottom:none}.book-detail-section-title{margin:0 0 14px;padding-bottom:8px;font-family:var(--nz-font-display);font-size:var(--nz-text-lg);font-weight:600;letter-spacing:.06em;line-height:1.3;color:var(--nz-gold-0);border-bottom:1px solid var(--nz-gold-dim)}.book-detail .ideas-section>.book-detail-section-title,.book-detail .concepts-section>.book-detail-section-title,.book-detail .classification-section>.book-detail-section-title{color:var(--nz-gold-0);font-size:var(--nz-text-lg);margin:0 0 14px}.book-detail .annotations-section-header>.book-detail-section-title{color:var(--nz-gold-0);font-size:var(--nz-text-lg);margin:0;flex:1 1 auto;min-width:0}.book-detail-subsection-title{margin:0 0 8px;font-family:var(--nz-font-display);font-size:var(--nz-text-sm);font-weight:600;letter-spacing:.04em;color:var(--nz-text-1)}.book-detail-subsection{margin-top:20px}.book-detail-summary-search,.book-detail-concepts-search{margin-top:12px;display:flex;flex-direction:column;gap:10px}.book-detail-summary-search .btn-secondary,.book-detail-concepts-search .btn-secondary{width:auto;align-self:flex-start}.detail-enrich{margin-bottom:16px}.detail-enrich .btn-secondary{width:100%}.enrich-feedback{margin:8px 0 0;font-size:13px;color:var(--text-muted)}.enrich-feedback--success{color:#86efac;font-weight:600}.enrich-feedback--warn{color:#f0c674;font-weight:600}.enrich-cascade-stages{margin:8px 0 0;padding-left:1.1rem;font-size:12px;color:var(--text-muted)}.enrich-cascade-stage--miss,.enrich-cascade-stage--skipped{color:#f0c674}.enrich-cascade-stage--hit{color:#86efac}.enrich-isbn-note{margin:8px 0 0;font-size:12px;color:#d97706}.enrich-found-isbns,.enrich-search-modes{margin:8px 0 0;font-size:12px;color:var(--text-muted)}.enrich-preview-block{margin-top:12px;padding:12px;border-radius:10px;background:#ffffff08;border:1px solid var(--border)}.enrich-summary-block{border-color:var(--nz-teal, #2dd4bf);background:#2dd4bf0f}.enrich-summary-hint{margin:0 0 10px}.enrich-summary-conflict{display:grid;gap:6px;margin-bottom:10px;font-size:12px}.enrich-summary-feedback{margin-top:10px;margin-bottom:0}.book-saved-summary{margin-top:8px}.book-detail-summary-actions{margin-top:12px}.book-detail-summary-manual{display:grid;gap:10px}.book-detail-summary-manual-actions,.author-concept-actions{display:flex;flex-wrap:wrap;gap:8px}.enrich-preview-title{margin:0 0 8px;font-size:12px;font-weight:600}.enrich-preview-list{margin:0 0 10px;padding-left:18px;font-size:12px}.enrich-preview-warning{margin:0 0 10px;font-size:12px;color:#d97706}.enrich-conflict-list{margin:0 0 12px;padding:0;list-style:none;font-size:12px}.enrich-conflict-list li{display:grid;gap:4px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border)}.enrich-conflict-current,.enrich-conflict-incoming{color:var(--text-muted)}.enrich-override-field{margin-top:8px}.enrich-override-field label{display:block;margin-bottom:4px;font-size:11px;color:var(--text-muted)}.enrich-override-input{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:#ffffff0a;color:inherit;font:inherit;font-size:12px;resize:vertical}.enrich-override-input:focus{outline:none;border-color:var(--accent)}.detail-cover-actions{margin-bottom:12px}.cover-proposal{margin-bottom:16px;padding:12px;border-radius:10px;background:#ffffff08;border:1px solid var(--border)}.cover-proposal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin:12px 0}.cover-proposal-option{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;border-radius:8px;border:2px solid transparent;background:#ffffff05;cursor:pointer;transition:border-color .15s}.cover-proposal-option:hover{border-color:var(--border)}.cover-proposal-option.selected{border-color:var(--accent)}.cover-proposal-thumb{width:100%;max-height:140px;object-fit:contain;border-radius:4px}.cover-proposal-source{font-size:10px;color:var(--text-muted);text-align:center;line-height:1.3}.cover-proposal-actions{display:flex;gap:8px;flex-wrap:wrap}.cover-proposal-actions .btn-primary,.cover-proposal-actions .btn-secondary{flex:1;min-width:120px}.bulk-enrich-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}.bulk-enrich-panel{margin-bottom:16px}.bulk-enrich-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.bulk-enrich-header h2{margin:0;font-size:1.1rem}.bulk-enrich-log{max-height:220px;overflow-y:auto;padding:12px;border-radius:10px;background:#0003;border:1px solid var(--border);font-family:ui-monospace,monospace;font-size:12px;line-height:1.5}.bulk-enrich-log-line{margin:0 0 4px;color:var(--text-muted)}.bulk-enrich-log-line.ok{color:#22c55e}.bulk-enrich-log-line.warn{color:#d97706}.bulk-enrich-log-line.error{color:#ef4444}.bulk-enrich-log-active{animation:bulk-pulse 1.2s ease-in-out infinite}@keyframes bulk-pulse{0%,to{opacity:.5}50%{opacity:1}}.bulk-enrich-summary{margin:12px 0 0;font-size:13px}.bulk-enrich-conflicts{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.bulk-enrich-conflicts-title{margin:0 0 10px;font-size:13px;font-weight:600}.bulk-enrich-conflict-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}.bulk-enrich-conflict-list li{display:flex;flex-direction:column;gap:4px}.bulk-enrich-conflict-list li.resolved .btn-secondary{opacity:.7}.bulk-enrich-conflict-list li.active .btn-secondary{border-color:var(--accent)}.bulk-enrich-conflict-meta{font-size:12px;color:var(--text-muted);padding-left:4px}.bulk-enrich-done-note,.bulk-enrich-complete{margin-top:12px;font-size:13px}.bulk-enrich-done-note.ok,.bulk-enrich-complete.ok{color:#22c55e}.bulk-review-banner{margin-bottom:16px;padding:12px;border-radius:10px;background:#3b82f61a;border:1px solid rgba(59,130,246,.35)}.bulk-review-label{margin:0 0 6px;font-size:13px;font-weight:600}.enrich-merge-hint{margin:10px 0 0}.enrich-merge-option{display:flex;align-items:flex-start;gap:8px;margin-top:8px;font-size:12px;color:var(--text-muted);cursor:pointer}.enrich-merge-option input{margin-top:2px}.enrich-lookup-correct{margin-bottom:12px;padding:12px;border-radius:10px;background:#ffffff08;border:1px solid var(--border)}.enrich-lookup-field{display:block;margin:0;font-size:12px;font-weight:600;color:var(--text-muted)}.enrich-lookup-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 14px;margin:10px 0}.enrich-save-corrections{margin-bottom:8px}.enrich-manual-metadata-btn{margin-bottom:0}.enrich-manual-apply-row{display:flex;flex-direction:column;gap:8px;margin:12px 0;padding:12px;border-radius:10px;background:#60a5fa0f;border:1px solid rgba(96,165,250,.25)}.enrich-manual-hint{margin:0}.enrich-manual-confirm{margin:0;font-weight:600}.enrich-manual-apply-block{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.enrich-lookup-field .enrich-override-input{margin-top:6px}.enrich-first-search{width:100%;margin-bottom:8px}.enrich-search-actions{display:flex;flex-direction:column;gap:8px;margin-top:10px}.enrich-fresh-search.active{border-color:#60a5fa99}.enrich-cache-badge{margin-right:8px;font-size:11px;font-weight:600;color:var(--accent)}.enrich-cache-notice{margin:10px 0;padding:10px 12px;border-radius:8px;font-size:13px;background:#60a5fa14;border:1px solid rgba(96,165,250,.25);color:var(--text-muted)}.enrich-cache-hint{margin:8px 0 0}.link-button{padding:0;border:none;background:none;color:var(--accent);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}.link-button:disabled{opacity:.6;cursor:not-allowed}.enrich-cache-fresh-btn{font-weight:600}.enrich-existing-concepts-hint{margin:8px 0 0;font-size:.9rem}.enrich-concepts-list{margin:10px 0}.enrich-concepts-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}@media(max-width:640px){.enrich-concepts-columns{grid-template-columns:1fr}}.enrich-concepts-col{padding:10px 12px;border-radius:8px;border:.5px solid var(--nz-border-subtle);background:#00000026}.enrich-concepts-col--old{border-color:#b48c5059}.enrich-concepts-col--new{border-color:#60a5fa59}.enrich-concepts-col-title{margin:0 0 8px;font-size:.85rem;font-weight:600;color:var(--nz-gold-0)}.enrich-concepts-col--new .enrich-concepts-col-title{color:var(--nz-teal-0, #6ec4b8)}.enrich-concept-linked{font-weight:600}.enrich-concepts-scroll{max-height:320px;overflow-y:auto;padding-right:4px}.enrich-concepts-only-new{margin-top:12px;padding:10px 12px;border-radius:8px;border:.5px solid rgba(80,160,140,.35);background:#50a08c0f}.enrich-concepts-only-new .hint{color:var(--nz-teal-0, #6ec4b8);font-weight:600}.enrich-concepts-smart{margin-top:16px;padding-top:14px;border-top:.5px solid var(--nz-border-subtle)}.enrich-concept-merge-cards{display:flex;flex-direction:column;gap:10px;margin:10px 0}.enrich-concept-merge-card{padding:10px 12px;border-radius:8px;border:.5px solid rgba(200,170,90,.4);background:#c8aa5a0f}.enrich-concept-merge-label{margin:0 0 8px;font-weight:600;color:var(--nz-text-0)}.enrich-concept-merge-description{color:var(--nz-text-2);font-size:.875rem;line-height:1.45;margin:0 0 8px}.enrich-concept-merge-sources{display:flex;flex-wrap:wrap;gap:6px}.enrich-concept-tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.78rem;line-height:1.4;border:.5px solid var(--nz-border-subtle)}.enrich-concept-tag--old{background:#b48c5026;border-color:#b48c5066;color:var(--nz-gold-1, #d4b87a)}.enrich-concept-tag--new{background:var(--color-concept-dim);border-color:#60a5fa66;color:var(--color-concept-bright)}.enrich-concept-merge-note{margin:8px 0 0;font-style:italic}.enrich-concepts-merge-preview{margin:12px 0;color:var(--nz-gold-0)}.enrich-concepts-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}.admin-usage{padding:20px;max-width:1100px;margin:0 auto}.admin-panel{padding:20px;max-width:1200px;margin:0 auto}.admin-subnav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.admin-subnav button{padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;cursor:pointer}.admin-subnav button:hover{border-color:var(--accent)}.admin-subnav button.active{background:var(--accent);border-color:var(--accent);color:#fff}.admin-section{margin-top:0}.admin-section-header h2{margin:0 0 8px}.admin-classification-stats{display:flex;flex-wrap:wrap;gap:12px 20px;margin:8px 0 14px;font-size:13px}.admin-classification-glossary{margin:0 0 14px;padding:10px 12px;border:1px solid var(--nz-border);border-radius:var(--nz-r-md, 8px);background:var(--nz-bg-3);color:var(--nz-text-1)}.admin-classification-glossary .ontology-hint{margin:0 0 6px;color:var(--nz-text-1)}.admin-classification-glossary .ontology-hint:last-child{margin-bottom:0}.admin-classification-alerts{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}.admin-classification-alert{padding:10px 12px;border:1px solid var(--border);border-radius:8px;border-left-width:3px}.admin-classification-alert--info{border-left-color:#6b8cae}.admin-classification-alert--warning{border-left-color:#c4922a}.admin-classification-alert--critical{border-left-color:#b44}.admin-classification-alert-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px}.admin-classification-alert-sev{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.admin-classification-alert-samples{margin:6px 0 0;padding-left:18px;font-size:12px;color:var(--text-muted)}.admin-legacy-themes{max-width:280px;word-break:break-word;font-size:12px}.admin-classification-subnav{margin-bottom:14px}.admin-classification-add{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.admin-classification-add input{min-width:200px;flex:1}.admin-proposal-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.admin-proposal-card{padding:12px;border:1px solid var(--border);border-radius:8px}.admin-proposal-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.admin-proposal-alt{display:grid;gap:4px;margin:8px 0;font-size:13px}.admin-proposal-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-classification-msg{margin-bottom:10px}.admin-table-wrap{overflow-x:auto;margin-top:16px}.admin-cell-title{max-width:220px}.admin-cell-muted{font-size:12px;color:var(--muted);max-width:280px}.admin-table-books{font-size:12px}.admin-usage-header h2{margin:0 0 8px}.admin-budget-alert{margin:12px 0 0;padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.4}.admin-budget-alert--warning{background:#c48c281f;border:1px solid rgba(196,140,40,.45);color:var(--text)}.admin-budget-alert--critical{background:#c0392b1f;border:1px solid rgba(192,57,43,.45);color:var(--text)}.admin-budget-block{margin-top:16px}.admin-budget-meter{height:8px;border-radius:999px;background:var(--border);overflow:hidden;margin:8px 0 10px}.admin-budget-meter-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .2s ease}.admin-budget-meter-fill--warning{background:#c48c28}.admin-budget-meter-fill--critical{background:#c0392b}.admin-usage-totals--compact{margin-top:12px}.admin-usage-totals{display:flex;flex-wrap:wrap;gap:16px;margin:20px 0}.admin-usage-section{margin:24px 0}.admin-usage-section h3{margin:0 0 12px;font-size:15px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left}.admin-sort-btn{display:inline-flex;align-items:center;gap:2px;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;font-weight:600;letter-spacing:inherit;cursor:pointer;text-align:left}.admin-sort-btn:hover,.admin-sort-btn:focus-visible{color:var(--nz-gold-0, #d4af37)}.admin-sort-ind{font-weight:400;opacity:.65;font-size:.85em}.admin-cell-datetime{font-family:var(--nz-font-mono, ui-monospace, monospace);font-size:12px;white-space:nowrap;letter-spacing:.02em}.admin-table-logs{font-size:12px}.enrich-results{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.enrich-results:empty{display:none;margin:0;padding:0;border:none}.bulk-review-actions{margin-top:10px}.detail-controls label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-muted);font-weight:600}.annotations-section h3{margin:0 0 12px;font-size:14px}.annotation-form textarea{width:100%;resize:vertical;margin-bottom:8px}.annotation-row{display:flex;gap:8px}.annotation-row input{width:80px}.annotation-list{list-style:none;padding:0;margin:16px 0 0}.annotation-list li{background:#ffffff08;border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:10px}.annotation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.annotation-header-actions{display:flex;gap:8px;align-items:center}.btn-small{font-size:11px;padding:4px 8px}.annotation-idea-panel{margin:10px 0;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2, rgba(0, 0, 0, .15))}.annotation-idea-panel.linked{background:transparent}.annotation-idea-panel label,.annotation-idea-inline label{display:block;margin-top:8px;font-size:12px}.promote-mode-row{display:flex;flex-direction:column;gap:6px;margin:8px 0;font-size:12px}.annotation-idea-actions{display:flex;gap:8px;margin-top:10px}.annotation-idea-link,.annotation-idea-badge{font-size:12px;color:var(--accent);margin:6px 0 0}.checkbox-row{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:12px}.concept-pick-list{margin:8px 0;border:1px solid var(--border);border-radius:6px;padding:8px;font-size:11px}.concept-pick-list.compact{max-height:120px;overflow-y:auto}.concept-pick-list label{display:flex;align-items:flex-start;gap:6px;margin:4px 0}.idea-annotation-count{font-size:12px;color:var(--text-dim)}.flow-node-meta{display:block;font-size:10px;color:var(--text-dim);margin-top:4px}.page{font-size:11px;font-family:var(--mono);color:var(--accent)}.delete-link{background:none;border:none;color:var(--text-dim);font-size:11px;cursor:pointer;text-decoration:underline}.annotation-list p{margin:0 0 6px;font-size:13px;line-height:1.5}.annotation-list time{font-size:11px;color:var(--text-dim)}.empty,.empty-state p{color:var(--text-dim);font-size:14px}.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;background:var(--surface);border:1px dashed var(--border);border-radius:16px}.empty-icon{font-size:48px;display:block;margin-bottom:16px}.empty-state h2{margin:0 0 8px}.footer{margin-top:40px;padding-top:20px;border-top:1px solid var(--border);text-align:center}.footer p{margin:0;font-size:12px;color:var(--text-dim)}.import-panel{border-color:#60a5fa4d;background:#60a5fa0f}.import-merge-notice{background:#34d3991a;border:1px solid rgba(52,211,153,.25);border-radius:10px;padding:12px 16px;margin:0 0 16px;font-size:14px;color:var(--text-muted)}.import-merge-notice strong{color:#34d399}.book-import .import-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.book-import .import-tabs button{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 16px;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer}.book-import .import-tabs button.active{background:#60a5fa26;border-color:#60a5fa66;color:#93c5fd}.import-section label{display:block;font-size:12px;color:var(--text-muted);font-weight:600;margin-bottom:6px}.import-section input[type=url]{width:100%;margin-bottom:12px}.import-actions-row{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.columns-hint{margin-top:16px}.loading-msg{color:var(--text-muted);font-size:14px}.import-preview{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.import-preview h3{margin:0 0 8px;font-size:16px}.preview-summary{margin:0 0 16px;font-size:14px}.preview-summary .ok{color:#34d399;font-weight:600}.preview-summary .warn{color:#fbbf24}.preview-table-wrap{overflow-x:auto;margin-bottom:16px;border:1px solid var(--border);border-radius:10px}.preview-table{width:100%;border-collapse:collapse;font-size:13px}.preview-table th,.preview-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.preview-table th{background:#ffffff0a;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.preview-table tr.row-error td{color:var(--danger)}.preview-table tr:last-child td{border-bottom:none}.profile-label{margin:0 0 8px;font-family:var(--mono);font-size:11px;color:#93c5fd}.enrich-list{margin:0 0 16px;padding-left:20px;font-size:13px;color:var(--text-muted)}.enrich-list li{margin-bottom:4px}.preview-summary .enrich{color:#60a5fa}.auth-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px}.auth-card h2{margin:0 0 4px}.auth-card-brand{display:flex;align-items:center;gap:12px;margin-bottom:12px}.auth-card-version{margin:0;font-size:13px;color:var(--text-muted);font-weight:500}.auth-form{display:grid;gap:14px;margin-top:16px}.auth-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-muted);font-weight:600}.auth-status{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-muted)}.auth-status-user{display:flex;flex-direction:row;align-items:center;gap:8px;max-width:260px;margin:0;padding:2px 4px;border:none;background:transparent;font:inherit;color:inherit;text-align:right;cursor:pointer;border-radius:6px;transition:color .15s ease,background .15s ease}.auth-status-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid rgba(201,162,39,.35);background:var(--nz-bg-2, #1a1a1a)}.auth-status-labels{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:0}.auth-status-user:hover:not(:disabled),.auth-status-user:focus-visible:not(:disabled){color:var(--nz-gold-1, #c9a227);background:#c9a22714;outline:none}.auth-status-user:disabled{cursor:default}.auth-status-user strong{color:var(--text);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.auth-status-user:hover:not(:disabled) strong,.auth-status-user:focus-visible:not(:disabled) strong{color:var(--nz-gold-1, #c9a227)}.auth-status-email{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.btn-small{padding:6px 10px;font-size:11px}.banner-error{margin:0 24px 16px;padding:12px 16px;border-radius:10px;background:#ef44441a;border:1px solid rgba(239,68,68,.25)}.network-retry{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.network-retry-msg{margin:0;flex:1;min-width:12rem;color:inherit;font-size:inherit}.network-retry-inline{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:#ef44441a;border:1px solid rgba(239,68,68,.25)}.banner-info{margin:0 24px 16px;padding:12px 16px;border-radius:10px;background:#3b82f614;border:1px solid rgba(59,130,246,.2);color:var(--text);font-size:13px}.namzu-shell{min-height:100vh;display:flex;flex-direction:column}.app-nav{display:flex;align-items:center;gap:16px;padding:12px 24px;border-bottom:.5px solid var(--nz-border);background:var(--nz-bg-1);flex-wrap:wrap}.app-nav-brand{display:flex;align-items:center;gap:10px;font-weight:600}.app-brand{display:flex;align-items:center;gap:12px}.app-brand-btn{margin:0;padding:4px 6px;border:none;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:var(--nz-r-sm, 6px);transition:background .15s ease}.app-brand-btn:hover,.app-brand-btn:focus-visible{background:#d4af3714;outline:none}.app-brand-title{margin:0;font-size:1.25rem;font-weight:700;line-height:1.2;font-family:var(--nz-font-display);letter-spacing:.08em;color:var(--nz-gold-0)}.app-brand-tagline{margin:2px 0 0;font-size:.8rem;color:var(--text-muted);font-weight:500}.app-brand-compact .app-brand-title{font-size:1rem}.app-brand-compact .app-brand-tagline{font-size:.72rem}span.app-brand-title{display:block}.app-nav-user{margin-left:auto;flex-shrink:0}.app-nav-tabs{display:flex;gap:8px}.app-nav-tabs button{padding:8px 14px;border-radius:var(--nz-r-sm);border:.5px solid var(--nz-border);background:transparent;color:var(--nz-text-2);cursor:pointer;font-size:var(--nz-text-sm);transition:all var(--nz-dur-base) var(--nz-ease)}.app-nav-tabs button:hover{color:var(--nz-text-0);background:#ffffff0a}.app-nav-tabs button.active{background:var(--nz-gold-dim);border-color:var(--nz-border-strong);color:var(--nz-gold-0)}.app-nav-notif{position:relative}.app-nav-notif-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--nz-r-sm);border:.5px solid var(--nz-border);background:transparent;color:var(--nz-text-2);cursor:pointer;font-size:var(--nz-text-sm);transition:all var(--nz-dur-base) var(--nz-ease)}.app-nav-notif-btn:hover{color:var(--nz-text-0);background:#ffffff0a}.app-nav-notif-btn.active,.app-nav-notif-btn.has-unread{border-color:var(--nz-border-strong);color:var(--nz-gold-0)}.app-nav-notif-count{font-variant-numeric:tabular-nums;font-weight:600;min-width:1.5rem;text-align:center}.app-nav-notif-btn.has-unread .app-nav-notif-count{color:var(--nz-success-text, #5db87a)}.app-nav-notif-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:260px;max-width:min(360px,90vw);padding:12px;border-radius:var(--nz-r-md);border:.5px solid var(--nz-border);background:var(--nz-bg-2);box-shadow:0 8px 24px #00000059}.app-nav-notif-title{margin:0 0 8px;font-size:var(--nz-text-sm);font-weight:600;color:var(--nz-text-0)}.app-nav-notif-empty{margin:0}.app-nav-notif-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto}.app-nav-notif-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;border:none;border-radius:var(--nz-r-sm);background:transparent;color:inherit;text-align:left;cursor:pointer}.app-nav-notif-item:hover{background:#ffffff0f}.app-nav-notif-item-name{font-weight:600;font-size:var(--nz-text-sm);color:var(--nz-text-0)}.app-nav-notif-item-meta{font-size:.75rem;color:var(--nz-text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.embedded-toolbar{padding:12px 24px;justify-content:flex-end}.app-embedded .header-actions.embedded-toolbar{display:flex;gap:10px}.graph-layout{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.graph-filters{flex-shrink:0;padding:12px 16px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.graph-filters-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px}.graph-filters-head h2{margin:0;font-size:1.1rem}.graph-filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.graph-filters-row--forms{padding-top:4px;border-top:1px solid var(--border)}.graph-filters input,.graph-filters select{color:#faf6ee;background:#ffffff1a;border-color:#ffffff2e}.graph-filters input::placeholder{color:#d4cbb8;opacity:1}.graph-filters select option{color:var(--nz-text-0);background:var(--nz-bg-2)}.graph-view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.graph-view-toggle button{background:transparent;border:none;color:var(--text-dim);padding:8px 14px;font-size:12px;font-weight:600;cursor:pointer}.graph-view-toggle button.active{background:var(--accent-dim);color:var(--accent)}.graph-subnav{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--panel-bg, rgba(0, 0, 0, .15))}.graph-subnav button{background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-dim);padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer}.graph-subnav button.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.graph-subnav button.graph-subnav--concept.active{background:var(--color-concept-dim);border-color:var(--color-concept);color:var(--color-concept-bright)}.graph-subnav button.graph-subnav--idea.active{background:var(--color-idea-dim);border-color:var(--color-idea);color:var(--color-idea-bright)}.graph-explanations-page{padding:12px 16px 20px}.graph-explanations-header{margin-bottom:14px}.graph-explanations-title{margin:0 0 6px}.graph-link-explanations-compass-legend{background:var(--nz-bg-3);border:.5px solid var(--nz-border-subtle);border-radius:var(--nz-r-sm, 6px);margin:0 0 12px;padding:10px 12px}.graph-link-explanations-compass-legend-title{color:var(--nz-text-1);font-size:.8125rem;font-weight:600;margin:0 0 8px}.graph-link-explanations-compass-legend-list{display:grid;gap:4px 16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));list-style:none;margin:0;padding:0}.graph-link-explanations-compass-legend-item{display:flex;flex-direction:column;gap:1px}.graph-link-explanations-compass-legend-type{color:var(--nz-gold-0);font-size:.8125rem;font-weight:500}.graph-link-explanations-compass-legend-hint{color:var(--nz-text-2);font-size:.75rem;line-height:1.4}.graph-explanations-summary{margin:0}.graph-link-explanations-empty{color:var(--nz-text-2);margin:0}.graph-link-explanations-section+.graph-link-explanations-section{margin-top:18px}.graph-link-explanations-section-title{color:var(--nz-text-1);font-size:.875rem;font-weight:600;letter-spacing:.02em;margin:0 0 8px;text-transform:uppercase}.graph-link-explanations-list{display:flex;flex-direction:column;gap:8px}.graph-link-explanation-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-start;justify-content:space-between}.graph-link-explanation-row .graph-link-explanation-line{flex:1;min-width:min(100%,280px)}.graph-link-explanation-view-btn{flex-shrink:0;margin-top:2px}.graph-link-explanation-line{background:var(--nz-bg-3);border:.5px solid var(--nz-border-subtle);border-radius:var(--nz-r-sm, 6px);font-size:.875rem;line-height:1.55;margin:0;padding:8px 10px}.graph-link-explanation-tag{border-radius:999px;display:inline-block;font-size:.68rem;font-weight:600;letter-spacing:.03em;margin-right:6px;padding:1px 7px;text-transform:uppercase;vertical-align:middle}.graph-link-explanation-tag--concept{background:var(--color-concept-dim);color:var(--color-concept-bright)}.graph-link-explanation-tag--idea{background:var(--color-idea-dim);color:var(--color-idea-bright)}.graph-link-explanation-label{color:var(--nz-text-0);font-weight:500}.graph-link-explanation-sense{color:var(--nz-text-2);font-style:italic}.graph-link-explanation-compass{color:var(--nz-gold-0);font-weight:500;margin:0 6px;white-space:nowrap}.graph-link-explanation-text{color:var(--nz-text-2)}.graph-map-page{padding:12px 16px 20px}.graph-map-empty{padding:24px 16px;text-align:center}.graph-map-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.graph-list-page{padding:12px 16px 20px}.graph-node-list--page{max-height:none}.graph-page-back{margin-bottom:12px}.graph-create-link-page{padding:12px 16px 20px}.graph-create-link-source-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px}.graph-create-link-picker h3{margin:0 0 8px}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;background:#0000009e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.confirm-dialog{width:min(440px,100%);padding:20px 22px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 16px 48px #00000073}.confirm-dialog-title{margin:0 0 12px;font-size:1.05rem}.confirm-dialog-message{margin:0 0 18px;font-size:14px;line-height:1.55;color:var(--text-muted);white-space:pre-wrap}.confirm-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.global-constellation-title{margin:0 0 6px;font-size:15px}.global-constellation-stage{position:relative;width:100%;height:clamp(360px,min(56vh,680px),720px)}.global-constellation-viewport{width:100%;height:100%;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#0f0f14;cursor:grab;touch-action:none;outline:none}.global-constellation-viewport:focus-visible{box-shadow:0 0 0 2px var(--accent)}.global-constellation-viewport.is-panning{cursor:grabbing}.global-constellation-svg{display:block;width:100%;height:100%;min-height:0;max-width:none;user-select:none;-webkit-user-select:none}.global-constellation-controls{position:absolute;bottom:12px;left:12px;display:flex;flex-direction:column;gap:8px;z-index:2;pointer-events:none}.global-constellation-controls-row,.global-constellation-pad{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;border-radius:10px;border:1px solid var(--border);background:#0f0f14e0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.global-constellation-controls-row{flex-direction:row}.global-constellation-pad-row{display:flex;gap:4px}.global-constellation-btn{display:flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;padding:0 8px;border:1px solid var(--border);border-radius:8px;background:#ffffff0a;color:var(--text);font-size:16px;font-weight:600;line-height:1;cursor:pointer}.global-constellation-btn:hover{background:#ffffff1a;border-color:var(--accent);color:var(--accent)}.global-constellation-btn--pad{min-width:36px;font-size:14px}.global-constellation-edge-endpoints{font-size:8px}.graph-lists-panel{flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:12px 16px 16px;border-bottom:1px solid var(--border)}.graph-lists-panel--both{grid-template-columns:1fr 1fr}.graph-list-section{min-width:0}.graph-list-title{margin:0 0 10px;font-size:13px;font-weight:600}.graph-list-title--concept{color:var(--color-concept)}.graph-list-title--idea{color:var(--color-idea)}.graph-node-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:min(36vh,420px);overflow-y:auto}.graph-node-list-row{display:flex;align-items:stretch;gap:8px}.graph-node-list-entry{display:flex;flex-direction:column;gap:8px}.graph-node-list-edit{align-self:center;flex-shrink:0;white-space:nowrap}.graph-title-editor{margin-top:4px;padding:12px;border-radius:8px;border:1px solid var(--border);background:#ffffff08}.graph-title-editor--concept{border-left:3px solid var(--color-concept)}.graph-title-editor--idea{border-left:3px solid var(--color-idea)}.graph-title-editor-hint{margin:0 0 10px;font-size:12px;color:var(--text-muted)}.graph-title-editor-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:12px}.graph-title-editor-field input,.graph-title-editor-field textarea{width:100%;font:inherit}.graph-title-suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}.graph-title-suggestions-label{font-size:12px;color:var(--text-muted)}.graph-title-suggestions .btn-small{max-width:100%;overflow:hidden;text-overflow:ellipsis}.graph-title-editor-actions{display:flex;flex-wrap:wrap;gap:8px}.graph-title-editor-error{margin:0 0 8px;font-size:12px;color:#f87171}.graph-node-list-row .graph-node-list-item{flex:1;min-width:0}.graph-node-list-delete{align-self:center;flex-shrink:0;padding:8px 10px}.graph-node-list-empty{font-size:13px;color:var(--text-dim);padding:8px 0}.graph-node-list-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#ffffff05;cursor:pointer;font:inherit;color:var(--text)}.graph-node-list-item--concept{border-left:3px solid var(--color-concept)}.graph-node-list-item--idea{border-left:3px solid var(--color-idea)}.graph-node-list-item--concept.active{background:var(--color-concept-dim);border-color:var(--color-concept)}.graph-node-list-item--idea.active{background:var(--color-idea-dim);border-color:var(--color-idea)}.graph-node-list-item--concept .graph-node-list-name{color:var(--color-concept-bright)}.graph-node-list-item--idea .graph-node-list-name{color:var(--color-idea-bright)}.graph-node-list-item.link-source{box-shadow:0 0 0 2px var(--accent)}.graph-node-list-name{font-size:13px;font-weight:600;line-height:1.35}.graph-node-list-meta{font-size:11px;color:var(--text-dim)}.graph-detail-panel{flex-shrink:0;margin:0;padding:12px 16px;border-bottom:1px solid var(--border)}.graph-detail-panel h3{margin:0 0 8px;font-size:15px}.graph-detail-node-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .65rem}.graph-detail-node-name{min-width:0}.graph-node-kind-badge{flex-shrink:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;line-height:1.2}.graph-node-kind-badge--concept{color:var(--color-concept)}.graph-node-kind-badge--idea{color:var(--color-idea)}.graph-detail-links{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.graph-detail-links h4{margin:0 0 10px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.graph-detail-links-empty{margin:0 0 12px;font-size:13px;color:var(--text-dim)}.graph-detail-links-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}.graph-detail-link-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#ffffff08}.graph-detail-link-main{display:flex;flex-direction:column;gap:4px;min-width:0}.graph-detail-link-kind{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.graph-detail-link-kind--concept{color:var(--color-concept)}.graph-detail-link-kind--idea{color:var(--color-idea)}.graph-detail-link-target--concept{color:var(--color-concept-bright)}.graph-detail-link-target--idea{color:var(--color-idea-bright)}.graph-detail-link-target{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--accent);text-align:left;cursor:pointer}.graph-detail-link-target:hover{text-decoration:underline}.graph-detail-link-meta{font-size:11px;color:var(--text-dim)}.graph-detail-link-remove{flex-shrink:0;font-size:12px}.graph-detail-link-form{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px dashed var(--border);border-radius:8px;background:#ffffff05}.graph-detail-link-form-title{margin:0;font-size:12px;font-weight:600;color:var(--text-muted)}.graph-detail-link-field{display:flex;flex-direction:column;gap:4px}.graph-detail-link-field select,.graph-detail-link-field input{color:#faf6ee;background:#ffffff1a}.graph-detail-link-type-hint{font-size:11px;color:var(--text-dim);font-style:italic}.graph-detail-link-target-kind{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;align-self:flex-start}.graph-detail-link-target-kind button{background:transparent;border:none;color:var(--text-dim);padding:7px 12px;font-size:12px;font-weight:600;cursor:pointer}.graph-detail-link-target-kind button.active{background:var(--accent-dim);color:var(--accent)}.graph-detail-link-cross-hint{margin:0;font-size:11px;color:var(--text-dim);line-height:1.45}.graph-detail-link-row-wrap{display:flex;flex-direction:column;gap:8px}.graph-detail-link-actions{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}.graph-detail-link-edit{padding:12px;border:1px solid var(--border);border-radius:8px;background:#ffffff05;display:flex;flex-direction:column;gap:10px}.graph-detail-link-edit-actions{display:flex;flex-wrap:wrap;gap:8px}.graph-detail-link-edit-panel{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:8px;background:#ffffff08;display:flex;flex-direction:column;gap:10px}.graph-link-focus-panel{display:flex;flex-direction:column;gap:14px;padding:12px 16px}.graph-link-focus-header{display:flex;flex-direction:column;gap:4px}.graph-link-focus-title{margin:0;font-size:1.05rem}.graph-link-focus-intro{margin:0}.graph-link-focus-visual{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#ffffff05}.graph-link-focus-explanation{margin:0;font-size:13px;line-height:1.45}.graph-link-focus-actions{display:flex;flex-wrap:wrap;gap:8px}.graph-link-focus-actions .btn-secondary.active{border-color:var(--accent);color:var(--accent);background:#d4af371f}.graph-link-focus-editor{padding:4px 0 8px;border-top:1px solid var(--border)}.graph-detail-target-results{max-height:min(28vh,280px);overflow-y:auto;padding:8px;border:1px solid var(--border);border-radius:8px;background:#00000047}.graph-detail-target-empty{margin:0;font-size:12px;color:#d4cbb8;font-style:italic}.graph-detail-target-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.graph-detail-target-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#080a0eb8;cursor:pointer;font:inherit;color:#f5f0e6;transition:background .15s,border-color .15s}.graph-detail-target-item:hover{background:#12161ee0;border-color:#ffffff38}.graph-detail-target-item--concept{border-left:3px solid var(--color-concept);background:#0c1830bf}.graph-detail-target-item--concept:hover{background:#122444e6}.graph-detail-target-item--idea{border-left:3px solid var(--color-idea);background:#0a201abf}.graph-detail-target-item--idea:hover{background:#0e3026e6}.graph-detail-target-item.active{background:#d4af372e;border-color:var(--accent);color:#fffef8}.graph-detail-target-item--concept.active{background:#1e3a6ed9;border-color:var(--color-concept)}.graph-detail-target-item--idea.active{background:#144637d9;border-color:var(--color-idea)}.graph-detail-target-kind{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.graph-detail-target-item--concept .graph-detail-target-kind{color:var(--color-concept-bright)}.graph-detail-target-item--idea .graph-detail-target-kind{color:var(--color-idea-bright)}.graph-detail-target-label{font-size:13px;font-weight:600;color:#faf6ee;line-height:1.35}.graph-detail-link-visuals{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.graph-detail-link-visuals h5{margin:0 0 10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.graph-detail-link-visuals-grid{display:flex;flex-direction:column;gap:12px}.graph-detail-link-visual-wrap{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border);border-radius:10px;background:#ffffff05}.graph-detail-link-visual-wrap--editing{border-color:#60a5fa73;background:#60a5fa0f}.graph-detail-link-visual-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.link-relation-visual{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:10px;background:#ffffff08}.link-relation-visual--preview{border-style:dashed;border-color:var(--accent);background:#d4af370f}.link-relation-visual--editing{border-color:#60a5fa;box-shadow:0 0 0 1px #60a5fa40}.link-relation-visual-bridge{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:88px;text-align:center}.link-relation-visual-arrow{font-size:1.25rem;color:var(--accent);line-height:1}.link-relation-visual-type{display:flex;flex-direction:column;align-items:center;gap:2px}.link-relation-visual-emoji{font-size:1.2rem;line-height:1}.link-relation-visual-type-label{font-size:11px;font-weight:700;color:var(--accent)}.link-relation-visual-hint{font-size:10px;color:var(--text-dim);line-height:1.35;max-width:120px}.link-relation-node{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:8px;border:1px solid var(--border);min-width:0}.link-relation-visual-sense{font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.link-relation-node--concept{border-left:3px solid var(--color-concept);background:var(--color-concept-bg)}.link-relation-node--idea{border-left:3px solid var(--color-idea);background:var(--color-idea-bg)}.link-relation-node--concept .link-relation-node-kind{color:var(--color-concept)}.link-relation-node--idea .link-relation-node-kind{color:var(--color-idea)}.link-relation-node--concept .link-relation-node-label{color:var(--color-concept-bright)}.link-relation-node--idea .link-relation-node-label{color:var(--color-idea-bright)}.link-relation-node--source{border-color:#f8717159}.link-relation-node-kind{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.link-relation-node-label{font-size:13px;font-weight:600;line-height:1.3;word-break:break-word}.link-relation-node-badge{font-size:10px;color:#f87171;font-weight:600}@media(max-width:720px){.link-relation-visual{grid-template-columns:1fr;grid-template-rows:auto auto auto}.link-relation-visual-bridge{flex-direction:row;flex-wrap:wrap;justify-content:center}.link-relation-visual-arrow{transform:rotate(90deg)}}.graph-link-sense{display:flex;flex-direction:column;gap:8px}.graph-link-sense-toggle{display:flex;flex-wrap:wrap;gap:8px}.graph-link-sense-toggle button{flex:1;min-width:140px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);font-size:12px;line-height:1.4;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.graph-link-sense-toggle button strong{color:var(--text)}.graph-link-sense-toggle button:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.graph-link-sense-toggle button.active{border-color:var(--accent);background:#60a5fa1a;color:var(--text)}.graph-link-sense-toggle button:disabled{opacity:.5;cursor:not-allowed}.graph-link-sense-hint{margin:0;font-size:11px;line-height:1.45;color:var(--text-dim)}.compass-picker{display:flex;flex-direction:column;gap:10px}.compass-picker-intro{margin:0;font-size:13px;line-height:1.5;color:var(--text-muted)}.compass-picker-heart-label{color:#f87171;font-weight:600}.compass-picker-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;max-width:420px;grid-template-areas:"sky north ." "west heart-center east" ". heart-btn ." "earth south ."}.compass-picker-cell--north{grid-area:north}.compass-picker-cell--sky{grid-area:sky}.compass-picker-cell--east{grid-area:east}.compass-picker-cell--west{grid-area:west}.compass-picker-cell--heart-center{grid-area:heart-center}.compass-picker-cell--heart-btn{grid-area:heart-btn}.compass-picker-cell--earth{grid-area:earth}.compass-picker-cell--south{grid-area:south}.compass-picker-center{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;border:2px solid rgba(248,113,113,.45);border-radius:10px;background:#f8717114;height:100%;justify-content:center}.compass-picker-center-emoji{font-size:1.4rem;line-height:1}.compass-picker-center-kind{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.compass-picker-center-label{font-size:12px;font-weight:600;text-align:center;color:var(--text);line-height:1.3;max-width:120px;word-break:break-word}.compass-direction{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:56px;padding:8px 6px;border:1px solid var(--border);border-radius:8px;background:#ffffff0a;color:var(--text);cursor:pointer;font:inherit;transition:border-color .15s,background .15s}.compass-direction--compact{min-height:auto;flex-direction:row;font-size:11px;padding:6px 8px}.compass-direction:hover{border-color:var(--accent);background:#ffffff12}.compass-direction.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.compass-direction-emoji{font-size:1.25rem;line-height:1}.compass-direction-label{font-size:11px;font-weight:600}.compass-picker-hint{margin:0;font-size:12px;color:var(--text-muted);line-height:1.45}.graph-annotation-hint{font-size:12px;color:var(--text-muted);margin:8px 0;line-height:1.5}.graph-annotation-hint--none{color:var(--text-dim)}.graph-link-hint{font-size:12px;color:var(--accent);margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.graph-legend--idea{color:var(--color-idea)}.graph-legend--concept{color:var(--color-concept)}.graph-toolbar-stats .stat-concept{color:var(--color-concept);font-weight:600}.graph-toolbar-stats .stat-idea{color:var(--color-idea);font-weight:600}.graph-toolbar-stats .stat-link-cc{color:var(--color-concept)}.graph-toolbar-stats .stat-link-ii{color:var(--color-idea)}.graph-toolbar-stats .stat-link-ci{color:#a78bfa}.graph-view,.library-view{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.graph-toolbar{flex-shrink:0;overflow-y:auto;max-height:min(48vh,420px);border-bottom:1px solid var(--border);border-radius:0;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.graph-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.graph-toolbar-row--head{align-items:flex-end}.graph-toolbar-row--forms{padding-bottom:8px;border-bottom:1px solid var(--border)}.graph-toolbar-row--ideas{flex-direction:column;align-items:stretch;gap:6px}.graph-toolbar-row--detail{padding:10px 12px;background:#ffffff08;border-radius:8px;border:1px solid var(--border);align-items:flex-start}.graph-toolbar-row--concepts{flex-direction:column;align-items:stretch;max-height:180px;overflow:hidden}.graph-toolbar-title h2{margin:0;font-size:1.1rem}.graph-toolbar-stats{margin:2px 0 0;font-size:11px;color:var(--text-muted);display:flex;flex-direction:column;gap:1px;line-height:1.35}.graph-toolbar-stats-row{display:block}.graph-toolbar-intro{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--text-muted);max-width:52rem}.graph-toolbar-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap}.graph-toolbar-field{display:flex;flex-direction:column;gap:2px;min-width:140px}.graph-toolbar-details{font-size:12px}.graph-toolbar-details summary{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none}.graph-toolbar-details .graph-hint{margin-top:6px}.graph-inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1;min-width:280px}.graph-inline-form-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);min-width:52px}.graph-inline-form input,.graph-inline-form select{flex:1;min-width:100px;max-width:200px}.graph-idea-strip{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.graph-idea-strip-empty{font-size:12px;color:var(--text-muted);font-style:italic}.graph-idea-chip{flex-shrink:0;max-width:220px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:#ffffff0a;color:inherit;font-size:12px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.graph-idea-chip.active{border-color:var(--color-idea);background:var(--color-idea-dim);color:var(--color-idea-bright)}.graph-detail-main{flex:1;min-width:200px}.graph-detail-content{margin:4px 0;font-size:13px;max-width:60ch}.graph-detail-taxonomy{margin:14px 0 10px;padding:12px;border:.5px solid var(--nz-border-subtle);border-radius:var(--nz-r-sm, 6px);background:#ffffff05}.graph-detail-subtitle{margin:0 0 6px}.taxonomy-tags{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 10px}.taxonomy-tag{display:inline-flex;gap:8px;align-items:baseline;padding:6px 10px;border-radius:999px;border:.5px solid var(--nz-border-subtle);background:#ffffff08}.taxonomy-tag-meta{color:var(--nz-text-2);font-size:.75rem}.taxonomy-tag-remove{margin-left:4px}.taxonomy-add-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.taxonomy-add-row select{min-width:240px}.graph-concept-picker--inline{flex:1;min-width:200px}.graph-concept-picker-list{display:flex;flex-wrap:wrap;gap:6px 12px;max-height:80px;overflow-y:auto}.graph-concepts-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 12px;overflow-y:auto;flex:1;font-size:12px}.graph-search--compact{max-width:280px;margin-bottom:0}.graph-sidebar{overflow-y:auto;border-right:1px solid var(--border);border-radius:0;max-height:calc(100vh - 56px)}.graph-hint{font-size:12px;color:var(--text-muted);margin:0 0 12px}.ontology-hint{font-size:11px;line-height:1.45;font-style:italic}.flow-idea-badge{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:#f59e6a;margin-bottom:4px}.concepts-section h3{color:var(--color-concept)}.personal-ideas-section h3{color:var(--color-idea)}.graph-search{flex:1;min-width:130px;max-width:200px;margin-bottom:0}.graph-import-btn{white-space:nowrap;margin-bottom:0}.graph-form{display:grid;gap:8px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.graph-form h3,.graph-idea-list h3,.graph-concepts h3,.graph-detail h3{margin:0 0 8px;font-size:13px}.graph-idea-list ul,.graph-concepts ul{list-style:none;padding:0;margin:0;display:grid;gap:4px;max-height:200px;overflow-y:auto}.graph-idea-list button{width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:1px solid transparent;background:#ffffff08;color:inherit;cursor:pointer}.graph-idea-list button.active{border-color:var(--color-idea);background:var(--color-idea-dim)}.graph-detail{margin-top:0;padding-top:0;border-top:none}.graph-detail h3{margin:0 0 4px;font-size:14px}.graph-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.graph-loading-msg{padding:12px 16px;margin:0;font-size:13px;color:var(--text-dim)}.link-constellation{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.link-constellation-title{margin:0 0 6px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.link-constellation-hint{margin:0 0 10px;font-size:12px;color:var(--text-dim);line-height:1.45}.link-constellation-svg{display:block;width:100%;max-width:560px;margin:0 auto;background:#0f0f14;border:1px solid var(--border);border-radius:12px}.link-constellation-stage{position:relative;width:100%;max-width:560px;margin:0 auto}.global-constellation-layout-actions{margin-top:10px;display:flex;justify-content:flex-end}.global-constellation-reset-layout{font-size:12px}.link-constellation-layout-actions{margin-top:8px;display:flex;justify-content:flex-end;max-width:560px;margin-left:auto;margin-right:auto}.link-constellation-reset-layout{font-size:12px}.global-constellation-viewport .link-constellation-svg{max-width:none;margin:0;border:none;border-radius:0;background:transparent}.link-constellation-edge-label-bg{fill:#0f0f14eb;stroke:#ffffff14;stroke-width:1}.link-constellation-edge-label-bg--preview{stroke:#d4af3773}.link-constellation-edge-type{fill:#e8e8f0;font-size:10px;font-weight:600}.link-constellation-edge-sense{fill:var(--text-dim);font-size:9px}.link-constellation-node-kind{fill:var(--text-dim);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.link-constellation-node-label{fill:#f0f0f8;font-size:11px;font-weight:600}.link-constellation-node--clickable:hover rect{filter:brightness(1.15)}.link-constellation-node--draggable{cursor:grab;touch-action:none}.link-constellation-node--draggable.link-constellation-node--dragging{cursor:grabbing}.link-constellation-node--draggable.link-constellation-node--dragging rect{filter:brightness(1.2)}.link-constellation-node--active rect{stroke-width:2.5;filter:brightness(1.2)}.link-constellation-empty{margin:10px 0 0;font-size:13px;color:var(--text-dim);text-align:center}.graph-book-ref{font-size:12px;color:var(--text-muted)}.graph-concepts li{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:4px 0}.graph-canvas{position:relative;background:#0f0f14;flex:0 0 auto;width:100%;height:clamp(320px,42vh,560px);min-height:320px}.graph-canvas .react-flow{width:100%;height:100%}.flow-node{padding:10px 14px;border-radius:10px;border:2px solid var(--color-concept);background:#1a1a24;min-width:140px;max-width:220px;font-size:12px}.flow-node.selected{box-shadow:0 0 0 2px #f59e6a}.flow-node-idea strong{display:block;margin-bottom:4px}.flow-node-book{display:block;font-size:10px;color:var(--text-muted);margin-top:4px}.flow-tag{font-size:9px;padding:2px 6px;border-radius:999px;border:1px solid}.flow-node-concept{border-color:var(--color-concept);border-width:2px;border-style:dashed;text-align:center;min-width:100px;color:var(--color-concept-bright)}.flow-node-concept strong{color:var(--color-concept-bright)}.flow-node-idea{border-color:var(--color-idea);color:var(--color-idea-bright)}.flow-node-idea strong{color:var(--color-idea-bright)}.flow-idea-badge{color:var(--color-idea)}.flow-concept-icon{color:var(--color-concept)}.flow-tag-concept{border-color:var(--color-concept);color:var(--color-concept-bright);background:var(--color-concept-dim)}.graph-concept-picker{display:grid;gap:6px;margin:10px 0;font-size:12px}.concept-check{display:flex;align-items:center;gap:8px;cursor:pointer}.flow-concept-icon{display:block;font-size:10px;margin-bottom:2px}@media(max-width:900px){.graph-lists-panel{grid-template-columns:1fr}.graph-toolbar{max-height:none}.graph-toolbar-row--head{flex-direction:column;align-items:stretch}.graph-search{max-width:none}.graph-inline-form input,.graph-inline-form select{max-width:none;flex:1 1 100%}.graph-canvas{height:50vh;min-height:50vh}}.cuneiform{color:var(--nz-gold-0)}.book-detail h2,.panel h2,.admin-section-header h2,.admin-usage-header h2{font-family:var(--nz-font-display);letter-spacing:.05em;color:var(--nz-text-0)}.annotation-list p,.summary,.enrich-proposed-summary,.nz-idea-text{font-family:var(--nz-font-serif);font-style:italic;line-height:1.55}.annotation-list li{border-left:2px solid var(--nz-teal)}.enrich-concepts-list li{border-left:2px solid var(--color-concept);padding-left:10px}.admin-subnav button.active{color:#0c0a08}input::placeholder,textarea::placeholder{color:var(--nz-text-3)}input:focus,select:focus,textarea:focus{border-color:var(--nz-gold-2);box-shadow:0 0 0 2px #d4af371f}.namzu-shell--guest{min-height:100vh}.home-view{flex:1;overflow:auto}.home-page{position:relative;min-height:100%;color:var(--nz-text-0);background:radial-gradient(ellipse 90% 60% at 50% -10%,rgba(212,175,55,.14),transparent 55%),radial-gradient(ellipse 50% 40% at 100% 80%,rgba(42,122,111,.08),transparent 50%),radial-gradient(ellipse 40% 35% at 0% 70%,rgba(166,124,0,.07),transparent 45%),var(--nz-bg-0)}.home-hero{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:min(88vh,720px);padding:clamp(48px,8vh,96px) 24px 40px;overflow:hidden}.home-hero-glow{position:absolute;inset:18% 20% auto;height:280px;background:radial-gradient(circle,rgba(212,175,55,.16),transparent 70%);pointer-events:none;filter:blur(8px)}.home-hero-cuneiform{position:relative;margin:0 0 12px;font-size:clamp(2.5rem,6vw,3.75rem);line-height:1;color:var(--nz-gold-0);opacity:.92;animation:home-fade-up .7s var(--nz-ease, ease) both}.home-hero-title{position:relative;margin:0;font-family:var(--nz-font-display);font-size:clamp(2.75rem,9vw,5rem);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--nz-gold-0);animation:home-fade-up .75s .05s var(--nz-ease, ease) both}.home-hero-tagline{position:relative;margin:16px 0 0;max-width:36rem;font-family:var(--nz-font-serif);font-size:clamp(1.05rem,2.4vw,1.35rem);font-style:italic;color:var(--nz-text-1);line-height:1.45;animation:home-fade-up .75s .1s var(--nz-ease, ease) both}.home-hero-lead{position:relative;margin:20px 0 0;max-width:40rem;width:100%;text-align:left;animation:home-fade-up .75s .15s var(--nz-ease, ease) both}.home-hero-lead.home-about-body{margin-top:20px}.home-hero-cta{position:relative;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px;animation:home-fade-up .75s .2s var(--nz-ease, ease) both}.home-hero-cta .btn-primary,.home-hero-cta .btn-secondary{min-width:10.5rem;padding:12px 22px;font-size:14px}.home-hero-about-link{position:relative;margin-top:18px;font-family:var(--nz-font-sans);font-size:.9rem;letter-spacing:.04em;color:var(--nz-gold-0);text-decoration:none;border-bottom:.5px solid rgba(212,175,55,.35);animation:home-fade-up .75s .25s var(--nz-ease, ease) both;transition:border-color .15s ease,color .15s ease}.home-hero-about-link:hover,.home-hero-about-link:focus-visible{color:var(--nz-text-0);border-bottom-color:var(--nz-gold-0);outline:none}.home-about{max-width:40rem;margin:0 auto;padding:8px 24px 56px;scroll-margin-top:24px}.home-about-title{margin:0;text-align:center;font-family:var(--nz-font-display);font-size:clamp(1.15rem,2.5vw,1.45rem);letter-spacing:.06em;color:var(--nz-gold-0)}.home-about-body{margin-top:22px;font-family:var(--nz-font-serif);font-size:clamp(1rem,2vw,1.12rem);line-height:1.65;color:var(--nz-text-1)}.home-about-body p{margin:0 0 1.1em}.home-about-body p:last-child{margin-bottom:0}.home-about-body strong{color:var(--nz-gold-0);font-weight:600}.home-about-body em{font-style:italic}.home-about-sup{font-size:.75em;color:var(--nz-gold-0)}.home-about-footnote{margin-top:1.4em!important;padding-top:1em;border-top:.5px solid var(--nz-border);font-family:var(--nz-font-sans);font-size:.85rem!important;line-height:1.5;color:var(--nz-text-2)}.home-about-footnote sup{color:var(--nz-gold-0);margin-right:.15em}.home-explain{max-width:920px;margin:0 auto;padding:8px 24px 72px}.home-explain-title{margin:0;text-align:center;font-family:var(--nz-font-display);font-size:clamp(1.15rem,2.5vw,1.45rem);letter-spacing:.06em;color:var(--nz-gold-0)}.home-explain-intro{margin:10px auto 28px;max-width:32rem;text-align:center;font-family:var(--nz-font-serif);font-size:1.05rem;color:var(--nz-text-1);line-height:1.5}.home-pillars{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}.home-pillar{padding:4px 0;border-top:.5px solid var(--nz-border)}.home-pillar-title{margin:14px 0 6px;font-family:var(--nz-font-display);font-size:.95rem;letter-spacing:.05em;color:var(--nz-text-0)}.home-pillar-text{margin:0;font-size:var(--nz-text-sm, 12px);line-height:1.55;color:var(--nz-text-2)}.auth-card-brand-home{display:flex;align-items:center;gap:12px;margin:0;padding:0;border:none;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer}.auth-card-brand-home:hover h2,.auth-card-brand-home:focus-visible h2{color:var(--nz-gold-0)}.auth-card-brand-home:focus-visible{outline:none}.auth-back-home{width:100%;margin-top:14px}@keyframes home-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.home-pillars{grid-template-columns:1fr;gap:12px}.home-hero{min-height:min(78vh,640px);padding-top:56px}}@media(prefers-reduced-motion:reduce){.home-hero-cuneiform,.home-hero-title,.home-hero-tagline,.home-hero-lead,.home-hero-cta,.home-hero-about-link{animation:none}}select{color:var(--nz-text-0, #f0ead6);background-color:var(--nz-bg-3, #211c14);border:1px solid var(--nz-border-strong, rgba(212, 175, 55, .35));color-scheme:dark;cursor:pointer}select:focus,select:focus-visible{outline:none;border-color:var(--nz-gold-0, #d4af37);box-shadow:0 0 0 2px var(--nz-gold-dim, rgba(212, 175, 55, .18))}select:disabled{opacity:.55;cursor:not-allowed}select option,select optgroup{color:var(--nz-text-0, #f0ead6);background-color:var(--nz-bg-2, #18150f)}select option:checked{background-color:var(--nz-bg-4, #2a2318);color:var(--nz-gold-0, #d4af37)}.filters-row select,.search-bar select,.book-form select,.panel select{min-height:38px;padding:8px 32px 8px 10px;font-size:13px;line-height:1.3}.stats-bar--compact .stat--meta .stat-value{color:var(--text-muted)}.stats-bar--compact .stat--concept .stat-value,.stats-bar--compact .stat--concept .stat-label{color:var(--color-concept)}.stats-bar--compact .stat--idea .stat-value,.stats-bar--compact .stat--idea .stat-label{color:var(--color-idea)}.stats-bar--compact .stat--concept-link .stat-value{color:var(--color-concept)}.stats-bar--compact .stat--idea-link .stat-value{color:var(--color-idea)}.stats-bar--compact .stat--mixed-link .stat-value{color:#a78bfa}.stats-bar--two-rows{flex-direction:column;align-items:flex-start;gap:2px;padding:2px 0 4px;overflow:visible}.stats-bar-row{display:flex;flex-wrap:wrap;align-items:stretch;gap:4px}.stats-bar--two-rows .stat{padding:4px 8px;min-width:0;flex:0 1 auto}.stats-bar--two-rows .stat-value{font-size:14px;line-height:1.2}.stats-bar--two-rows .stat-label{font-size:9px;letter-spacing:.02em}.stats-bar-row--graph{padding-top:2px;border-top:.5px solid var(--nz-border, var(--border))}.stats-bar--two-rows .stat--link .stat-value{color:var(--nz-gold, #d4a853)}.stats-bar--two-rows .stat--link .stat-label{color:var(--text-muted)}.library-toolbar{background:var(--nz-bg-1);border-bottom:.5px solid var(--nz-border)}.library-detail-band{background:var(--nz-bg-2);box-shadow:var(--nz-shadow-md)}.library-detail-band .book-detail{background:transparent;border:none;box-shadow:none}.library-gallery{background:var(--nz-bg-0)}.app-embedded .footer{flex-shrink:0;margin:0;padding:8px 16px;font-size:var(--nz-text-xs);border-top:.5px solid var(--nz-border)}.book-detail{background:var(--nz-bg-3);border:.5px solid var(--nz-border);border-radius:var(--nz-r-xl);box-shadow:var(--nz-shadow-sm)}.book-detail h2{font-family:var(--nz-font-display);letter-spacing:.04em;color:var(--nz-text-0)}.detail-author{font-family:var(--nz-font-serif);font-size:var(--nz-text-md);color:var(--nz-text-1)}.detail-meta span{background:var(--nz-bg-4);border:.5px solid var(--nz-border-subtle);color:var(--nz-text-2)}.detail-link a{color:var(--nz-gold-0)}.enrich-preview-block,.cover-proposal,.enrich-lookup-correct{background:var(--nz-bg-2);border:.5px solid var(--nz-border);border-radius:var(--nz-r-lg)}.enrich-preview-warning,.enrich-isbn-note{color:var(--nz-amber)}.enrich-feedback--success{color:var(--nz-success-text)}.enrich-fresh-search.active{border-color:var(--nz-border-strong);background:var(--nz-gold-dim);color:var(--nz-gold-0)}.cover-proposal-option{background:var(--nz-bg-4);border:.5px solid var(--nz-border-subtle)}.cover-proposal-option.selected{border-color:var(--nz-gold-0);box-shadow:var(--nz-shadow-gold)}.detail-cover{width:100%;max-width:140px;border:.5px solid var(--nz-border-strong);border-radius:var(--nz-r-xs);object-fit:cover;aspect-ratio:2 / 3}.book-presentation{display:flex;gap:20px;align-items:flex-start;margin-bottom:20px;padding-right:120px}.book-presentation-cover{flex-shrink:0;width:140px;display:flex;flex-direction:column;gap:10px}.detail-cover-frame{position:relative;width:140px}.detail-cover-placeholder{width:140px;aspect-ratio:2 / 3;display:flex;align-items:center;justify-content:center;border-radius:var(--nz-r-xs);border:.5px dashed var(--nz-border);background:var(--nz-bg-2);color:var(--nz-text-3);font-size:2rem}.detail-cover--preview{outline:2px solid var(--nz-gold-0);outline-offset:2px}.bulk-enrich-panel{background:var(--nz-bg-2);border:.5px solid var(--nz-border);border-radius:var(--nz-r-xl)}.bulk-enrich-log{background:var(--nz-bg-0);border:.5px solid var(--nz-border-subtle);font-family:var(--nz-font-mono)}.bulk-enrich-log-line.ok{color:var(--nz-success-text)}.bulk-enrich-log-line.warn{color:var(--nz-amber)}.bulk-enrich-log-line.error{color:var(--nz-error-text)}.bulk-enrich-log-line.info{color:var(--nz-text-2)}.bulk-enrich-summary{margin:12px 0 0;font-size:var(--nz-text-sm);color:var(--nz-text-1)}.bulk-enrich-conflicts{margin-top:16px;padding-top:12px;border-top:.5px solid var(--nz-border-subtle)}.bulk-enrich-conflicts-title{margin:0 0 10px;font-size:var(--nz-text-sm);font-weight:600;color:var(--nz-text-0)}.bulk-enrich-conflict-meta{font-size:var(--nz-text-xs);color:var(--nz-text-2)}.bulk-enrich-done-note.ok,.bulk-enrich-complete.ok{color:var(--nz-success-text)}.bulk-review-banner{margin-bottom:16px;padding:12px;border-radius:var(--nz-r-md);background:var(--nz-gold-dim);border:.5px solid var(--nz-border-strong)}.bulk-review-label{margin:0 0 6px;font-size:var(--nz-text-sm);font-weight:600;color:var(--nz-gold-0)}.bulk-enrich-conflict-list li.active .btn-secondary{border-color:var(--nz-gold-0);background:var(--nz-gold-dim)}.empty-state{background:var(--nz-bg-2);border:.5px dashed var(--nz-border);border-radius:var(--nz-r-xl);padding:var(--nz-sp-12) var(--nz-sp-6)}.empty-state h2{font-family:var(--nz-font-display);letter-spacing:.06em;color:var(--nz-text-1)}.empty-icon{filter:grayscale(.2)}.loading-msg{color:var(--nz-text-2);font-size:var(--nz-text-sm);padding:var(--nz-sp-4)}.loading-msg:before{content:"◌ ";color:var(--nz-gold-0);animation:bulk-pulse 1.2s ease-in-out infinite}.book-card{background:var(--nz-bg-2);border:.5px solid var(--nz-border);border-radius:var(--nz-r-lg)}.book-info h3{font-family:var(--nz-font-display);font-size:var(--nz-text-sm);letter-spacing:.03em;margin:0 0 4px;line-height:1.3}.book-info .author{font-family:var(--nz-font-serif);font-size:var(--nz-text-sm);color:var(--nz-text-1);margin:0}.tag{background:var(--nz-bg-4);border:.5px solid var(--nz-border-subtle)}.panel{background:var(--nz-gold-dim);border:.5px solid var(--nz-border-strong);border-radius:var(--nz-r-xl)}.stat{background:var(--nz-bg-2);border:.5px solid var(--nz-border)}.import-panel{border-color:var(--nz-border-strong);background:var(--nz-bg-2)}.import-merge-notice{background:var(--nz-teal-dim);border:.5px solid rgba(42,122,111,.35)}.import-merge-notice strong{color:var(--nz-teal-bright)}.book-import .import-tabs button.active{background:var(--nz-gold-dim);border-color:var(--nz-border-strong);color:var(--nz-gold-0)}.graph-toolbar{background:var(--nz-bg-1);border-bottom:.5px solid var(--nz-border)}.graph-filters select,.graph-inline-form select,.graph-detail-link-field select{color:var(--nz-text-0, #f0ead6);background-color:var(--nz-bg-3, #211c14);border-color:var(--nz-border-strong, rgba(212, 175, 55, .35))}.graph-filters select option,.graph-inline-form select option{color:var(--nz-text-0, #f0ead6);background-color:var(--nz-bg-2, #18150f)}.graph-sidebar{background:var(--nz-bg-1);border-right:.5px solid var(--nz-border)}.graph-canvas{background:var(--nz-bg-0)}.book-detail .concepts-section>h3:not(.book-detail-section-title){color:var(--color-concept, #60a5fa)}.book-detail .personal-ideas-section h3:not(.book-detail-section-title){color:var(--color-idea, #34d399)}.book-detail .book-detail-section-title{color:var(--nz-gold-0);font-family:var(--nz-font-display);letter-spacing:.06em}.book-detail .concepts-section .ideas-list li{color:var(--color-concept-soft, #bfdbfe)}.book-detail .concepts-section .ideas-list li::marker{color:var(--color-concept, #60a5fa)}.book-detail .concepts-section .concept-source-tag{color:var(--color-concept-bright, #93c5fd)}.book-detail .personal-idea-item{border-left:3px solid var(--color-idea, #34d399);background:var(--color-idea-bg, rgba(52, 211, 153, .06))}.book-detail .personal-idea-item--staging{border-left-color:#34d39973}.book-detail .personal-idea-body strong,.book-detail .personal-idea-body>span:first-child{color:var(--color-idea-bright, #6ee7b7)}.book-detail .personal-idea-content{color:var(--color-idea-soft, rgba(167, 243, 208, .85))}.book-detail .idea-annotation-count{color:var(--color-idea, #34d399);opacity:.85}.book-detail .personal-idea-staging-tag{color:var(--color-idea-bright, #6ee7b7);opacity:.75}.book-detail .annotation-idea-badge{color:var(--color-idea, #34d399);font-size:12px;margin:6px 0 0}.book-detail .concept-pick-list legend{color:var(--color-concept, #60a5fa)}.book-detail .concept-pick-list label{color:var(--color-concept-soft, #bfdbfe)}.graph-idea-chip.active{border-color:var(--color-idea, #34d399);background:var(--color-idea-dim, rgba(52, 211, 153, .12));color:var(--color-idea-bright, #6ee7b7)}.graph-idea-list button.active{border-color:var(--color-idea, #34d399);background:var(--color-idea-dim, rgba(52, 211, 153, .12))}.flow-node{padding:10px 14px;border-radius:var(--nz-r-md);background:var(--nz-bg-3);min-width:140px;max-width:220px;font-size:var(--nz-text-sm);border:.5px solid var(--nz-border-strong);box-shadow:var(--nz-shadow-sm)}.flow-node-idea{border-left:2px solid var(--color-idea, #34d399);border-color:var(--color-idea, #34d399)}.flow-node-idea strong{font-family:var(--nz-font-sans);color:var(--color-idea-bright, #6ee7b7)}.flow-idea-badge{color:var(--color-idea, #34d399);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.flow-node-concept{border-style:dashed;border-color:var(--color-concept, #60a5fa);color:var(--color-concept-bright, #93c5fd)}.flow-node-concept strong{font-family:var(--nz-font-sans);color:var(--color-concept-bright, #93c5fd)}.flow-node-book,.flow-node-meta{display:block;font-size:var(--nz-text-xs);color:var(--nz-text-2);margin-top:4px}.flow-node-book-link{background:none;border:none;padding:0;text-align:left;cursor:pointer;text-decoration:underline;font:inherit}.flow-node-book-link:hover{color:var(--nz-gold-0)}.flow-node-dimmed{opacity:.35}.graph-focus-banner{margin:0;padding:.5rem 1rem;border-radius:0;border-bottom:.5px solid var(--nz-border);background:var(--nz-surface-1);color:var(--nz-text-1);font-size:var(--nz-text-sm);flex-shrink:0}.concepts-graph-sync-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.graph-sync-block{margin-bottom:.875rem;padding-bottom:.875rem;border-bottom:.5px solid var(--nz-border-subtle)}.graph-sync-block:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.graph-sync-subtitle{margin:0 0 .35rem;font-size:var(--nz-text-sm);font-weight:600;color:var(--nz-text-1)}.graph-sync-orphans{margin:.5rem 0 0}.graph-sync-orphans-panel{margin-top:.75rem}.graph-sync-orphans-bulk{display:flex;flex-wrap:wrap;gap:8px;margin:.5rem 0 .75rem}.graph-sync-orphans-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.graph-sync-orphan-item{padding:10px 12px;border:.5px solid var(--nz-border-subtle);border-radius:var(--nz-r-sm, 6px);background:#ffffff05}.graph-sync-orphan-head{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.graph-sync-orphan-meta{color:var(--nz-text-2);font-size:var(--nz-text-xs)}.graph-sync-orphan-desc{margin:6px 0 0;font-size:var(--nz-text-sm);color:var(--nz-text-2)}.graph-sync-orphan-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.enrich-import-graph-option{flex-basis:100%;margin-bottom:.25rem}.concept-source-tag{color:var(--nz-text-2);font-size:var(--nz-text-xs)}.book-owner-author-row{display:flex;align-items:center;gap:.5rem;margin:.5rem 0 .75rem;font-size:.9rem}.add-concept-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem;margin-top:.75rem}.add-concept-form-title{flex:1 1 100%;margin:0;font-weight:600;font-size:.95rem}.add-concept-form label{display:flex;flex-direction:column;gap:.25rem;flex:1 1 12rem}.add-concept-form-description{flex:1 1 100%}.add-concept-form textarea{resize:vertical;min-height:4.5rem}.add-concept-form .hint,.add-concept-form .nz-error-msg{flex:1 1 100%;margin:0}.enrich-concept-merge-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.enrich-concept-merge-actions{display:flex;gap:.5rem;margin-top:.5rem}.enrich-concept-merge-card--ignored{opacity:.55}.enrich-concept-merge-card--author-locked{border-color:var(--nz-gold-1, #c9a227)}.enrich-concept-merge-lock{margin-top:.4rem;font-style:italic}.flow-node-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.flow-node.selected{box-shadow:0 0 0 2px var(--nz-gold-0)}.flow-tag{font-size:9px;padding:2px 6px;border-radius:var(--nz-r-full);border:.5px solid}.flow-tag-concept{border-color:var(--color-concept, #60a5fa);color:var(--color-concept-bright, #93c5fd);background:var(--color-concept-dim, rgba(96, 165, 250, .12))}.flow-concept-icon{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-concept, #60a5fa);margin-bottom:4px}.annotation-idea-panel,.annotation-idea-panel.linked{border-color:var(--nz-border);background:var(--nz-bg-3)}.annotation-idea-panel.linked{border-left:2px solid var(--color-idea, #34d399)}.annotation-idea-badge{color:var(--color-idea, #34d399)}.banner-error{background:var(--nz-error-dim);border:.5px solid rgba(192,57,43,.35);color:var(--nz-error-text)}.admin-panel.nz-panel{background:var(--nz-bg-1);border:none;border-radius:0;max-width:none;padding:var(--nz-sp-5)}.admin-section.nz-card{background:var(--nz-bg-2);border:.5px solid var(--nz-border);border-radius:var(--nz-r-lg);padding:var(--nz-sp-4)}.admin-section-header{margin-bottom:var(--nz-sp-3)}.admin-subnav.nz-tab-bar{border-bottom-color:var(--nz-border)}.book-import.nz-card{background:transparent;border:none;padding:0}.import-panel.nz-card{background:var(--nz-bg-2);border:.5px solid var(--nz-border);border-radius:var(--nz-r-lg);padding:var(--nz-sp-4)}.import-preview.nz-card{background:var(--nz-bg-3);border:.5px solid var(--nz-border-subtle);margin-top:var(--nz-sp-4);padding:var(--nz-sp-4)}.import-preview .preview-summary{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.import-section .nz-input{margin-bottom:var(--nz-sp-3)}.loading-msg{color:var(--nz-text-2)}.book-annotations-jump{align-items:center;display:flex;flex-wrap:wrap;font-size:var(--nz-text-sm);gap:var(--nz-sp-2);margin:var(--nz-sp-2) 0 var(--nz-sp-3)}.annotation-batch-analyze-btn:not(:disabled){background:var(--nz-gold-dim);border-color:var(--nz-gold-0);color:var(--nz-gold-0)}.annotation-batch-analyze-btn:disabled{opacity:.55}.book-annotations-jump .linkish-btn{background:none;border:none;color:var(--nz-gold-0);cursor:pointer;font:inherit;padding:0;text-decoration:underline}.book-annotations-jump-hint{color:var(--nz-text-2);margin-left:.35rem}#book-annotations{scroll-margin-top:80px}.concept-pick-book-tag{color:var(--nz-text-2);font-size:var(--nz-text-xs)}.annotation-concept-pick-hint{margin:var(--nz-sp-2) 0 var(--nz-sp-3)}.annotation-analyze-btn{background:var(--nz-gold-dim);border-color:var(--nz-gold-0);color:var(--nz-gold-0)}.annotation-analyze-error,.annotation-all-linked-hint{margin-bottom:var(--nz-sp-3)}.annotations-section-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--nz-sp-3);justify-content:space-between;margin-bottom:var(--nz-sp-2)}.annotation-ai-status{border-radius:var(--nz-r-sm);font-size:var(--nz-text-xs);letter-spacing:.03em;padding:2px 8px}.annotation-ai-status--suggested,.annotation-ai-status--stale{background:var(--nz-gold-dim);color:var(--nz-gold-0)}.annotation-ai-status--accepted{background:#2e7d3226;color:#7dcea0}.annotation-ai-status--skipped{color:var(--nz-text-2)}.annotation-suggestion-panel{background:var(--nz-bg-3);border:.5px solid var(--nz-border);border-radius:var(--nz-r-md);margin-top:var(--nz-sp-3);padding:var(--nz-sp-4)}.annotation-suggestion-badge{color:var(--nz-gold-0);font-size:var(--nz-text-sm);margin:0 0 var(--nz-sp-2)}.inter-book-links-panel{display:flex;flex-direction:column;gap:var(--nz-sp-3)}.concept-duplicates-panel{display:flex;flex-direction:column;gap:var(--nz-sp-2)}.concept-dup-hint{margin:0 0 var(--nz-sp-2)}.concept-dup-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--nz-sp-3);justify-content:space-between;margin-bottom:var(--nz-sp-2)}.concept-dup-select-all{align-items:center;cursor:pointer;display:inline-flex;font-size:var(--nz-text-sm);gap:var(--nz-sp-2)}.concept-dup-rows{display:flex;flex-direction:column;gap:0;list-style:none;margin:0;max-height:22rem;overflow:auto;padding:0}.concept-dup-row{align-items:center;border-top:.5px solid var(--nz-border);display:grid;gap:var(--nz-sp-2);grid-template-columns:auto auto minmax(0,1fr) auto;padding:.35rem 0}.concept-dup-row:first-child{border-top:none}.concept-dup-row--done{opacity:.55}.concept-dup-check{align-items:center;display:inline-flex;margin:0}.concept-dup-sim{color:var(--nz-gold-0);font-size:var(--nz-text-xs);font-variant-numeric:tabular-nums;min-width:2.5rem}.concept-dup-text{font-size:var(--nz-text-sm);line-height:1.3;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.concept-dup-book{color:var(--nz-text-muted, #8a8580);font-weight:400}.concept-dup-sep{color:var(--nz-text-muted, #8a8580)}.concept-dup-count{color:var(--nz-gold-0);font-size:var(--nz-text-xs);font-weight:600;white-space:nowrap}.confirm-rapprochements{margin-top:var(--nz-sp-3);padding:var(--nz-sp-3)}.confirm-rapprochements-actions{display:flex;flex-wrap:wrap;gap:var(--nz-sp-2);justify-content:flex-end;margin-top:var(--nz-sp-3)}.concept-dup-rows--page{max-height:none}.concept-dup-btn{flex-shrink:0;white-space:nowrap}.inter-book-links-list{background:var(--nz-bg-2);border:.5px solid var(--nz-border);border-radius:var(--nz-r-lg);margin-top:var(--nz-sp-2);padding:var(--nz-sp-4)}.inter-book-links-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--nz-sp-3)}.inter-book-links-items{display:flex;flex-direction:column;gap:var(--nz-sp-3);list-style:none;margin:0;padding:0}.inter-book-link-item{border-bottom:.5px solid var(--nz-border-subtle);display:flex;flex-direction:column;gap:var(--nz-sp-3);padding-bottom:var(--nz-sp-4)}.inter-book-link-item:last-child{border-bottom:none;padding-bottom:0}.inter-book-link-confidence{color:var(--nz-gold-0);font-size:var(--nz-text-sm);margin:0 0 var(--nz-sp-1)}.inter-book-link-confidence strong{font-weight:600}.inter-book-links-threshold{margin:0 0 var(--nz-sp-2)}.inter-book-link-rationale{margin:0 0 var(--nz-sp-1)}.inter-book-link-row--reasoning{margin-top:var(--nz-sp-1)}.inter-book-link-reasoning{display:flex;flex-direction:column;gap:.35rem;width:100%}.inter-book-link-reasoning-label{color:var(--nz-text-0);font-size:.875rem;font-weight:500}.inter-book-link-reasoning-text{background:transparent;border:1px solid var(--nz-border-subtle);border-radius:var(--nz-radius-sm);color:var(--nz-text-2);font-family:inherit;font-size:.875rem;line-height:1.45;padding:.5rem .65rem;resize:vertical;width:100%}.inter-book-link-reasoning-text:focus{border-color:var(--nz-border);color:var(--nz-text-1);outline:none}.inter-book-link-row{width:100%}.inter-book-link-row--compass{margin:var(--nz-sp-1) 0}.inter-book-link-row--action{align-items:center;display:flex;flex-wrap:wrap;gap:var(--nz-sp-2);margin-top:var(--nz-sp-1)}.inter-book-link-item--created{opacity:.72}.inter-book-links-progress{margin:0 0 var(--nz-sp-2)}.inter-book-link-node{align-items:baseline;display:flex;flex-wrap:wrap;gap:.35rem .5rem}.inter-book-link-node-kind{border-radius:var(--nz-r-sm);font-size:var(--nz-text-xs);font-weight:600;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase}.inter-book-link-node-kind--idea{background:#3b82f626;color:#93c5fd}.inter-book-link-node-kind--concept{background:#22c55e1f;color:#86efac}.inter-book-link-node-title{color:var(--nz-text-0);font-weight:600}.inter-book-link-node-book{color:var(--nz-text-2);font-size:var(--nz-text-sm)}.inter-book-links-list .graph-link-sense--compact,.inter-book-links-list .graph-link-sense--compact .graph-link-sense-toggle,.inter-book-links-list .compass-picker{margin:0}.inter-book-links-list .compass-picker-intro{font-size:var(--nz-text-sm);margin-bottom:var(--nz-sp-2)}.friends-view,.profile-view{padding:var(--nz-sp-5);max-width:960px;margin:0 auto}.profile-view{max-width:560px}.friends-panel.nz-panel,.profile-panel.nz-panel{background:transparent;border:none;padding:0}.friends-header{margin-bottom:var(--nz-sp-4)}.friends-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--nz-sp-4);align-items:start}.friends-sidebar{position:sticky;top:var(--nz-sp-3)}.friends-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;background:var(--nz-bg-2);border:.5px solid var(--nz-border);border-radius:var(--nz-r-lg);padding:var(--nz-sp-2)}.friends-menu-item{display:flex;align-items:center;justify-content:space-between;gap:var(--nz-sp-2);width:100%;margin:0;padding:.55rem .75rem;border:none;border-radius:var(--nz-r-md);background:transparent;color:var(--nz-text-2, var(--text-muted));font:inherit;font-size:var(--nz-text-sm);text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.friends-menu-item:hover{background:#c9a22714;color:var(--nz-text, var(--text))}.friends-menu-item.active{background:#c9a22729;color:var(--nz-gold-1, #c9a227);font-weight:600}.friends-menu-count{flex-shrink:0;min-width:1.25rem;padding:0 .35rem;border-radius:999px;background:#c9a22733;color:var(--nz-gold-1, #c9a227);font-size:.75rem;font-weight:600;text-align:center;line-height:1.4}.friends-main{min-width:0}.friends-section.nz-card{background:var(--nz-bg-2);border:.5px solid var(--nz-border);border-radius:var(--nz-r-lg);padding:var(--nz-sp-4);margin-bottom:var(--nz-sp-4)}.friends-section .nz-section-title{font-size:var(--nz-text-md);margin-bottom:var(--nz-sp-3)}@media(max-width:720px){.friends-layout{grid-template-columns:1fr}.friends-sidebar{position:static}.friends-menu{flex-direction:row;flex-wrap:wrap}.friends-menu-item{flex:1 1 auto;white-space:nowrap}}.discovery-panel{display:flex;flex-direction:column;gap:var(--nz-sp-3)}.discovery-header .nz-section-title{margin:0 0 .25rem}.discovery-optin{padding:var(--nz-sp-2);border:.5px solid var(--nz-border-subtle);background:#c9a2270f}.discovery-readiness{margin:0;padding:var(--nz-sp-3) var(--nz-sp-4);border:.5px solid var(--nz-border);border-radius:var(--nz-r-md, 8px);background:var(--nz-bg-3)}.discovery-readiness-title{margin:0 0 var(--nz-sp-3);font-size:var(--nz-text-md)}.discovery-readiness-steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--nz-sp-2)}.discovery-readiness-step{display:flex;gap:var(--nz-sp-3);align-items:flex-start;color:var(--nz-text-1)}.discovery-readiness-step.done{color:var(--nz-success-text, #5db87a)}.discovery-readiness-step p{margin:2px 0 0}.discovery-readiness-index{flex-shrink:0;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:.5px solid var(--nz-border-strong);font-family:var(--nz-font-display);font-size:.75rem;color:var(--nz-gold-0)}.discovery-readiness-step.done .discovery-readiness-index{border-color:var(--nz-success-text, #5db87a);color:var(--nz-success-text, #5db87a)}.discovery-readiness-lock{margin:var(--nz-sp-3) 0 0}.discovery-affinity{margin:var(--nz-sp-2) 0;font-size:.85rem;line-height:1.45;color:var(--nz-text-1)}.discovery-affinity p{margin:0 0 4px}.discovery-close-ideas{color:var(--nz-gold-0);font-style:italic}.discovery-match-actions{display:flex;flex-wrap:wrap;gap:var(--nz-sp-2);align-items:center;margin-top:var(--nz-sp-2)}.discovery-share-btn--done{background:color-mix(in srgb,var(--nz-success-text, #5db87a) 22%,var(--nz-bg-2));border-color:var(--nz-success-text, #5db87a);color:var(--nz-success-text, #5db87a)}.discovery-share-btn--done:hover,.discovery-share-btn--done:focus-visible{background:color-mix(in srgb,var(--nz-success-text, #5db87a) 32%,var(--nz-bg-2));border-color:var(--nz-success-text, #5db87a);color:var(--nz-success-text, #5db87a)}.discovery-meet-later{margin:var(--nz-sp-2) 0 0}.discovery-irl-filter{margin:0 0 var(--nz-sp-3);padding:var(--nz-sp-3);border:.5px solid var(--nz-border);border-radius:var(--nz-r-md, 8px);background:var(--nz-bg-3)}.discovery-irl-filter-row{display:flex;flex-wrap:wrap;gap:var(--nz-sp-2);margin-top:var(--nz-sp-2);align-items:center}.discovery-irl-filter-row .nz-input{flex:1 1 8rem;min-width:7rem}.discovery-irl-only{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--nz-text-1);white-space:nowrap}.friend-meet-section{margin:0 0 var(--nz-sp-4);padding:var(--nz-sp-3);border:.5px solid var(--nz-border);border-radius:var(--nz-r-md, 8px);background:var(--nz-bg-3)}.discovery-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.discovery-tabs button{background:transparent;border:.5px solid var(--nz-border-subtle);color:var(--nz-text-2);padding:.4rem .75rem;font-size:.8rem;cursor:pointer}.discovery-tabs button.active{border-color:var(--nz-gold-0);color:var(--nz-gold-0);background:#c9a2271a}.discovery-match-list,.discovery-meet-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--nz-sp-3)}.discovery-interest-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.discovery-match-card,.discovery-meet-card{padding:var(--nz-sp-3);border:.5px solid var(--nz-border-subtle);display:flex;flex-direction:column;gap:var(--nz-sp-2)}.discovery-match-head{display:flex;align-items:flex-start;gap:var(--nz-sp-2)}.discovery-match-meta{min-width:0;display:flex;flex-direction:column;gap:.15rem}.discovery-match-alias-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.discovery-score{color:var(--nz-gold-0);font-weight:600}.discovery-common{margin:0;font-size:.85rem;color:var(--nz-text-2)}.discovery-meet-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.discovery-meet-form .nz-input{flex:1 1 12rem;min-width:0}.discovery-meet-actions{display:flex;flex-wrap:wrap;gap:.5rem}.discovery-interest-add{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--nz-sp-2)}.discovery-interest-add select{flex:1 1 14rem;min-width:0}.discovery-interest-item{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.2rem 0;border-bottom:.5px solid var(--nz-border-subtle);font-size:var(--nz-text-sm, .8125rem);line-height:1.35}.discovery-interest-line{margin:0;min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.discovery-interest-name{font-weight:600;color:var(--nz-text, inherit)}.discovery-interest-meta{font-weight:400;color:var(--nz-text-muted, #9aa3ad)}.discovery-interest-item .delete-link{flex:0 0 auto;font-size:.75rem}.discovery-interest-subtitle{margin:.75rem 0 .25rem;font-size:.9rem}.profile-irl-fields{display:grid;gap:var(--nz-sp-2);margin:.5rem 0 1rem}.profile-irl-input-row{display:flex;align-items:center;gap:.5rem}.profile-irl-input-row .nz-input{flex:1 1 auto;min-width:0}.profile-irl-clear-all{justify-self:start;margin-top:.25rem}.friends-invite-row{display:flex;gap:var(--nz-sp-2);flex-wrap:wrap;align-items:center}.friends-invite-row .nz-input{flex:1;min-width:180px}.friends-invite-email{margin-top:var(--nz-sp-3)}.friends-list{list-style:none;margin:var(--nz-sp-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--nz-sp-2)}.friends-list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--nz-sp-3);padding:var(--nz-sp-2) 0;border-bottom:.5px solid var(--nz-border-subtle)}.friends-list-item:last-child{border-bottom:none}.friends-list-identity{display:flex;align-items:center;gap:var(--nz-sp-2);min-width:0}.friends-inbox-row{display:flex;align-items:center;width:100%;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;min-width:0}.friends-inbox-row:hover .friends-alias,.friends-inbox-row:focus-visible .friends-alias{color:var(--nz-gold-1)}.friends-inbox-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.friends-inbox-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--nz-sp-2);min-width:0}.friends-inbox-date{flex-shrink:0;font-size:var(--nz-text-xs, .75rem)}.friends-inbox-preview{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.friends-inbox-notice{align-items:flex-start;border:.5px solid color-mix(in srgb,var(--nz-gold-0) 35%,var(--nz-border));border-radius:var(--nz-r-md, 8px);padding:var(--nz-sp-2);background:color-mix(in srgb,var(--nz-gold-0) 8%,var(--nz-bg-2))}.friends-inbox-notice-kind{font-size:.78rem;font-weight:600;color:var(--nz-gold-0);letter-spacing:.02em}.friends-inbox-notices-hint{margin-top:var(--nz-sp-3)}.nz-presence-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;box-sizing:border-box}.nz-presence-dot--online{background:var(--nz-success-text);box-shadow:0 0 0 1px #5db87a59}.nz-presence-dot--offline{background:color-mix(in srgb,var(--nz-text-3) 35%,transparent);border:1.5px solid var(--nz-text-3)}.friends-alias{font-family:var(--nz-font-sans);font-weight:600;letter-spacing:normal;text-transform:none;color:var(--nz-text-0)}.friend-detail-title{display:flex;align-items:center;gap:var(--nz-sp-2);margin:0 0 var(--nz-sp-1);font-family:var(--nz-font-sans);font-size:var(--nz-text-md);font-weight:600;letter-spacing:normal;text-transform:none;color:var(--nz-text-0)}.friend-detail-title .friends-alias{font-size:inherit;font-weight:inherit}.friends-actions{display:flex;gap:var(--nz-sp-2);flex-shrink:0}.friends-request-status{margin-top:2px}.friends-message{color:var(--nz-gold-1);margin-bottom:var(--nz-sp-3)}.friends-profile-form{display:flex;flex-direction:column;gap:var(--nz-sp-3)}.profile-avatar-block{display:flex;align-items:flex-start;gap:var(--nz-sp-4);margin-bottom:var(--nz-sp-4);padding-bottom:var(--nz-sp-4);border-bottom:.5px solid var(--nz-border)}.profile-avatar{position:relative;width:88px;height:88px;border-radius:50%;flex-shrink:0;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#c9a2272e,#1a1a1af2);border:1.5px solid rgba(201,162,39,.45);box-shadow:0 0 0 3px #c9a22714}.profile-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.profile-avatar-initials{font-size:1.35rem;font-weight:600;letter-spacing:.04em;color:var(--nz-gold-1, #c9a227);-webkit-user-select:none;user-select:none}.profile-avatar-busy{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0000008c;color:var(--nz-gold-1, #c9a227);font-size:1.25rem;font-weight:600}.profile-avatar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--nz-sp-2);min-width:0}.profile-avatar-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.profile-avatar-remove{color:var(--text-muted)}.profile-avatar-hint{flex-basis:100%;margin:0}@media(max-width:520px){.profile-avatar-block{flex-direction:column;align-items:center;text-align:center}.profile-avatar-actions{justify-content:center}}.friends-profile-actions{display:flex;align-items:center;gap:var(--nz-sp-3)}.friends-profile-saved{color:#6ee7b7;font-size:var(--nz-text-sm);font-weight:600;animation:friends-saved-fade 4s ease forwards}.friends-action-flash{margin-bottom:var(--nz-sp-3)}.friends-search-empty{margin-top:var(--nz-sp-2)}@keyframes friends-saved-fade{0%,75%{opacity:1}to{opacity:0}}.friends-field{display:flex;flex-direction:column;gap:var(--nz-sp-1);font-size:var(--nz-text-sm)}.friends-bio{resize:vertical;min-height:4.5rem}.friends-check{display:flex;align-items:center;gap:var(--nz-sp-2);font-size:var(--nz-text-sm);cursor:pointer}.friend-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--nz-sp-3);margin-bottom:var(--nz-sp-3)}.friend-detail-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--nz-sp-2);flex-shrink:0}.friend-share-toggles{display:flex;flex-direction:column;gap:var(--nz-sp-2);margin-bottom:var(--nz-sp-3)}.friend-dual-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--nz-sp-3)}@media(max-width:640px){.friend-dual-grid{grid-template-columns:1fr}}.friend-dual-col{min-width:0}.friend-share-incoming{margin-bottom:var(--nz-sp-4)}.friend-chat-title{font-size:var(--nz-text-sm);margin-bottom:var(--nz-sp-1)}.friend-chat-status{font-weight:400}.friend-detail--messages .friend-chat{margin-top:0}.friend-chat--expanded .friend-chat-messages{max-height:min(70vh,560px)}.friend-chat-messages{display:flex;flex-direction:column;gap:var(--nz-sp-2);max-height:360px;overflow-y:auto;padding:var(--nz-sp-2) 0;margin-bottom:var(--nz-sp-3);border-top:.5px solid var(--nz-border-subtle);border-bottom:.5px solid var(--nz-border-subtle)}.friend-chat-row{display:flex;width:100%}.friend-chat-row--mine{justify-content:flex-end}.friend-chat-row--theirs{justify-content:flex-start}.friend-chat-bubble{max-width:85%;padding:var(--nz-sp-2) var(--nz-sp-3);border-radius:var(--nz-r-md)}.friend-chat-bubble.mine{background:var(--nz-gold-2, rgba(180, 140, 60, .18))}.friend-chat-bubble.theirs{background:var(--nz-bg-3, rgba(0, 0, 0, .06))}.friend-chat-body{margin:0;white-space:pre-wrap;word-break:break-word;font-size:var(--nz-text-sm)}.friend-chat-sender{display:block;font-size:.75rem;margin-bottom:.2rem;opacity:.85}.friend-chat-meta{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;margin-top:.25rem}.friend-chat-time{font-size:.75rem}.friend-chat-ticks{font-size:.7rem;letter-spacing:-.12em;color:var(--nz-text-2, #a8a29a);line-height:1;-webkit-user-select:none;user-select:none}.friend-chat-ticks--read{color:#53bdeb}.friend-chat-system{max-width:85%;padding:.35rem .65rem;border:.5px solid var(--nz-border-subtle);font-size:.75rem;line-height:1.4}.friend-chat-system--mine{text-align:right}.friend-chat-system--theirs{text-align:left}.friend-chat-system--mine .friend-chat-meta{justify-content:flex-end}.friend-chat-system--theirs .friend-chat-meta{justify-content:flex-start}.friend-chat-system-label{display:block;font-weight:600;color:var(--nz-text-2, #a8a29a)}.friend-chat-system--connection .friend-chat-system-label{color:var(--nz-gold-0, #c9a227)}.friend-chat-system--meet .friend-chat-system-label{color:var(--nz-text-1, #e7e5e4)}.friend-chat-system--recommendation .friend-chat-system-label{color:var(--nz-gold-1, #c9a227)}.friend-chat-system-detail{display:block;margin-top:.15rem}.friend-chat-compose{display:flex;gap:var(--nz-sp-2);align-items:center}.friend-chat-compose .nz-input{flex:1}.profile-affinity-hint{margin:calc(var(--nz-sp-1) * -1) 0 var(--nz-sp-2)}.friends-affinity-badge{margin-top:var(--nz-sp-1);display:flex;flex-wrap:wrap;align-items:center;gap:var(--nz-sp-1)}.affinity-bridge{margin:var(--nz-sp-4) 0;padding-top:var(--nz-sp-3);border-top:.5px solid var(--nz-border-subtle)}.affinity-bridge-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--nz-sp-3);margin-bottom:var(--nz-sp-2)}.affinity-bridge-title-block{min-width:0}.affinity-bridge>.affinity-bridge-title-block{margin-bottom:var(--nz-sp-2)}.affinity-bridge-title-block .nz-section-title{margin:0}.affinity-formula{margin:.35rem 0 0;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:var(--nz-text-xs, .75rem);letter-spacing:.01em;word-break:break-word}.affinity-score{display:flex;align-items:baseline;gap:.25rem;flex-shrink:0}.affinity-score-value{font-size:1.25rem;font-weight:600;color:var(--nz-gold-1, #c9a227)}.affinity-badges{list-style:none;margin:0 0 var(--nz-sp-3);padding:0;display:flex;flex-wrap:wrap;gap:var(--nz-sp-2)}.affinity-badge{display:inline-block;font-size:var(--nz-text-xs, .75rem);padding:.15rem .5rem;border:.5px solid rgba(201,162,39,.4);color:var(--nz-gold-1, #c9a227);background:#c9a22714}.affinity-section{margin-bottom:var(--nz-sp-3)}.affinity-section-title{margin:0 0 var(--nz-sp-2);font-size:var(--nz-text-sm);font-weight:600}.affinity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--nz-sp-1)}.affinity-list-item{font-size:var(--nz-text-sm);line-height:1.35}.affinity-side-legend{margin:0 0 var(--nz-sp-3);line-height:1.45}.affinity-side-tag{font-weight:600;letter-spacing:.01em;white-space:nowrap}.affinity-side-tag--me{color:var(--nz-gold-0)}.affinity-side-tag--them{color:var(--nz-text-2, #a8a29a)}.affinity-table{width:100%;border-collapse:collapse;font-size:var(--nz-text-sm);line-height:1.35}.affinity-table th{padding:0 .5rem .35rem 0;text-align:left;font-size:var(--nz-text-xs, .75rem);font-weight:600;color:var(--nz-text-2, #a8a29a);border-bottom:.5px solid var(--nz-border-subtle)}.affinity-table td{padding:.45rem .5rem .45rem 0;vertical-align:top;border-bottom:.5px solid var(--nz-border-subtle);word-break:break-word}.affinity-table tbody tr:last-child td{border-bottom:none}.affinity-table-mid{width:3.25rem;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--nz-text-2, #a8a29a);padding-left:.25rem;padding-right:.25rem}.affinity-table th.affinity-table-mid{text-align:center}.affinity-table-same{padding-right:0}.affinity-table-meta{display:block;margin-top:.15rem}@media(max-width:640px){.affinity-table,.affinity-table thead,.affinity-table tbody,.affinity-table tr,.affinity-table th,.affinity-table td{display:block;width:100%}.affinity-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.affinity-table tr{padding:.55rem 0;border-bottom:.5px solid var(--nz-border-subtle)}.affinity-table tbody tr:last-child{border-bottom:none}.affinity-table td{padding:.15rem 0;border-bottom:none}.affinity-table-mid{width:auto;text-align:left;padding:.2rem 0}.affinity-table td:first-child:not(.affinity-table-same):not(.affinity-table-mid):before{content:"Chez moi · ";font-size:var(--nz-text-xs, .75rem);font-weight:600;color:var(--nz-gold-0)}.affinity-table td:last-child:not(.affinity-table-same):not(.affinity-table-mid):before{content:"Chez mon ami.e · ";font-size:var(--nz-text-xs, .75rem);font-weight:600;color:var(--nz-text-2, #a8a29a)}}.friend-shared-peek{display:flex;flex-direction:column;gap:var(--nz-sp-2);margin-bottom:var(--nz-sp-3)}.friend-shared-block{display:flex;flex-direction:column;align-items:flex-start;gap:var(--nz-sp-2)}.friend-shared-list{width:100%;max-height:180px;overflow-y:auto;padding:var(--nz-sp-2);border:.5px solid var(--nz-border-subtle)}.groups-intro{margin-bottom:var(--nz-sp-3)}.groups-create{display:flex;gap:var(--nz-sp-2);margin-bottom:var(--nz-sp-2);flex-wrap:wrap}.groups-create .nz-input{flex:1 1 12rem;min-width:0}.groups-create-invite{margin-bottom:var(--nz-sp-3)}.groups-create-invite-list{max-height:160px;overflow-y:auto;margin-top:var(--nz-sp-2)}.groups-name-collision{margin:0 0 var(--nz-sp-3);padding:var(--nz-sp-3);border:.5px solid color-mix(in srgb,var(--nz-gold-0) 40%,var(--nz-border));border-radius:var(--nz-r-md, 8px);background:color-mix(in srgb,var(--nz-gold-0) 8%,var(--nz-bg-2));display:flex;flex-direction:column;gap:var(--nz-sp-2)}.groups-name-collision-title{margin:0;font-weight:600;color:var(--nz-gold-0)}.groups-name-collision-actions{display:flex;flex-wrap:wrap;gap:var(--nz-sp-2)}.groups-layout{display:grid;grid-template-columns:minmax(10rem,14rem) 1fr;gap:var(--nz-sp-4);align-items:start}@media(max-width:720px){.groups-layout{grid-template-columns:1fr}}.groups-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--nz-sp-1)}.groups-list-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;text-align:left;padding:var(--nz-sp-2) var(--nz-sp-3);border:.5px solid transparent;background:transparent;cursor:pointer;border-radius:var(--nz-radius-sm, 4px);color:inherit;font:inherit}.groups-list-item:hover{background:var(--nz-bg-muted, rgba(0, 0, 0, .04))}.groups-list-item.active{border-color:var(--nz-border-subtle);background:var(--nz-bg-muted, rgba(0, 0, 0, .06))}.groups-list-name{font-weight:600;font-size:var(--nz-text-sm)}.groups-badge{font-weight:500;font-size:var(--nz-text-xs, .75rem);color:var(--nz-accent, #5a6a4a);text-transform:lowercase}.groups-visibility,.groups-library-mode,.groups-links-mode,.groups-invite,.groups-pending,.groups-invites,.groups-discoverable,.groups-joined{margin:var(--nz-sp-3) 0;display:flex;flex-direction:column;gap:var(--nz-sp-2)}.groups-invite-sent{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .55rem;min-width:0}.groups-invite-check{color:var(--nz-success-text, #5db87a);font-weight:700;font-size:1rem;line-height:1}.groups-invite-sent-msg{font-style:italic}.groups-visibility{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--nz-sp-3)}.groups-member-actions{display:flex;gap:var(--nz-sp-1);margin-left:auto;flex-wrap:wrap}.groups-filters{margin-top:var(--nz-sp-2)}.groups-filters .groups-filter-list{list-style:none;margin:0 0 var(--nz-sp-3);padding:0;display:flex;flex-direction:column;gap:var(--nz-sp-2);max-height:none;overflow:visible}.groups-list-meta{font-size:var(--nz-text-xs, .75rem)}.groups-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--nz-sp-3);margin-bottom:var(--nz-sp-3);flex-wrap:wrap}.groups-shares-panel{margin-top:var(--nz-sp-4);padding-top:var(--nz-sp-3);border-top:.5px solid var(--nz-border-subtle)}.groups-shares-toggle{width:100%;justify-content:center}.groups-shares-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--nz-sp-2);margin-bottom:var(--nz-sp-2)}.groups-shares-panel-body{display:flex;flex-direction:column;gap:var(--nz-sp-3)}.groups-leave-owner{margin:0 0 var(--nz-sp-3);display:flex;flex-direction:column;gap:var(--nz-sp-2)}.groups-leave-owner-row{display:flex;flex-wrap:wrap;gap:var(--nz-sp-2);align-items:center}.groups-leave-owner-row .nz-input{flex:1 1 12rem;min-width:0}.groups-deletion-pending{margin:0 0 var(--nz-sp-3);padding:var(--nz-sp-3);border:.5px solid var(--nz-danger, #c44);border-radius:var(--nz-radius-sm, 4px);display:flex;flex-direction:column;gap:var(--nz-sp-2)}.groups-deletion-pending-actions{display:flex;flex-wrap:wrap;gap:var(--nz-sp-2)}.groups-rename{display:flex;gap:var(--nz-sp-2);flex:1 1 12rem;flex-wrap:wrap}.groups-rename .nz-input{flex:1 1 8rem;min-width:0}.groups-members-title{font-size:var(--nz-text-sm);margin:var(--nz-sp-4) 0 var(--nz-sp-2)}.groups-members{list-style:none;margin:0 0 var(--nz-sp-3);padding:0;display:flex;flex-direction:column;gap:var(--nz-sp-2);max-height:280px;overflow-y:auto;font-size:var(--nz-text-sm);color:var(--nz-text-1)}.groups-member-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:var(--nz-sp-2);min-height:1.5rem;font-size:inherit;line-height:1.4}.groups-member-row .nz-avatar{flex-shrink:0}.groups-member-alias{font-family:var(--nz-font-sans);font-size:inherit;font-weight:400;letter-spacing:normal;text-transform:none;color:var(--nz-text-0);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.groups-member-role{flex-shrink:0;font-size:inherit;font-weight:400;color:var(--nz-text-2)}.groups-member-row .friends-check{width:100%;font-size:inherit}.groups-member-row .friends-check .friends-alias{font-size:inherit;font-weight:400}.groups-memberships{margin-bottom:var(--nz-sp-4);padding-bottom:var(--nz-sp-3);border-bottom:.5px solid var(--nz-border-subtle)}.groups-memberships-title,.groups-owned-title{font-size:var(--nz-text-sm);margin:0 0 var(--nz-sp-2)}.groups-memberships-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--nz-sp-2)}.groups-membership-row{display:flex;align-items:center;gap:var(--nz-sp-2)}.friend-groups-mutual{margin:var(--nz-sp-3) 0}.friend-groups-title{font-size:var(--nz-text-sm);margin:0 0 var(--nz-sp-2)}.friend-groups-block{margin-bottom:var(--nz-sp-2)}.friend-groups-chips{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.friend-group-chip{font-size:var(--nz-text-sm);line-height:1.35}.friend-group-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;margin:0;font:inherit;font-weight:600;color:var(--nz-gold-0, #c9a227);text-decoration:underline;text-underline-offset:2px;cursor:pointer;text-align:left}.friend-group-link:hover{color:var(--nz-gold-1, #e0b83a)}.friends-group-tags{margin-top:.15rem}.friend-share-status{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem;font-size:var(--nz-text-sm)}.friend-share-scope{font-weight:400;color:var(--nz-text-muted, #9aa3ad);font-size:.92em}.friend-share-effective{margin:0 0 var(--nz-sp-1);font-weight:600}
