@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#root{max-width:1280px;margin:0 auto;padding:2rem}.app-header{text-align:center;width:100%;margin-bottom:var(--spacing-3xl);padding:var(--spacing-2xl);background-color:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--color-neutral-border)}.app-header h1{margin:0 0 var(--spacing-md) 0;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.5em}.app-container{background-color:var(--color-bg-secondary);border-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-md);border:1px solid var(--color-neutral-border);padding:var(--spacing-2xl)}.search-results{& .results{&.inventory{&.success{background-color:var(--color-success-light);color:var(--color-success-dark);border:2px solid var(--color-success-border)}background-color:var(--color-warning-light);color:var(--color-warning-dark);border:2px solid var(--color-warning-border)}&.wantlist{&.success{background-color:var(--color-primary-light);color:var(--color-text-primary);border:2px solid var(--color-primary-border);border-radius:10px}background-color:var(--color-error-light);color:var(--color-error-dark);border:2px solid var(--color-error-border)}border-radius:10px;margin:10px;padding:10px;font-weight:500}}.card-image-gallery{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.card-image-container{margin:var(--spacing-xs);display:inline-block;position:relative}.card-image-gallery img.result{border-radius:var(--radius-sm);transition:transform var(--transition-fast), box-shadow var(--transition-fast);margin:0;display:block}.card-image-gallery img.result:hover{box-shadow:var(--shadow-md);z-index:10;transform:scale(1.05)}.close{opacity:.4;width:16px;height:16px;position:absolute;top:16px;right:16px}.close:hover{opacity:1}.close:before,.close:after{content:" ";background-color:var(--color-text-primary);width:2px;height:16px;position:absolute;left:8px}.close:before{transform:rotate(45deg)}.close:after{transform:rotate(-45deg)}.ReactModal__Content--after-open{max-width:80%;max-height:90%;color:var(--color-text-primary);overflow-y:scroll!important}.bulk-upload-container{margin-top:var(--spacing-xl);padding:var(--spacing-lg);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);border:2px solid var(--color-neutral-border);box-shadow:var(--shadow-sm)}.drop-zone{border:3px dashed var(--color-primary-border);border-radius:var(--radius-md);padding:var(--spacing-3xl);text-align:center;cursor:pointer;transition:all var(--transition-normal);background-color:var(--color-bg-dropzone);margin-top:var(--spacing-md);box-shadow:var(--shadow-sm);color:var(--color-text-primary)}.drop-zone:hover{border-color:var(--color-primary);background-color:var(--color-bg-dropzone-hover);box-shadow:var(--shadow-md);border-style:solid;border-width:3px;transform:translateY(-2px)}.drop-zone-active{border-color:var(--color-primary);background-color:var(--color-bg-dropzone-active);box-shadow:var(--shadow-lg);border-style:solid;border-width:3px;transform:translateY(-2px)}.drop-zone-content{pointer-events:none}.drop-zone-content p{margin:var(--spacing-sm) 0;color:var(--color-text-primary);font-size:1.1em;font-weight:500}.drop-zone-content p:first-child{color:var(--color-primary);font-size:1.2em;font-weight:600}.file-list{margin-top:var(--spacing-xl)}.file-list h4{margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.file-item{background-color:var(--color-bg-primary);border:1px solid var(--color-neutral-border);border-radius:var(--radius-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.file-item-pending{border-left:4px solid var(--color-neutral)}.file-item-validating{border-left:4px solid var(--color-warning)}.file-item-valid{border-left:4px solid var(--color-success)}.file-item-invalid{border-left:4px solid var(--color-error)}.file-item-uploading{border-left:4px solid var(--color-primary)}.file-item-success{border-left:4px solid var(--color-success)}.file-item-error{border-left:4px solid var(--color-error)}.file-item-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);display:flex}.file-name{color:var(--color-text-primary);flex:1;font-weight:600}.file-status{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);text-transform:capitalize;background-color:var(--color-bg-secondary);color:var(--color-neutral-text);font-size:.85em;font-weight:500}.file-item-pending .file-status{background-color:var(--color-bg-tertiary)}.file-item-validating .file-status{background-color:var(--color-warning-light);color:var(--color-warning-text)}.file-item-valid .file-status{background-color:var(--color-success-light);color:var(--color-success)}.file-item-invalid .file-status{background-color:var(--color-error-light);color:var(--color-error)}.file-item-uploading .file-status{background-color:var(--color-primary-light);color:var(--color-primary)}.file-item-success .file-status{background-color:var(--color-success-light);color:var(--color-success)}.file-item-error .file-status{background-color:var(--color-error-light);color:var(--color-error)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:.85em}.upload-actions{gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-neutral-border);display:flex}.btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;font-family:inherit;font-size:1em;font-weight:500}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-success{background-color:var(--color-success);color:var(--color-text-inverse)}.btn-success:hover:not(:disabled){opacity:.9}.btn-neutral{background-color:var(--color-neutral);color:var(--color-text-inverse);border:1px solid var(--color-neutral-dark)}.btn-neutral:hover:not(:disabled){background-color:var(--color-neutral-dark);opacity:1}.btn-warning{background-color:var(--color-warning);color:var(--color-text-inverse)}.btn-warning:hover:not(:disabled){opacity:.9}.btn-danger{background-color:var(--color-error);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background-color:var(--color-error-dark);opacity:1}.card{background-color:var(--color-bg-primary);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.card-success{border:2px solid var(--color-success-border);background-color:var(--color-success-light)}.card-error{border:2px solid var(--color-error-border);background-color:var(--color-error-light)}.card-warning{border:2px solid var(--color-warning-border);background-color:var(--color-warning-light)}.card-info{border:1px solid var(--color-primary-border);background-color:var(--color-primary-light)}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);margin-top:var(--spacing-md)}.alert-error{background-color:var(--color-error-light);color:var(--color-error-dark);border:1px solid var(--color-error-border)}.alert-success{background-color:var(--color-success-light);color:var(--color-text-primary);border:1px solid var(--color-success-border)}.alert-warning{background-color:var(--color-warning-light);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}.alert-info{background-color:var(--color-primary-light);color:var(--color-text-primary);border:1px solid var(--color-primary-border)}.btn-error-dismiss{margin-left:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-error-dark);color:var(--color-error-dark);background-color:#0000;font-size:.9em}.btn-error-dismiss:hover:not(:disabled){background-color:var(--color-error-dark);color:var(--color-text-inverse)}.modal-overlay{background-color:var(--color-bg-overlay);z-index:var(--z-index-modal);padding:var(--spacing-xl);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:100%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-lg);position:relative;overflow-y:auto}.how-to-use-modal{background-color:var(--color-bg-modal);border:1px solid var(--color-bg-modal-border)}.how-to-use-modal h2{color:#2c3e50;margin-top:0}.how-to-use-modal h3{color:#3d5a80;margin-top:24px}.how-to-use-modal h4{color:#5a7ba7;margin-top:20px;font-size:1.1em}.how-to-use-modal p,.how-to-use-modal li{color:#4a4a4a;line-height:1.6}.how-to-use-modal blockquote{background-color:#f0ede8;border-left:4px solid #8b7355;border-radius:4px;margin:12px 0;padding:12px 16px;font-family:monospace;font-size:.9em}.how-to-use-modal a{color:#5a7ba7;text-decoration:underline}.how-to-use-modal a:hover{color:#3d5a80}.modal-close{top:var(--spacing-md);right:var(--spacing-md);cursor:pointer;color:var(--color-neutral-text);border-radius:var(--radius-sm);width:32px;height:32px;transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:24px;display:flex;position:absolute}.modal-close:hover{background-color:var(--color-neutral-light)}.progress-container{width:100%;margin-top:var(--spacing-md)}.progress-label{margin-bottom:var(--spacing-xs);color:var(--color-neutral-text);justify-content:space-between;font-size:14px;display:flex}.progress-bar{background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm);width:100%;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);border-radius:var(--radius-sm);height:100%;transition:width var(--transition-normal)}.loading-spinner{justify-content:center;align-items:center;gap:var(--spacing-md);display:flex}.loading-spinner-inline{display:inline-flex}.spinner{border:3px solid var(--color-bg-tertiary);border-top:3px solid var(--color-primary);border-radius:50%;flex-shrink:0;animation:1s linear infinite spin}.spinner-message{color:var(--color-primary);font-weight:500}.table{width:100%;margin-top:var(--spacing-md);border-collapse:collapse;background-color:var(--color-bg-primary);border-radius:var(--radius-sm);overflow:hidden}.table thead{background-color:var(--color-bg-secondary)}.table th{padding:var(--spacing-sm);text-align:left;border-bottom:2px solid var(--color-neutral-border);font-weight:600}.table td{padding:var(--spacing-sm);border-bottom:1px solid var(--color-bg-tertiary)}.table tbody tr:last-child td{border-bottom:none}.card-details-title{margin-top:0;margin-bottom:var(--spacing-md);color:var(--color-text-primary);font-size:1.25rem}.card-details-image{margin-bottom:var(--spacing-md);text-align:center;display:inline-block;position:relative}.card-image-large{border-radius:var(--radius-md);width:100%;max-width:280px;height:auto;box-shadow:var(--shadow-md)}.card-flip-button{bottom:var(--spacing-md);right:var(--spacing-md);background-color:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;align-items:center;gap:var(--spacing-xs);z-index:10;font-size:.875rem;transition:background-color .2s,transform .2s;display:inline-flex;position:absolute}.card-flip-button:hover{background-color:var(--color-bg-secondary);transform:scale(1.05)}.card-flip-button:active{transform:scale(.95)}.card-details-info{gap:var(--spacing-sm);display:grid}.card-details-field{flex-direction:column;display:flex}.card-details-label{color:var(--color-neutral-text);margin-bottom:var(--spacing-xs);font-weight:600;display:block}.card-details-value{color:var(--color-text-primary)}.card-details-empty{color:var(--color-neutral-text-light);font-style:italic}.card-details-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-bg-tertiary)}.card-details-link{color:var(--color-primary);transition:text-decoration var(--transition-fast);font-weight:500;text-decoration:none}.card-details-link:hover{text-decoration:underline}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.flex{display:flex}.flex-column{flex-direction:column}.flex-center{justify-content:center;align-items:center}.flex-between{justify-content:space-between}.validation-preview{margin-top:var(--spacing-lg);padding:var(--spacing-lg);border-radius:var(--radius-md)}.validation-preview-success{border:2px solid var(--color-success-border);background-color:var(--color-success-light)}.validation-preview-error{border:2px solid var(--color-error-border);background-color:var(--color-error-light)}.validation-preview-title{margin-top:0}.validation-summary{margin-bottom:var(--spacing-md)}.validation-errors{margin-bottom:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-sm);white-space:pre-line;background-color:#ffcdd2}.validation-errors-content{margin-top:var(--spacing-xs);color:var(--color-error-dark)}.validation-warnings{margin-bottom:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-sm);white-space:pre-line;background-color:#fff9c4}.validation-warnings-content{margin-top:var(--spacing-xs);color:var(--color-warning-text)}.validation-actions{gap:var(--spacing-md);margin-top:var(--spacing-lg);display:flex}.section{margin-bottom:var(--spacing-3xl)}.section:last-child{margin-bottom:0}.section-header{margin-bottom:var(--spacing-lg)}.section-header h2{margin:0 0 var(--spacing-xs) 0;color:var(--color-text-primary);font-size:2em}.section-header h3{margin:0 0 var(--spacing-xs) 0;color:var(--color-text-primary);font-size:1.5em}.section-description{color:var(--color-text-secondary);margin-top:var(--spacing-xs);font-size:.95em}.section-card{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md);border:1px solid var(--color-neutral-border);margin-bottom:var(--spacing-xl);box-sizing:border-box;width:100%;overflow-x:hidden}.section-card:last-child{margin-bottom:0}.collapsible-section{transition:all var(--transition-normal)}.upload-sections-container{gap:var(--spacing-xl);flex-direction:column;display:flex}.scryfall-sync-container{margin-top:0}.scryfall-sync-container .alert{margin-bottom:var(--spacing-xl)}.scryfall-sync-title{color:var(--color-text-primary);margin-top:0}.scryfall-sync-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-size:.9em}.scryfall-sync-error-count{margin-top:var(--spacing-md);color:var(--color-error-dark);font-size:.9em}.scryfall-sync-result-title{margin-top:0;margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.scryfall-sync-result-stats{margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.scryfall-sync-errors{margin-top:var(--spacing-md);color:var(--color-text-secondary);font-size:.85em}.scryfall-sync-errors ul{margin-top:var(--spacing-xs);padding-left:var(--spacing-xl)}.wantlist-bubbles{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-wrap:wrap;display:flex}.wantlist-bubble{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-neutral-border);border-radius:var(--radius-xl);transition:all var(--transition-fast);font-size:.9em;display:inline-flex}.wantlist-bubble:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-primary-border)}.wantlist-bubble-name{color:var(--color-text-primary);font-weight:500}.wantlist-bubble-remove{color:var(--color-text-secondary);cursor:pointer;width:20px;min-width:20px;height:20px;min-height:20px;transition:all var(--transition-fast);margin-left:var(--spacing-xs);vertical-align:middle;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.1em;line-height:1;display:inline-flex}.wantlist-bubble-remove:hover{background-color:var(--color-error-light);color:var(--color-error);transform:scale(1.1)}.wantlist-bubble-remove:active{transform:scale(.95)}.scryfall-sync-errors li{margin-bottom:var(--spacing-xs)}.scryfall-sync-actions{gap:var(--spacing-md);margin-top:var(--spacing-xl);flex-wrap:wrap;display:flex}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.empty-state-icon{margin-bottom:var(--spacing-md);opacity:.5;font-size:3em}.empty-state-message{margin-bottom:var(--spacing-sm);color:var(--color-text-secondary);font-size:1.1em}.empty-state-hint{color:var(--color-text-tertiary);font-size:.9em}.search-area{box-sizing:border-box;width:100%;max-width:100%;overflow-x:hidden}.search-input-container{margin:var(--spacing-lg) 0;box-sizing:border-box;width:100%;max-width:100%;position:relative}.search-input{box-sizing:border-box;width:100%;max-width:100%;padding:var(--spacing-lg) var(--spacing-xl);background-color:var(--color-bg-tertiary);border:2px solid var(--color-neutral-border);border-radius:var(--radius-md);color:var(--color-text-primary);transition:all var(--transition-fast);font-size:1.1em}.search-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #6b9dd133}.search-input::placeholder{color:var(--color-text-tertiary)}.section-divider{background:linear-gradient(to right, transparent, var(--color-neutral-border), transparent);height:1px;margin:var(--spacing-xl) 0;border:none}.text-secondary{color:var(--color-text-secondary);font-size:.95em}.text-tertiary{color:var(--color-text-tertiary);font-size:.9em}.inventory-status-card{background-color:var(--color-bg-tertiary);border:1px solid var(--color-primary-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);justify-content:space-between;align-items:center;gap:var(--spacing-xl);display:flex}.inventory-status-header{align-items:center;gap:var(--spacing-lg);flex:1;display:flex}.inventory-status-icon{opacity:.8;font-size:3em}.inventory-status-info{flex:1}.inventory-status-title{color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-size:1.2em;font-weight:600}.inventory-status-stats{gap:var(--spacing-2xl);flex-wrap:wrap;display:flex}.inventory-stat{gap:var(--spacing-xs);flex-direction:column;display:flex}.inventory-stat-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.9em}.inventory-stat-value{color:var(--color-primary);font-size:1.8em;font-weight:700}.inventory-status-actions{gap:var(--spacing-md);display:flex}.upload-area{gap:var(--spacing-lg);flex-direction:column;display:flex}.upload-divider{text-align:center;margin:var(--spacing-md) 0;position:relative}.upload-divider:before{content:"";background:linear-gradient(to right, transparent, var(--color-neutral-border), transparent);height:1px;position:absolute;top:50%;left:0;right:0}.upload-divider-text{background-color:var(--color-bg-primary);padding:0 var(--spacing-md);color:var(--color-text-tertiary);font-size:.9em;position:relative}.upload-button-container{text-align:center;margin-top:var(--spacing-md)}:root{--color-primary:#6b9bd1;--color-primary-hover:#5a8bc4;--color-primary-light:#2a3f5f;--color-primary-border:#4a6fa5;--color-primary-dark:#1e2a3f;--color-success:#4caf50;--color-success-light:#1b3e1f;--color-success-border:#2e7d32;--color-success-dark:#66bb6a;--color-error:#ef5350;--color-error-light:#3d1b1b;--color-error-border:#c62828;--color-error-dark:#ff6b6b;--color-warning:#ffa726;--color-warning-light:#3d2a1b;--color-warning-border:#f57c00;--color-warning-text:#ffb74d;--color-warning-dark:#ffcc80;--color-neutral:#78909c;--color-neutral-light:#2a2f33;--color-neutral-border:#455a64;--color-neutral-text:#b0bec5;--color-neutral-text-light:#90a4ae;--color-neutral-dark:#546e7a;--color-bg-primary:#1a1d24;--color-bg-secondary:#252932;--color-bg-tertiary:#2f3440;--color-bg-overlay:#000000d9;--color-bg-modal:#2a2d35;--color-bg-modal-border:#3a3f4a;--color-bg-dropzone:#252932;--color-bg-dropzone-hover:#2a3f5f;--color-bg-dropzone-active:#3a4f6f;--color-text-primary:#e8eaed;--color-text-secondary:#b0bec5;--color-text-tertiary:#90a4ae;--color-text-inverse:#1a1d24;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:20px;--spacing-2xl:24px;--spacing-3xl:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:25px;--shadow-sm:0 2px 4px #0006;--shadow-md:0 4px 6px #00000080;--shadow-lg:0 8px 16px #0009;--transition-fast:.2s;--transition-normal:.3s;--transition-slow:.5s;--z-index-modal:1000;--z-index-dropdown:100;--z-index-tooltip:200;color-scheme:dark;color:var(--color-text-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#121418;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:var(--color-primary);text-decoration:inherit;font-weight:500}a:hover{color:var(--color-primary-hover)}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{border:1px solid var(--color-neutral-border);background-color:var(--color-bg-tertiary);color:var(--color-text-primary);cursor:pointer;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:all .25s}button:hover{border-color:var(--color-primary);background-color:var(--color-bg-secondary)}button:focus,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
