@font-face{font-family:Habbo;src:url(/Habbo.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--font-pixel: "Habbo", monospace;--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--font-mono: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", monospace;--color-bg: #000000;--color-surface: #0a0a0a;--color-surface-elevated: #111111;--color-accent: rgb(244, 205, 1);--color-accent-hover: rgb(255, 220, 40);--color-text: #ffffff;--color-text-muted: #888888;--color-text-subtle: #555555;--color-border: rgba(255, 255, 255, .12);--color-border-subtle: rgba(255, 255, 255, .06);--color-success: #4ade80;--color-warning: #fbbf24;--color-error: #ef4444;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;font-family:var(--font-body);line-height:1.5;font-weight:400;color-scheme:dark;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%}.text-page-title{font-family:var(--font-body);font-size:1.5rem;font-weight:600;color:var(--color-text);line-height:1.2}.text-section-header{font-family:var(--font-body);font-size:1.125rem;font-weight:600;color:var(--color-text);line-height:1.3}.text-body{font-family:var(--font-body);font-size:.9375rem;font-weight:400;color:var(--color-text);line-height:1.5}.text-label{font-family:var(--font-body);font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;line-height:1.4}.text-pixel{font-family:var(--font-pixel);font-size:16px;color:var(--color-text);text-transform:uppercase;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;image-rendering:pixelated}.text-pixel-small{font-family:var(--font-pixel);font-size:14px;color:var(--color-text);text-transform:uppercase;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;image-rendering:pixelated}.text-pixel-large{font-family:var(--font-pixel);font-size:20px;color:var(--color-text);text-transform:uppercase;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;image-rendering:pixelated}.text-mono{font-family:var(--font-mono);font-size:.875rem;color:var(--color-text);line-height:1.5}.text-mono-small{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text);line-height:1.5}.text-code{font-family:var(--font-mono);font-size:.875em;color:var(--color-accent);background:var(--color-surface-elevated);padding:.15em .4em;border-radius:var(--radius-sm)}.text-caption{font-family:var(--font-body);font-size:.75rem;font-weight:400;color:var(--color-text-muted);line-height:1.4}.text-muted{color:var(--color-text-muted)}.text-subtle{color:var(--color-text-subtle)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.warning-box{border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:1rem}.warning-box p{margin:0 0 .75rem;color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.warning-box--with-icon{display:flex;gap:.75rem}.warning-box__icon{font-size:1.25rem;flex-shrink:0}.warning-box__title{display:block;color:var(--color-error);font-weight:600;margin-bottom:.25rem}a{color:var(--color-accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--color-accent-hover);text-decoration:underline}.pixel-loader{position:relative;background:#1a1a1a;overflow:hidden;image-rendering:pixelated;border:2px solid #333}.pixel-loader--scanline{background:linear-gradient(to bottom,#0a0a0a,#1a1a1a,#0a0a0a)}.pixel-loader__scanline{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to bottom,transparent 0%,rgba(100,200,255,.3) 50%,transparent 100%);box-shadow:0 0 8px #64c8ff66,0 0 16px #64c8ff33;animation:scanline-move 1.5s linear infinite}@keyframes scanline-move{0%{top:-4px;opacity:0}10%{opacity:1}90%{opacity:1}to{top:calc(100% + 4px);opacity:0}}.pixel-loader--scanline:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 2px,rgba(0,0,0,.2) 2px,rgba(0,0,0,.2) 4px);pointer-events:none;z-index:1}.pixel-loader--scanline:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.03) 50%,transparent 100%);animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}.pixel-loader--blocks{background:#0f0f0f}.pixel-loader__blocks{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);width:100%;height:100%;gap:2px;padding:4px}.pixel-loader__block{background:#222;animation:block-pulse 1.6s ease-in-out infinite}@keyframes block-pulse{0%,to{background:#222;box-shadow:none}50%{background:#3a3a3a;box-shadow:inset 0 0 4px #64c8ff4d}}.pixel-loader__block:nth-child(1){animation-delay:0s}.pixel-loader__block:nth-child(2){animation-delay:.1s}.pixel-loader__block:nth-child(3){animation-delay:.2s}.pixel-loader__block:nth-child(4){animation-delay:.3s}.pixel-loader__block:nth-child(5){animation-delay:.1s}.pixel-loader__block:nth-child(6){animation-delay:.2s}.pixel-loader__block:nth-child(7){animation-delay:.3s}.pixel-loader__block:nth-child(8){animation-delay:.4s}.pixel-loader__block:nth-child(9){animation-delay:.2s}.pixel-loader__block:nth-child(10){animation-delay:.3s}.pixel-loader__block:nth-child(11){animation-delay:.4s}.pixel-loader__block:nth-child(12){animation-delay:.5s}.pixel-loader__block:nth-child(13){animation-delay:.3s}.pixel-loader__block:nth-child(14){animation-delay:.4s}.pixel-loader__block:nth-child(15){animation-delay:.5s}.pixel-loader__block:nth-child(16){animation-delay:.6s}.pixel-loader--pulse{background:#0f0f0f}.pixel-loader__pulse-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%;gap:3px;padding:8px}.pixel-loader__pulse-cell{background:#1a1a1a;animation:cell-pulse 1.8s ease-in-out infinite}@keyframes cell-pulse{0%,to{background:#1a1a1a;transform:scale(1)}50%{background:#2a2a2a;transform:scale(.9)}}.pixel-loader__pulse-cell:nth-child(5){animation:center-pulse 1.2s ease-in-out infinite}@keyframes center-pulse{0%,to{background:#222;box-shadow:0 0 #64c8ff00}50%{background:#333;box-shadow:0 0 8px 2px #64c8ff4d}}.pixel-loader__pulse-cell:nth-child(2),.pixel-loader__pulse-cell:nth-child(4),.pixel-loader__pulse-cell:nth-child(6),.pixel-loader__pulse-cell:nth-child(8){animation-delay:.15s}.pixel-loader__pulse-cell:nth-child(1),.pixel-loader__pulse-cell:nth-child(3),.pixel-loader__pulse-cell:nth-child(7),.pixel-loader__pulse-cell:nth-child(9){animation-delay:.3s}.cartridge-sprite{position:relative;image-rendering:pixelated}.cartridge-sprite__artwork,.cartridge-sprite__loader{position:absolute;left:50%;transform:translate(-50%);object-fit:cover;image-rendering:pixelated;opacity:0;transition:opacity .3s ease-out}.cartridge-sprite__artwork.visible,.cartridge-sprite__loader.visible{opacity:1}.cartridge-sprite__loader{border:none}.cartridge-sprite__overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;image-rendering:pixelated}.cartridge-sprite--large{width:150px;height:98px}.cartridge-sprite--large .cartridge-sprite__artwork,.cartridge-sprite--large .cartridge-sprite__loader{width:74px;height:86px;top:7px}.cartridge-sprite--medium{width:112px;height:73px}.cartridge-sprite--medium .cartridge-sprite__artwork,.cartridge-sprite--medium .cartridge-sprite__loader{width:55px;height:64px;top:5px}.cartridge-sprite--small{width:75px;height:49px}.cartridge-sprite--small .cartridge-sprite__artwork,.cartridge-sprite--small .cartridge-sprite__loader{width:37px;height:43px;top:3.5px}.cartridge-card{position:relative;background:var(--color-bg);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;padding:20px;transition:background-color .4s cubic-bezier(.16,1,.3,1);opacity:0}.cartridge-card.animate-in{animation:cardSlideIn .6s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--tile-index) * 30ms)}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.cartridge-card:hover{background:#fff}.cart-sprite-wrapper{position:relative;width:150px;height:98px;margin:0 auto;transition:transform .4s cubic-bezier(.16,1,.3,1)}.cartridge-card:hover .cart-sprite-wrapper{transform:translateY(-3px)}.cart-sprite-wrapper .cart-sprite-base,.cart-sprite-wrapper .cart-sprite-hover{position:absolute;top:0;left:0}.cart-sprite-wrapper .cart-sprite-hover{opacity:0;transition:opacity .4s cubic-bezier(.16,1,.3,1)}.cartridge-card:hover .cart-sprite-wrapper .cart-sprite-hover{opacity:1}.cartridge-card-info{padding:.5rem 0 0;text-align:center}.cartridge-card-name{display:block;font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .4s cubic-bezier(.16,1,.3,1)}.cartridge-card:hover .cartridge-card-name{color:#000}.cartridge-card-name.unknown{color:var(--color-text-muted)}.cartridge-card:hover .cartridge-card-name.unknown{color:#000}.cartridge-card-id{display:block;line-height:16px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .4s cubic-bezier(.16,1,.3,1)}.cartridge-card:hover .cartridge-card-id{color:#000}.cartridge-card.selectable:hover{transform:scale(1.02)}.cartridge-card .selection-checkbox{position:absolute;top:.5rem;left:.5rem;width:20px;height:20px;background:#000;border:2px solid white;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;z-index:10}.cartridge-card.selectable .selection-checkbox{opacity:1}.cartridge-card.selected .selection-checkbox{background:#000;border-color:#000}.cartridge-card.selected .selection-checkbox:after{content:"";width:10px;height:6px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg) translateY(-1px)}.cartridge-card.selected{background:var(--color-accent)}.cartridge-card.selected .cartridge-card-name,.cartridge-card.selected .cartridge-card-id{color:#000}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem}.pagination button{padding:.5rem 1rem;background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);transition:all .2s}.pagination button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.control-row{display:flex;justify-content:space-between;align-items:center;width:100%;height:32px;margin-bottom:4px}.control-label{font-family:var(--font-pixel);font-size:32px;color:var(--color-text);text-align:left;line-height:1;image-rendering:pixelated;-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset}.option-selector{display:flex;align-items:center;width:240px;flex-shrink:0}.option-value{font-family:var(--font-pixel);font-size:32px;color:var(--color-text);text-align:center;flex:1;line-height:1;image-rendering:pixelated;-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arrow-btn{background:transparent;border:none;width:32px;height:32px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s ease;color:var(--color-text)}.arrow-btn:hover:not(.disabled){opacity:1}.arrow-btn.disabled{opacity:.25;cursor:default}.arrow-icon{width:24px;height:24px;image-rendering:pixelated}.toggle-container{display:flex;align-items:center;gap:8px}.toggle-text{line-height:1;color:#fff}.toggle-switch{position:relative;width:52px;height:28px;border-radius:14px;border:1px solid;cursor:pointer;transition:all .2s ease;padding:0;display:flex;align-items:center}.toggle-switch.off{background:#000;border-color:#fff}.toggle-switch.on{background:#00c500;border-color:#00c500}.toggle-thumb{position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.toggle-switch.off .toggle-thumb{left:3px}.toggle-switch.on .toggle-thumb{left:calc(100% - 21px)}.toggle-thumb-dot{width:6px;height:6px;border-radius:50%;background:#00c500}.toggle-switch.disabled{cursor:default}.control-row.disabled{opacity:.4}.controls-test-page .settings-section{display:flex;flex-direction:column;gap:0;margin-bottom:32px;background:transparent;border-radius:0;overflow:visible;padding:0}.controls-test-page .settings-section:last-child{margin-bottom:0}.settings-section-header{font-family:var(--font-pixel);font-size:16px;color:var(--color-text-muted);text-transform:uppercase;margin:0 0 8px;image-rendering:pixelated;-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset}.icon-button{display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;padding:0;line-height:1;transition:color .15s,background .15s;flex-shrink:0}.icon-button--ghost{background:transparent;color:var(--color-text-muted);border-radius:var(--radius-sm)}.icon-button--ghost:hover{color:var(--color-text);background:var(--color-surface-hover)}.icon-button--subtle{background:var(--color-surface);color:var(--color-text-muted);border-radius:var(--radius-sm)}.icon-button--subtle:hover{color:var(--color-text);background:var(--color-surface-hover)}.icon-button--sm{width:28px;height:28px;font-size:1.25rem}.icon-button--md{width:32px;height:32px;font-size:1.5rem}.modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;animation:modalFadeIn .15s ease-out}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:90%;max-height:90vh;display:flex;flex-direction:column;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-sm{max-width:380px}.modal-md{max-width:480px}.modal-lg{max-width:600px}.modal-xl{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.modal-header h2{margin:0;font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--color-text)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{display:flex;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid var(--color-border);flex-shrink:0}.modal-footer-end{justify-content:flex-end}.modal-footer-start{justify-content:flex-start}.modal-footer-center{justify-content:center}.modal-footer-between{justify-content:space-between}.modal-description{color:var(--color-text-muted);font-size:.9rem;line-height:1.5;margin:0 0 1.5rem}.modal-section{margin-bottom:1.5rem}.modal-section:last-child{margin-bottom:0}.modal-loading,.modal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;text-align:center}.modal-loading{color:var(--color-text-muted)}.modal-error{color:var(--color-error)}@media(max-width:480px){.modal{width:100%;max-width:100%;max-height:100%;border-radius:0}.modal-header,.modal-body,.modal-footer{padding-left:1rem;padding-right:1rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--radius-md);border:none;cursor:pointer;font-family:var(--font-body);font-weight:500;text-decoration:none;transition:all .15s ease;position:relative}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{padding:.5rem .75rem;font-size:.8rem}.btn-md{padding:.625rem 1.25rem;font-size:.875rem}.btn-lg{padding:.875rem 1.75rem;font-size:1rem}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-secondary:active:not(:disabled){transform:scale(.98)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:active:not(:disabled){transform:scale(.98)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:active:not(:disabled){transform:scale(.98)}.btn-icon{padding:.5rem;aspect-ratio:1}.btn-icon.btn-sm{padding:.375rem}.btn-icon.btn-md{padding:.5rem}.btn-icon.btn-lg{padding:.625rem}.btn-loading{position:relative;pointer-events:none}.btn-loading .btn-content-hidden{visibility:hidden}.btn-spinner{position:absolute;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btnSpin .6s linear infinite}@keyframes btnSpin{to{transform:rotate(360deg)}}.btn-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;height:1.1rem;padding:0 .3rem;margin-left:.5rem;font-size:.65rem;font-weight:600;background:var(--color-accent);color:#000;border-radius:999px;line-height:1;transform:translateY(-2px)}.tooltip-trigger{display:inline-flex}.tooltip-content{position:fixed;width:max-content;max-width:280px;padding:.625rem .75rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:.8rem;line-height:1.5;box-shadow:0 4px 16px #0000004d;pointer-events:none;z-index:10000;transition:opacity .15s}.tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:10px;font-family:var(--font-body);font-weight:600;background:var(--color-border);color:var(--color-text-muted);border-radius:50%;cursor:help;transition:background .15s,color .15s}.tooltip-icon:hover{background:var(--color-text-muted);color:var(--color-bg)}.label-sync-indicator{display:flex;align-items:center;gap:.75rem}.label-sync-label{color:#fff;text-transform:uppercase;letter-spacing:.05em}.label-sync-light{display:inline-block;width:20px;height:6px;border-radius:6px;flex-shrink:0;transition:background-color .2s,box-shadow .2s}.label-sync-indicator.synced .label-sync-light{background-color:#00fa04;box-shadow:0 0 8px #00fa0499}.label-sync-indicator.sync-required .label-sync-light{background-color:var(--color-error);box-shadow:0 0 8px #ef444499}.label-sync-indicator.local-only .label-sync-light{background-color:#6b7280}.label-sync-indicator.sd-only .label-sync-light{background-color:#f59e0b;box-shadow:0 0 8px #f59e0b99}.label-sync-indicator.none .label-sync-light{background-color:#6b7280}.label-sync-indicator.checking .label-sync-light{background-color:var(--color-text-muted);animation:pulse-light 1.5s ease-in-out infinite}@keyframes pulse-light{0%,to{opacity:.4}50%{opacity:1}}.label-sync-button{height:24px;padding:0 .625rem;background:var(--color-error);color:#000;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;text-transform:uppercase;font-weight:500;white-space:nowrap}.label-sync-button:hover:not(:disabled){background:#ff6b6b}.label-sync-button:disabled{opacity:.6;cursor:not-allowed}.label-sync-indicator.sd-only .label-sync-button{background:#f59e0b}.label-sync-indicator.sd-only .label-sync-button:hover:not(:disabled){background:#fbbf24}.progress-bar-container{width:100%}.progress-bar-track{height:4px;background:var(--color-surface-elevated);border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--color-accent);border-radius:2px;transition:width .3s ease}.progress-bar-fill.indeterminate{width:30%!important;animation:progress-bar-indeterminate 1.5s ease-in-out infinite}@keyframes progress-bar-indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.progress-bar-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem}.progress-bar-percentage{margin:0}.progress-bar-label{background:var(--color-surface-elevated);padding:.25rem .5rem;border-radius:var(--radius-sm)}.progress-bar-details{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.85rem;color:var(--color-text-muted)}.progress-bar-separator,.progress-bar-eta{color:var(--color-text-subtle)}.label-sync-modal{max-width:480px}.label-sync-modal .modal-header{display:flex;justify-content:space-between;align-items:center}.label-sync-modal .modal-close-btn{background:none;border:none;font-size:24px;color:var(--color-text-muted);cursor:pointer;padding:0;line-height:1}.label-sync-modal .modal-close-btn:hover{color:var(--color-text)}.sync-modal-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem}.sync-status-summary{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;padding:1rem;background:var(--color-surface-elevated);border-radius:var(--radius-md)}.sync-status-item{display:flex;justify-content:space-between;align-items:center}.sync-status-label{font-weight:500;color:var(--color-text-muted)}.sync-status-value{font-family:var(--font-mono);font-size:14px}.sync-status-item.has-data .sync-status-value{color:var(--color-success)}.sync-status-item.no-data .sync-status-value{color:var(--color-text-muted)}.sync-scenario{display:flex;flex-direction:column;gap:1rem}.sync-description{color:var(--color-text-muted);line-height:1.5}.sync-direction-options{display:flex;flex-direction:column;gap:.75rem}.sync-direction-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:all .2s}.sync-direction-btn:hover{border-color:var(--color-accent);background:var(--color-surface-hover)}.sync-direction-title{font-weight:600;color:var(--color-text)}.sync-direction-desc{font-size:13px;color:var(--color-text-muted)}.sync-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.sync-modal-progress{display:flex;flex-direction:column;gap:1rem;padding:1rem 0}.sync-progress-status{font-weight:500;text-align:center}.sync-warning{font-size:13px;color:var(--color-text-muted);text-align:center;font-style:italic}.sync-modal-complete{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem 0;text-align:center}.sync-success-icon{width:48px;height:48px;border-radius:50%;background:var(--color-success);color:#000;font-size:28px;display:flex;align-items:center;justify-content:center}.sync-modal-complete h3{color:var(--color-success);margin:0}.sync-modal-error{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem 0;text-align:center}.sync-error-icon{width:48px;height:48px;border-radius:50%;background:var(--color-error);color:#fff;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center}.sync-modal-error h3{color:var(--color-error);margin:0}.paste-settings-content{display:flex;flex-direction:column;gap:1.25rem}.paste-info{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-surface);border-radius:var(--radius-md)}.paste-source,.paste-target{flex:1;display:flex;flex-direction:column;gap:.25rem}.paste-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.025em}.paste-value{font-weight:500;color:var(--color-text)}.paste-cart-id{font-size:.8rem;color:var(--color-accent)}.paste-arrow{font-size:1.5rem;color:var(--color-text-muted);flex-shrink:0}.paste-note{font-size:.9rem;color:var(--color-text-muted);line-height:1.5}.paste-note p{margin:0 0 .5rem}.paste-note p:last-child{margin-bottom:0}.paste-sd-note{color:var(--color-accent)}.paste-results{display:flex;flex-direction:column;gap:.75rem}.paste-result-success,.paste-result-failed{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:var(--radius-md)}.paste-result-success{background:#22c55e1a;color:#22c55e}.paste-result-failed{background:#ef44441a;color:#ef4444}.paste-result-success .result-icon,.paste-result-failed .result-icon{font-size:1rem}.paste-results-footer{display:flex;justify-content:center}.paste-success-message{color:#22c55e;font-weight:500}.cartridges-empty-state{max-width:900px;margin:0 auto;padding:3rem 1.5rem}.empty-state-header{text-align:center;margin-bottom:3rem}.empty-state-header .empty-icon{font-size:3rem;margin-bottom:1rem;filter:grayscale(100%)}.empty-state-header h2{font-size:1.75rem;font-weight:600;margin:0 0 .75rem;color:var(--color-text-primary)}.empty-state-subtitle{color:var(--color-text-secondary);font-size:1rem;margin:0}.empty-state-options{display:flex;flex-direction:column;gap:1rem}.empty-state-card{display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color .2s,opacity .2s}.empty-state-card:hover:not(.disabled){border-color:var(--color-border-hover)}.empty-state-card.disabled{opacity:.5}.empty-state-card.disabled .card-content h3,.empty-state-card.disabled .card-content p:not(.card-meta){color:var(--color-text-muted)}.empty-state-card .card-icon{font-size:1.75rem;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border-radius:var(--radius-md)}.empty-state-card .card-content{flex:1;min-width:0}.empty-state-card .card-content h3{font-size:1rem;font-weight:600;margin:0 0 .5rem;color:var(--color-text-primary)}.empty-state-card .card-content p{font-size:.875rem;color:var(--color-text-secondary);margin:0;line-height:1.5}.empty-state-card .card-content p+p{margin-top:.5rem}.empty-state-card .card-meta{font-size:.8125rem;color:var(--color-primary)}.empty-state-card .card-meta.muted{color:var(--color-text-muted)}.empty-state-card .card-meta a{color:var(--color-primary);text-decoration:none}.empty-state-card .card-meta a:hover{text-decoration:underline}.empty-state-card>button{flex-shrink:0;align-self:center;min-width:140px}@media(max-width:640px){.cartridges-empty-state{padding:2rem 1rem}.empty-state-card{flex-direction:column;align-items:stretch;text-align:center}.empty-state-card .card-icon{align-self:center}.empty-state-card>button{align-self:stretch;min-width:auto}}.labels-browser{flex:1}.labels-header{display:flex;flex-direction:column;margin-bottom:1rem}.labels-header-top{display:flex;justify-content:space-between;align-items:center}.labels-header h2{margin:0;font-family:var(--font-body);font-size:1.25rem;font-weight:600;color:var(--color-text)}.labels-header-actions{display:flex;gap:.5rem;align-items:center}.label-count{display:block;margin-top:0}.dataset-info-trigger{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:12px;font-family:var(--font-body);background:var(--color-border);color:var(--color-text-muted);border-radius:50%;cursor:help;text-transform:none}.dataset-info-trigger:hover{background:var(--color-text-muted);color:var(--color-bg)}.labels-controls{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1rem;margin-bottom:1.5rem}.import-section{display:flex;gap:.75rem;margin-bottom:1rem}.debug-section{display:flex;gap:.75rem;margin-bottom:1rem;padding:.75rem;background:var(--color-surface-elevated)}.debug-section input{flex:1;padding:.5rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:16px;font-family:var(--font-pixel)}.debug-section input:focus{outline:none;border-color:var(--color-accent)}.debug-section button{padding:.5rem 1rem;background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);font-size:.85rem;white-space:nowrap;transition:all .2s}.debug-section button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.debug-section button:disabled{opacity:.4;cursor:not-allowed}.import-status{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--color-text-muted)}.status-imported{background:#4ade8026;color:var(--color-success);padding:.25rem .75rem;border-radius:100px;font-family:var(--font-pixel);font-size:16px;font-weight:400;text-transform:uppercase}.status-not-imported{color:var(--color-warning)}.status-details{color:var(--color-text-muted)}.labels-empty{text-align:center;padding:3rem 2rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.labels-empty p{margin:.5rem 0;color:var(--color-text-muted)}.labels-empty .hint{font-size:.85rem;color:var(--color-text-subtle);margin-top:1rem}.labels-empty .empty-actions{display:flex;gap:.75rem;justify-content:center;margin-top:1.5rem}.labels-search{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.search-input-wrapper{position:relative;flex:1}.search-input-wrapper input{width:100%;padding:.75rem 2.5rem .75rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-body);font-size:.9rem;transition:border-color .2s}.search-input-wrapper input:focus{outline:none;border-color:var(--color-accent)}.search-clear-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:1.5rem;height:1.5rem;padding:0;background:var(--color-border);color:var(--color-text-muted);border:none;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s}.search-clear-btn:hover{background:var(--color-text-muted);color:var(--color-bg)}.search-result-count{color:var(--color-text-muted);font-size:.85rem;white-space:nowrap}.labels-filters{display:flex;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.labels-filters .search-input-wrapper input{height:36px;padding:0 2.5rem 0 .75rem}.filter-group{display:flex;flex-direction:column;gap:.35rem}.filter-group select{appearance:none;-webkit-appearance:none;background:var(--color-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;color:var(--color-text);border:1px solid var(--color-border);padding:0 2.25rem 0 .75rem;height:36px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.85rem;min-width:140px;cursor:pointer;transition:border-color .2s}.filter-group select:hover{border-color:var(--color-accent)}.filter-group select:focus{outline:none;border-color:var(--color-accent)}.filter-group-search{flex:1;min-width:200px}.filter-group-search label{display:flex;align-items:center;gap:.35rem}.filter-group-search .search-input-wrapper input{background:var(--color-bg)}.filter-group-toggle{align-self:flex-end}.toggle-buttons{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.toggle-btn{background:var(--color-bg);border:none;padding:.5rem 1rem;font-size:.85rem;color:var(--color-text-muted);cursor:pointer;transition:all .2s;font-family:var(--font-body)}.toggle-btn:first-child{border-right:1px solid var(--color-border)}.toggle-btn:hover:not(.active){background:var(--color-bg-hover);color:var(--color-text)}.toggle-btn.active{background:var(--color-accent);color:#000}.filter-clear-btn.btn{font-size:.85rem;padding:0 .75rem;height:36px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);align-self:flex-end}.filter-clear-btn.btn:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border);color:var(--color-text)}.filter-info{margin-left:auto;padding-left:.5rem;height:36px}.labels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;min-height:100vh;align-content:start}.label-editor-modal{max-width:600px}.label-editor-modal .label-info{margin-bottom:1.5rem}.label-info label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-family:var(--font-pixel);font-size:16px;color:var(--color-text-muted);text-transform:uppercase}.label-info .game-name{font-size:1.1rem;color:var(--color-success);font-weight:600;margin-bottom:1rem}.name-editor{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.name-editor-row{display:flex;gap:.5rem}.name-editor input{flex:1;padding:.6rem .75rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text);font-family:var(--font-body);font-size:1rem;transition:border-color .2s}.name-editor input:focus{outline:none;border-color:var(--color-accent)}.btn-small{padding:.5rem 1rem;font-size:.85rem}.unknown-toggle{display:flex;align-items:center;gap:.5rem;margin-left:1rem;cursor:pointer;color:var(--color-text-muted);font-size:.9rem;white-space:nowrap;transition:color .2s}.unknown-toggle:hover{color:var(--color-text)}.unknown-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-accent)}.label-comparison{display:flex;align-items:flex-start;justify-content:center;gap:2rem;margin-bottom:1rem}.label-current,.label-new{text-align:center}.label-current h4,.label-new h4{margin:0 0 .5rem;font-family:var(--font-body);font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.label-new .drop-zone{height:98px;min-height:98px;width:150px;padding:.75rem;display:flex;align-items:center;justify-content:center}.label-new .drop-zone-content p{margin:.25rem 0;font-size:.8rem}.label-new .drop-zone-content .hint{font-size:.7rem}.label-new .preview-image{width:74px;height:86px;object-fit:cover;image-rendering:pixelated}.connection-indicator{display:inline-block;width:20px;height:6px;border-radius:6px;flex-shrink:0;transition:background-color .2s,box-shadow .2s}.connection-indicator.disconnected{background-color:#6b7280}.connection-indicator.connected{background-color:#00fa04;box-shadow:0 0 8px #00fa0499}.slide-over-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;animation:fadeIn .2s ease-out}.slide-over-overlay.closing{animation:fadeOut .2s ease-in forwards}.slide-over-panel{position:fixed;top:0;right:0;width:800px;max-width:100vw;height:100vh;background:var(--color-bg);border-left:1px solid var(--color-border);display:flex;flex-direction:column;animation:panelSlideIn .25s ease-out}.slide-over-panel.closing{animation:panelSlideOut .2s ease-in forwards}@keyframes panelSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes panelSlideOut{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.slide-over-header{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;border-bottom:1px solid var(--color-border)}.slide-over-header .cartridge-sprite{flex-shrink:0}.slide-over-title{flex:1;min-width:0}.slide-over-title h2{font-size:16px;font-weight:600;color:var(--color-text)}.slide-over-tabs{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border);padding:0 1.5rem}.slide-over-tabs-left{display:flex}.ownership-toggle .control-row{justify-content:flex-end}.ownership-toggle .control-label{display:none}.tab-btn{background:none;border:none;padding:.875rem 1rem;font-family:var(--font-body);font-size:.9rem;color:var(--color-text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--color-text)}.tab-btn.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.slide-over-content{flex:1;overflow-y:auto;padding:1.5rem}.tab-content{display:flex;flex-direction:column;gap:1.25rem}.tab-content.loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--color-text-muted)}.tab-content .field-group{display:flex;flex-direction:column;gap:.5rem}.tab-content .field-group label{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.025em}.tab-content .readonly{color:var(--color-text);font-size:1rem}.tab-content .field-hint{font-size:.85rem;color:var(--color-text-muted)}.tab-content .field-group:has(.known-game-info){gap:4px}.tab-content .known-game-info{display:flex;flex-direction:column;gap:4px}.tab-content .label-comparison{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding-top:16px}.tab-content .label-comparison h4{margin:0 0 .75rem;text-align:center}.tab-content .label-current,.tab-content .label-new{display:flex;flex-direction:column;align-items:center}.tab-content .label-comparison .cartridge-sprite{flex-shrink:0}.tab-content .drop-zone{width:100%;max-width:148px;aspect-ratio:74 / 86;border:2px dashed var(--color-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,background .15s}.tab-content .drop-zone:hover,.tab-content .drop-zone.active{border-color:var(--color-accent);background:#f4cd010d}.tab-content .drop-zone .preview-image{max-width:100%;max-height:100%;object-fit:contain}.tab-content .drop-zone-content{text-align:center;color:var(--color-text-muted);font-size:.85rem}.tab-content .drop-zone-content .hint{font-size:.75rem;margin-top:.25rem}.tab-content .artwork-note{font-size:.8rem;margin:0}.tab-actions{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;margin-top:auto;border-top:1px solid var(--color-border)}.tab-actions-left{display:flex;gap:.5rem}.data-status{display:flex;flex-direction:column;gap:.5rem}.status-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--color-text-muted)}.status-item.has-data{color:var(--color-text)}.status-item .status-icon{font-size:.85rem;width:1rem;text-align:center}.status-item.has-data .status-icon{color:var(--color-success)}.status-item .status-detail{font-size:.8rem;color:var(--color-text-muted)}.action-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.empty-message{color:var(--color-text-muted);font-size:.9rem;line-height:1.5;text-align:center;padding:2rem 1rem;background:var(--color-surface);border-radius:var(--radius-md)}.info-box{background:var(--color-surface);padding:1rem;border-radius:var(--radius-md);margin-top:auto}.info-box h4{margin:0 0 .5rem}.info-box p{font-size:.85rem;color:var(--color-text-muted);margin:0;line-height:1.5}.save-info-details{margin-bottom:1rem}.save-info-card{background:var(--color-surface);padding:1rem;border-radius:var(--radius-md)}.save-info-card h4{margin:0 0 .75rem}.save-stats{display:flex;gap:1.5rem;margin-bottom:.75rem}.save-stats .stat{display:flex;flex-direction:column;gap:.15rem}.save-stats .stat-value{font-size:1.25rem;font-weight:600;color:var(--color-text)}.save-stats .stat-label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.025em}.capacity-bar{height:6px;background:var(--color-bg);border-radius:3px;overflow:hidden}.capacity-fill{height:100%;background:var(--color-accent);border-radius:3px;transition:width .3s ease}.settings-viewer{margin-top:1rem}.settings-viewer h4{margin:0 0 .75rem}.settings-viewer .settings-section{background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;margin-bottom:.5rem}.settings-section .section-header{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .15s}.settings-section .section-header:hover{background:#ffffff0d}.settings-section .section-title{font-weight:500;color:var(--color-text);flex-shrink:0}.settings-section .section-summary{flex:1;font-size:.85rem;color:var(--color-text-muted);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-section .expand-icon{color:var(--color-text-muted);font-size:1.25rem;transition:transform .2s;flex-shrink:0}.settings-section .expand-icon.expanded{transform:rotate(90deg)}.settings-section .section-content{padding:0 1rem .75rem;border-top:1px solid var(--color-border)}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--color-border)}.setting-label{font-size:.85rem;color:var(--color-text-muted)}.setting-value{font-size:.85rem;color:var(--color-text);font-weight:500}.settings-editor{margin-top:1rem;display:flex;flex-direction:column;gap:1rem}.settings-editor-tabs{display:flex;gap:.5rem;background:var(--color-surface);padding:.25rem;border-radius:var(--radius-md)}.settings-tab-btn{flex:1;padding:.75rem 1rem;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s}.settings-tab-btn:hover{color:var(--color-text);background:#ffffff0d}.settings-tab-btn.active{background:var(--color-accent);color:#000}.settings-editor-actions{display:flex;justify-content:flex-end;padding-top:.5rem}.settings-save-status{padding:.5rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;text-align:center}.settings-save-status.pending{color:var(--color-text-muted)}.settings-save-status.saving{color:var(--color-accent)}.settings-save-status.error{color:var(--color-error);background:#ef44441a}.control-row.disabled{opacity:.5;pointer-events:none}.control-row.disabled .control-label{color:var(--color-text-muted)}.option-selector.disabled,.toggle-switch.disabled{opacity:.5;cursor:not-allowed}.connection-status{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;background:var(--color-surface-elevated);border:1px solid var(--color-border)}.connection-status .status-text{font-weight:500;color:var(--color-text)}.connection-status .status-note{font-size:.85rem;color:var(--color-text-muted);margin-left:auto}.copy-settings-btn{display:flex;align-items:center;gap:.5rem}.copy-settings-btn .copy-icon{width:16px;height:16px;opacity:.8}.copy-settings-btn:hover .copy-icon{opacity:1}.copied-message-inline{display:flex;align-items:center;gap:.35rem;padding:.25rem .5rem;color:#22c55e;font-size:.85rem;animation:fadeIn .2s ease-out}.copied-message-inline .copied-icon{font-size:.9rem}.export-import-dropdown{position:relative}.dropdown-trigger{display:flex;align-items:center;gap:.35rem}.dropdown-arrow{width:10px;height:10px;opacity:.7;transform:rotate(90deg);transition:transform .15s ease}.dropdown-arrow.open{transform:rotate(-90deg)}.dropdown-menu{position:absolute;bottom:100%;left:0;margin-bottom:.25rem;min-width:160px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000004d;z-index:100;animation:fadeIn .15s ease-out}.dropdown-item{display:block;width:100%;padding:.625rem .875rem;background:none;border:none;text-align:left;font-family:var(--font-body);font-size:.85rem;color:var(--color-text);cursor:pointer;transition:background .15s}.dropdown-item:hover{background:#ffffff0d}.dropdown-item:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0}.dropdown-item:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.conflict-resolution{background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:var(--radius-md);padding:1.25rem;margin-bottom:1rem}.conflict-resolution h4{color:#fbbf24;font-size:1rem;font-weight:600;margin:0 0 .5rem}.conflict-resolution p{color:var(--color-text-muted);font-size:.9rem;margin:0 0 1rem}.conflict-options{display:flex;gap:.75rem}.conflict-btn{flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:1rem;text-align:left}.conflict-btn-title{font-weight:500;color:var(--color-text);margin-bottom:.25rem}.conflict-btn-desc{font-size:.8rem;color:var(--color-text-muted)}.syncing-message{color:var(--color-text-muted);font-size:.9rem;margin-top:.75rem;font-style:italic}.sync-status{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.9rem}.sync-status.in-sync{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e}.sync-status .sync-icon{font-size:1rem}.no-settings{text-align:center;padding:2rem 1rem}.no-settings .empty-message{margin-bottom:1.5rem}.create-settings-options{display:flex;gap:.75rem;justify-content:center}.settings-secondary-actions{display:flex;gap:.5rem;padding-top:1rem;margin-top:1rem;border-top:1px solid var(--color-border)}.settings-secondary-actions .btn-ghost{font-size:.85rem}.backups-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.backups-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.backups-header h4{margin:0}.backup-form{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--color-bg-secondary);border-radius:var(--radius-md);margin-bottom:1rem}.backup-input{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:.9rem}.backup-input:focus{outline:none;border-color:var(--color-primary)}.backup-textarea{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:.9rem;resize:vertical;min-height:60px}.backup-textarea:focus{outline:none;border-color:var(--color-primary)}.backups-list{display:flex;flex-direction:column;gap:.5rem}.backup-item{padding:.75rem 1rem;background:var(--color-bg-secondary);border-radius:var(--radius-md);display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.backup-info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.backup-name{font-weight:500;color:var(--color-text)}.backup-date{font-size:.8rem;color:var(--color-text-muted)}.backup-description{font-size:.85rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.backup-actions{display:flex;gap:.25rem;flex-shrink:0}.backup-actions .btn-ghost{padding:.25rem .5rem;font-size:.8rem}.backup-edit-form{display:flex;flex-direction:column;gap:.5rem;width:100%}.backup-edit-actions{display:flex;gap:.5rem}.loading-text{color:var(--color-text-muted);font-size:.9rem;font-style:italic}.btn-sm{padding:.25rem .75rem;font-size:.85rem}@media(max-width:840px){.slide-over-panel{width:100vw;border-left:none}}.sd-card-status-group{display:flex;flex-direction:column;align-items:flex-end}.sd-card-status{display:flex;align-items:center;gap:.75rem}.sd-card-status--clickable{cursor:pointer;padding:.5rem .75rem;border-radius:4px;transition:background-color .2s ease;margin:-.5rem -.75rem}.sd-card-status--clickable:hover{background-color:#ffffff1a}.sd-card-status--clickable:focus{outline:2px solid #00FA04;outline-offset:2px}.sd-card-status--clickable:active{background-color:#ffffff26}.sd-card-label{color:#fff;text-transform:uppercase;letter-spacing:.05em}.sd-card-disconnect-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem;font-size:.75rem;line-height:1;border-radius:2px;transition:color .2s ease,background-color .2s ease}.sd-card-disconnect-btn:hover{color:#ef4444;background-color:#ef44441a}.sd-card-disconnect-btn:focus{outline:1px solid #ef4444;outline-offset:1px}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.app-title-link,.app-title-link:hover{text-decoration:none}.app-header h1{margin:0;font-family:var(--font-body);font-size:21px;font-weight:400;color:var(--color-text)}.app-header h1 strong{font-weight:700}.app-nav{display:flex;gap:.25rem}.nav-tab{background:transparent;color:var(--color-text-muted);border:1px solid transparent;padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;text-decoration:none}.nav-tab:hover{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border)}.nav-tab.active{color:#000;background:var(--color-accent);border-color:var(--color-accent)}.header-actions{display:flex;align-items:center;gap:.75rem}.app-footer{position:relative;padding:3rem 2rem 2rem;text-align:center;background:linear-gradient(to bottom,var(--color-bg),#0a0a0a);overflow:hidden}.footer-glow{position:absolute;top:0;left:50%;transform:translate(-50%);width:80%;max-width:600px;height:1px;background:linear-gradient(90deg,transparent,rgba(244,205,1,.3) 20%,rgba(244,205,1,.6) 50%,rgba(244,205,1,.3) 80%,transparent)}.footer-glow:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:40%;height:40px;background:radial-gradient(ellipse at top,rgba(244,205,1,.08) 0%,transparent 70%);pointer-events:none}.footer-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1rem}.footer-brand{font-family:var(--font-body);font-size:21px;font-weight:400;color:var(--color-text);margin-bottom:.25rem}.footer-brand strong{font-weight:700}.footer-tagline{margin:0;font-size:.875rem;font-weight:400;color:var(--color-text-muted);letter-spacing:.01em}.footer-links{display:flex;gap:.75rem;margin:.5rem 0}.footer-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8rem;font-weight:500;color:var(--color-text-muted);text-decoration:none;border:1px solid var(--color-border);border-radius:100px;transition:all .2s ease}.footer-link:hover{color:var(--color-text);border-color:var(--color-text-muted);background:#ffffff08}.footer-icon{width:16px;height:16px;opacity:.8;transition:opacity .2s}.footer-link:hover .footer-icon{opacity:1}.footer-legal{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:.5rem}.footer-legal p{margin:0;font-size:.7rem;color:var(--color-text-subtle);letter-spacing:.02em}.footer-divider{color:var(--color-border);font-size:.7rem}.footer-disclaimer{text-transform:uppercase;letter-spacing:.05em}.footer-copyright a{color:inherit;text-decoration:none;transition:color .2s}.footer-copyright a:hover{color:var(--color-text-muted)}@media(max-width:480px){.app-footer{padding:2rem 1.5rem 1.5rem}.footer-legal{flex-direction:column;gap:.25rem}.footer-divider{display:none}}.help-page{width:100%;height:100%;overflow-y:auto;padding:2rem 2rem 60px}.help-content{max-width:800px;margin:0 auto;color:var(--color-text)}.help-content h1{font-size:2rem;margin-bottom:.5rem;color:#fff}.help-subtitle{font-size:1rem;color:var(--color-text-muted);margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.help-subtitle a{color:var(--color-accent);text-decoration:none}.help-subtitle a:hover{text-decoration:underline}.help-section{margin-bottom:3rem}.help-section h2{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;color:var(--color-text-muted)}.help-section p{line-height:1.7;margin-bottom:1rem;color:var(--color-text-muted);font-size:.95rem}.help-section a{color:var(--color-accent);text-decoration:none}.help-section a:hover{text-decoration:underline}.help-section code{background:var(--color-surface-elevated);padding:.2rem .4rem;border-radius:3px;font-family:var(--font-mono);font-size:.85em;color:var(--color-accent)}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}@media(max-width:600px){.feature-grid{grid-template-columns:1fr}}.feature-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem}.feature-card h3{font-size:1rem;font-weight:600;color:#fff;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.feature-card h3 .feature-icon{color:var(--color-accent)}.feature-card p{font-size:.875rem;color:var(--color-text-muted);margin:0;line-height:1.6}.info-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem;margin-bottom:1rem}.info-card:last-child{margin-bottom:0}.info-card h3{font-size:1rem;font-weight:600;color:#fff;margin-bottom:.75rem}.info-card p{margin-bottom:.75rem}.info-card p:last-child{margin-bottom:0}.info-card ul,.info-card ol{margin:0;padding-left:1.25rem;color:var(--color-text-muted);font-size:.9rem;line-height:1.8}.info-card li{margin-bottom:.25rem}.info-card li:last-child{margin-bottom:0}.steps-list{list-style:none;padding:0;margin:0;counter-reset:step-counter}.steps-list li{counter-increment:step-counter;position:relative;padding-left:2.5rem;margin-bottom:1rem;color:var(--color-text-muted);font-size:.95rem;line-height:1.6}.steps-list li:last-child{margin-bottom:0}.steps-list li:before{content:counter(step-counter);position:absolute;left:0;top:0;width:1.75rem;height:1.75rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:var(--color-accent)}.tech-grid{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.5rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.25rem;font-size:.9rem}.tech-grid dt{color:var(--color-text-muted)}.tech-grid dd{color:var(--color-text);margin:0}.disclaimer{margin-top:2rem}.disclaimer h2{color:var(--color-error)!important}.warning-box{background:#ef444414;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:1.25rem}.warning-box p{margin:0 0 .75rem;color:var(--color-text-muted);font-size:.9rem;line-height:1.6}.warning-box p:last-child{margin-bottom:0}.warning-box strong{color:var(--color-error)}.credits-list{list-style:none;padding:0;margin:0}.credits-list li{padding:.75rem 0;border-bottom:1px solid var(--color-border);font-size:.9rem;color:var(--color-text-muted)}.credits-list li:last-child{border-bottom:none;padding-bottom:0}.credits-list a{color:var(--color-accent);font-weight:500}.help-page::-webkit-scrollbar{width:8px}.help-page::-webkit-scrollbar-track{background:#1a1a1a}.help-page::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.help-page::-webkit-scrollbar-thumb:hover{background:#555}.settings-page{width:100%;height:100%;overflow-y:auto;padding:2rem 2rem 60px}.settings-content{max-width:800px;margin:0 auto;color:#e0e0e0}.settings-content h1{font-size:2.5rem;margin-bottom:2rem;color:#fff;border-bottom:2px solid #444;padding-bottom:.5rem}.settings-section{margin-bottom:2.5rem}.settings-section h2{font-size:1.8rem;margin-bottom:1rem;color:#fff}.settings-section>p{line-height:1.6;margin-bottom:1.5rem;color:#d0d0d0}.settings-section code{background:var(--color-surface-elevated);padding:.2rem .4rem;border-radius:3px;font-family:var(--font-mono);font-size:.9em;color:var(--color-accent)}.setting-row{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding:1.5rem;background:var(--color-surface-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border)}.setting-info{flex:1}.setting-info h3{font-size:1.1rem;margin-bottom:.5rem;color:#fff}.setting-description{font-size:.9rem;line-height:1.5;color:var(--color-text-muted);margin:0}.setting-meta{font-size:.8rem;color:var(--color-text-subtle);margin-top:.75rem;margin-bottom:0}.setting-row button{flex-shrink:0}.setting-row+.setting-row{margin-top:1rem}.compare-status{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:500}.button-group{display:flex;gap:.5rem;flex-shrink:0}.compare-error{margin-top:1rem;padding:.75rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:var(--color-error);font-size:.9rem}.compare-results{margin-top:1.5rem;padding:1.5rem;background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}.compare-results h4{font-size:1rem;margin-bottom:1rem;color:var(--color-text)}.result-badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;margin-bottom:1rem}.result-badge.identical{background:#00fa0426;color:#00fa04}.result-badge.different{background:#fbbf2426;color:var(--color-warning)}.result-details{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;font-size:.85rem}.result-details dt{color:var(--color-text-muted)}.result-details dd{color:var(--color-text);margin:0;font-family:var(--font-mono)}.diff-summary{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.diff-group{margin-bottom:1rem}.diff-group:last-child{margin-bottom:0}.diff-group h5{font-size:.85rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.diff-ids{font-size:.8rem;font-family:var(--font-mono);color:var(--color-text-muted);margin:0;word-break:break-all}.benchmark-steps{margin:0 0 1.5rem 1.5rem;line-height:1.8;color:var(--color-text-muted);font-size:.9rem}.benchmark-steps li{margin-bottom:.25rem}.benchmark-progress-bar{margin-top:.75rem}.benchmark-results{margin-top:1.5rem}.benchmark-results h4{font-size:1rem;margin-bottom:1rem;color:var(--color-text)}.benchmark-card{padding:1rem 1.25rem;background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);margin-bottom:.75rem}.benchmark-card.highlight{border-color:var(--color-accent);background:#f4cd010d}.benchmark-metric{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}.metric-label{font-weight:500;color:var(--color-text);min-width:180px}.metric-value{font-family:var(--font-mono);font-size:1.1rem;font-weight:600;color:var(--color-accent)}.metric-detail{font-size:.85rem;color:var(--color-text-muted)}.metric-breakdown{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border);font-size:.8rem}.metric-breakdown dt{color:var(--color-text-muted)}.metric-breakdown dd{color:var(--color-text);font-family:var(--font-mono);margin:0}.benchmark-summary{margin-top:1.5rem;padding:1rem 1.25rem;background:var(--color-surface-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border)}.benchmark-summary h5{font-size:.9rem;margin-bottom:.75rem;color:var(--color-text)}.benchmark-summary p{font-size:.9rem;color:var(--color-text-muted);margin-bottom:.5rem}.benchmark-summary p:last-child{margin-bottom:0}.benchmark-summary .speedup{color:#00fa04;margin-top:.75rem}.modified-ids{margin-top:1rem;padding:1rem;background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}.modified-ids h5{font-size:.85rem;margin-bottom:.5rem;color:var(--color-text)}.chunk-benchmark-status{margin-top:.75rem}.chunk-progress-detail{display:flex;gap:1rem;margin-top:.5rem;font-size:.85rem;color:var(--color-text-muted)}.chunk-benchmark-results{margin-top:1.5rem}.chunk-benchmark-results h4{font-size:1rem;margin-bottom:1rem;color:var(--color-text)}.chunk-results-table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden}.chunk-results-table th,.chunk-results-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.chunk-results-table th{background:var(--color-surface-elevated);font-weight:500;color:var(--color-text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.025em}.chunk-results-table tbody tr:last-child td{border-bottom:none}.chunk-results-table tbody tr:hover{background:#ffffff08}.chunk-results-table tbody tr.fastest{background:#00fa0414}.chunk-results-table tbody tr.fastest:hover{background:#00fa041f}.config-label{font-weight:500;color:var(--color-text)}.text-mono{font-family:var(--font-mono)}.rank-badge{display:inline-block;padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.rank-badge.fastest{background:#00fa0426;color:#00fa04}.rank-badge.slowest{background:#ef444426;color:#ef4444}.chunk-benchmark-summary{margin-top:1rem;padding:1rem;background:var(--color-surface-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border)}.chunk-benchmark-summary p{margin:0;font-size:.9rem;color:var(--color-text)}.chunk-benchmark-summary p+p{margin-top:.5rem}.settings-section--danger{border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-lg);padding:1.5rem;background:#000}.settings-section--danger h2{color:var(--color-error)}.setting-row--danger{border-color:#ef44444d;background:var(--color-surface)}.setting-row--reset{margin-top:1rem;border-top:1px solid rgba(239,68,68,.2);padding-top:1.5rem}.settings-page::-webkit-scrollbar{width:8px}.settings-page::-webkit-scrollbar-track{background:#1a1a1a}.settings-page::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.settings-page::-webkit-scrollbar-thumb:hover{background:#555}.component-test-page{max-width:800px;margin:0 auto;width:100%}.test-section{margin-bottom:2rem;padding:1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.test-section-header{margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.typography-samples{display:flex;flex-direction:column;gap:1.25rem}.typography-sample{display:flex;align-items:baseline;gap:1rem;padding:.75rem;background:var(--color-bg);border-radius:var(--radius-md)}.typography-sample-label{flex-shrink:0;width:140px}.typography-sample-preview{flex:1}.color-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.color-swatch{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem;background:var(--color-bg);border-radius:var(--radius-md)}.color-swatch-preview{width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.sprite-grid{display:flex;gap:2rem}.sprite-column{flex:1}.sprite-column h3{margin-bottom:1rem;text-transform:capitalize}.sprite-sizes{display:flex;flex-direction:column;gap:1rem}.sprite-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--color-bg);border-radius:var(--radius-md)}.sprite-column--black .sprite-item{background:#fff}.sprite-column--black .sprite-item code{color:var(--color-bg)}.progress-demos{display:flex;flex-direction:column;gap:1.5rem}.progress-demo{padding:1rem;background:var(--color-bg);border-radius:var(--radius-md)}.progress-demo h3{margin-bottom:.75rem}.sprite-loading-demo{display:flex;gap:2rem;padding:1.5rem;background:var(--color-bg);border-radius:var(--radius-md);margin-bottom:1rem}.sprite-loading-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.sprite-loading-sizes{display:flex;align-items:flex-end;gap:2rem;padding:1.5rem;background:var(--color-bg);border-radius:var(--radius-md)}.pixel-loader-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.pixel-loader-demo{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;background:var(--color-bg);border-radius:var(--radius-md)}.pixel-loader-demo h3{margin:0}.pixel-loader-demo p{margin:0;text-align:center}.pixel-loader-sizes{display:flex;align-items:flex-end;justify-content:center;gap:2rem;margin-top:1rem;padding:1.5rem;background:var(--color-bg);border-radius:var(--radius-md)}.pixel-loader-size-demo{display:flex;flex-direction:column;align-items:center;gap:.5rem}.test-section.debug-section .debug-output{font-family:var(--font-mono);font-size:14px;color:var(--color-text-muted);background:var(--color-bg);padding:16px;border-radius:var(--radius-md);overflow:auto;margin:0}.compatibility-screen{position:fixed;inset:0;background:var(--bg-primary, #0f0f0f);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.compatibility-content{max-width:480px;width:100%;text-align:center}.compatibility-icon{color:#ef4444;margin-bottom:1.5rem}.compatibility-icon svg{width:64px;height:64px}.compatibility-title{font-size:2rem;font-weight:700;color:var(--text-primary, #fff);margin:0 0 1rem}.compatibility-message{color:var(--text-secondary, #a0a0a0);line-height:1.7;margin-bottom:2rem;font-size:1rem}.compatibility-message strong{color:var(--text-primary, #fff)}.compatibility-details{background:var(--bg-secondary, #1a1a1a);border-radius:8px;padding:1rem 1.5rem;margin-bottom:2rem}.detected-browser{display:flex;align-items:center;justify-content:center;gap:.5rem}.detected-label{color:var(--text-tertiary, #666);font-size:.875rem}.detected-name{color:var(--text-primary, #fff);font-weight:500}.chrome-download{margin-bottom:2rem}.chrome-download h2{font-size:1.125rem;font-weight:600;color:var(--text-primary, #fff);margin:0 0 .5rem}.chrome-download p{color:var(--text-secondary, #a0a0a0);font-size:.875rem;margin-bottom:1rem}.chrome-download-btn{display:inline-flex;align-items:center;gap:.75rem;background:#4285f4;color:#fff;padding:1rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:1rem;transition:background-color .15s,transform .15s}.chrome-download-btn:hover{background:#3367d6;transform:translateY(-1px)}.chrome-download-btn:active{transform:translateY(0)}.chrome-download-btn svg{flex-shrink:0}.compatibility-why{background:var(--bg-secondary, #1a1a1a);border-radius:8px;padding:1.25rem 1.5rem;text-align:left}.compatibility-why h3{font-size:.875rem;font-weight:600;color:var(--text-secondary, #a0a0a0);margin:0 0 .5rem}.compatibility-why p{color:var(--text-tertiary, #666);font-size:.8125rem;line-height:1.6;margin:0}.onboarding-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9998;padding:5vh 5vw;animation:overlayFadeIn .4s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.onboarding-modal{width:90vw;height:90vh;max-width:1300px;max-height:800px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;animation:modalFadeIn .4s ease-out both}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.onboarding-split{display:flex;height:100%;width:100%}.onboarding-image-side{position:relative;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;padding-left:2rem}.onboarding-image-side:after{content:"";position:absolute;inset:0;background:linear-gradient(to right,transparent 50%,var(--color-bg) 100%);pointer-events:none}.onboarding-image-wrapper{position:relative;max-width:100%;max-height:100%}.onboarding-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;opacity:0;transform:scale(1.08)}.onboarding-image-side .onboarding-image.loaded,.onboarding-image-wrapper .onboarding-image.loaded{animation:kenBurnsFadeIn 1.2s cubic-bezier(.16,1,.3,1) forwards}@keyframes kenBurnsFadeIn{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.onboarding-image-side--cover{align-items:flex-start;justify-content:flex-start}.onboarding-image-side--cover .onboarding-image{width:95%;height:80%;object-fit:cover;object-position:left top;margin-left:80px;transform:none}.onboarding-image-side--cover .onboarding-image.loaded{animation:simpleFadeIn .8s ease-out forwards}@keyframes simpleFadeIn{0%{opacity:0}to{opacity:1}}.onboarding-image-side--cover:after{background:linear-gradient(to right,transparent 50%,var(--color-bg) 95%)}.led-indicator{position:absolute;top:53.4%;left:49.8%;transform:translate(-50%);width:3.8%;height:3.2%;z-index:2}.led-dot{width:100%;height:100%;background:#00e248;border-radius:100px;animation:ledPulse 1.5s ease-in-out infinite}@keyframes ledPulse{0%,to{opacity:.6;box-shadow:0 0 8px 4px #00ff1e66}50%{opacity:1;box-shadow:0 0 24px 12px #01ff1eb3}}@media(max-height:600px){.led-indicator{display:none}}.onboarding-content-side{position:relative;width:520px;min-width:460px;margin-left:-120px;flex-shrink:0;display:flex;flex-direction:column;justify-content:safe center;overflow-y:auto;padding:3rem;z-index:1}.step-indicator{display:flex;align-items:center;gap:.5rem;margin-bottom:2rem}.step-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border);transition:background-color .2s,transform .2s}.step-dot.active{background:var(--color-accent);transform:scale(1.25)}.step-dot.completed{background:var(--color-text-muted)}.onboarding-title{font-size:1.75rem;font-weight:600;color:var(--color-text);margin:0 0 .75rem;line-height:1.2}.onboarding-subtitle{color:var(--color-text-muted);font-size:1rem;margin:0 0 2rem;line-height:1.6}.welcome-animate{opacity:0;transform:translateY(36px);animation:welcomeFadeIn .8s cubic-bezier(.16,1,.3,1) forwards}.welcome-animate-1{animation-delay:.3s}.welcome-animate-2{animation-delay:.5s}.welcome-animate-3{animation-delay:.7s}@keyframes welcomeFadeIn{to{opacity:1;transform:translateY(0)}}.welcome-tagline{color:var(--color-text-muted);font-size:1.0625rem;margin:0 0 2rem;line-height:1.5}.welcome-footer{margin-top:1.5rem;font-size:.8125rem;color:var(--color-text-subtle);line-height:1.6;text-align:center}.welcome-footer a{color:var(--color-text-muted);text-decoration:underline;text-underline-offset:2px}.welcome-footer a:hover{color:var(--color-accent)}.setup-instructions ul.welcome-features{margin:0;padding-left:1.25rem;list-style:disc}.setup-instructions ul.welcome-features li{color:var(--color-text);font-size:.9375rem;line-height:1.6;margin-bottom:.75rem}.setup-instructions ul.welcome-features li strong{color:var(--color-accent)}.setup-instructions ul.welcome-features li:last-child{margin-bottom:0}.data-safety-text{color:var(--color-text);font-size:.9375rem;line-height:1.6;margin:0}.setup-instructions{background:var(--color-surface-elevated);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem}.setup-instructions h3{font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem}.setup-instructions ol{margin:0;padding-left:1.25rem}.setup-instructions li{color:var(--color-text);font-size:.9375rem;line-height:1.6;margin-bottom:.75rem}.setup-instructions li:last-child{margin-bottom:0}.setup-instructions li strong{color:var(--color-accent)}.onboarding-buttons{display:flex;flex-direction:column;gap:.75rem}.onboarding-link{background:none;border:none;color:var(--color-text-muted);font-size:.875rem;font-family:var(--font-body);cursor:pointer;padding:.5rem;text-decoration:underline;text-underline-offset:3px;transition:color .15s}.onboarding-link:hover{color:var(--color-text)}.onboarding-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem}.onboarding-error-text{color:var(--color-error);font-size:.875rem;margin:0}.onboarding-centered{display:flex;align-items:center;justify-content:center;height:100%;padding:2rem}.onboarding-centered-content{max-width:480px;width:100%;text-align:center}.connection-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.connection-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem 1rem;cursor:pointer;transition:border-color .15s,background-color .15s,transform .15s}.connection-card:hover{border-color:var(--color-accent);background:var(--color-surface)}.connection-card:active{transform:scale(.98)}.connection-card-icon{color:var(--color-text-muted);margin-bottom:1rem}.connection-card-icon svg{width:48px;height:48px}.connection-card-title{font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 .25rem}.connection-card-desc{font-size:.8125rem;color:var(--color-text-subtle);margin:0}.onboarding-icon{color:var(--color-text-muted);margin-bottom:1.5rem}.onboarding-icon svg{width:64px;height:64px}@media(max-width:900px){.onboarding-overlay{padding:2vh 2vw}.onboarding-modal{width:96vw;height:96vh;border-radius:var(--radius-lg)}.onboarding-split{flex-direction:column}.onboarding-image-side{flex:none;height:35vh;min-height:180px}.onboarding-image-side:after{background:linear-gradient(to bottom,transparent 50%,var(--color-bg) 100%)}.onboarding-content-side{width:100%;min-width:0;padding:1.5rem;flex:1;justify-content:flex-start;overflow-y:auto}.onboarding-title{font-size:1.5rem}.connection-options{grid-template-columns:1fr}}@media(max-width:480px){.onboarding-content-side,.setup-instructions{padding:1rem}.setup-instructions li{font-size:.875rem}.onboarding-centered{padding:1rem}}.install-prompt{position:fixed;left:0;right:0;z-index:1000;padding:1rem;animation:slideIn .3s ease-out}.install-prompt--top{top:0}.install-prompt--bottom{bottom:0}@keyframes slideIn{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.install-prompt__content{max-width:600px;margin:0 auto;background:var(--bg-secondary, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:12px;padding:1rem 1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 20px #0000004d;position:relative}.install-prompt__icon{width:48px;height:48px;flex-shrink:0;border-radius:8px}.install-prompt__text{flex:1;min-width:0}.install-prompt__title{font-weight:600;color:var(--text-primary, #fff);margin:0 0 .25rem;font-size:.9375rem}.install-prompt__subtitle{color:var(--text-secondary, #a0a0a0);font-size:.8125rem;margin:0;line-height:1.4}.install-prompt__actions{display:flex;gap:.5rem;flex-shrink:0}.install-prompt__btn{padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:all .15s}.install-prompt__btn--primary{background:var(--color-primary, #3b82f6);color:#fff}.install-prompt__btn--primary:hover{background:var(--color-primary-hover, #2563eb)}.install-prompt__btn--secondary{background:transparent;color:var(--text-secondary, #a0a0a0)}.install-prompt__btn--secondary:hover{color:var(--text-primary, #fff)}.install-prompt__close{position:absolute;top:.5rem;right:.5rem;background:none;border:none;color:var(--text-tertiary, #666);font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;opacity:.6;transition:opacity .15s}.install-prompt__close:hover{opacity:1}@media(max-width:500px){.install-prompt__content{flex-wrap:wrap}.install-prompt__text{flex-basis:calc(100% - 3.5rem)}.install-prompt__actions{width:100%;margin-top:.5rem}.install-prompt__btn{flex:1}}*{box-sizing:border-box}.app{min-height:100vh;background:var(--color-bg);color:var(--color-text)}.btn-icon{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);padding:.5rem;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon:hover:not(:disabled){color:var(--color-text);border-color:var(--color-accent)}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.app-main{display:flex;gap:2rem;padding:2rem;max-width:1440px;margin:0 auto;min-height:100vh}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:var(--radius-md);border:none;cursor:pointer;font-family:var(--font-body);font-size:.9rem;font-weight:500;transition:all .2s}.btn-primary{background:var(--color-accent);color:#000}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-danger{padding:.75rem 1.5rem;border-radius:var(--radius-md);border:none;cursor:pointer;font-family:var(--font-body);font-size:.9rem;font-weight:500;transition:all .2s;background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-danger:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{padding:.75rem 1.5rem;border-radius:var(--radius-md);border:none;cursor:pointer;font-family:var(--font-body);font-size:.9rem;font-weight:500;transition:all .2s;background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-hover)}.btn-ghost.btn-danger-text{color:var(--color-error)}.btn-ghost.btn-danger-text:hover:not(:disabled){color:#dc2626;background:#ef44441a}.modal-footer-split{display:flex;justify-content:space-between;width:100%}.modal-footer-actions{display:flex;gap:.75rem}.labels-import-modal{max-width:520px}.labels-import-modal .current-status{background:var(--color-success-bg, rgba(74, 222, 128, .1));border:1px solid var(--color-success-border, rgba(74, 222, 128, .3));border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:1.25rem;color:var(--color-success, #4ade80)}.labels-import-modal .info-section{margin-bottom:1.25rem}.labels-import-modal .info-section h4{margin:0 0 .5rem;font-size:.9rem;color:var(--color-text)}.labels-import-modal .info-section p{margin:0;color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.labels-import-modal .info-section code{background:var(--color-surface-elevated);padding:.15rem .4rem;border-radius:var(--radius-sm);font-size:.85rem}.labels-import-modal .file-path{display:block;background:var(--color-surface-elevated);padding:.75rem 1rem;border-radius:var(--radius-md);color:var(--color-accent);font-size:.9rem}.labels-import-modal .resource-link{display:inline-block;margin-top:.5rem;padding:.5rem 1rem;background:var(--color-surface-elevated);border-radius:var(--radius-md);color:var(--color-link, #60a5fa);text-decoration:none;font-size:.85rem;transition:background .2s}.labels-import-modal .resource-link:hover{background:var(--color-surface-hover)}.import-mode-section{margin-bottom:1.25rem}.import-mode-section h4{margin:0 0 .75rem;font-size:.9rem;color:var(--color-text)}.import-mode-options{display:flex;flex-direction:column;gap:.5rem}.import-mode-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s}.import-mode-option:hover{border-color:var(--color-accent)}.import-mode-option.selected{border-color:var(--color-accent);background:#f4cd010d}.import-mode-option input[type=radio]{margin-top:.25rem;accent-color:var(--color-accent)}.import-mode-option .option-content{flex:1}.import-mode-option .option-content strong{display:block;font-size:.9rem;color:var(--color-text);margin-bottom:.25rem}.import-mode-option .option-content span{font-size:.85rem;color:var(--color-text-muted)}.labels-import-modal .drop-zone{margin-top:1rem;min-height:120px}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-family:var(--font-pixel);font-size:16px;color:var(--color-text-muted);text-transform:uppercase}.form-group input{width:100%;padding:.75rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-body);font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--color-accent)}.form-group .readonly{display:block;padding:.75rem;background:var(--color-surface-elevated);border-radius:var(--radius-md);font-family:var(--font-pixel);font-size:16px;color:var(--color-text-muted);word-break:break-all}.artwork-modal{max-width:560px}.upload-info{margin:0 0 1rem;color:var(--color-text-muted)}.drop-zone{border:1px dashed var(--color-border);border-radius:var(--radius-lg);padding:2rem;text-align:center;cursor:pointer;transition:all .2s;min-height:200px;display:flex;align-items:center;justify-content:center}.drop-zone:hover,.drop-zone.active{border-color:var(--color-accent);background:#f4cd010d}.drop-zone-content p{margin:.5rem 0;color:var(--color-text-muted)}.drop-zone-content .hint{font-size:.85rem;color:var(--color-text-subtle)}.form-group input.invalid{border-color:var(--color-error)}.field-hint{display:block;margin-top:.5rem;font-size:.85rem;color:var(--color-text-muted)}.field-hint.error{color:var(--color-error)}.add-cartridge-modal{max-width:480px}.add-cartridge-modal .modal-description{color:var(--color-text-muted);font-size:.9rem;line-height:1.5;margin:0 0 1.5rem}.add-cartridge-modal .form-group label{display:flex;align-items:center;gap:.5rem}.label-badge{font-family:var(--font-pixel);font-size:16px;font-weight:400;padding:.15rem .5rem;border-radius:100px;text-transform:uppercase;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale}.label-badge-internal{background:#4ade8026;color:var(--color-success)}.label-badge-user{background:#60a5fa26;color:#60a5fa}.label-badge-unknown{background:#fbbf2426;color:var(--color-warning)}.readonly-field{padding:.75rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:1rem}.form-group input.needs-input{border-color:var(--color-warning)}.add-cartridge-modal .drop-zone{height:98px;min-height:98px;width:150px;padding:.75rem;margin:0}.add-cartridge-modal .drop-zone-content p{margin:.25rem 0;font-size:.8rem}.add-cartridge-modal .drop-zone-content .hint{font-size:.7rem}.add-cartridge-modal .preview-image{width:74px;height:86px;object-fit:cover;image-rendering:pixelated}.preview-image{max-width:100%;max-height:300px;border-radius:var(--radius-md)}.artwork-note{margin:1rem 0 0;font-size:.85rem;color:var(--color-text-subtle);text-align:center}.error-message{background:#ef44441a;border:1px solid var(--color-error);color:var(--color-error);padding:.75rem;border-radius:var(--radius-md);font-size:.9rem;margin-top:1rem}.loading,.error,.empty-state{text-align:center;padding:4rem 2rem;color:var(--color-text-muted)}.empty-state h2{font-family:var(--font-pixel);font-size:16px;color:var(--color-text);text-transform:uppercase;margin-bottom:.5rem}.sync-modal{max-width:600px}.sync-loading,.sync-error{text-align:center;padding:2rem}.sync-loading .spinner{width:40px;height:40px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.sync-description{margin:0 0 1.5rem;color:var(--color-text-muted);font-size:.95rem}.sync-description code{background:var(--color-surface-elevated);padding:.2rem .5rem;border-radius:var(--radius-sm);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Consolas,Courier New,monospace;font-size:.9em}.sync-no-changes{text-align:center;padding:2rem;color:var(--color-text-muted)}.sync-no-changes .hint{font-size:.85rem;margin-top:.5rem}.sync-section{margin-bottom:1.5rem;padding:1rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md)}.sync-section h3{margin:0 0 .75rem}.sync-none{color:var(--color-text-subtle);font-size:.9rem;margin:0}.sync-count{color:var(--color-success);font-size:.9rem;margin:0}.sync-warning{color:var(--color-warning)}.sync-list{list-style:none;padding:0;margin:.75rem 0 0;max-height:200px;overflow-y:auto}.sync-rename-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);margin-bottom:.5rem;font-size:.85rem}.rename-from{color:var(--color-text-muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rename-arrow{color:var(--color-accent);flex-shrink:0}.rename-to{color:var(--color-success);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rename-folder{font-family:var(--font-pixel);color:var(--color-text-subtle);font-size:16px;margin-left:.5rem;flex-shrink:0;text-transform:uppercase}.sync-progress{padding:2rem;text-align:center}.progress-bar{height:4px;background:var(--color-surface-elevated);border-radius:2px;overflow:hidden;margin-bottom:1rem}.progress-fill{height:100%;background:var(--color-accent);border-radius:2px;transition:width .3s ease}.progress-fill.indeterminate{width:30%!important;animation:indeterminate 1.5s ease-in-out infinite}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.progress-percent{margin:0 0 .5rem;text-align:center}.progress-status{color:var(--color-text-muted);font-size:.9rem;margin:0;word-break:break-word}.progress-hint{color:var(--color-text-subtle);font-size:.8rem;margin:.5rem 0 0;font-style:italic}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.progress-header .progress-percent{margin:0}.progress-filename{background:var(--color-surface-elevated);padding:.25rem .5rem;border-radius:var(--radius-sm)}.progress-details{display:flex;justify-content:center;align-items:center;gap:.5rem;margin:.75rem 0;font-size:.85rem;color:var(--color-text-muted)}.progress-separator,.progress-eta{color:var(--color-text-subtle)}.sync-complete{text-align:center;padding:1.5rem}.sync-success-icon{width:60px;height:60px;background:#4ade801a;border:1px solid var(--color-success);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--color-success);margin:0 auto 1rem}.sync-complete h3{margin:0 0 1rem}.sync-results{margin-bottom:1rem}.result-success{color:var(--color-success);margin:.5rem 0}.result-error{color:var(--color-error);margin:.5rem 0}.result-info{color:var(--color-text-muted);margin:.5rem 0}.sync-details,.sync-errors{text-align:left;margin-top:1rem;padding:.75rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:150px;overflow-y:auto}.sync-details h4,.sync-errors h4{margin:0 0 .5rem;font-family:var(--font-pixel);font-size:16px;color:var(--color-text-muted);text-transform:uppercase}.sync-details ul,.sync-errors ul{margin:0;padding:0 0 0 1.25rem;font-size:.8rem}.sync-details li{color:var(--color-success);margin:.25rem 0}.sync-errors li{color:var(--color-error);margin:.25rem 0}.sync-note{color:var(--color-warning);font-size:.85rem;margin:0}.sync-to-sd-btn{background:var(--color-accent);color:#000;border:none;padding:.6rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-pixel);font-size:16px;font-weight:400;text-transform:uppercase;transition:all .2s;display:flex;align-items:center;gap:.5rem}.sync-to-sd-btn:hover{background:var(--color-accent-hover)}.sync-to-sd-btn:disabled{background:var(--color-surface);color:var(--color-text-subtle);border:1px solid var(--color-border);cursor:not-allowed}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-header h2{margin:0}.page-header .sd-card-path{background:var(--color-surface);padding:.35rem .75rem;border-radius:100px;border:1px solid var(--color-border)}.game-list-container h2,.game-id,.label-count,.label-id,.labels-pagination span,.form-group label,.form-group .readonly,.diff-section h4,.page-header h2,.page-header .sd-card-path,.debug-section input,.label-info label,.rename-folder,.empty-state h2{-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;font-smooth:never;image-rendering:pixelated}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-subtle)}.import-sd-modal{max-width:600px;max-height:80vh;display:flex;flex-direction:column}.import-sd-modal .modal-body{overflow-y:auto;flex:1}.scanning-status{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem}.scan-summary{margin-bottom:1rem;font-size:.95rem}.scan-summary p{margin:0}.scan-summary-hint{color:var(--color-text-muted);font-size:.85rem;margin-top:.5rem}.already-owned-note{color:var(--color-text-muted)}.selection-controls{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.selection-controls .btn-small{font-size:.8rem;padding:.25rem .5rem}.selection-count{margin-left:auto;font-size:.85rem;color:var(--color-text-muted)}.cartridge-list{max-height:250px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:1rem}.cartridge-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background .15s}.cartridge-item:last-child{border-bottom:none}.cartridge-item:hover{background:var(--color-bg-hover)}.cartridge-item.selected{background:rgba(var(--color-accent-rgb),.1)}.cartridge-item.already-owned{opacity:.7}.cartridge-item input[type=checkbox]{width:16px;height:16px;flex-shrink:0}.cartridge-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.cartridge-name{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cartridge-id{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted)}.cartridge-badges{display:flex;gap:.35rem;flex-shrink:0}.badge{font-size:.65rem;padding:.15rem .4rem;border-radius:3px;text-transform:uppercase;font-weight:500}.badge-settings{background:#6495ed33;color:#6495ed}.badge-pak{background:#90ee9033;color:#90ee90}.badge-owned{background:#ffd70033;color:gold}.download-options{background:var(--color-surface);padding:1rem;border-radius:var(--radius-sm);margin-bottom:1rem}.download-options h4{margin:0 0 .25rem;font-size:.9rem;font-weight:500}.download-options-hint{color:var(--color-text-muted);font-size:.8rem;margin:0 0 .75rem}.download-option{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;cursor:pointer;font-size:.9rem}.download-option input[type=checkbox]:disabled+span{opacity:.5}.import-progress{background:var(--color-surface);padding:1rem;border-radius:var(--radius-sm);margin-bottom:1rem}.progress-step{font-size:.9rem}.progress-step.success{color:var(--color-success);font-weight:500}.export-bundle-modal,.import-bundle-modal{max-width:480px}.export-info{color:var(--color-muted);margin:0 0 1.5rem;line-height:1.5}.export-options,.import-options{display:flex;flex-direction:column;gap:.5rem}.export-options h4,.import-options h4,.merge-strategy h4,.bundle-info h4{margin:0 0 .75rem}.export-option,.import-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--color-surface);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}.export-option:hover,.import-option:hover{background:var(--color-surface-hover)}.export-option.disabled,.import-option.disabled{opacity:.5;cursor:not-allowed}.export-option input[type=checkbox],.import-option input[type=checkbox]{margin-top:.125rem}.option-content{display:flex;flex-direction:column;gap:.25rem}.option-label{font-weight:500;color:var(--color-text)}.option-desc{font-size:.85rem;color:var(--color-muted)}.bundle-info{background:var(--color-surface);padding:1rem;border-radius:var(--radius-md);margin-bottom:1.5rem}.bundle-details{display:flex;flex-direction:column;gap:.5rem}.detail-row{display:flex;justify-content:space-between;font-size:.9rem}.detail-row span:first-child{color:var(--color-muted)}.detail-row span:last-child{color:var(--color-text);font-weight:500}.merge-strategy{margin-top:1.5rem}.strategy-options{display:flex;flex-direction:column;gap:.5rem}.strategy-options label{display:flex;align-items:center;gap:.5rem;padding:.5rem;cursor:pointer}.import-result h3{margin:0 0 1rem;font-size:1.1rem}.import-result h3.success{color:var(--color-success)}.import-result h3.error{color:var(--color-danger)}.result-details{display:flex;flex-direction:column;gap:.5rem}.result-item{font-size:.9rem;color:var(--color-text);padding:.5rem;background:var(--color-surface);border-radius:var(--radius-sm)}.result-errors{margin-top:1rem}.loading-state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem;color:var(--color-muted)}.selection-mode-toggle{display:flex;align-items:center;gap:.5rem}.selection-mode-toggle button{padding:.4rem .75rem;font-size:.85rem}.selection-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.selection-info{display:flex;align-items:center;gap:.5rem}.selection-count{font-weight:500;color:var(--color-text-muted)}.selection-actions{display:flex;gap:.5rem}.label-tile.selectable{cursor:pointer}.label-tile.selectable:hover{transform:scale(1.02)}.label-tile .selection-checkbox{position:absolute;top:.5rem;left:.5rem;width:20px;height:20px;background:#0009;border:2px solid white;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;z-index:10}.label-tile.selectable .selection-checkbox{opacity:1}.label-tile.selected .selection-checkbox{background:var(--color-primary);border-color:var(--color-primary)}.label-tile.selected .selection-checkbox:after{content:"";width:10px;height:6px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg) translateY(-1px)}.label-tile.selected{outline:3px solid var(--color-primary);outline-offset:2px}
