:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px}input:focus{outline:none;border-color:#646cff}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-content{flex:1;overflow-y:auto;padding-bottom:80px}.bottom-bar{position:fixed;bottom:0;left:0;right:0;background:#0b111a;border-top:1px solid #eee;display:grid;grid-template-columns:repeat(4,1fr);display:flex;justify-content:flex-start;align-items:center;gap:8px;padding:12px;box-shadow:0 -2px 10px #0000001a;z-index:100}.bottom-bar button{background:transparent;border:none;padding:8px;font-size:.85rem;color:#666;cursor:pointer;transition:color .2s;display:flex;flex-direction:column;align-items:center;gap:4px}.bottom-bar button.active,.bottom-bar button:hover{color:#f6c400}.scan-button{position:relative;top:-24px;width:64px;height:64px;border-radius:50%;border:none;background:#f6c400;color:#111;font-size:26px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #00000059,0 0 0 6px #0e1621;cursor:pointer}.scan-button:active{transform:scale(.95)}.bottom-bar .scan-button{background:#0b111a;color:#111;border-radius:50%;width:56px;height:56px;font-size:1.5rem;margin:-20px auto 0;box-shadow:0 4px 12px #f6c40066;display:flex;align-items:center;justify-content:center}.bottom-bar svg{width:20px;height:20px;fill:currentColor}.bottom-bar button.active svg{animation:pop .25s ease-out}@keyframes pop{0%{transform:scale(.85);opacity:.7}to{transform:scale(1);opacity:1}}.recent-cards{padding:24px 16px 48px;max-width:960px;margin:0 auto}.cards-row{display:grid;grid-auto-flow:column;grid-auto-columns:140px;gap:12px;overflow-x:auto;padding-bottom:8px}.card-item{border-radius:12px;overflow:hidden;background:#fff0;box-shadow:0 4px 12px #00000014;border:1px solid #eee;max-width:200px;transition:transform .2s}.card-item:hover{transform:translateY(-4px);box-shadow:0 6px 16px #0000001f}.card-item img{display:block;width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:6px;padding:8px}.card-item .card-body{padding:12px;color:#333}.card-item strong{display:block;font-size:14px;margin-bottom:4px}.card-item small{display:block;font-size:12px;color:#666;margin-bottom:8px}.card-item .price{margin-top:8px;font-weight:700;color:#2e7d32;font-size:16px}.card-item.compact{padding:0;background:transparent;box-shadow:none;border:none}.card-item.compact img{border-radius:8px;padding:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;padding:16px}.autocomplete-list{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:6px;list-style:none;padding:0;margin:4px 0;z-index:10;max-height:300px;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.autocomplete-list li{padding:12px;cursor:pointer;display:flex;align-items:center;gap:12px;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.autocomplete-list li:hover{background-color:#eef4ff}.autocomplete-list li:last-child{border-bottom:none}.autocomplete-list img{width:50px;height:70px;object-fit:cover;border-radius:4px}.autocomplete-list strong{display:block;font-size:14px;color:#333}.autocomplete-list small{display:block;font-size:12px;color:#666;margin-top:2px}@media(max-width:768px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.stats-bar{grid-template-columns:repeat(3,1fr);gap:12px;padding:12px}.hero{padding:48px 16px 32px}}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}.card-item.is-clickable{cursor:pointer}.price-min{margin-top:6px;font-size:12px;font-weight:600;color:#1a7f37}.filters-panel{background:#0f1724;border:1px solid #22314a;padding:16px;border-radius:12px;margin-bottom:20px}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.filters-header h3{margin:0;font-size:1.1rem;color:#f3f6ff}.filters-clear-btn{padding:6px 12px;border-radius:6px;border:none;background:#ef5350;color:#fff;font-size:12px;cursor:pointer}.filters-advanced-toggle{padding:10px;border-radius:6px;border:1px solid #334766;background:#111b2c;color:#cdd7e5;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:500}.filters-advanced-toggle.active{background:#f6c400;color:#1b1b1b;border-color:#f6c400}.filters-advanced-area{display:flex;flex-direction:column;gap:12px;padding:12px;background:#111a2a;border:1px solid #273753;border-radius:8px}.filters-label{display:block;font-size:12px;color:#9fb2cc;margin-bottom:6px;font-weight:500}.filters-label ul{color:#2a3b59}.filters-active-info{margin-top:12px;padding:8px 12px;background:#14243a;border:1px solid #2f4f79;border-radius:6px;font-size:12px;color:#aecdff}}.card-quick-view-overlay{position:fixed;inset:0;background:#060a12cc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:450;padding:16px}.card-quick-view-modal{position:relative;width:min(900px,100%);border-radius:16px;border:1px solid #2a3b59;background:linear-gradient(180deg,#111c2d,#0f1724);box-shadow:0 24px 70px #0000007a;color:#e5ecf7;padding:20px}.add-cards-modal{display:flex;flex-direction:column;max-height:min(92vh,980px);width:min(1200px,100%)}.add-cards-modal h3{margin-right:36px}.card-quick-view-content{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:20px;align-items:start}.card-quick-view-media{display:grid;gap:12px}.card-quick-view-media img{width:100%;border-radius:12px;border:1px solid #2a3b59;box-shadow:0 12px 28px #00000059}.card-quick-view-media p{margin:0;color:#a8b8cc;font-size:.95rem;line-height:1.45}.card-quick-view-info{display:grid;gap:12px}.card-quick-view-tag{width:fit-content;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#f6c40029;color:#f6c400;border:1px solid rgba(246,196,0,.45)}.card-quick-view-info h3{margin:0;font-size:clamp(1.3rem,2.4vw,1.9rem)}.card-quick-view-subtitle{margin:0;color:#a8b8cc;font-size:.95rem}.card-quick-view-rarity{margin:0;color:#c9d6e7}.card-quick-view-price-grid{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:12px}.card-quick-view-price-grid div{background:#142138;border:1px solid #2a3b59;border-radius:10px;padding:10px 12px;display:grid;gap:4px}.card-quick-view-price-grid small{color:#9fb2cc}.card-quick-view-price-grid strong{color:#f6c400}.card-quick-view-actions{margin-top:4px;display:flex;flex-wrap:wrap;gap:10px}.card-quick-view-primary-action,.card-quick-view-secondary-action{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;border-radius:8px;padding:10px 14px;font-weight:700;border:1px solid transparent;cursor:pointer}.card-quick-view-primary-action{background:#f6c400;color:#1b1b1b}.card-quick-view-secondary-action{background:#18263b;color:#d6e1f0;border-color:#2a3b59}.card-quick-view-close{position:absolute;top:10px;right:10px;width:34px;height:34px;border:none;border-radius:50%;background:#1d2a40;color:#fff;cursor:pointer}.card-quick-view-close:hover{background:#2a3f5f}@media(max-width:860px){.add-cards-modal{max-height:calc(100vh - 24px);padding:14px}.card-quick-view-content,.card-quick-view-price-grid{grid-template-columns:1fr}}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hero .cta-secondary{background:transparent;border:1px solid #f6c400;color:#f6c400;padding:12px 20px;border-radius:10px}.auth-page{min-height:calc(100vh - 160px);display:flex;justify-content:center;align-items:center;padding:24px 16px}.auth-card{width:100%;max-width:440px;background:#111925;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:20px}.auth-card h1{font-size:1.8rem;margin-bottom:4px}.auth-card p{color:#b9c2cf;margin-bottom:16px}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-divider{text-align:center;margin:12px 0;color:#9aa4b2}.auth-error{color:#ff7d7d;font-size:.9rem}.auth-toggle{margin-top:12px;width:100%;background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff}.card{display:flex;flex-direction:column;border-radius:12px;overflow:hidden}.card--compact{width:100px;flex-shrink:0}.card--compact img{width:100%;aspect-ratio:3 / 4;object-fit:cover}.home{background:linear-gradient(180deg,#0f1a26,#0b111a);color:#fff;min-height:100vh}.hero{padding:64px 16px 48px;text-align:center;max-width:960px;margin:0 auto}.hero h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.2;margin-bottom:16px}.hero .highlight{color:#f6c400}.hero p{color:#b9c2cf;max-width:520px;margin:0 auto 24px}.hero .cta{background:#f6c400;color:#111;border:none;padding:12px 20px;border-radius:10px;font-weight:600;cursor:pointer}.stats-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);padding:16px;max-width:960px;margin:0 auto}.stats-bar div{text-align:center}.stats-bar strong{display:block;font-size:1.4rem;color:#f6c400}.stats-bar span{font-size:.75rem;color:#9aa4b2;text-transform:uppercase}.recent-cards{padding:16px}.recent-cards h2{margin-bottom:12px;font-size:1.2rem}.recent-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media(min-width:640px){.recent-cards-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}@media(min-width:1024px){.recent-cards-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}}@media(min-width:1280px){.recent-cards-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.load-more{margin:20px auto 0;display:block;padding:10px 18px;border-radius:12px;border:none;background:#ef5350;color:#fff;font-weight:600;font-size:.95rem;cursor:pointer}.load-more:disabled{opacity:.6;cursor:not-allowed}.recent-cards header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.recent-cards a{color:#f6c400;font-size:.85rem}.add-cards-panel{display:flex;flex-direction:column;height:100%;min-height:0;gap:12px}.add-cards-filters{flex-shrink:0}.add-cards-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0;flex-wrap:wrap}.add-cards-toolbar button{margin-left:8px;padding:6px 10px;border-radius:8px;border:1px solid #3a3a3a;background:#1d1d1d;color:#fff}.add-cards-grid-wrapper{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px}.add-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.add-card{position:relative;cursor:pointer;transition:.2s;border:none;background:transparent;padding:0}.add-card img{width:100%;border-radius:8px}.add-card.added img{filter:brightness(40%)}.check-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:48px;color:#4caf50;font-weight:700}@media(max-width:768px){.add-cards-toolbar{flex-direction:column;align-items:stretch}.add-cards-toolbar>div{display:flex;justify-content:space-between;gap:8px}.add-cards-toolbar button{margin-left:0;flex:1}.add-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}.add-cards-modal .add-cards-panel{flex:1;min-height:0}.camera-container{position:fixed;inset:0;background:#000;overflow:hidden;z-index:1000}.camera-video{width:100%;height:100%;object-fit:cover}.camera-error{position:fixed;inset:0;background:#000;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.error-content{text-align:center;color:#fff;max-width:400px}.error-content h2{font-size:1.5rem;margin-bottom:16px;color:#f6c400}.error-content p{margin-bottom:12px;line-height:1.6}.error-hint{font-size:14px;color:#999;margin-top:20px}.scan-overlay{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.5) 100%)}.scan-frame{width:70%;max-width:280px;aspect-ratio:63 / 88;border:3px solid rgba(246,196,0,.8);border-radius:16px;position:relative;overflow:hidden;box-shadow:0 0 0 2px #ffffff4d,0 0 30px #f6c40066}.scan-frame:before,.scan-frame:after{content:"";position:absolute;width:20px;height:20px;border:3px solid #f6c400}.scan-frame:before{top:-3px;left:-3px;border-right:none;border-bottom:none}.scan-frame:after{top:-3px;right:-3px;border-left:none;border-bottom:none}.scan-line{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#f6c400,transparent);box-shadow:0 0 10px #f6c400;animation:scan 2s linear infinite}@keyframes scan{0%{top:0;opacity:.3}50%{opacity:1}to{top:100%;opacity:.3}}.scan-text{margin-top:24px;color:#fff;font-size:16px;font-weight:500;opacity:.9;text-shadow:0 2px 4px rgba(0,0,0,.5);animation:pulse-text 2s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:.7}50%{opacity:1}}.capture-button{position:fixed;bottom:32px;left:50%;transform:translate(-50%);width:72px;height:72px;border-radius:50%;background:#f6c400;border:6px solid #fff;box-shadow:0 8px 24px #0006,0 0 0 2px #f6c40033;font-size:32px;color:#111;cursor:pointer;z-index:1001;transition:all .2s ease;pointer-events:auto}.capture-button:active{transform:translate(-50%) scale(.95);box-shadow:0 4px 12px #0000004d,0 0 0 2px #f6c40033}.capture-button:hover:not(:disabled){background:#ffd500}.capture-button:disabled{opacity:.5;cursor:not-allowed}.capturing-indicator{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#f6c400;padding:16px 32px;border-radius:12px;font-weight:600;font-size:18px;z-index:1002;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.8}50%{opacity:1}}@media(max-width:480px){.scan-frame{width:80%;max-width:240px}.capture-button{width:64px;height:64px;bottom:24px;font-size:28px}.scan-text{font-size:14px;margin-top:20px}.error-content h2{font-size:1.2rem}.error-content{padding:20px}}@media(orientation:landscape){.scan-frame{max-height:60vh;width:auto}.scan-text{margin-top:16px;font-size:14px}.capture-button{bottom:20px}}
