:root{--bg-primary:224 25% 6%;--bg-secondary:224 25% 10%;--bg-tertiary:224 25% 14%;--text-primary:210 40% 98%;--text-secondary:215 15% 75%;--text-muted:215 12% 50%;--accent-rgb:0, 242, 254;--accent:182 100% 50%;--accent-hover:200 100% 50%;--accent-glow:182 100% 50% / .15;--border-color:224 20% 18%;--border-hover:224 20% 28%;--glass-bg:224 25% 10% / .7;--glass-blur:16px;--success:142 70% 45%;--warning:38 92% 50%;--danger:0 84% 60%;--font-display:"Outfit", "Plus Jakarta Sans", -apple-system, sans-serif;--font-sans:"Plus Jakarta Sans", -apple-system, sans-serif;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--radius-full:9999px;--shadow-sm:0 2px 8px #0006;--shadow-md:0 8px 30px #0009;--shadow-glow:0 0 25px #00f2fe40;--transition-fast:.15s cubic-bezier(.16, 1, .3, 1);--transition-normal:.3s cubic-bezier(.16, 1, .3, 1);--transition-slow:.5s cubic-bezier(.16, 1, .3, 1)}[data-theme=light]{--bg-primary:220 20% 97%;--bg-secondary:0 0% 100%;--bg-tertiary:220 20% 92%;--text-primary:224 25% 12%;--text-secondary:224 15% 35%;--text-muted:224 12% 55%;--accent-rgb:14, 165, 233;--accent:199 89% 48%;--accent-hover:201 96% 40%;--accent-glow:199 89% 48% / .1;--border-color:220 20% 88%;--border-hover:220 20% 78%;--glass-bg:0 0% 100% / .75;--glass-blur:16px;--success:142 76% 36%;--warning:38 92% 45%;--danger:0 84% 50%;--shadow-sm:0 2px 8px #0000000d;--shadow-md:0 8px 30px #dce1ebb3;--shadow-glow:0 0 20px #0ea5e926}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{width:100%;height:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--font-sans);background-color:hsl(var(--bg-primary));color:hsl(var(--text-primary));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.app-container{background-color:hsl(var(--bg-secondary));width:100%;max-width:480px;height:100%;box-shadow:0 0 0 1px hsl(var(--border-color));transition:max-width var(--transition-normal);flex-direction:column;display:flex;position:relative;overflow:hidden}@media (width>=481px){.app-container{border-radius:var(--radius-lg);border:1px solid hsl(var(--border-color));height:92vh;box-shadow:var(--shadow-md)}}.scroll-container{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;flex:1;padding:16px 16px 96px;overflow-y:auto}.scroll-container::-webkit-scrollbar{width:6px}.scroll-container::-webkit-scrollbar-track{background:0 0}.scroll-container::-webkit-scrollbar-thumb{background:hsl(var(--border-color));border-radius:var(--radius-full)}.scroll-container::-webkit-scrollbar-thumb:hover{background:hsl(var(--border-hover))}.scanner-overlay{pointer-events:none;z-index:10;border-radius:inherit;width:100%;height:100%;position:absolute;top:0;left:0}.scan-line{background:linear-gradient(90deg, transparent, rgba(var(--accent-rgb), .7), transparent);width:100%;height:2px;box-shadow:0 0 12px rgba(var(--accent-rgb), .8), 0 0 20px rgba(var(--accent-rgb), .4);opacity:0;transition:opacity var(--transition-normal);animation:4s linear infinite scan;position:absolute;left:0}.scanner-active .scan-line{opacity:1}@keyframes scan{0%{top:0%}50%{top:100%}to{top:0%}}.glass-panel{background-color:hsl(var(--glass-bg));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid hsl(var(--border-color))}.app-header{z-index:20;border-bottom:1px solid hsl(var(--border-color));justify-content:space-between;align-items:center;padding:18px 20px;display:flex;position:sticky;top:0}.brand-title{font-family:var(--font-display);letter-spacing:-.03em;background:linear-gradient(135deg, hsl(var(--accent)), #4facfe);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;align-items:center;gap:8px;font-size:1.5rem;font-weight:700;display:flex}.scanner-status{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);transition:all var(--transition-normal);align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:flex}.scanner-status.scanning{background:rgba(var(--accent-rgb), .1);color:hsl(var(--accent));box-shadow:0 0 8px rgba(var(--accent-rgb), .25);animation:1.5s ease-in-out infinite pulse-glow}.scanner-status.scanning .dot{background-color:hsl(var(--accent))}.scanner-status.ready{background:hsla(var(--success), .1);color:hsl(var(--success))}.scanner-status.ready .dot{background-color:hsl(var(--success))}.scanner-status.error{background:hsla(var(--danger), .1);color:hsl(var(--danger));box-shadow:0 0 6px hsla(var(--danger), .15)}.scanner-status.error .dot{background-color:hsl(var(--danger))}.scanner-status .dot{border-radius:50%;width:6px;height:6px}@keyframes pulse-glow{0%,to{opacity:.8;transform:scale(.98)}50%{opacity:1;transform:scale(1.02)}}.search-wrapper{z-index:15;margin-bottom:20px;position:relative}.search-input-container{border-radius:var(--radius-md);border:1px solid hsl(var(--border-color));background-color:hsl(var(--bg-tertiary));transition:all var(--transition-fast);align-items:center;gap:12px;padding:12px 16px;display:flex}.search-input-container:focus-within{border-color:hsl(var(--accent));box-shadow:0 0 0 3px rgba(var(--accent-rgb), .15);background-color:hsl(var(--bg-secondary))}.search-input{color:hsl(var(--text-primary));font-size:.95rem;font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1}.search-input::placeholder{color:hsl(var(--text-muted))}.clear-search-btn{color:hsl(var(--text-muted));cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.clear-search-btn:hover{color:hsl(var(--text-primary))}.suggestions-dropdown{border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-md);z-index:30;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden}.suggestion-item{cursor:pointer;background-color:hsl(var(--bg-tertiary));border-bottom:1px solid hsl(var(--border-color));color:hsl(var(--text-secondary));transition:all var(--transition-fast);align-items:center;gap:12px;padding:12px 16px;font-size:.9rem;display:flex}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover,.suggestion-item.active{background-color:hsl(var(--bg-secondary));color:hsl(var(--text-primary))}.suggestion-history-icon{color:hsl(var(--text-muted))}.category-scroll{scrollbar-width:none;gap:8px;margin-bottom:12px;padding-bottom:16px;display:flex;overflow-x:auto}.category-scroll::-webkit-scrollbar{display:none}.category-chip{border-radius:var(--radius-full);background-color:hsl(var(--bg-tertiary));border:1px solid hsl(var(--border-color));color:hsl(var(--text-secondary));cursor:pointer;transition:all var(--transition-normal);flex-shrink:0;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:500;display:flex}.category-chip:hover{border-color:hsl(var(--border-hover));color:hsl(var(--text-primary))}.category-chip.active{background-color:hsl(var(--accent));border-color:hsl(var(--accent));color:hsl(var(--bg-primary));box-shadow:0 4px 12px rgba(var(--accent-rgb), .25);font-weight:600}.feed-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.feed-title{font-family:var(--font-display);font-size:1.15rem;font-weight:600}.feed-subtitle{color:hsl(var(--text-muted));font-size:.8rem}.patent-card-list{flex-direction:column;gap:14px;display:flex}.patent-card{border-radius:var(--radius-md);background-color:hsl(var(--bg-tertiary));border:1px solid hsl(var(--border-color));cursor:pointer;transition:all var(--transition-normal);flex-direction:column;gap:10px;padding:16px;display:flex;position:relative}.patent-card:before{content:"";border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md);width:4px;height:100%;transition:background-color var(--transition-normal);background-color:#0000;position:absolute;top:0;left:0}.patent-card:hover{border-color:hsl(var(--border-hover));box-shadow:var(--shadow-sm);transform:translateY(-2px)}.patent-card.selected:before,.patent-card:hover:before{background-color:hsl(var(--accent))}.patent-card-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.patent-card-category{text-transform:uppercase;color:hsl(var(--accent));letter-spacing:.02em;font-size:.75rem;font-weight:600}.patent-status-badge{border-radius:var(--radius-full);text-transform:uppercase;padding:2px 8px;font-size:.7rem;font-weight:700}.patent-status-badge.patented{background:hsla(var(--success), .1);color:hsl(var(--success))}.patent-status-badge.pending{background:hsla(var(--warning), .1);color:hsl(var(--warning))}.patent-status-badge.abandoned{background:hsla(var(--danger), .1);color:hsl(var(--danger))}.patent-card-title{font-family:var(--font-display);color:hsl(var(--text-primary));-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:1.05rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.patent-card-abstract{color:hsl(var(--text-secondary));-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.45;display:-webkit-box;overflow:hidden}.patent-card-footer{color:hsl(var(--text-muted));border-top:1px solid hsl(var(--border-color));justify-content:space-between;align-items:center;margin-top:4px;padding-top:10px;font-size:.8rem;display:flex}.inventor-name{color:hsl(var(--text-secondary));white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-weight:500;overflow:hidden}.patent-dates{align-items:center;gap:4px;display:flex}.patent-score-container{color:hsl(var(--accent));background:rgba(var(--accent-rgb), .08);border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:.75rem;font-weight:600;display:flex}.detail-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity var(--transition-normal);background:#000000a6;position:absolute;top:0;left:0}.detail-overlay.open{opacity:1;pointer-events:auto}.detail-drawer{background-color:hsl(var(--bg-secondary));border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);border-top:1px solid hsl(var(--border-color));z-index:50;width:100%;max-height:85%;transition:transform var(--transition-slow);flex-direction:column;display:flex;position:absolute;bottom:0;left:0;transform:translateY(100%);box-shadow:0 -8px 32px #0006}.detail-drawer.open{transform:translateY(0)}.drawer-drag-handle{background-color:hsl(var(--border-color));border-radius:var(--radius-full);flex-shrink:0;width:40px;height:4px;margin:12px auto 8px}.drawer-header{border-bottom:1px solid hsl(var(--border-color));flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 20px;display:flex}.drawer-header-info{flex:1}.drawer-close-btn{background:hsl(var(--bg-tertiary));border:1px solid hsl(var(--border-color));width:36px;height:36px;color:hsl(var(--text-secondary));cursor:pointer;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.drawer-close-btn:hover{background:hsl(var(--border-color));color:hsl(var(--text-primary))}.drawer-content{flex-direction:column;flex:1;gap:20px;padding:20px;display:flex;overflow-y:auto}.drawer-actions{border-top:1px solid hsl(var(--border-color));background-color:hsl(var(--bg-tertiary));padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));flex-shrink:0;gap:12px;display:flex}.btn{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-normal);flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:.95rem;font-weight:600;display:flex}.btn-primary{background-color:hsl(var(--accent));color:hsl(var(--bg-primary));box-shadow:0 4px 14px rgba(var(--accent-rgb), .25);border:none}.btn-primary:hover{background-color:hsl(var(--accent-hover));box-shadow:0 6px 20px rgba(var(--accent-rgb), .35)}.btn-secondary{color:hsl(var(--text-primary));border:1px solid hsl(var(--border-color));background-color:#0000}.btn-secondary:hover{background-color:hsl(var(--bg-secondary));border-color:hsl(var(--border-hover))}.detail-section-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--text-muted));margin-bottom:8px;font-size:.95rem;font-weight:600}.abstract-text{color:hsl(var(--text-secondary));font-size:.92rem;line-height:1.6}.metadata-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.metadata-item{background-color:hsl(var(--bg-tertiary));border:1px solid hsl(var(--border-color));border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:12px;display:flex}.metadata-label{color:hsl(var(--text-muted));font-size:.75rem;font-weight:500}.metadata-value{color:hsl(var(--text-primary));font-size:.9rem;font-weight:600}.inventors-list{flex-wrap:wrap;gap:8px;display:flex}.inventor-chip{background-color:hsl(var(--bg-tertiary));border:1px solid hsl(var(--border-color));color:hsl(var(--text-secondary));border-radius:var(--radius-full);padding:6px 12px;font-size:.85rem;font-weight:500}.error-container{text-align:center;background-color:hsla(var(--danger), .05);border:1px solid hsla(var(--danger), .15);border-radius:var(--radius-md);flex-direction:column;justify-content:center;align-items:center;gap:16px;margin:16px 0;padding:40px 20px;animation:.5s ease-in-out shake;display:flex}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.error-icon{color:hsl(var(--danger));width:44px;height:44px}.error-title{font-family:var(--font-display);color:hsl(var(--text-primary));font-size:1.1rem;font-weight:600}.error-msg{color:hsl(var(--text-secondary));font-size:.88rem;line-height:1.45}.error-retry-btn{background-color:hsl(var(--danger));color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:filter var(--transition-fast);border:none;padding:8px 18px;font-size:.85rem;font-weight:600}.error-retry-btn:hover{filter:brightness(1.1)}.app-tabs{width:100%;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:35;border-top:1px solid hsl(var(--border-color));justify-content:space-around;display:flex;position:absolute;bottom:0;left:0;box-shadow:0 -4px 24px #0000004d}.tab-item{cursor:pointer;color:hsl(var(--text-muted));font-size:.7rem;font-weight:600;font-family:var(--font-sans);width:60px;transition:all var(--transition-fast);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px 0;display:flex}.tab-item:hover,.tab-item.active{color:hsl(var(--accent))}.tab-item.active svg{filter:drop-shadow(0 0 6px rgba(var(--accent-rgb), .5));transform:translateY(-2px)}.tab-item svg{width:22px;height:22px;transition:transform var(--transition-normal)}.empty-state{text-align:center;color:hsl(var(--text-muted));flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.empty-state-icon{opacity:.4;width:48px;height:48px}.empty-state-text{font-size:.9rem;line-height:1.4}.settings-list{flex-direction:column;gap:16px;display:flex}.settings-card{border-radius:var(--radius-md);border:1px solid hsl(var(--border-color));background-color:hsl(var(--bg-tertiary));padding:16px}.settings-header{font-family:var(--font-display);align-items:center;gap:8px;margin-bottom:12px;font-size:1.05rem;font-weight:600;display:flex}.settings-row{border-bottom:1px solid hsl(var(--border-color));justify-content:space-between;align-items:center;padding:12px 0;display:flex}.settings-row:last-child{border-bottom:none;padding-bottom:0}.settings-row:first-child{padding-top:0}.settings-label-group{flex-direction:column;gap:2px;display:flex}.settings-label{font-size:.9rem;font-weight:500}.settings-description{color:hsl(var(--text-muted));font-size:.78rem}.theme-toggle-btn{background:hsl(var(--bg-secondary));border:1px solid hsl(var(--border-color));border-radius:var(--radius-sm);color:hsl(var(--text-primary));cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:8px 12px;font-size:.82rem;display:flex}.theme-toggle-btn:hover{background-color:hsl(var(--border-color))}.api-input-field{background:hsl(var(--bg-secondary));border:1px solid hsl(var(--border-color));border-radius:var(--radius-sm);width:100%;color:hsl(var(--text-primary));font-family:var(--font-sans);transition:border-color var(--transition-fast);outline:none;margin-top:8px;padding:8px 12px;font-size:.85rem}.api-input-field:focus{border-color:hsl(var(--accent))}.danger-btn{background-color:hsla(var(--danger), .1);border:1px solid hsla(var(--danger), .2);color:hsl(var(--danger));border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);padding:8px 14px;font-size:.82rem;font-weight:600}.danger-btn:hover{background-color:hsl(var(--danger));color:#fff}.history-item{background-color:hsl(var(--bg-tertiary));border:1px solid hsl(var(--border-color));border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 16px;display:flex}.history-item:hover{border-color:hsl(var(--border-hover))}.history-query{font-size:.9rem;font-weight:500}.history-time{color:hsl(var(--text-muted));font-size:.75rem}.history-delete-btn{color:hsl(var(--text-muted));cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;align-items:center;padding:4px;display:flex}.history-delete-btn:hover{color:hsl(var(--danger));background-color:hsla(var(--danger), .1)}.skeleton{background:linear-gradient(90deg, hsl(var(--bg-tertiary)) 25%, hsl(var(--border-color)) 37%, hsl(var(--bg-tertiary)) 63%);background-size:400% 100%;animation:1.4s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:100%}to{background-position:0%}}.skeleton-text{border-radius:4px;height:16px;margin-bottom:8px}.skeleton-title{width:80%;height:20px}.skeleton-body{width:100%;height:40px}.skeleton-meta{width:40%;height:14px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-micro{border:2px solid hsla(var(--accent-rgb), .2);border-top-color:hsl(var(--accent));border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
