.camera-container{position:fixed;inset:0;background:#000;display:flex;flex-direction:column}.camera-video{width:100%;height:100%;object-fit:cover}.camera-flash{position:absolute;inset:0;background:#ffffff29;animation:cameraFlash .18s ease-out forwards;pointer-events:none}.camera-loading,.camera-uploading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000c;color:#fff;gap:1rem}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.camera-error{display:flex;align-items:center;justify-content:center;background:var(--bg-dark)}.error-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;text-align:center}.error-icon{width:80px;height:80px;color:var(--text-muted)}.error-icon svg{width:100%;height:100%}.error-message{color:var(--text-secondary);font-size:1rem;max-width:280px}.file-button{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.file-button:hover{background:var(--primary-dark)}.file-button svg{width:20px;height:20px}.fallback-actions{width:min(100%,340px);display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.fallback-action-button{min-height:2.875rem;padding:.75rem 1rem;border-radius:999px;border:1px solid rgba(148,163,184,.3);background:#0f172ac2;color:var(--text-primary);font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.fallback-action-button:hover{transform:translateY(-1px);border-color:#60a5fa8c;background:#1e293be6}.camera-controls{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:2rem;padding:2rem;background:linear-gradient(transparent,#0009)}.camera-permission-prompt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1.25rem;padding-top:calc(env(safe-area-inset-top,0px) + 8rem);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 6.5rem);z-index:8}.camera-permission-card{width:min(100%,25rem);display:flex;flex-direction:column;gap:.875rem;padding:1rem;border-radius:20px;background:#080f1ec7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(148,163,184,.18);box-shadow:0 20px 48px #0206176b}.camera-permission-eyebrow{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#bfdbfecc}.camera-permission-title{margin:0;font-size:1.3rem;line-height:1.2;color:#fff}.camera-permission-copy{margin:0;font-size:.92rem;line-height:1.5;color:#e2e8f0cc}.camera-permission-actions{display:flex;flex-direction:column;gap:.625rem}.enable-camera-button,.permission-gallery-button{min-height:3rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;border-radius:999px;font-size:.95rem;font-weight:700;cursor:pointer;transition:transform .15s ease,opacity .15s ease,border-color .15s ease}.enable-camera-button{border:none;background:linear-gradient(135deg,#3b82f6fa,#0ea5e9e0);color:#fff}.permission-gallery-button{border:1px solid rgba(148,163,184,.22);background:#0f172ab3;color:#e2e8f0eb}.enable-camera-button:hover,.permission-gallery-button:hover{transform:translateY(-1px)}.enable-camera-button svg{width:18px;height:18px}.control-button{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background .2s}.control-button:hover{background:#ffffff4d}.control-button:disabled{opacity:.5;cursor:not-allowed}.control-button svg{width:24px;height:24px}.capture-button{width:72px;height:72px;padding:4px;background:#fff;border:none;border-radius:50%;cursor:pointer;transition:transform .1s}.capture-button:active{transform:scale(.95)}.capture-button:disabled{opacity:.5;cursor:not-allowed}.capture-button-inner{width:100%;height:100%;background:#fff;border:3px solid #333;border-radius:50%;transition:background .1s}.capture-button:active .capture-button-inner{background:#e5e5e5}.camera-guide{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 8rem);left:0;right:0;padding:1rem;text-align:center}.camera-guide p{display:inline-block;max-width:min(26rem,calc(100vw - 2rem));padding:.5rem .95rem;background:#00000094;color:#fff;border-radius:20px;font-size:.875rem;line-height:1.35}.hidden-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.top-buttons{position:absolute;top:1rem;left:1rem;right:1rem;display:flex;align-items:center;gap:.625rem;z-index:10}.top-button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background .2s}.top-button:hover{background:#000000b3}.top-button:disabled{opacity:.5;cursor:not-allowed}.top-button svg{width:22px;height:22px}.account-button{position:relative}.account-button-status{position:absolute;right:7px;bottom:7px;width:9px;height:9px;border-radius:50%;border:2px solid rgba(8,15,30,.88);background:#94a3b8eb}.account-button.authenticated .account-button-status{background:#22c55ef5}.scan-mode{position:absolute;top:calc(env(safe-area-inset-top,0px) + 4.5rem);left:1rem;right:1rem;z-index:10}.item-type-panel{display:flex;flex-direction:column;gap:.625rem;padding:.875rem;border-radius:18px;background:#080f1ead;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(148,163,184,.18)}.item-type-panel-static{width:min(100%,340px)}.item-type-heading{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#e2e8f0c2}.item-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.item-type-chip{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.5rem;padding:.6rem .75rem;border-radius:999px;border:1px solid rgba(148,163,184,.24);background:#0f172ab8;color:#e2e8f0eb;font-size:.84rem;font-weight:600;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.item-type-chip:hover{transform:translateY(-1px);border-color:#60a5fa80}.item-type-chip.active{background:linear-gradient(135deg,#3b82f6eb,#0ea5e9d1);border-color:#bfdbfebf;color:#fff}.item-type-chip:disabled{opacity:.55;cursor:not-allowed;transform:none}.item-type-note{font-size:.75rem;color:#cbd5e1b8}@media(max-height:780px){.scan-mode{top:calc(env(safe-area-inset-top,0px) + 4rem)}.camera-guide{bottom:calc(env(safe-area-inset-bottom,0px) + 7.5rem)}}@media(max-width:640px){.top-buttons{top:.75rem;left:.75rem;right:.75rem}.top-button{width:40px;height:40px}.top-button svg{width:20px;height:20px}.scan-mode{top:calc(env(safe-area-inset-top,0px) + 4rem);left:.75rem;right:.75rem}.item-type-panel{gap:.55rem;padding:.72rem;border-radius:15px;border-color:#94a3b81f}.item-type-grid{gap:.4rem}.item-type-chip{min-height:2.3rem;padding:.55rem .65rem;font-size:.8rem}.camera-permission-prompt{padding:.875rem;padding-top:calc(env(safe-area-inset-top,0px) + 7rem);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 5.75rem)}.camera-permission-card{gap:.75rem;padding:.9rem;border-radius:16px;border-color:#94a3b81f}.camera-permission-title{font-size:1.12rem}.camera-permission-copy{font-size:.86rem}.camera-controls{gap:1.4rem;padding:1.2rem 1rem}.camera-guide{bottom:calc(env(safe-area-inset-bottom,0px) + 6.5rem);padding:.75rem}.camera-guide p{font-size:.82rem}}@media(max-width:380px){.fallback-actions{grid-template-columns:1fr}}@keyframes cameraFlash{0%{opacity:1}to{opacity:0}}.account-view{position:fixed;inset:0;overflow:auto;background:radial-gradient(circle at top,rgba(56,189,248,.16),transparent 38%),linear-gradient(180deg,#07111f,#0f172a 42%,#162033)}.account-view__glow{position:fixed;inset:-20%;background:radial-gradient(circle at 20% 18%,rgba(14,165,233,.18),transparent 24%),radial-gradient(circle at 82% 22%,rgba(59,130,246,.14),transparent 20%),radial-gradient(circle at 50% 100%,rgba(56,189,248,.08),transparent 30%);pointer-events:none}.account-view__content{position:relative;z-index:1;width:min(100%,34rem);min-height:100%;margin:0 auto;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1.25rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:1rem}.account-view__header{display:flex;gap:.875rem;align-items:flex-start;padding:1rem;border:1px solid rgba(148,163,184,.14);border-radius:24px;background:#0a1221cc;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:fadeIn .28s ease-out}.account-back-button{width:2.75rem;height:2.75rem;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:#0f172ae0;color:var(--text-primary);cursor:pointer}.account-back-button svg{width:1.25rem;height:1.25rem}.account-view__title-block{display:flex;flex-direction:column;gap:.5rem}.account-view__title-block h1{font-size:clamp(1.9rem,5vw,2.5rem);line-height:1;letter-spacing:-.04em}.account-view__title-block p{color:#e2e8f0c7;line-height:1.55}.account-view__eyebrow,.account-status-card__eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7dd3fceb}.account-status-card,.account-panel{padding:1.25rem;border-radius:24px;border:1px solid rgba(148,163,184,.14);background:#090f1bd1;box-shadow:0 22px 60px #02061747;animation:fadeIn .32s ease-out}.account-status-card{display:flex;flex-direction:column;gap:.5rem}.account-status-card.authenticated{background:linear-gradient(135deg,#082f49eb,#0f172af0),#090f1bd1}.account-status-card.guest{background:linear-gradient(135deg,#1e293bf2,#0a1221f0),#090f1bd1}.account-status-card h2,.account-panel__copy h2{font-size:1.35rem;line-height:1.1}.account-status-card p,.account-panel__copy p,.account-footnote{color:#e2e8f0c2;line-height:1.55}.account-panel{display:flex;flex-direction:column;gap:1rem}.account-panel__copy{display:flex;flex-direction:column;gap:.5rem}.account-mode-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.4rem;border-radius:999px;background:#0f172ae6}.account-mode-toggle__button{min-height:2.75rem;border:none;border-radius:999px;background:transparent;color:#e2e8f0b3;font-size:.92rem;font-weight:700;letter-spacing:.01em;cursor:pointer}.account-mode-toggle__button.active{background:linear-gradient(135deg,#3b82f6f0,#0ea5e9d6);color:#fff}.account-form{display:flex;flex-direction:column;gap:.875rem}.account-field{display:flex;flex-direction:column;gap:.45rem}.account-field span{color:#e2e8f0d6;font-size:.88rem;font-weight:600}.account-field input{width:100%;min-height:3rem;padding:.9rem 1rem;border:1px solid rgba(148,163,184,.2);border-radius:14px;background:#0f172ae0;color:var(--text-primary);font-size:1rem}.account-field input::placeholder{color:#94a3b8b8}.account-submit-button{min-height:3rem;border:none;border-radius:16px;background:linear-gradient(135deg,#2563eb,#0ea5e9);color:#fff;font-size:1rem;font-weight:700;cursor:pointer}.account-submit-button--secondary{background:#0f172ae0;border:1px solid rgba(148,163,184,.22)}.account-submit-button:disabled,.account-mode-toggle__button:disabled,.account-field input:disabled{opacity:.6;cursor:not-allowed}.account-error{padding:.85rem 1rem;border-radius:16px;background:#7f1d1d52;border:1px solid rgba(248,113,113,.3);color:#fecaca}.account-footnote{font-size:.92rem}@media(max-width:520px){.account-view__content{padding-left:.875rem;padding-right:.875rem}.account-view__header,.account-status-card,.account-panel{border-radius:22px}}.progress-container{position:fixed;inset:0;background:var(--bg-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.progress-container .back-button{position:absolute;top:env(safe-area-inset-top,1rem);left:1rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background .2s}.progress-container .back-button:hover{background:#fff3}.progress-container .back-button svg{width:24px;height:24px}.progress-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;max-width:400px;width:100%}.progress-icon{width:64px;height:64px;color:var(--primary)}.progress-icon svg{width:100%;height:100%}.progress-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);text-align:center}.progress-subtitle{margin-top:-.75rem;font-size:.9rem;color:var(--text-secondary);text-align:center}.step-indicators{display:flex;align-items:center;justify-content:center;gap:0}.step-item{display:flex;align-items:center}.step-circle{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:2px solid var(--text-muted);border-radius:50%;color:var(--text-muted);font-size:.75rem;font-weight:600;transition:all .3s}.step-circle.active{background:var(--primary);border-color:var(--primary);color:#fff;animation:pulse 2s ease-in-out infinite}.step-circle.completed{background:var(--success);border-color:var(--success);color:#fff}.step-circle svg{width:14px;height:14px}.step-line{width:24px;height:2px;background:var(--text-muted);transition:background .3s}.step-line.completed{background:var(--success)}.status-box{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;background:#3b82f61a;border:2px solid rgba(59,130,246,.3);border-radius:16px;width:100%}.status-spinner{display:flex;align-items:center;justify-content:center}.spinner{width:24px;height:24px;border:3px solid rgba(59,130,246,.3);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.status-message{font-size:1rem;font-weight:600;color:var(--primary);text-align:center}.books-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#22c55e33;border-radius:20px;color:var(--success);font-size:.875rem;font-weight:600}.books-icon{font-size:1rem}.progress-bar-container{width:100%}.progress-bar{width:100%;height:8px;background:var(--bg-card);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:4px;transition:width .5s ease-out}.progress-text{margin-top:.5rem;font-size:.875rem;color:var(--text-muted);text-align:center}.book-card{display:block;padding:.875rem .875rem .875rem 1.125rem;background:var(--bg-card);border-radius:12px;border:2px solid transparent;border-left:4px solid;transition:border-color .3s,background .3s;animation:fadeIn .3s ease-out}.book-card.highlighted{border-color:var(--primary);background:#3b82f61a}.book-index{position:absolute;top:-8px;left:-8px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.75rem;font-weight:700;color:#fff}.book-card{position:relative}.book-summary{position:relative;min-width:0}.book-summary:after{content:"";display:block;clear:both}.book-summary.tappable{cursor:pointer}.book-summary.tappable:active{opacity:.94}.book-summary.with-collection-action{padding-right:3rem}.book-lead-media{float:left;width:84px;height:122px;margin:.125rem .875rem .5rem 0;border-radius:10px;overflow:hidden;background:linear-gradient(180deg,#0f172af5,#1e293be0);box-shadow:0 14px 28px #0f172a47,inset 0 0 0 1px #ffffff14;shape-outside:inset(0 round 10px);cursor:pointer;transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease}.book-lead-media:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 18px 30px #0f172a52,inset 0 0 0 1px #ffffff1a}.book-lead-media:active{opacity:.82;transform:translateY(0)}.book-thumbnail{background:linear-gradient(180deg,#3b82f62e,#0f172aeb),var(--bg-dark)}.book-cover{background:#0f172af5}.book-cover img,.book-thumbnail img{width:100%;height:100%;object-fit:cover}.thumbnail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:transparent;font-size:1.5rem}.book-info{min-width:0}.book-title{font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.3;margin:0;overflow-wrap:anywhere}.book-author{font-size:.875rem;color:var(--text-secondary);margin:.15rem 0 0;overflow-wrap:anywhere}.book-badges{margin-top:.375rem;line-height:1.95}.badge{display:inline-flex;align-items:center;padding:.25rem .5rem;margin:0 .375rem .375rem 0;background:#ffffff1a;border-radius:4px;font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.badge-success{background:#22c55e33;color:var(--success)}.badge-warning{background:#f59e0b33;color:var(--warning)}.badge-error{background:#ef444433;color:var(--error)}.badge-muted{background:transparent;color:var(--text-muted)}.badge-rating{background:#fbbf2433;color:#fbbf24}.badge-series{background:#0ea5e92e;color:#7dd3fc}.rating-count{opacity:.7;font-size:.65rem}.no-metadata{display:flex;align-items:center;gap:.375rem;margin-top:.5rem;font-size:.75rem;color:var(--warning)}.warning-icon{font-size:.875rem}.book-abstract{font-size:.8rem;line-height:1.4;color:var(--text-secondary);margin:.375rem 0 0}.book-recommendation{display:inline-flex;align-items:center;margin:.45rem 0 0;padding:.28rem .55rem;border-radius:999px;background:#22c55e1f;color:#86efac;font-size:.72rem;font-weight:600;letter-spacing:.01em}.book-details-expanded{clear:both;margin-top:.625rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.08)}.book-description{font-size:.875rem;line-height:1.5;color:var(--text-secondary);margin:0 0 .5rem;max-height:200px;overflow-y:auto}.book-metadata-grid{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem;padding:.5rem;background:#ffffff08;border-radius:6px}.metadata-row{display:flex;align-items:baseline;gap:.5rem}.metadata-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;min-width:60px;flex-shrink:0}.metadata-value{font-size:.8rem;color:var(--text-secondary);font-family:ui-monospace,monospace;letter-spacing:-.02em}.expand-hint,.collapse-hint{display:inline-flex;align-items:center;gap:.2rem;font-size:.72rem;color:var(--text-muted);opacity:.6;margin-top:.3rem;font-weight:600;letter-spacing:.01em;text-transform:uppercase}.collapse-hint{justify-content:center;width:100%;margin-top:.5rem;padding-top:.375rem;border-top:1px solid rgba(255,255,255,.05)}.hint-chevron{width:.95rem;height:.95rem;flex-shrink:0}.book-actions{position:absolute;top:0;right:0;z-index:1}.add-shelf-button{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:linear-gradient(180deg,var(--primary),var(--primary-dark));border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#fff;cursor:pointer;box-shadow:0 10px 18px #2563eb47;transition:transform .1s,opacity .15s,box-shadow .15s}.add-shelf-button:hover{opacity:.94;box-shadow:0 14px 24px #2563eb57}.add-shelf-button:active{transform:scale(.98)}.badge-in-collection{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:#22c55e29;border:1px solid rgba(34,197,94,.3);border-radius:999px;color:#22c55e;box-shadow:0 8px 18px #22c55e24}.book-categories{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.3rem}.badge-category{margin:0;padding:.16rem .42rem;background:#8b5cf61f;border:1px solid rgba(167,139,250,.18);color:#c4b5fd;font-size:.62rem;line-height:1.2}.badge-category-overflow{background:transparent;border-color:#94a3b838;color:var(--text-muted)}@media(max-width:768px){.book-lead-media{width:78px;height:112px;margin-right:.75rem}}@media(max-width:480px){.book-card{padding:.8rem .8rem .8rem .95rem;border-width:1px;border-left-width:3px;border-radius:10px}.book-index{top:-7px;left:-7px;width:22px;height:22px;font-size:.7rem}.book-lead-media{width:72px;height:104px;margin-right:.675rem;margin-bottom:.375rem}.book-title{font-size:1.0625rem;line-height:1.35}.book-author{font-size:.95rem}.book-badges{margin-top:.35rem}.badge{padding:.24rem .48rem;font-size:.78rem}.book-abstract{margin-top:.35rem;font-size:.875rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.book-recommendation{font-size:.74rem}.badge-category{font-size:.68rem;padding:.2rem .42rem}.expand-hint,.collapse-hint{font-size:.72rem}.book-summary.with-collection-action{padding-right:2.6rem}.add-shelf-button,.badge-in-collection{width:1.85rem;height:1.85rem}}.results-container{--results-image-collapse: 0;position:fixed;inset:0;background:var(--bg-dark);display:flex;flex-direction:column;overflow:hidden}.results-header{display:flex;align-items:center;gap:.75rem;padding:.75rem .875rem;background:var(--bg-card);border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0;flex-wrap:wrap}.results-header .back-button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:8px;transition:background .2s}.results-header .back-button:hover{background:#ffffff1a}.results-header .back-button svg{width:24px;height:24px}.results-title{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.25}.success-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--success);border-radius:50%;font-size:.7rem;color:#fff}.filtered-note{font-size:.7rem;font-weight:400;color:var(--text-secondary);opacity:.7}.new-scan-button{padding:.45rem .875rem;background:var(--primary);border:none;border-radius:8px;color:#fff;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .2s}.new-scan-button:hover{background:var(--primary-dark)}.live-status-banner{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;background:#3b82f61f;border-bottom:1px solid rgba(59,130,246,.2);color:var(--text-secondary);font-size:.875rem;flex-shrink:0}.live-status-spinner{width:14px;height:14px;margin-top:.15rem;border:2px solid rgba(59,130,246,.2);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.live-status-copy{display:flex;flex-direction:column;gap:.45rem;min-width:0}.live-status-message{color:var(--text-primary);font-weight:600}.live-status-meta{display:flex;flex-wrap:wrap;gap:.375rem}.live-status-pill{padding:.2rem .45rem;border-radius:999px;background:#3b82f624;color:var(--text-muted);font-size:.75rem}.results-content{flex:1;min-height:0;display:flex;flex-direction:column;gap:.75rem;padding:.75rem;overflow:hidden}.image-section{background:var(--bg-card);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:.75rem;display:flex;flex-direction:column;gap:.625rem;flex-shrink:0;transition:padding .18s ease,border-radius .18s ease}.image-stage{width:100%;min-height:220px;height:min(46svh,25rem);display:flex;align-items:center;justify-content:center;transition:height .18s ease,min-height .18s ease}.image-wrapper{position:relative;width:100%;height:100%;border-radius:16px;overflow:hidden;background:radial-gradient(circle at top,rgba(59,130,246,.18),transparent 62%),#020617;box-shadow:inset 0 0 0 1px #ffffff0f,0 14px 34px #0f172a5c}.bookshelf-image{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}.bbox-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;touch-action:manipulation}.bbox-overlay g{touch-action:manipulation}.bbox-rect{fill:#3b82f633;stroke:var(--primary);stroke-width:3;cursor:pointer;pointer-events:all;transition:fill .2s,stroke-width .2s}.bbox-rect:hover,.bbox-rect.highlighted{fill:#3b82f666;stroke-width:5}.bbox-label{fill:#fff;font-size:24px;font-weight:700;pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.8)}.highlight-dimmer{pointer-events:none}.dimmer-rect{transition:opacity .3s ease}.image-hint{font-size:.75rem;color:var(--text-muted);text-align:center}.books-section{flex:1;min-height:0;padding:.875rem;background:var(--bg-card);border:1px solid rgba(255,255,255,.08);border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.section-heading{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.875rem}.section-title{font-size:1rem;font-weight:600;color:var(--text-secondary)}.section-note{font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem}.book-list{display:flex;flex-direction:column;gap:.75rem;padding-bottom:.25rem;padding-right:.125rem;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}@media(max-width:640px){.results-header{padding:.625rem .75rem}.results-title{font-size:1.02rem}.new-scan-button{margin-left:auto}}@media(max-width:640px)and (orientation:portrait){.results-content{gap:calc(.625rem - (var(--results-image-collapse) * .2rem));padding:.4rem}.image-section{padding:calc(.5rem - (var(--results-image-collapse) * .1rem));border-radius:calc(14px - (var(--results-image-collapse) * 1px));border-color:#ffffff0a}.image-stage{min-height:clamp(5rem,calc(7.875rem - (var(--results-image-collapse) * 2.875rem)),7.875rem);height:clamp(5rem,calc(7.875rem - (var(--results-image-collapse) * 2.875rem)),7.875rem)}.books-section{padding:.5rem;border-radius:14px;border-color:#ffffff0a}}@media(orientation:landscape)and (min-width:768px){.results-header{padding:.625rem .875rem}.results-content{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:stretch}.image-section,.books-section{min-height:0}.image-section{padding:.875rem}.image-stage{flex:1;min-height:0;height:auto}}.app{height:100%;width:100%}.error-view{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-dark);padding:2rem}.error-content{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;max-width:320px}.error-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--error);border-radius:50%;font-size:2rem;font-weight:700;color:#fff}.error-content h2{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.error-content p{font-size:.875rem;color:var(--text-secondary);line-height:1.5}.retry-button{margin-top:.5rem;padding:.75rem 1.5rem;background:var(--primary);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.retry-button:hover{background:var(--primary-dark)}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #3b82f6;--primary-dark: #2563eb;--success: #22c55e;--warning: #f59e0b;--error: #ef4444;--bg-dark: #0f172a;--bg-card: #1e293b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-dark);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}.safe-area-top{padding-top:env(safe-area-inset-top,0)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,0)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-scaleIn{animation:scaleIn .2s ease-out}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
