.modal{width:100%;height:100%;z-index:var(--z-modal);pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.modal.active{pointer-events:auto}.modal-backdrop{background:var(--modal-backdrop);-webkit-backdrop-filter:blur(8px);cursor:pointer;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.modal-container{z-index:1;background:var(--color-surface);background-image:linear-gradient(var(--color-surface),var(--color-surface)),linear-gradient(135deg,var(--color-primary)0%,transparent 30%,transparent 70%,var(--color-primary)100%);border-radius:var(--radius-xl);width:90%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-modal),0 0 0 1px var(--color-primary-container),0 0 12px var(--color-primary-container),0 0 24px var(--color-primary-container);transition:transform var(--transition-spring),box-shadow var(--transition-base);pointer-events:auto;background-origin:border-box;background-clip:padding-box,border-box;border:2px solid #0000;flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden;transform:translateY(20px)scale(.95)translateZ(0)}.modal.active .modal-container{box-shadow:var(--shadow-modal),0 0 0 1px var(--color-primary-container-hover),0 0 16px var(--color-primary-container-hover),0 0 32px var(--color-primary-container);transform:translateY(0)scale(1)}.modal-small .modal-container,.modal-container.modal-small{max-width:380px}.modal-large .modal-container,.modal-container.modal-large{max-width:700px}.modal-container:not(.modal-small):not(.modal-large){max-height:90vh}.modal-header{padding:var(--space-5)var(--space-6);padding-top:var(--space-8);padding-bottom:var(--space-6);flex-grow:0;flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:relative}.modal-header:after{content:"";background:linear-gradient(90deg,transparent 0%,var(--color-primary-container-hover)10%,var(--color-primary)50%,var(--color-primary-container-hover)90%,transparent 100%);border-radius:var(--radius-full);width:85%;height:1.5px;box-shadow:0 0 12px var(--color-primary-container-hover),0 0 20px var(--color-primary-container);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.modal-header:before{content:"";background:linear-gradient(90deg,transparent 0%,var(--color-primary-container)10%,var(--color-primary-container-hover)50%,var(--color-primary-container)90%,transparent 100%);border-radius:var(--radius-full);filter:blur(8px);z-index:-1;width:85%;height:12px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.modal-title{align-items:center;gap:var(--space-3);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text);display:flex}.modal-title svg{width:24px;height:24px;color:var(--color-primary)}.modal-close{top:var(--space-4);right:var(--space-4);z-index:10;border-radius:var(--radius-full);width:36px;height:36px;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:2px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:absolute}.modal-close:hover,.modal-close:active{color:var(--color-error);box-shadow:none;background:0 0;border-color:#0000;transform:none}.modal-close svg{width:20px;height:20px}.modal-body{padding:var(--space-6);padding-top:calc(var(--space-6));-webkit-overflow-scrolling:touch;flex:auto;min-height:0;max-height:calc(90vh - 180px);position:relative;overflow:hidden auto}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:0 0}.modal-body::-webkit-scrollbar-thumb{background:var(--color-outline-variant);border-radius:var(--radius-full)}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--color-outline)}.modal-description{color:var(--color-text-secondary);margin-bottom:var(--space-5)}.modal-form-group{margin-bottom:0}.modal-label{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text);margin-top:var(--space-4);margin-bottom:var(--space-5);display:block}.modal-form-group:first-child .modal-label{margin-top:0}.modal-input,.modal-textarea{width:100%;padding:var(--space-3)var(--space-4);background:var(--color-surface-variant);border:2px solid var(--color-outline-variant);border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--text-base);font-family:var(--font-sans);transition:all var(--transition-fast)}.modal-input:focus,.modal-textarea:focus{border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-primary-container);outline:none}.modal-input::placeholder,.modal-textarea::placeholder{color:var(--color-text-tertiary)}.modal-textarea{resize:vertical;min-height:80px}.size-options-grid{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.size-option-btn{padding:var(--space-4);background:var(--color-surface);border:2px solid var(--color-outline-variant);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);text-align:center;min-width:0;overflow:hidden}.size-option-btn:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-container);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.size-option-btn.active{border-color:var(--color-primary);background:var(--color-primary-container);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.size-option-btn:disabled{opacity:.5;cursor:not-allowed}.size-option-title{font-weight:var(--font-semibold);color:var(--color-text);margin-bottom:var(--space-1);font-size:var(--text-base)}.size-option-desc{font-size:var(--text-sm);color:var(--color-text-tertiary)}@media (max-width:480px){.size-options-grid{gap:var(--space-2)}.size-option-btn{padding:var(--space-3)var(--space-2)}.size-option-title{font-size:var(--text-xs);margin-bottom:0}.size-option-desc{display:none}}.model-tier-selector{gap:var(--space-2);display:flex}.model-tier-btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-4);background:var(--color-surface);border:2px solid var(--color-outline-variant);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;flex:1;transition:all .2s;display:flex}.model-tier-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.model-tier-btn.active{border-color:var(--color-primary);background:var(--color-primary-container);color:var(--color-primary)}.model-tier-btn:disabled{opacity:.5;cursor:not-allowed}.model-tier-btn-locked{opacity:.4;cursor:not-allowed}.model-tier-btn-locked:hover{border-color:var(--color-outline-variant);color:var(--color-text-secondary)}.modal-label-row{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.material-attach-wrapper{position:relative}.material-attach-btn{color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:inline-flex}.material-attach-btn:hover:not(:disabled){color:var(--color-primary)}.material-attach-btn:disabled{opacity:.4;cursor:not-allowed}.material-picker-dropdown{z-index:100;background:var(--color-surface-container);border:1px solid var(--color-outline-variant);border-radius:var(--radius-lg);min-width:260px;max-width:360px;padding:var(--space-3);animation:.15s ease-out fadeIn;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #00000026}.material-picker-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2);padding:0 var(--space-2)}.material-picker-list{flex-direction:column;gap:2px;max-height:200px;display:flex;overflow-y:auto}.material-picker-item{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-2);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);color:var(--color-text);transition:background .15s;display:flex}.material-picker-item:hover{background:var(--color-surface-variant)}.material-picker-item input[type=checkbox]{accent-color:var(--color-primary);flex-shrink:0;width:16px;height:16px}.material-picker-icon{color:var(--color-text-tertiary);flex-shrink:0}.material-picker-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attached-materials-chips{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.material-chip{align-items:center;gap:var(--space-1);background:var(--color-primary-container);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);max-width:200px;padding:3px 8px 3px 6px;display:inline-flex}.material-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.material-chip-remove{color:var(--color-primary);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:1px;transition:opacity .15s;display:inline-flex}.material-chip-remove:hover{opacity:1}.progress-container{margin-top:var(--space-5);padding:var(--space-4);background:var(--color-surface-container);border-radius:var(--radius-lg);border:1px solid var(--color-outline-variant)}.progress-bar-track{background:var(--color-surface-variant);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,var(--color-primary),var(--color-primary-hover),var(--color-primary));border-radius:var(--radius-full);background-size:200% 100%;height:100%;transition:width .3s ease-out;animation:2s infinite shimmer}.section-separator{background:linear-gradient(90deg,transparent 0%,var(--color-primary-container-hover)10%,var(--color-primary)50%,var(--color-primary-container-hover)90%,transparent 100%);border-radius:var(--radius-full);height:1.5px;margin:var(--space-5)0;box-shadow:0 0 10px var(--color-primary-container-hover),0 0 18px var(--color-primary-container);position:relative}.section-separator:before{content:"";background:linear-gradient(90deg,transparent 0%,var(--color-primary-container)10%,var(--color-primary-container-hover)50%,var(--color-primary-container)90%,transparent 100%);border-radius:var(--radius-full);filter:blur(6px);z-index:-1;height:10px;position:absolute;top:-4px;left:0;right:0}.modal-footer{padding:var(--space-5)var(--space-6);padding-top:var(--space-6);justify-content:flex-end;align-items:center;gap:var(--space-3);flex-grow:0;flex-shrink:0;display:flex;position:relative}.modal-footer:before{content:"";background:linear-gradient(90deg,transparent 0%,var(--color-primary-container-hover)10%,var(--color-primary)50%,var(--color-primary-container-hover)90%,transparent 100%);border-radius:var(--radius-full);width:85%;height:1.5px;box-shadow:0 0 12px var(--color-primary-container-hover),0 0 20px var(--color-primary-container);position:absolute;top:0;left:50%;transform:translate(-50%)}.modal-footer:after{content:"";background:linear-gradient(90deg,transparent 0%,var(--color-primary-container)10%,var(--color-primary-container-hover)50%,var(--color-primary-container)90%,transparent 100%);border-radius:var(--radius-full);filter:blur(8px);z-index:-1;width:85%;height:12px;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.onboarding-modal{max-width:600px}.modal-progress{gap:var(--space-2);padding-right:var(--space-10);flex-direction:column;flex:1;display:flex}.modal-progress .progress-bar{height:4px}.modal-progress .progress-fill{background:linear-gradient(90deg,var(--color-primary)0%,var(--color-primary-hover)50%,var(--color-primary)100%);box-shadow:0 0 12px var(--color-primary-container-hover),0 0 20px var(--color-primary-container);background-size:200% 100%;animation:2s infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes text-shimmer{0%{background-position:-200%}to{background-position:200%}}.progress-text{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-tertiary);letter-spacing:.01em}.onboarding-step{animation:fadeSlideIn var(--transition-base)ease-out}@keyframes fadeSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.step-title{font-size:var(--text-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-3);color:var(--color-text);letter-spacing:-.02em;line-height:1.2}.step-description{color:var(--color-text-secondary);margin-bottom:var(--space-6);font-size:var(--text-base);line-height:1.6}.step-hint{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-4);font-style:italic;line-height:1.5}.onboarding-text-input{width:100%;padding:var(--space-4)var(--space-5);background:var(--color-surface);border:2px solid var(--color-outline-variant);border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-medium);transition:all var(--transition-fast)}.onboarding-text-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-container);outline:none}.onboarding-text-input::placeholder{color:var(--color-text-tertiary);font-weight:var(--font-normal)}.validation-error{color:var(--color-error);font-size:var(--text-sm);margin-top:var(--space-3);font-weight:var(--font-medium)}.onboarding-step select{padding:var(--space-4)var(--space-5);padding-right:var(--space-12);background-color:var(--color-surface);border:2px solid var(--color-outline-variant);border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-medium);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' 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 var(--space-4)center;appearance:none;cursor:pointer;transition:all var(--transition-fast);background-size:20px}.onboarding-step select:hover{border-color:var(--color-primary)}.onboarding-step select:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-container);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236366f1' 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");outline:none}.custom-select-wrapper{width:100%;position:relative}.custom-select-wrapper.open{z-index:calc(var(--z-sticky) + 3)}.custom-select-trigger{width:100%;padding:var(--space-4)var(--space-5);padding-right:var(--space-12);background:var(--color-surface);border:2px solid var(--color-outline-variant);border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-medium);text-align:left;cursor:pointer;transition:all var(--transition-fast);justify-content:flex-start;align-items:center;display:flex;position:relative}.custom-select-trigger:hover{border-color:var(--color-primary)}.custom-select-trigger.open{border-color:var(--color-primary);border-bottom-right-radius:0;border-bottom-left-radius:0}.custom-select-value{flex:1}.custom-select-value .markdown-content,.custom-select-option .markdown-content{font-size:inherit;color:inherit;line-height:1.5}.custom-select-value .markdown-content img,.custom-select-option .markdown-content img{max-height:120px!important;margin-left:0!important;margin-right:auto!important}.custom-select-arrow{top:50%;right:var(--space-4);transition:transform var(--transition-fast);color:var(--color-text-tertiary);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;transform:translateY(-50%)rotate(0)}.custom-select-arrow svg{display:block}.custom-select-trigger:hover .custom-select-arrow{color:var(--color-primary)}.custom-select-trigger.open .custom-select-arrow{color:var(--color-primary);transform:translateY(-50%)rotate(180deg)}.custom-select-dropdown{background:var(--color-surface);border:2px solid var(--color-primary);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);box-shadow:none;z-index:1000;border-top:none;max-height:240px;animation:.24s ease-out slideDown;position:absolute;top:calc(100% - 2px);left:0;right:0;overflow:hidden auto}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.custom-select-option{width:100%;padding:var(--space-3)var(--space-4);color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-medium);text-align:left;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.custom-select-option:hover{background:var(--color-primary-container)}.custom-select-option.selected{background:var(--color-primary-container);color:var(--color-primary)}.custom-select-option svg{color:var(--color-primary)}.ai-select-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.ai-select-header label{margin:0}.vault-select-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.ai-edit-presets-toggle{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ai-edit-presets-toggle:hover{color:var(--color-text)}.ai-edit-presets-toggle.active{color:var(--color-primary)}.ai-presets-edit-container{gap:var(--space-3);padding:var(--space-3);flex-direction:column;display:flex}.ai-preset-edit-item{gap:var(--space-2);padding-bottom:var(--space-2);flex-direction:column;display:flex}.ai-preset-edit-item:last-child{padding-bottom:0}.ai-preset-edit-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.ai-preset-edit-title{font-weight:var(--font-semibold)}.ai-preset-edit-actions{align-items:center;gap:var(--space-1);display:inline-flex}.ai-presets-add-btn{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);border-radius:var(--radius-md);border:1px dashed var(--color-outline-variant);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;display:inline-flex}.ai-presets-add-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-container)}.vault-add-btn{border-radius:var(--radius-md);width:100%;padding:var(--space-2)var(--space-2);color:var(--color-text-secondary);border:none;justify-content:center}.vault-add-btn:hover{color:var(--color-primary);background:0 0}.divider-gray{height:1px;margin:var(--space-2)var(--space-3);background:linear-gradient(90deg,transparent 0%,var(--color-outline-variant)20%,var(--color-outline-variant)80%,transparent 100%)}.radio-group-compact{gap:var(--space-2);flex-flow:row;display:flex}.radio-option-compact{min-width:0;padding:var(--space-2)var(--space-3);text-align:center;white-space:nowrap;flex:1 1 0;justify-content:center}.radio-option-compact .radio-circle{display:none}.radio-option-compact .option-content{flex:none}.radio-option-compact .option-label{font-size:clamp(.72rem,2.6vw,var(--text-sm));font-weight:var(--font-semibold);margin-bottom:0}@media (max-width:768px){.radio-group-compact{flex-wrap:wrap}.radio-option-compact{flex:1 1 calc(50% - var(--space-2))}}.profile-info{gap:var(--space-3);flex-direction:column;display:flex}.profile-item{font-size:var(--text-base);color:var(--color-text);line-height:1.6}.profile-item strong{font-weight:var(--font-semibold);color:var(--color-text)}.confirm-icon{width:64px;height:64px;margin:0 auto var(--space-4);background:var(--color-warning-container);border-radius:var(--radius-full);justify-content:center;align-items:center;display:flex}.confirm-icon svg{width:32px;height:32px;color:var(--color-warning)}.confirm-icon.danger{background:var(--color-error-container)}.confirm-icon.danger svg{color:var(--color-error)}.confirm-icon.success{background:0 0}.confirm-icon.success svg{color:var(--color-warning)}.confirm-icon.reset{background:0 0}.confirm-icon.reset svg{color:var(--color-error)}.confirm-icon.test{background:var(--color-primary-container)}.confirm-icon.test svg{color:var(--color-primary)}.confirm-icon.exit{background:color-mix(in srgb,var(--color-error-container)60%,var(--color-surface)40%)}.confirm-icon.exit svg{color:var(--color-error)}.confirm-title{font-size:var(--text-lg);font-weight:var(--font-semibold);text-align:center;margin-bottom:var(--space-2)}.confirm-message{text-align:center;color:var(--color-text-secondary)}.modal-footer .btn-danger{border:2px solid var(--color-outline-variant);color:var(--color-text-secondary);background:0 0!important}.modal-footer .btn-danger:hover:not(:disabled){border-color:var(--color-error);color:var(--color-error);background:0 0!important}.modal-footer .btn-danger:hover:not(:disabled) svg{color:var(--color-error)}.materials-modal{max-width:600px}.materials-content{padding:var(--space-8)var(--space-6)}.materials-title{font-size:var(--text-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-3);color:var(--color-text);letter-spacing:-.02em}.materials-description{color:var(--color-text-secondary);margin-bottom:var(--space-6);font-size:var(--text-base);line-height:1.6}.upload-zone{padding:var(--space-10);border:2px dashed var(--color-outline);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--transition-fast);background:var(--color-surface-variant);position:relative}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--color-primary);background:var(--color-primary-container)}.upload-icon{width:48px;height:48px;color:var(--color-text-tertiary);margin:0 auto var(--space-3)}.upload-zone:hover .upload-icon,.upload-zone.drag-over .upload-icon{color:var(--color-primary)}.upload-text{font-weight:var(--font-medium);color:var(--color-text);margin-bottom:var(--space-1);font-size:var(--text-base)}.upload-link{color:var(--color-primary);cursor:pointer;text-decoration:underline}.upload-hint{font-size:var(--text-sm);color:var(--color-text-tertiary)}.upload-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.uploaded-files{margin-top:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.uploaded-file{align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-container);border-radius:var(--radius-md);display:flex}.file-icon{background:var(--color-primary-container);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:32px;height:32px;display:flex}.file-icon svg{width:18px;height:18px;color:var(--color-primary)}.file-info{flex:1;min-width:0}.file-name{font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-size{font-size:var(--text-xs);color:var(--color-text-tertiary)}.file-remove{padding:var(--space-2);color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);background:0 0;border:none}.file-remove:hover{background:var(--color-error-container);color:var(--color-error)}.file-remove svg{width:16px;height:16px}.generate-progress-container{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-surface-container);border-radius:var(--radius-lg)}.progress-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.progress-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text)}.progress-percentage{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-primary)}.progress-bar{background:var(--color-surface-variant);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--color-primary)0%,var(--color-primary-hover)100%);border-radius:var(--radius-full);height:100%;transition:width var(--transition-base)}.toast-container{bottom:var(--space-6);right:var(--space-6);gap:var(--space-3);z-index:var(--z-toast);flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-outline-variant);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:280px;max-width:400px;animation:slideInRight var(--transition-spring);display:flex}.toast.removing{animation:slideOutRight var(--transition-base)forwards}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.toast-icon{flex-shrink:0;width:24px;height:24px}.toast.success .toast-icon{color:var(--color-success)}.toast.warning .toast-icon{color:var(--color-warning)}.toast.error .toast-icon{color:var(--color-error)}.toast.info .toast-icon{color:var(--color-info)}.toast-content{flex:1}.toast-title{font-weight:var(--font-medium);margin-bottom:var(--space-1)}.toast-message{font-size:var(--text-sm);color:var(--color-text-secondary)}.toast-close{padding:var(--space-1);color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none}.toast-close:hover{color:var(--color-error)}.toast-close svg{width:16px;height:16px}@media (max-width:640px){.modal-container{width:95%;max-height:95vh;margin:auto}.onboarding-modal{max-width:none}.modal-header,.modal-body,.modal-footer{padding-left:var(--space-4);padding-right:var(--space-4)}.toast-container{left:var(--space-4);right:var(--space-4);bottom:var(--space-4)}.toast{min-width:auto;max-width:none}}.generate-form{flex-direction:column;gap:0;display:flex}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-group label{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text);margin-top:var(--space-4);margin-bottom:var(--space-5);display:block}.generate-form .form-group:first-child label{margin-top:0}.form-group:has(.unlimited-checkbox) label{margin-bottom:var(--space-1)}.form-input{width:100%;padding:var(--space-3)var(--space-4);background:var(--color-surface-variant);border:2px solid var(--color-outline-variant);border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--text-base);font-family:var(--font-sans);transition:all var(--transition-fast)}.form-input:focus{border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-primary-container);outline:none}.form-count-options{gap:var(--space-2);display:flex}.count-option{padding:var(--space-3);background:var(--color-surface);border:2px solid var(--color-outline-variant);border-radius:var(--radius-lg);color:var(--color-text);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);flex:1}.count-option:hover{border-color:var(--color-primary);background:var(--color-primary-container)}.count-option.active{border-color:var(--color-primary);background:var(--color-primary-container);color:var(--color-primary)}.form-radio-group{gap:var(--space-2);flex-wrap:wrap;display:flex}.form-radio-group .radio-option{min-width:120px;padding:var(--space-3);background:var(--color-surface);border:2px solid var(--color-outline-variant);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);flex:1;justify-content:center;align-items:center;display:flex}.form-radio-group .radio-option input{display:none}.form-radio-group .radio-option:hover{border-color:var(--color-primary);background:var(--color-primary-container)}.form-radio-group .radio-option.active{border-color:var(--color-primary);background:var(--color-primary-container);color:var(--color-primary)}.form-radio-group .radio-option span{font-weight:var(--font-medium);font-size:var(--text-sm)}.generate-progress{text-align:center;padding:var(--space-6)}.generate-progress-icon{margin:0 auto var(--space-4);color:var(--color-primary);justify-content:center;align-items:center;display:flex}.generate-progress h3{font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:var(--space-2);color:var(--color-text)}.generate-progress p{color:var(--color-text-secondary);margin-bottom:var(--space-4)}.generate-progress-bar{background:var(--color-surface-variant);border-radius:var(--radius-full);width:100%;height:8px;margin-bottom:var(--space-2);overflow:hidden}.generate-progress-fill{background:linear-gradient(90deg,var(--color-primary)0%,var(--color-primary-hover)100%);border-radius:var(--radius-full);height:100%;transition:width .3s ease-out}.generate-progress-text{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.profile-info-card{padding:var(--space-4);background:linear-gradient(135deg,var(--color-primary-container)0%,var(--color-primary-container-hover)100%);border:1px solid var(--color-primary);border-radius:var(--radius-lg);margin-bottom:var(--space-5)}.profile-info-header{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-primary);margin-bottom:var(--space-2);display:flex}.profile-info-header svg{width:16px;height:16px}.profile-info-details{gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.profile-info-details strong{color:var(--color-text);font-weight:var(--font-semibold)}@media (max-width:480px){.profile-info-card{padding:var(--space-3);margin-bottom:var(--space-3)}.profile-info-header,.profile-info-details{font-size:var(--text-xs)}}.unlimited-checkbox,.shuffle-checkbox{align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);background:var(--color-surface);border:2px solid var(--color-outline-variant);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text);-webkit-user-select:none;user-select:none;margin-top:var(--space-2);display:flex}.unlimited-checkbox input[type=checkbox],.shuffle-checkbox input[type=checkbox]{display:none}.unlimited-checkbox svg,.shuffle-checkbox svg{color:var(--color-text-secondary);vertical-align:middle;flex-shrink:0;width:20px;height:20px;margin-right:0;transition:all .5s cubic-bezier(.4,0,.2,1);display:inline-block}.unlimited-checkbox:hover,.shuffle-checkbox:hover{border-color:var(--color-primary);background:var(--color-primary-container)}:is(.unlimited-checkbox:has(input:checked),.shuffle-checkbox:has(input:checked)){background:var(--color-primary-container);border-color:var(--color-primary)}:is(.unlimited-checkbox:has(input:checked) svg,.shuffle-checkbox:has(input:checked) svg){color:var(--color-primary)}.unlimited-checkbox:has(input:checked) svg{transform:rotate(180deg)}.shuffle-checkbox:has(input:checked) svg{transform:scaleY(-1)}.form-slider-group{margin-bottom:var(--space-4)}.form-slider-label{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);justify-content:space-between;align-items:center;display:flex}.form-slider-value{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-primary);text-align:center;margin-bottom:var(--space-3)}.form-slider{appearance:none;cursor:pointer;background:0 0;outline:none;width:100%;height:20px}.form-slider::-webkit-slider-thumb{appearance:none;border-radius:var(--radius-full);background:var(--color-primary);cursor:pointer;width:20px;height:20px;transition:all var(--transition-fast);margin-top:-7px}.form-slider::-webkit-slider-thumb:hover{box-shadow:0 0 0 8px var(--color-primary-container);transform:scale(1.2)}.form-slider::-moz-range-thumb{border-radius:var(--radius-full);background:var(--color-primary);cursor:pointer;width:20px;height:20px;transition:all var(--transition-fast);border:none}.form-slider::-moz-range-thumb:hover{box-shadow:0 0 0 8px var(--color-primary-container);transform:scale(1.2)}.form-slider::-webkit-slider-runnable-track{border-radius:var(--radius-full);background:var(--color-surface-variant);height:6px}.form-slider::-moz-range-track{border-radius:var(--radius-full);background:var(--color-surface-variant);height:6px}.form-slider:focus{box-shadow:none;outline:none}.ai-modal.modal-container{max-width:520px}.ai-modal-body{gap:var(--space-4);flex-direction:column;display:flex}.ai-explain-section,.ai-edit-section,.ai-translate-section{gap:var(--space-2);flex-direction:column;display:flex}.ai-explain-label,.ai-edit-label,.ai-translate-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text)}.ai-modal-textarea{width:100%;min-height:100px;padding:var(--space-3)var(--space-4);background:var(--color-surface-variant);border:2px solid var(--color-outline-variant);border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--text-base);font-family:var(--font-sans);resize:vertical;transition:all var(--transition-fast)}.ai-modal-textarea:focus{border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-primary-container);outline:none}.ai-modal-input{width:100%;padding:var(--space-3)var(--space-4);background:var(--color-surface-variant);border:2px solid var(--color-outline-variant);border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--text-base);font-family:var(--font-sans);transition:all var(--transition-fast)}.ai-modal-input:focus{border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-primary-container);outline:none}.ai-options-column{gap:var(--space-4);flex-direction:column;display:flex}.ai-loading-container{align-items:center;gap:var(--space-3);padding:var(--space-6);color:var(--color-text-secondary);flex-direction:column;display:flex}.ai-loading-spinner{border:3px solid var(--color-surface-variant);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:1s linear infinite spin}.ai-result-container{padding:var(--space-4);background:var(--color-surface-container);border-radius:var(--radius-lg);border:1px solid var(--color-outline-variant)}.ai-result-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.ai-result-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-primary)}.ai-result-content{font-size:var(--text-base);color:var(--color-text);line-height:1.6}.ai-preset-action-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ai-preset-action-btn:hover{color:var(--color-text)}.ai-preset-action-btn.delete{color:color-mix(in srgb,var(--color-error)60%,transparent);transition:color var(--transition-fast)}.ai-preset-action-btn.delete svg{color:currentColor}.ai-preset-action-btn.delete:hover{color:var(--color-error)}.ai-preset-action-btn.delete.confirm{color:var(--color-error-container);border:1px solid var(--color-error-container);background:0 0;justify-content:space-between;min-width:56px;padding:0 6px}.ai-preset-action-btn.delete.confirm:hover{border-color:var(--color-error)}.ai-preset-action-btn.delete.confirm .cancel-btn{color:var(--color-text-secondary);margin-left:4px;animation:.6s cubic-bezier(.4,0,.2,1) slideInRight}.ai-preset-action-btn.delete.confirm .cancel-btn:hover{color:var(--color-text)}.ai-chat-panel{bottom:var(--space-6);right:var(--space-6);background:var(--color-surface);background-image:linear-gradient(var(--color-surface),var(--color-surface)),linear-gradient(135deg,var(--color-primary)0%,transparent 30%,transparent 70%,var(--color-primary)100%);border-radius:var(--radius-xl);width:420px;max-height:600px;box-shadow:var(--shadow-modal),0 0 0 1px var(--color-primary-container),0 0 20px var(--color-primary-container);z-index:var(--z-modal);background-origin:border-box;background-clip:padding-box,border-box;border:2px solid #0000;flex-direction:column;display:flex;position:fixed}.ai-chat-panel-header{padding:var(--space-4)var(--space-5);border-bottom:1px solid var(--color-outline-variant);background:linear-gradient(135deg,var(--color-primary-container)0%,var(--color-surface)100%);justify-content:space-between;align-items:center;display:flex}.ai-chat-panel-title{align-items:center;gap:var(--space-3);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text);display:flex}.ai-chat-panel-subtitle{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.ai-chat-panel-close{border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:flex}.ai-chat-panel-close:hover{color:var(--color-error);background:0 0;border-color:#0000}.ai-chat-panel-body{min-height:0;padding:var(--space-4);flex-direction:column;flex:1;display:flex;overflow:hidden}.ai-chat-messages{gap:var(--space-4);padding-right:var(--space-2);margin-bottom:var(--space-4);z-index:1;flex-direction:column;flex:1;display:flex;position:relative;overflow-y:auto}.ai-chat-messages::-webkit-scrollbar-thumb{background:var(--color-outline-variant);border-radius:var(--radius-full)}.ai-chat-empty{text-align:center;height:100%;padding:var(--space-6);flex-direction:column;justify-content:center;align-items:center;display:flex}.ai-chat-empty-icon{border-radius:var(--radius-full);background:var(--color-primary-container);width:56px;height:56px;margin-bottom:var(--space-4);justify-content:center;align-items:center;display:flex}.ai-chat-empty-icon svg{width:28px;height:28px;color:var(--color-primary);opacity:.7}.ai-chat-empty-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text);margin-bottom:var(--space-2)}.ai-chat-empty-desc{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4);max-width:280px}.ai-chat-hints{gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.ai-chat-hint-btn{padding:var(--space-2)var(--space-4);background:var(--color-surface);border:1px solid var(--color-outline-variant);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.ai-chat-hint-btn:hover{border-color:var(--color-primary);background:var(--color-primary-container)}.ai-chat-hint-btn.active{background:var(--color-primary-container);border-color:var(--color-primary)}.ai-chat-hint-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.ai-chat-hint-icon svg{width:18px;height:18px}.ai-chat-hint-btn.active .ai-chat-hint-icon svg{color:var(--color-primary)}.ai-chat-hint-btn span:last-child{text-align:left;flex:1}.ai-chat-hints-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}.user-message-bubble{max-width:85%;padding:var(--space-3)var(--space-4);background:var(--color-primary);color:#fff;border-radius:var(--radius-lg)var(--radius-lg)var(--radius-sm)var(--radius-lg);margin-left:auto}.assistant-message-bubble{max-width:85%;padding:var(--space-3)var(--space-4);background:var(--color-surface-container);border:1px solid var(--color-outline-variant);border-radius:var(--radius-lg)var(--radius-lg)var(--radius-lg)var(--radius-sm)}.ai-chat-input-area{border-top:1px solid var(--color-outline-variant);padding-top:var(--space-4)}.ai-chat-toggles{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.ai-chat-toggle{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);background:var(--color-surface);border:1px solid var(--color-outline-variant);border-radius:var(--radius-lg);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);display:flex}.ai-chat-toggle.active{background:var(--color-primary-container);border-color:var(--color-primary);color:var(--color-primary)}.ai-chat-toggle svg{width:14px;height:14px}.ai-chat-input-wrapper{position:relative}.ai-chat-window .ai-chat-input-wrapper{gap:var(--space-2);padding:var(--space-3)var(--space-4)var(--space-4);background:var(--color-surface-container);border:1px solid var(--color-outline-variant);border-radius:var(--radius-lg);flex-direction:column;flex:1;width:100%;margin:0;transition:border-color .15s;display:flex;position:relative}.ai-chat-window .ai-chat-input-wrapper.ai-chat-input-wrapper--drag-over{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary-container)30%,var(--color-surface-container))}.ai-chat-textarea-row{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-1);width:100%;display:flex}.ai-chat-input-bottom-row{margin-top:var(--space-2);justify-content:space-between;align-items:center;padding:0;display:flex}.ai-chat-input-bottom-left{align-items:center;gap:var(--space-1);display:flex}.ai-chat-window .ai-chat-input-bottom-left{position:static;bottom:auto;left:auto}.ai-chat-input-bottom-right{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.ai-chat-input{width:100%;color:var(--color-text);font-size:var(--text-sm);font-family:var(--font-sans);resize:none;min-height:28px;transition:all var(--transition-fast);box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important}.ai-chat-window .ai-chat-input{max-height:120px;padding:0 0 0 var(--space-2);flex:1;overflow-y:auto;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important}.ai-chat-input:focus{box-shadow:none!important;-webkit-tap-highlight-color:transparent!important;appearance:none!important;background:0 0!important;border:none!important;outline:none!important}.ai-chat-send-btn{color:var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:transform .2s,opacity .2s;display:inline-flex}.ai-chat-window .ai-chat-send-btn,.ai-chat-window .ai-chat-stop-btn{width:auto;height:auto;position:static;transform:none}.ai-chat-send-btn:hover:not(:disabled){background:0 0;transform:scale(1.15)}.ai-chat-stop-btn:hover:not(:disabled){transform:scale(1.05)}.ai-chat-send-btn:disabled{opacity:.3;cursor:not-allowed}.ai-chat-send-btn svg{width:18px;height:18px}.ai-chat-clear-btn{color:var(--color-text-tertiary)}.ai-chat-clear-btn:hover{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger)10%,transparent)}.ai-chat-stop-btn{background:0 0;border:none;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:none;display:flex;transform:translateY(-50%)}.ai-chat-stop-ring{background:color-mix(in srgb,var(--color-primary)12%,transparent);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.ai-chat-stop-square{background:var(--color-primary);width:10px;height:10px;box-shadow:0 0 6px color-mix(in srgb,var(--color-primary)50%,transparent);border-radius:3px}.ai-chat-backdrop{background:var(--modal-backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);width:100%;height:100%;z-index:calc(var(--z-modal) - 1);animation:.2s ease-out fadeIn;position:fixed;top:0;left:0}.ai-chat-window{background:var(--color-surface);background-image:linear-gradient(rgba(var(--color-surface-rgb),.95),rgba(var(--color-surface-rgb),.95)),linear-gradient(to bottom,color-mix(in srgb,var(--color-primary)60%,transparent)0%,color-mix(in srgb,var(--color-primary-hover)10%,transparent)25%,color-mix(in srgb,var(--color-primary-hover)10%,transparent)75%,color-mix(in srgb,var(--color-primary)60%,transparent)100%);box-shadow:0 20px 50px -12px #0006,0 0 0 1px color-mix(in srgb,var(--color-primary)15%,transparent);-webkit-backdrop-filter:blur(24px)saturate(180%);background-origin:border-box;background-clip:padding-box,border-box;border:2px solid #0000;border-radius:12px;flex-direction:column;transition:opacity .4s,transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;animation:.4s cubic-bezier(.34,1.56,.64,1) fadeIn;display:flex;overflow:hidden}.ai-chat-window:focus-within{box-shadow:0 25px 60px -15px #00000059,0 0 0 2px color-mix(in srgb,var(--color-primary)20%,transparent),0 0 40px color-mix(in srgb,var(--color-primary-hover)25%,transparent);transform:translateY(-2px)}.ai-chat-window.ai-chat-fullscreen{box-shadow:none;background-image:none;background:var(--color-surface);border:none;border-radius:0;width:100vw!important;height:100vh!important;top:0!important;left:0!important}.ai-chat-window.ai-chat-fullscreen .ai-chat-messages,.ai-chat-window.ai-chat-fullscreen .ai-chat-window-footer{width:100%;max-width:760px;margin:0 auto}.ai-chat-window.ai-chat-fullscreen .ai-chat-empty{max-width:760px;margin:0 auto}.ai-chat-window.ai-chat-fullscreen .ai-chat-resize-handle{display:none}.ai-chat-window-header{padding:var(--space-4)var(--space-5);-webkit-user-select:none;user-select:none;z-index:10;background:0 0;border-bottom:none;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.ai-chat-window-header-left{align-items:center;gap:var(--space-3);flex:1;min-width:0;display:flex}.ai-chat-window-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.ai-chat-note-title{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:var(--font-normal)}.ai-chat-window-header-right{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.ai-chat-header-divider{background:linear-gradient(to bottom,transparent 0%,rgba(var(--color-primary-rgb,99,102,241),.3)20%,rgba(var(--color-primary-rgb,99,102,241),.3)80%,transparent 100%);width:1px;height:20px;margin:0 var(--space-1);flex-shrink:0;align-self:center}.ai-chat-close-btn{margin-left:var(--space-1);position:static!important}.ai-chat-header-btn{padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-outline-variant);border-radius:var(--radius-full);width:32px;height:32px;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.ai-chat-header-btn:hover,.ai-chat-header-btn.active{background:var(--color-primary-container);border-color:var(--color-primary);color:var(--color-primary)}.ai-chat-header-btn svg{flex-shrink:0;width:16px;height:16px}.ai-chat-window-body{background:0 0;flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.ai-chat-messages{gap:var(--space-5);padding:var(--space-6);scroll-behavior:smooth;flex-direction:column;flex:1;display:flex;overflow-y:auto}.ai-chat-messages::-webkit-scrollbar{width:5px}.ai-chat-messages::-webkit-scrollbar-track{background:0 0}.ai-chat-messages::-webkit-scrollbar-thumb{background:linear-gradient(to bottom,var(--color-primary),var(--color-primary-hover));border-radius:var(--radius-full);opacity:.3}.ai-chat-message{word-wrap:break-word;overflow-wrap:break-word;z-index:1;max-width:95%;margin-bottom:var(--space-3);flex-direction:column;display:flex;position:relative}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-chat-message.ai-chat-user{align-self:flex-end}.ai-chat-message.ai-chat-assistant{max-width:100%;margin-bottom:var(--space-2);align-self:flex-start}.ai-chat-message-header{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:2px;font-size:11px;font-weight:600;line-height:1;display:flex}.ai-chat-message-wrapper{flex-direction:column;width:100%;margin-bottom:24px;display:flex;position:relative}@media (max-width:768px){.ai-chat-window{width:100dvw!important;max-width:none!important;height:100dvh!important;max-height:none!important;box-shadow:none!important;border:none!important;border-radius:0!important;position:fixed!important;top:0!important;left:0!important;transform:none!important}.ai-chat-window-header{padding:var(--space-4)var(--space-5);border-radius:0}.ai-chat-window-body{height:calc(100dvh - 140px)}.ai-chat-messages{height:100%}.ai-chat-window-footer{padding:var(--space-4)var(--space-5)}.ai-chat-resize-handle{display:none!important}.ai-chat-header-btn{border:none;background:0 0!important}.ai-chat-fullscreen-btn{display:none!important}}.ai-chat-copy-btn{opacity:1;cursor:pointer;color:var(--color-text-tertiary);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:inline-flex;position:absolute;bottom:-25px;right:15px}.ai-chat-copy-btn:hover{background:var(--color-surface-container-high);color:var(--color-primary);transform:scale(1.1)}.ai-chat-copy-btn:active{transform:scale(.95)}.ai-chat-message-content{padding:var(--space-4)var(--space-5);font-size:clamp(13px,2.8vw,15px);line-height:1.6;position:relative;box-shadow:0 4px 15px #00000014}.ai-chat-user .ai-chat-message-content{background:var(--color-surface)!important;color:var(--color-text)!important;background-image:linear-gradient(rgba(var(--color-surface-rgb),.95),rgba(var(--color-surface-rgb),.95)),linear-gradient(to bottom,color-mix(in srgb,var(--color-primary)60%,transparent)0%,color-mix(in srgb,var(--color-primary-hover)10%,transparent)25%,color-mix(in srgb,var(--color-primary-hover)10%,transparent)75%,color-mix(in srgb,var(--color-primary)60%,transparent)100%)!important;-webkit-backdrop-filter:blur(24px)saturate(180%)!important;background-origin:border-box!important;background-clip:padding-box,border-box!important;border:1px solid #0000!important;border-radius:12px 12px 2px!important;box-shadow:0 4px 15px #0000001a!important}.ai-chat-user-message{background:var(--color-surface);color:var(--color-text);background-image:linear-gradient(rgba(var(--color-surface-rgb),.95),rgba(var(--color-surface-rgb),.95)),linear-gradient(to bottom,color-mix(in srgb,var(--color-primary)60%,transparent)0%,color-mix(in srgb,var(--color-primary-hover)10%,transparent)25%,color-mix(in srgb,var(--color-primary-hover)10%,transparent)75%,color-mix(in srgb,var(--color-primary)60%,transparent)100%);-webkit-backdrop-filter:blur(24px)saturate(180%);background-origin:border-box;background-clip:padding-box,border-box;border:1px solid #0000;border-radius:12px 12px 4px;box-shadow:0 4px 15px #0000001a}.ai-chat-assistant .ai-chat-message-content{word-break:break-word;overflow-wrap:break-word;width:100%;box-shadow:none!important;color:var(--color-text)!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0!important}.ai-chat-assistant .ai-chat-message-content.prose{word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.ai-chat-assistant .ai-chat-message-content.prose>:first-child{margin-top:0}.ai-chat-assistant .ai-chat-message-content.prose>:last-child{margin-bottom:0}.ai-chat-assistant .ai-chat-message-content.prose p{margin:.6em 0;line-height:1.6}.ai-chat-assistant .ai-chat-message-content.prose p:first-of-type{margin-top:0}.ai-chat-assistant .ai-chat-message-content.prose p:last-of-type{margin-bottom:0}.ai-chat-assistant .ai-chat-message-content.prose p:only-child{margin:0}.ai-chat-assistant .ai-chat-message-content.prose ul,.ai-chat-assistant .ai-chat-message-content.prose ol{margin:.6em 0;padding-left:1.5em}.ai-chat-assistant .ai-chat-message-content.prose li{margin:.2em 0;line-height:1.6}.ai-chat-assistant .ai-chat-message-content.prose h1,.ai-chat-assistant .ai-chat-message-content.prose h2,.ai-chat-assistant .ai-chat-message-content.prose h3,.ai-chat-assistant .ai-chat-message-content.prose h4,.ai-chat-assistant .ai-chat-message-content.prose h5,.ai-chat-assistant .ai-chat-message-content.prose h6{margin-top:1em;margin-bottom:.5em;line-height:1.3}.ai-chat-assistant .ai-chat-message-content.prose hr{margin:1.5em 0}.ai-chat-assistant .ai-chat-message-content.prose pre{border-radius:var(--radius-md);margin:.6em 0;overflow-x:auto}.ai-chat-assistant .ai-chat-message-content.prose code{word-break:break-word}.ai-chat-assistant .ai-chat-message-content.prose blockquote{border-left:3px solid var(--color-outline-variant);margin:.6em 0;padding-left:1em}.ai-chat-assistant .ai-chat-message-content.prose li>p,.ai-chat-assistant .ai-chat-message-content.prose li>ul,.ai-chat-assistant .ai-chat-message-content.prose li>ol{margin:.2em 0}.ai-chat-assistant .ai-chat-message-content.prose li:first-child{margin-top:0}.ai-chat-assistant .ai-chat-message-content.prose li:last-child{margin-bottom:0}.ai-chat-message.ai-chat-loading{align-self:flex-start;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:row;padding:0;display:flex}.ai-chat-empty{justify-content:center;align-items:center;gap:var(--space-4);color:var(--color-text-tertiary);text-align:center;padding:var(--space-8);flex-direction:column;flex:1;display:flex}.ai-chat-window-footer{padding:var(--space-3)var(--space-5)var(--space-4);z-index:10;background:0 0;border-top:none;position:relative}.ai-chat-model-dropdown-wrapper{flex-shrink:0;position:relative}.ai-chat-model-dropdown-btn{border-radius:var(--radius-sm);color:var(--color-text-tertiary);font-size:var(--text-xs);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;align-items:center;gap:3px;padding:4px 6px;display:flex}.ai-chat-model-dropdown-btn:hover:not(:disabled){color:var(--color-text-secondary)}.ai-chat-model-dropdown-btn:disabled{opacity:.5;cursor:not-allowed}.ai-chat-model-chevron{transition:transform .2s}.ai-chat-model-chevron-open{transform:rotate(180deg)}.ai-chat-model-dropdown-menu{background:var(--color-surface);border:1px solid var(--color-outline-variant);border-radius:var(--radius-md);min-width:120px;padding:var(--space-1);z-index:100;animation:.15s fadeIn;position:absolute;bottom:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0003}.ai-chat-model-dropdown-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2)var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;display:flex}.ai-chat-model-dropdown-item:hover:not(:disabled){color:var(--color-text)}.ai-chat-model-dropdown-item.active{color:var(--color-primary)}.ai-chat-model-dropdown-item.locked{opacity:.4;cursor:not-allowed}.ai-chat-fullscreen-btn{box-shadow:none!important;background:0 0!important;border:none!important}.ai-chat-suggestions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.ai-chat-suggestions button{padding:var(--space-3)var(--space-5);background:var(--color-surface);border:1px solid var(--color-outline-variant);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000d}.ai-chat-suggestions button:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary)10%,transparent),color-mix(in srgb,var(--color-primary-hover)10%,transparent));color:var(--color-primary);border-color:var(--color-primary);box-shadow:0 6px 15px color-mix(in srgb,var(--color-primary)15%,transparent);transform:translateY(-2px)scale(1.02)}.ai-chat-resize-handle{z-index:10;background:0 0;position:absolute}.ai-chat-resize-handle:hover{background:rgba(var(--color-primary-rgb,159,122,234),.1)}.ai-chat-resize-nw,.ai-chat-resize-ne,.ai-chat-resize-sw,.ai-chat-resize-se{width:4px;height:4px}.ai-chat-resize-nw{cursor:nwse-resize;top:0;left:0}.ai-chat-resize-ne{cursor:nesw-resize;top:0;right:0}.ai-chat-resize-sw{cursor:nesw-resize;bottom:0;left:0}.ai-chat-resize-se{cursor:nwse-resize;bottom:0;right:0}.ai-chat-resize-n,.ai-chat-resize-s{height:3px;left:0;right:0}.ai-chat-resize-n{cursor:ns-resize;top:0}.ai-chat-resize-s{cursor:ns-resize;bottom:0}.ai-chat-resize-e,.ai-chat-resize-w{width:3px;top:0;bottom:0}.ai-chat-resize-e{cursor:ew-resize;right:0}.ai-chat-resize-w{cursor:ew-resize;left:0}.media-dropzone{padding:var(--space-4);border:2px dashed var(--color-outline);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--transition-fast)}.media-dropzone:hover,.media-dropzone--active{border-color:var(--color-primary);background:var(--color-primary-container)}.media-dropzone--uploading{opacity:.7;pointer-events:none}.media-dropzone__content{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.media-dropzone__hint{font-size:var(--text-sm);color:var(--color-text-tertiary)}.media-dropzone__uploading{font-size:var(--text-sm);color:var(--color-primary)}.unified-side-input{gap:var(--space-3);padding:var(--space-3)var(--space-3)var(--space-2);border:2px dashed var(--color-outline-variant);border-radius:var(--radius-lg);transition:all var(--transition-fast);background:0 0;flex-direction:column;min-height:0;display:flex;position:relative}.unified-side-input:hover,.unified-side-input.active{border-color:var(--color-primary);background:var(--color-primary-container)}.unified-side-input__textarea{resize:vertical;width:100%;min-height:72px;color:var(--color-text);font-size:var(--text-base);background:0 0;border:none;outline:none;padding:0;line-height:1.5}.unified-side-input__textarea:focus{box-shadow:none;outline:none}.unified-side-input__upload{right:var(--space-3);bottom:var(--space-3);width:40px;height:40px;color:var(--color-on-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.unified-side-input__upload:hover{box-shadow:none;color:var(--color-primary);background:0 0;transform:none}.unified-side-input__preview{padding-right:calc(40px + var(--space-3))}.media-drop-input-container{gap:var(--space-2);flex-direction:column;display:flex}.media-row{gap:var(--space-4);align-items:flex-start;display:flex}.media-group{flex:1;min-width:0}.media-group label{justify-content:center;align-items:center;gap:var(--space-1);margin-bottom:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text);display:flex}.media-drop-input{align-items:center;gap:var(--space-2);padding:var(--space-2);border:2px dashed var(--color-outline-variant);border-radius:var(--radius-lg);transition:all var(--transition-fast);background:0 0;display:flex}.media-drop-input:hover,.media-drop-input.active{border-color:var(--color-primary);background:var(--color-primary-container)}.media-text-input{padding:var(--space-2)var(--space-3);border:1px solid var(--color-outline);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);transition:all var(--transition-fast);outline:none;flex:1}.media-text-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-container)}.media-upload-btn{background:var(--color-primary);width:40px;height:40px;color:var(--color-on-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.media-upload-btn:hover{background:var(--color-primary-hover);box-shadow:0 2px 8px var(--color-primary-container);transform:translateY(-1px)}.media-drop-hint{font-size:var(--text-xs);color:var(--color-text-tertiary);align-items:center;gap:var(--space-1);padding-left:var(--space-1);display:flex}@media (max-width:768px){.media-row{gap:var(--space-3);flex-direction:column}}.media-preview-list{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.media-preview-item{border-radius:var(--radius-md);border:1px solid var(--color-outline-variant);width:80px;height:80px;position:relative;overflow:hidden}.media-preview-img{object-fit:cover;width:100%;height:100%}.media-preview-video-placeholder{background:var(--color-surface-variant);width:100%;height:100%;color:var(--color-text-tertiary);justify-content:center;align-items:center;display:flex}.media-preview-remove{top:var(--space-1);right:var(--space-1);background:color-mix(in srgb,var(--color-error)90%,transparent);border-radius:var(--radius-full);color:#fff;cursor:pointer;opacity:0;width:20px;height:20px;transition:opacity var(--transition-fast);border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.media-preview-item:hover .media-preview-remove{opacity:1}.media-preview-loading{background:var(--color-surface-variant);justify-content:center;align-items:center;display:flex}.options-list-edit{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.option-edit-row{align-items:center;gap:var(--space-2);display:flex}.option-select-btn{background:var(--color-surface);border:2px solid var(--color-outline-variant);border-radius:var(--radius-md);width:28px;height:28px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.option-select-btn .dot{background:var(--color-outline-variant);border-radius:var(--radius-full);width:8px;height:8px}.option-select-btn:hover{border-color:var(--color-primary);background:var(--color-primary-container)}.option-select-btn.active{border-color:var(--color-success);background:var(--color-success);color:#fff}.option-select-btn.active .dot{display:none}.btn-remove{border-radius:var(--radius-md);width:28px;height:28px;color:var(--color-error);cursor:pointer;transition:all var(--transition-fast);opacity:.6;background:0 0;border:none;padding:0}.btn-remove:hover{opacity:1;background:var(--color-error-container)}.ai-chat-brand-icon{stroke:url(#ai-chat-gradient);fill:none;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--color-primary-hover)30%,transparent))}[data-theme=dark] .ai-chat-brand-icon{filter:drop-shadow(0 0 12px color-mix(in srgb,var(--color-primary-hover)50%,transparent))}.text-style-presets{margin-bottom:var(--space-4)}.text-style-preset-grid{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid}.text-style-preset-btn{padding:var(--space-3)var(--space-4);background:var(--color-surface);border:1px solid var(--color-outline-variant);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast);text-align:center}.text-style-preset-btn:hover{border-color:var(--color-outline);background:var(--color-surface-container)}.text-style-preset-btn.active{background:var(--color-primary-container);border-color:var(--color-primary);color:var(--color-primary)}.text-style-config-group{margin-top:var(--space-5)}.text-style-mode-grid{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}.text-style-mode-btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-outline-variant);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);display:flex}.text-style-mode-btn:hover{border-color:var(--color-outline);background:var(--color-surface-container);color:var(--color-text)}.text-style-mode-btn.active{background:var(--color-primary-container);border-color:var(--color-primary);color:var(--color-primary)}.text-style-mode-btn svg{flex-shrink:0;width:16px;height:16px}.text-style-color-trigger{align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);background:var(--color-surface);border:1px solid var(--color-outline-variant);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);width:100%;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text);margin-top:var(--space-3);max-height:46px;display:flex}.text-style-color-trigger:hover{border-color:var(--color-primary);background:var(--color-primary-container)}.text-style-color-preview{background:var(--preview-color);border:1px solid var(--color-outline);border-radius:50%;flex-shrink:0;width:24px;height:24px}.gradient-editor{margin-top:var(--space-3);padding:var(--space-4);border:1px solid var(--color-outline-variant);border-radius:var(--radius-md)}.gradient-editor-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.gradient-colors-list{gap:var(--space-2);flex-wrap:wrap;margin:0;display:flex}.gradient-color-item{align-items:center;gap:var(--space-2);display:flex;position:relative}.gradient-color-preview{border:2px solid var(--color-outline);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);border-radius:50%}.gradient-color-preview:hover{border-color:var(--color-primary);transform:scale(1.1)}.gradient-color-remove{border-radius:var(--radius-full);background:var(--color-error-container);width:20px;height:20px;color:var(--color-error);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex;position:absolute;top:-8px;right:-8px}.gradient-color-remove:hover{background:var(--color-error);color:#fff}.gradient-add-color-btn{padding:var(--space-2);background:var(--color-primary-container);color:var(--color-primary);border:1px dashed var(--color-primary);justify-content:center;align-items:center;gap:var(--space-2);cursor:pointer;transition:all var(--transition-fast);border-radius:50%;width:32px;height:32px;display:flex}.gradient-add-color-btn:hover{background:var(--color-primary);color:#fff;border-style:solid}.gradient-preview-text{font-size:var(--text-sm);font-weight:var(--font-medium);margin-top:var(--space-3);text-align:right;width:100%;display:inline-block}.gradient-preview{margin-top:var(--space-4);padding:var(--space-6);border-radius:var(--radius-md);text-align:center;font-weight:var(--font-bold);color:#fff;text-shadow:0 2px 4px #0000004d}@media (max-width:768px){.modal{align-items:stretch;padding:8px 0}.modal-container{border-radius:var(--radius-xl);flex-direction:column;width:100%;max-width:100%;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);margin:0;display:flex;overflow:hidden;transform:translateY(100%)}.modal-container>form{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.modal.active .modal-container{transform:translateY(0)}.modal-small .modal-container,.modal-container.modal-small,.modal-large .modal-container,.modal-container.modal-large{max-width:100%;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.modal-header{padding:var(--space-5)var(--space-4);padding-top:var(--space-4);flex-shrink:0;align-items:center}.modal-title{font-size:var(--text-lg);line-height:1.4}.modal-close{width:var(--touch-target-min);height:var(--touch-target-min);top:var(--space-3);right:var(--space-3);justify-content:center;align-items:center;display:flex}.modal-close:hover{transform:none}.modal-close:active{opacity:1;transform:none}.modal-body{padding:var(--space-3)var(--space-4);-webkit-overflow-scrolling:touch;flex:auto;min-height:0;max-height:none;overflow:hidden auto}.modal-footer{padding:var(--space-3)var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));gap:var(--space-2);border-top:1px solid var(--color-outline-variant);background:var(--color-surface);flex-flow:row;flex-shrink:0;justify-content:stretch}.onboarding-modal .modal-footer{gap:var(--space-2);flex-flow:row;justify-content:space-between}.onboarding-modal .modal-footer button{flex:1 1 0;width:auto;min-width:0}.modal-footer button{width:auto;min-height:var(--touch-target-min);padding:var(--space-2)var(--space-3);flex:auto;justify-content:center}.modal-footer-actions{gap:var(--space-2);flex-direction:row;width:100%}.modal-footer-actions button{flex:1}.modal-container:before{display:none}.confirm-dialog .modal-container{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.confirm-dialog-content{padding:var(--space-4)}.confirm-dialog-icon{width:56px;height:56px}.confirm-dialog-title{font-size:var(--text-lg)}.confirm-dialog-message{font-size:var(--text-sm)}.confirm-dialog-actions{gap:var(--space-2);flex-direction:column;width:100%}.confirm-dialog-actions button{width:100%;min-height:var(--touch-target-comfortable)}.color-picker-modal .modal-container{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.color-picker-grid{gap:var(--space-2);grid-template-columns:repeat(6,1fr)}.color-swatch{width:var(--touch-target-min);height:var(--touch-target-min)}.help-modal .modal-container{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.help-shortcut-grid{gap:var(--space-2);grid-template-columns:1fr}.help-shortcut-item{padding:var(--space-3)}.text-style-modal .modal-container{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.text-style-options{gap:var(--space-2)}.text-style-option{min-height:var(--touch-target-comfortable);padding:var(--space-3)}}.quick-presets-group{margin-top:var(--space-3)}.quick-presets-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.quick-preset-btn{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);background:var(--color-surface);border:1px solid var(--color-outline-variant);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-xs);color:var(--color-text-secondary);display:flex}.quick-preset-btn:hover,.quick-preset-btn.active{background:var(--color-primary-container);border-color:var(--color-primary);color:var(--color-primary)}.quick-preset-btn.active svg{color:var(--color-primary)}.quick-preset-label{white-space:nowrap}.custom-select-option-row{align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);transition:background var(--transition-fast),color var(--transition-fast);display:flex}.custom-select-option-row:hover,.custom-select-option-row.selected{background:var(--color-primary-container)}.custom-select-option-row .custom-select-option{background:0 0;border-radius:0;flex:1;padding:0}.custom-select-option-row .custom-select-option:hover,.custom-select-option-row:hover .custom-select-option,.custom-select-option-row.selected .custom-select-option{background:0 0}.custom-select-option-row:hover .custom-select-option-label,.custom-select-option-row.selected .custom-select-option-label{color:var(--color-primary)}.custom-select-option-actions{align-items:center;gap:var(--space-2);display:flex}.ai-preset-delete-btn{color:var(--color-delete)!important}.ai-preset-delete-btn:hover{color:var(--color-delete-hover)!important;background:0 0!important}.delete-confirm-btn{animation:.25s forwards fadeInPop;color:var(--color-delete)!important}.delete-confirm-btn:hover{color:var(--color-delete-hover)!important;background:0 0!important}.delete-cancel-btn{animation:.25s forwards fadeInPop;color:var(--color-text-tertiary)!important}.delete-cancel-btn:hover{color:var(--color-text)!important;background:0 0!important}.quick-preset-star{border-radius:var(--radius-md);width:32px;height:100%;min-height:40px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);margin-right:var(--space-2);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.quick-preset-star:hover{color:var(--color-warning)}.quick-preset-star.active,.quick-preset-star.active:hover{color:#0000}@media (max-width:480px){.modal-header{padding:var(--space-4)var(--space-3);padding-top:var(--space-4)}.modal-title{font-size:var(--text-base);line-height:1.4}.modal-close{top:var(--space-2);right:var(--space-2)}.modal-body{padding:var(--space-2)var(--space-3)}.modal-footer{padding:var(--space-2)var(--space-3);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px));gap:var(--space-2);flex-direction:row}.modal-footer button{padding:var(--space-2);font-size:var(--text-sm)}.unlimited-checkbox,.shuffle-checkbox{padding:var(--space-2)var(--space-3);font-size:var(--text-xs)}.unlimited-checkbox svg,.shuffle-checkbox svg{width:18px;height:18px}.color-picker-grid{grid-template-columns:repeat(5,1fr)}.color-swatch{width:var(--touch-target-min);height:var(--touch-target-min)}.settings-section-title{font-size:var(--text-sm)}.settings-option{padding:var(--space-3)}.settings-option-label{font-size:var(--text-sm)}.model-tier-selector{gap:var(--space-1)}.model-tier-btn{padding:var(--space-2)var(--space-3);font-size:var(--text-xs)}.material-picker-dropdown{min-width:220px;max-width:calc(100vw - 40px)}.material-picker-item{padding:var(--space-2);font-size:var(--text-xs)}.material-chip{max-width:160px;padding:2px 6px 2px 4px;font-size:10px}.modal-label-row{margin-bottom:var(--space-1)}.ai-chat-model-toggle{gap:1px}.ai-chat-model-btn{padding:2px 4px!important}.ai-chat-attached-chips{padding:0 var(--space-3)var(--space-1)}}@media (hover:none) and (pointer:coarse){.modal-close:hover{transform:none}.modal-close:active{opacity:1;transform:none}.modal-footer button:hover{transform:none}.modal-footer button:active{opacity:.9;transform:scale(.98)}.modal button,.modal input,.modal select,.modal textarea{min-height:var(--touch-target-min)}.modal input[type=checkbox],.modal input[type=radio]{width:24px;height:24px;min-height:auto}.modal *{-webkit-tap-highlight-color:transparent}}.vault-modal .modal-container{max-width:480px}.vault-modal__field{margin-bottom:var(--space-5)}.vault-modal__field:last-child{margin-bottom:0}.vault-modal__label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);margin-bottom:var(--space-2);display:block}.vault-modal__input{width:100%;padding:var(--space-3);font-family:inherit;font-size:var(--text-base);color:var(--color-text);background:var(--color-surface-container);border:1px solid var(--color-outline-variant);border-radius:var(--radius-md);transition:all var(--transition-fast)}.vault-modal__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-container);outline:none}.vault-modal__input::placeholder{color:var(--color-text-tertiary)}.vault-modal__icons{gap:var(--space-2);flex-wrap:wrap;display:flex}.vault-modal__icon-btn{background:var(--color-surface-container);border-radius:var(--radius-md);cursor:pointer;width:40px;height:40px;transition:all var(--transition-fast);border:2px solid #0000;justify-content:center;align-items:center;font-size:20px;display:flex}.vault-modal__icon-btn:hover{background:var(--color-surface-container-high);transform:scale(1.05)}.vault-modal__icon-btn--active{border-color:var(--color-primary);background:var(--color-primary-container)}.vault-modal__colors{gap:var(--space-2);flex-wrap:wrap;display:flex}.vault-modal__color-btn{border-radius:var(--radius-full);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);border:2px solid #0000}.vault-modal__color-btn:hover{transform:scale(1.1)}.vault-modal__color-btn--active{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px currentColor}.vault-modal__preview{align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-container);border-radius:var(--radius-lg);display:flex}.vault-modal__preview-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.vault-modal__preview-name{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text)}.vault-modal__footer-spacer{flex:1}.vault-modal__delete-confirm{text-align:center;padding:var(--space-4)}.vault-modal__delete-text{font-size:var(--text-base);color:var(--color-text);margin-bottom:var(--space-2)}.vault-modal__delete-warning{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-6)}.vault-modal__delete-actions{gap:var(--space-3);justify-content:center;display:flex}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger)85%,black);border-color:color-mix(in srgb,var(--color-danger)85%,black)}.btn-danger-text{color:var(--color-danger)}.btn-danger-text:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger)10%,transparent)}@media (max-width:480px){.vault-modal__icons{gap:var(--space-1)}.vault-modal__icon-btn{width:36px;height:36px;font-size:18px}.vault-modal__color-btn{width:28px;height:28px}}.create-vault-modal .modal-body{padding:var(--space-5)}.create-vault-description{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-container);border-radius:var(--radius-lg);margin-bottom:var(--space-4);display:flex}.create-vault-description .create-vault-icon{color:var(--color-primary);flex-shrink:0}.create-vault-description p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.create-vault-hint{margin-bottom:var(--space-5)}.create-vault-hint p{font-size:var(--text-sm);color:var(--color-text-tertiary);margin:0;line-height:1.5}.create-vault-form{gap:var(--space-2);flex-direction:column;display:flex}.create-vault-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.create-vault-input{width:100%;padding:var(--space-3)var(--space-4);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface-container);border:1px solid var(--color-outline-variant);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.create-vault-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-container)}.create-vault-input::placeholder{color:var(--color-text-tertiary)}.vaults-modal .modal-body{padding:var(--space-5)}.vaults-description{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-container);border-radius:var(--radius-lg);margin-bottom:var(--space-5);display:flex}.vaults-description .vaults-icon{color:var(--color-primary);flex-shrink:0}.vaults-description p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.welcome-modal .modal-container{max-width:440px}.welcome-content{text-align:center;padding:var(--space-6)var(--space-6)var(--space-4);flex-direction:column;align-items:center;display:flex;position:relative}.welcome-close-btn{top:var(--space-3);right:var(--space-3);border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.welcome-close-btn:hover{color:var(--color-error);background:0 0}.welcome-icon-wrapper{border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary-container),var(--color-secondary-container,var(--color-primary-container)));width:64px;height:64px;margin-bottom:var(--space-4);justify-content:center;align-items:center;display:flex}.welcome-icon{color:var(--color-primary)}.welcome-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text);margin:0 0 var(--space-3)}.welcome-text{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-4);line-height:1.6}.welcome-text strong{color:var(--color-text);font-weight:var(--font-medium)}.welcome-beta-block{align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);background:var(--color-surface-variant);border-radius:var(--radius-lg);text-align:left;width:100%;margin-bottom:var(--space-5);display:flex}.welcome-beta-icon{border-radius:var(--radius-md);background:var(--color-surface);width:36px;min-width:36px;height:36px;color:var(--color-text-secondary);border:1px solid var(--color-outline-variant);justify-content:center;align-items:center;display:flex}.welcome-beta-text{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.welcome-bug-highlight{border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-outline-variant);vertical-align:middle;width:22px;height:22px;color:var(--color-text-secondary);justify-content:center;align-items:center;margin:0 2px;display:inline-flex}
