.top-bar{position:sticky;top:0;z-index:var(--z-sticky);background-color:var(--bg-elevated);border-bottom:1px solid var(--border-primary);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.top-bar-content{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-4);height:var(--header-height);padding:0 var(--space-4);max-width:var(--container-max-width);margin:0 auto}@media (min-width: 768px){.top-bar-content{padding:0 var(--space-6)}}.top-bar-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.top-bar-action{display:flex;align-items:center;justify-content:center;min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-2);color:var(--accent-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast);white-space:nowrap}.top-bar-action:hover{background-color:var(--surface-hover)}.top-bar-action:active{background-color:var(--surface-active)}.top-bar-action:disabled{opacity:.5;cursor:not-allowed}.top-bar-left{justify-self:start}.top-bar-right{justify-self:end}.top-bar-spacer{min-width:var(--touch-target-min)}.bottom-tabs{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-fixed);display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));background-color:var(--bg-elevated);border-top:1px solid var(--border-primary);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);height:var(--bottom-tabs-height);padding-bottom:env(safe-area-inset-bottom,0)}.bottom-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast);color:var(--text-tertiary);min-height:var(--touch-target-min)}.bottom-tab:hover{background-color:var(--surface-hover)}.bottom-tab:active{background-color:var(--surface-active)}.bottom-tab-active{color:var(--accent-primary)}.bottom-tab-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:transform var(--transition-fast)}.bottom-tab-active .bottom-tab-icon{transform:scale(1.1)}.bottom-tab-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1}@supports (padding-bottom: env(safe-area-inset-bottom)){.bottom-tabs{padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom))}}@media (min-width: 1024px){.bottom-tabs{max-width:var(--container-max-width);left:50%;transform:translate(-50%);border-radius:var(--radius-xl) var(--radius-xl) 0 0}}.toaster-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-tooltip);display:flex;flex-direction:column;gap:var(--space-3);max-width:400px;width:calc(100vw - var(--space-8))}@media (min-width: 640px){.toaster-container{width:400px}}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background-color:var(--surface-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--border-primary);animation:toast-slide-in .2s ease-out}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.toast-success .toast-icon{color:#34c759}.toast-error .toast-icon{color:var(--color-red)}.toast-info .toast-icon{color:var(--accent-primary)}.toast-message{flex:1;font-size:var(--font-size-sm);color:var(--text-primary);line-height:var(--line-height-base);margin:0}.toast-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);border:none;cursor:pointer;transition:all var(--transition-fast)}.toast-close:hover{background-color:var(--surface-hover);color:var(--text-secondary)}.toast-close:active{background-color:var(--surface-active)}.image-picker{position:relative;width:100%;min-height:240px;border:2px dashed var(--border-primary);border-radius:var(--radius-lg);background-color:var(--bg-secondary);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.image-picker:hover{border-color:var(--border-secondary);background-color:var(--surface-hover)}.image-picker:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.image-picker-dragging{border-color:var(--accent-primary);background-color:var(--surface-hover);transform:scale(1.02)}.image-picker-disabled{opacity:.5;cursor:not-allowed}.image-picker-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.image-picker-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-6);text-align:center}.image-picker-icon{color:var(--text-tertiary);transition:color var(--transition-fast)}.image-picker:hover .image-picker-icon{color:var(--accent-primary)}.image-picker-text{display:flex;flex-direction:column;gap:var(--space-2)}.image-picker-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.image-picker-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.image-picker-hint{font-size:var(--font-size-xs);color:var(--text-tertiary);margin:0;max-width:400px;line-height:var(--line-height-base)}@media (min-width: 768px){.image-picker{min-height:320px}}.slider-container{width:100%}.slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.slider-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer}.slider-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);min-width:3rem;text-align:right;font-variant-numeric:tabular-nums}.slider-unit{margin-left:.25rem;font-size:var(--font-size-xs);color:var(--text-tertiary)}.slider-track-container{position:relative;width:100%;height:var(--touch-target-min);display:flex;align-items:center}.slider-input{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;outline:none;cursor:pointer}.slider-input::-webkit-slider-runnable-track{width:100%;height:4px;background:linear-gradient(to right,var(--accent-primary) 0%,var(--accent-primary) var(--slider-percentage, 0%),var(--border-primary) var(--slider-percentage, 0%),var(--border-primary) 100%);border-radius:var(--radius-full)}.slider-input::-moz-range-track{width:100%;height:4px;background:var(--border-primary);border-radius:var(--radius-full)}.slider-input::-moz-range-progress{height:4px;background:var(--accent-primary);border-radius:var(--radius-full)}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:var(--bg-primary);border:2px solid var(--accent-primary);border-radius:50%;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:var(--shadow-sm)}.slider-input::-moz-range-thumb{width:20px;height:20px;background:var(--bg-primary);border:2px solid var(--accent-primary);border-radius:50%;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:var(--shadow-sm)}.slider-input:hover::-webkit-slider-thumb{transform:scale(1.1)}.slider-input:hover::-moz-range-thumb{transform:scale(1.1)}.slider-input:active::-webkit-slider-thumb{transform:scale(1.2);box-shadow:var(--shadow-md)}.slider-input:active::-moz-range-thumb{transform:scale(1.2);box-shadow:var(--shadow-md)}.slider-input:focus-visible::-webkit-slider-thumb{outline:2px solid var(--border-focus);outline-offset:2px}.slider-input:focus-visible::-moz-range-thumb{outline:2px solid var(--border-focus);outline-offset:2px}.slider-input:disabled{opacity:.5;cursor:not-allowed}.slider-input:disabled::-webkit-slider-thumb{cursor:not-allowed}.slider-input:disabled::-moz-range-thumb{cursor:not-allowed}.switch-container{width:100%}.switch-content{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--touch-target-min)}.switch-text{flex:1}.switch-label{display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer;line-height:var(--line-height-tight)}.switch-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--space-1);line-height:var(--line-height-base)}.switch-button{position:relative;width:51px;height:31px;background-color:var(--border-primary);border-radius:var(--radius-full);border:none;cursor:pointer;transition:background-color var(--transition-fast);flex-shrink:0;padding:0}.switch-button:hover{background-color:var(--border-secondary)}.switch-button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.switch-button.switch-checked{background-color:var(--accent-primary)}.switch-button.switch-checked:hover{background-color:var(--accent-hover)}.switch-button:disabled{opacity:.5;cursor:not-allowed}.switch-thumb{position:absolute;top:2px;left:2px;width:27px;height:27px;background-color:var(--bg-primary);border-radius:50%;transition:transform var(--transition-fast);box-shadow:0 1px 3px #0003}.switch-checked .switch-thumb{transform:translate(20px)}.switch-button:active .switch-thumb{width:31px}.switch-button.switch-checked:active .switch-thumb{transform:translate(16px)}.color-swatches-container{width:100%}.color-swatches-header{margin-bottom:var(--space-3)}.color-swatches-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.color-swatches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:var(--space-2)}.color-swatch{position:relative;width:100%;aspect-ratio:1;min-width:var(--touch-target-min);min-height:var(--touch-target-min);border-radius:var(--radius-md);border:2px solid var(--border-primary);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;overflow:hidden}.color-swatch:hover{border-color:var(--border-secondary);transform:scale(1.05)}.color-swatch:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.color-swatch-selected{border-color:var(--accent-primary);border-width:3px;box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--accent-primary)}.color-swatch:disabled{opacity:.5;cursor:not-allowed}.color-swatch-check{position:absolute;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.color-swatch[style*="#ffffff"] .color-swatch-check,.color-swatch[style*="#e5e7eb"] .color-swatch-check,.color-swatch[style*="#ff99b4"] .color-swatch-check{color:#000}.color-swatch:not([style*="#ffffff"]):not([style*="#e5e7eb"]):not([style*="#ff99b4"]) .color-swatch-check{color:#fff}.color-swatch-custom{background:linear-gradient(135deg,#ff3b30,#ff9500,#fc0,#34c759,#0a84ff);position:relative}.color-swatch-custom-gradient{width:100%;height:100%}.color-swatch-custom .color-swatch-check{color:#fff;z-index:1}.color-picker-container{display:flex;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3);background-color:var(--bg-secondary);border-radius:var(--radius-md)}.color-picker-input{width:var(--touch-target-min);height:var(--touch-target-min);border:2px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;background:none;padding:0}.color-picker-input::-webkit-color-swatch-wrapper{padding:0}.color-picker-input::-webkit-color-swatch{border:none;border-radius:calc(var(--radius-md) - 2px)}.color-picker-input::-moz-color-swatch{border:none;border-radius:calc(var(--radius-md) - 2px)}.color-picker-text{flex:1;height:var(--touch-target-min);padding:var(--space-2) var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:SF Mono,Monaco,Consolas,monospace;background-color:var(--bg-primary);color:var(--text-primary)}.color-picker-text:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #0071e31a}.input-container{width:100%}.input-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--space-2)}.input,.textarea{width:100%;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);transition:all var(--transition-fast);min-height:var(--touch-target-min)}.input::placeholder,.textarea::placeholder{color:var(--text-tertiary)}.input:hover,.textarea:hover{border-color:var(--border-secondary)}.input:focus,.textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #0071e31a}.input:disabled,.textarea:disabled{opacity:.5;cursor:not-allowed;background-color:var(--bg-secondary)}.textarea{min-height:120px;resize:vertical}.input-error{border-color:var(--color-red)}.input-error:focus{border-color:var(--color-red);box-shadow:0 0 0 3px #ff3b301a}.input-error-text{font-size:var(--font-size-sm);color:var(--color-red);margin-top:var(--space-2)}.input-help-text{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--space-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-family-base);font-weight:var(--font-weight-medium);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-small{font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);min-height:36px}.btn-medium{font-size:var(--font-size-base);padding:var(--space-3) var(--space-5);min-height:var(--touch-target-min)}.btn-large{font-size:var(--font-size-lg);padding:var(--space-4) var(--space-6);min-height:52px}.btn-primary{background-color:var(--accent-primary);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--accent-hover)}.btn-primary:active:not(:disabled){background-color:var(--accent-active);transform:scale(.98)}.btn-secondary{background-color:var(--surface-secondary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--surface-hover);border-color:var(--border-secondary)}.btn-secondary:active:not(:disabled){background-color:var(--surface-active);transform:scale(.98)}.btn-ghost{background-color:transparent;color:var(--accent-primary)}.btn-ghost:hover:not(:disabled){background-color:var(--surface-hover)}.btn-ghost:active:not(:disabled){background-color:var(--surface-active);transform:scale(.98)}.btn-full-width{width:100%}.watermark-editor{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-4);max-width:var(--container-max-width);margin:0 auto}@media (min-width: 768px){.watermark-editor{padding:var(--space-6)}}@media (min-width: 1024px){.watermark-editor{flex-direction:row;align-items:flex-start}.preview-section{flex:1;position:sticky;top:calc(var(--header-height) + var(--space-4))}.controls-section{flex:0 0 360px}}.preview-section{display:flex;flex-direction:column;gap:var(--space-3)}.preview-container{position:relative;width:100%;background-color:var(--bg-secondary);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-primary);min-height:300px;display:flex;align-items:center;justify-content:center}.preview-canvas{max-width:100%;max-height:500px;width:auto;height:auto;object-fit:contain;image-rendering:high-quality;image-rendering:-webkit-optimize-contrast}.image-info{display:flex;gap:var(--space-4);justify-content:center;font-size:var(--font-size-sm);color:var(--text-secondary)}.image-info-item{padding:var(--space-2) var(--space-3);background-color:var(--bg-secondary);border-radius:var(--radius-md)}.controls-section{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5);background-color:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-primary)}.action-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-top:var(--space-2)}@media (max-width: 640px){.action-buttons{grid-template-columns:1fr}}.batch-watermark{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-4);max-width:var(--container-max-width);margin:0 auto}@media (min-width: 768px){.batch-watermark{padding:var(--space-6)}}.batch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4)}@media (min-width: 640px){.batch-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}.batch-image-card{position:relative;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;background-color:var(--bg-secondary);border:1px solid var(--border-primary);transition:all var(--transition-fast)}.batch-image-card:hover{border-color:var(--border-secondary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.batch-image-preview{width:100%;height:100%;object-fit:cover}.batch-image-overlay{position:absolute;bottom:0;left:0;right:0;padding:var(--space-3);background:linear-gradient(to top,rgba(0,0,0,.7),transparent);display:flex;flex-direction:column;gap:var(--space-2)}.batch-image-info{display:flex;flex-direction:column;gap:var(--space-1)}.batch-image-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#fff;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-image-size{font-size:var(--font-size-xs);color:#fffc;margin:0}.batch-image-status{display:flex}.batch-image-remove{position:absolute;top:var(--space-2);right:var(--space-2);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;opacity:0;transition:all var(--transition-fast)}.batch-image-card:hover .batch-image-remove{opacity:1}.batch-image-remove:hover{background-color:var(--color-red);transform:scale(1.1)}.batch-add-more{aspect-ratio:1}.batch-add-more .image-picker{height:100%;min-height:unset}.batch-add-more .image-picker-content{padding:var(--space-4)}.batch-add-more .image-picker-icon{width:32px;height:32px}.batch-add-more .image-picker-title{font-size:var(--font-size-base)}.batch-add-more .image-picker-subtitle,.batch-add-more .image-picker-hint{display:none}.status-badge{display:inline-block;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);line-height:1}.status-pending{background-color:#fff3;color:#fff}.status-processing{background-color:#0a84ffe6;color:#fff}.status-completed{background-color:#34c759e6;color:#fff}.status-error{background-color:#ff3b30e6;color:#fff}.batch-summary{padding:var(--space-4);background-color:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-primary)}.batch-summary-stats{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;font-size:var(--font-size-sm);color:var(--text-secondary)}.batch-summary-item{display:flex;gap:var(--space-1)}.batch-summary-success{color:#34c759}.batch-summary-error{color:var(--color-red)}.batch-actions{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3)}@media (max-width: 640px){.batch-actions{grid-template-columns:1fr}}.discovery{padding:var(--space-4);max-width:800px;margin:0 auto;padding-bottom:calc(var(--bottom-tabs-height) + var(--space-4))}@media (min-width: 768px){.discovery{padding:var(--space-6)}}.discovery-content{display:flex;flex-direction:column;gap:var(--space-8)}.discovery-header{text-align:center;padding:var(--space-6) 0}.discovery-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.discovery-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);margin:0}.discovery-section{display:flex;flex-direction:column;gap:var(--space-4)}.discovery-section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);padding-bottom:var(--space-2);border-bottom:2px solid var(--border-primary)}.discovery-list{display:flex;flex-direction:column;gap:var(--space-3);padding-left:var(--space-6);color:var(--text-secondary);line-height:var(--line-height-relaxed)}.discovery-list li{padding-left:var(--space-2)}.discovery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}.discovery-card{padding:var(--space-4);background-color:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-primary);transition:all var(--transition-fast)}.discovery-card:hover{border-color:var(--border-secondary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.discovery-card-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.discovery-card-content{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-base);margin:0}.discovery-tips{display:flex;flex-direction:column;gap:var(--space-4)}.discovery-tip{display:flex;gap:var(--space-4);padding:var(--space-4);background-color:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-primary)}.discovery-tip-icon{flex-shrink:0;font-size:var(--font-size-2xl);line-height:1}.discovery-tip-content{flex:1}.discovery-tip-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.discovery-tip-content p{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-base);margin:0}.discovery-privacy{padding:var(--space-5);background:linear-gradient(135deg,#0071e31a,#34c7591a);border-radius:var(--radius-lg);border:1px solid var(--border-primary)}.discovery-privacy-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--bg-primary);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);color:var(--accent-primary);margin-bottom:var(--space-3)}.discovery-privacy-badge svg{color:var(--accent-primary)}.discovery-privacy-text{font-size:var(--font-size-base);color:var(--text-secondary);line-height:var(--line-height-relaxed);margin:0}.discovery-tech{display:flex;flex-direction:column;gap:var(--space-4)}.discovery-tech-item{padding:var(--space-4);background-color:var(--bg-secondary);border-radius:var(--radius-lg);border-left:3px solid var(--accent-primary)}.discovery-tech-item h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.discovery-tech-item p{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-base);margin:0}.discovery-footer{text-align:center;padding:var(--space-6) 0;border-top:1px solid var(--border-primary);color:var(--text-tertiary);font-size:var(--font-size-sm)}.discovery-footer p{margin:var(--space-1) 0}.discovery-footer-version{font-family:SF Mono,Monaco,Consolas,monospace;color:var(--text-tertiary)}.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary)}.app-content{flex:1;padding-top:var(--header-height);padding-bottom:var(--bottom-tabs-height);overflow-y:auto}@media (prefers-reduced-motion: no-preference){.app-content{scroll-behavior:smooth}}:root{--color-white: #ffffff;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-black: #000000;--color-red: #ff3b30;--color-red-light: #ff6961;--color-pink: #ff2d55;--color-pink-light: #ff99b4;--color-orange: #ff9500;--color-orange-light: #ffb84d;--watermark-white: #ffffff;--watermark-light-gray: #e5e7eb;--watermark-dark-gray: #6b7280;--watermark-black: #000000;--watermark-red: #ff3b30;--watermark-pink: #ff2d55;--watermark-pink-light: #ff99b4;--watermark-orange: #ff9500;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-elevated: #ffffff;--bg-overlay: rgba(0, 0, 0, .4);--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--text-inverse: #ffffff;--border-primary: #e5e7eb;--border-secondary: #d1d5db;--border-focus: #0071e3;--surface-primary: #ffffff;--surface-secondary: #f9fafb;--surface-hover: #f3f4f6;--surface-active: #e5e7eb;--accent-primary: #0071e3;--accent-hover: #0077ed;--accent-active: #006edb;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--font-family-base: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro", "Helvetica Neue", Arial, sans-serif;--font-family-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro", "Helvetica Neue", Arial, sans-serif;--font-size-xs: clamp(.688rem, .65rem + .19vw, .75rem);--font-size-sm: clamp(.813rem, .77rem + .21vw, .875rem);--font-size-base: clamp(.938rem, .89rem + .24vw, 1rem);--font-size-lg: clamp(1.063rem, 1rem + .31vw, 1.125rem);--font-size-xl: clamp(1.25rem, 1.16rem + .45vw, 1.375rem);--font-size-2xl: clamp(1.5rem, 1.38rem + .6vw, 1.75rem);--font-size-3xl: clamp(1.875rem, 1.69rem + .93vw, 2.25rem);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-base: 1.5;--line-height-relaxed: 1.625;--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--transition-fast: .16s ease-out;--transition-base: .2s ease-out;--transition-slow: .24s ease-out;--container-max-width: 1280px;--header-height: 3.5rem;--bottom-tabs-height: 4.5rem;--touch-target-min: 2.75rem}@media (prefers-color-scheme: dark){:root{--bg-primary: #000000;--bg-secondary: #1c1c1e;--bg-tertiary: #2c2c2e;--bg-elevated: #1c1c1e;--bg-overlay: rgba(0, 0, 0, .6);--text-primary: #ffffff;--text-secondary: #98989d;--text-tertiary: #636366;--text-inverse: #000000;--border-primary: #38383a;--border-secondary: #48484a;--border-focus: #0a84ff;--surface-primary: #1c1c1e;--surface-secondary: #2c2c2e;--surface-hover: #3a3a3c;--surface-active: #48484a;--accent-primary: #0a84ff;--accent-hover: #409cff;--accent-active: #0077ed;--watermark-white: #ffffff;--watermark-light-gray: #d1d5db;--watermark-dark-gray: #6b7280;--watermark-black: #000000}}@media (prefers-reduced-motion: reduce){:root{--transition-fast: 0ms;--transition-base: 0ms;--transition-slow: 0ms}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:16px}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--text-primary);background-color:var(--bg-primary);overflow-x:hidden;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-display);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-primary)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}p{margin-bottom:var(--space-4)}strong{font-weight:var(--font-weight-semibold)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}a:active{color:var(--accent-active)}button{font-family:inherit;font-size:inherit;line-height:inherit;cursor:pointer;border:none;background:none;color:inherit;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background-color:transparent;border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:border-color var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #0071e31a}textarea{resize:vertical}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:0;background:var(--accent-primary);color:var(--text-inverse);padding:var(--space-2) var(--space-4);text-decoration:none;z-index:var(--z-tooltip)}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::selection{background-color:var(--accent-primary);color:var(--text-inverse)}.container{max-width:var(--container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media (min-width: 768px){.container{padding-left:var(--space-6);padding-right:var(--space-6)}}.text-center{text-align:center}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}#root{display:flex;flex-direction:column;min-height:100vh}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:1em;height:1em;border:2px solid var(--border-primary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .6s linear infinite}.drag-over{outline:2px dashed var(--accent-primary);outline-offset:4px;background-color:var(--surface-hover)}@media (prefers-reduced-motion: no-preference){*{transition-duration:var(--transition-base)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
