@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.footer{margin-top:auto;background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:var(--space-16) 0 var(--space-8)}.footer-main{display:grid;grid-template-columns:1.5fr 2fr;gap:var(--space-12);padding-bottom:var(--space-12);border-bottom:1px solid var(--border-color)}.footer-brand{max-width:320px}.footer-logo{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);text-decoration:none}.footer-logo .logo-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--gradient-primary);color:#fff;border-radius:var(--radius-lg)}.footer-logo .logo-text{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-description{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-bottom:var(--space-6)}.footer-social{display:flex;gap:var(--space-2)}.social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-full);transition:all var(--transition-fast)}.social-link:hover{color:#fff;background:var(--primary-500);transform:translateY(-2px)}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.footer-column{display:flex;flex-direction:column}.footer-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-4)}.footer-list{display:flex;flex-direction:column;gap:var(--space-3)}.footer-link{color:var(--text-secondary);font-size:var(--font-size-sm);transition:color var(--transition-fast)}.footer-link:hover{color:var(--primary-500)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-8)}.footer-copyright{display:flex;align-items:center;gap:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.heart-icon{color:var(--error-500);animation:pulse 1.5s ease-in-out infinite}.footer-note{color:var(--text-tertiary);font-size:var(--font-size-xs);margin:0}@media(max-width:1024px){.footer-main{grid-template-columns:1fr;gap:var(--space-8)}.footer-brand{max-width:none;text-align:center}.footer-social{justify-content:center}}@media(max-width:768px){.footer{padding:var(--space-12) 0 var(--space-6)}.footer-links{grid-template-columns:repeat(2,1fr)}.footer-bottom{flex-direction:column;gap:var(--space-2);text-align:center}}@media(max-width:480px){.footer-links{grid-template-columns:1fr;text-align:center}.footer-list{align-items:center}}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:inherit;font-weight:var(--font-weight-semibold);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;outline:none}.button:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.button:disabled{opacity:.5;cursor:not-allowed}.button-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.button-md{padding:var(--space-3) var(--space-5);font-size:var(--font-size-sm)}.button-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-base)}.button-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md)}.button-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.button-primary:active:not(:disabled){transform:translateY(0)}.button-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.button-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary-300)}.button-outline{background:transparent;color:var(--primary-500);border:2px solid var(--primary-500)}.button-outline:hover:not(:disabled){background:var(--primary-500);color:#fff}.button-ghost{background:transparent;color:var(--text-secondary)}.button-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.button-danger{background:var(--error-500);color:#fff}.button-danger:hover:not(:disabled){background:var(--error-600)}.button-loading{position:relative;color:transparent!important}.button-spinner{position:absolute;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-full);animation:spin .6s linear infinite}.button-primary .button-spinner,.button-danger .button-spinner{border-color:#ffffff4d;border-right-color:#fff}.header{position:sticky;top:0;z-index:var(--z-sticky);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.header-container{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);gap:var(--space-6)}.logo{display:flex;align-items:center;gap:var(--space-2);color:var(--primary-500);font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);text-decoration:none;flex-shrink:0}.logo svg{flex-shrink:0}.logo-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-nav{display:flex;align-items:center;gap:var(--space-1)}.nav-link{padding:var(--space-2) var(--space-4);color:var(--text-secondary);font-weight:var(--font-weight-medium);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.nav-link:hover{color:var(--text-primary);background:var(--bg-tertiary)}.nav-link.active{color:var(--primary-600);background:var(--primary-50)}[data-theme=dark] .nav-link.active{background:#6366f11a;color:var(--primary-400)}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.header-action-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text-secondary);border-radius:var(--radius-full);transition:all var(--transition-fast)}.header-action-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.header-user{position:relative}.header-user-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1);padding-right:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-full);transition:all var(--transition-fast)}.header-user-btn:hover{background:var(--border-color)}.user-avatar{width:32px;height:32px;border-radius:var(--radius-full);object-fit:cover}.user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.user-dropdown{position:absolute;top:100%;right:0;margin-top:var(--space-2);min-width:180px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--transition-fast)}.header-user:hover .user-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);color:var(--text-secondary);font-size:var(--font-size-sm);text-align:left;transition:all var(--transition-fast)}.dropdown-item:hover{color:var(--text-primary);background:var(--bg-tertiary)}.dropdown-item:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.dropdown-item:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.header-search{position:absolute;top:100%;left:0;right:0;padding:var(--space-4) var(--space-6);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-lg)}.search-input-wrapper{display:flex;align-items:center;max-width:600px;margin:0 auto;padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-xl);transition:all var(--transition-fast)}.search-input-wrapper:focus-within{border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f11a}.search-icon{color:var(--text-tertiary);margin-right:var(--space-3)}.search-input{flex:1;color:var(--text-primary);font-size:var(--font-size-base)}.search-input::placeholder{color:var(--text-tertiary)}.search-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-tertiary);border-radius:var(--radius-full);transition:all var(--transition-fast)}.search-close:hover{color:var(--text-primary);background:var(--bg-secondary)}.mobile-menu{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-lg)}.mobile-nav{display:flex;flex-direction:column;padding:var(--space-4) var(--space-6);gap:var(--space-2)}.mobile-nav-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--text-secondary);font-weight:var(--font-weight-medium);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.mobile-nav-link:hover,.mobile-nav-link.active{color:var(--text-primary);background:var(--bg-tertiary)}.show-mobile{display:none!important}@media(max-width:768px){.hide-mobile{display:none!important}.show-mobile{display:flex!important}.logo .logo-text,.desktop-cta{display:none}}@media(max-width:1024px){.hide-tablet{display:none!important}}.layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;display:flex;flex-direction:column}.image-upload-group{display:flex;flex-direction:column;gap:var(--space-2)}.image-upload-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.image-upload-label .required{color:var(--error-500);margin-left:var(--space-1)}.upload-zone{position:relative;border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;cursor:pointer;transition:all var(--transition-fast);background:var(--bg-tertiary)}.upload-zone:hover{border-color:var(--primary-400);background:#6366f10d}.upload-zone.drag-active{border-color:var(--primary-500);background:#6366f11a}.upload-zone.has-error{border-color:var(--error-500)}.file-input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-content{pointer-events:none}.upload-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--bg-secondary);color:var(--text-tertiary);border-radius:var(--radius-full);margin-bottom:var(--space-3)}.upload-text{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--space-1)}.upload-link{color:var(--primary-500);font-weight:var(--font-weight-medium)}.upload-hint{font-size:var(--font-size-xs);color:var(--text-tertiary);margin:0}.image-preview{position:relative;display:inline-block;border-radius:var(--radius-lg);overflow:hidden;border:2px solid var(--border-color)}.image-preview img{display:block;max-width:200px;max-height:200px;object-fit:cover}.image-preview .remove-btn{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#0009;color:#fff;border-radius:var(--radius-full);opacity:0;transition:opacity var(--transition-fast)}.image-preview:hover .remove-btn{opacity:1}.image-preview .remove-btn:hover{background:var(--error-500)}.upload-error{font-size:var(--font-size-xs);color:var(--error-500)}.input-group{display:flex;flex-direction:column;gap:var(--space-2)}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.input-label .required{color:var(--error-500);margin-left:var(--space-1)}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:var(--space-3);color:var(--text-tertiary);pointer-events:none}.input-field{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-size-sm);transition:all var(--transition-fast)}.input-field.has-icon{padding-left:var(--space-10)}.input-field:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f11a;outline:none}.input-field::placeholder{color:var(--text-tertiary)}.input-field:disabled{opacity:.6;cursor:not-allowed}.input-group.has-error .input-field{border-color:var(--error-500)}.input-group.has-error .input-field:focus{box-shadow:0 0 0 3px #ef44441a}.input-error{font-size:var(--font-size-xs);color:var(--error-500)}.input-hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}.textarea-group{display:flex;flex-direction:column;gap:var(--space-2)}.textarea-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.textarea-label .required{color:var(--error-500);margin-left:var(--space-1)}.textarea-field{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-size-sm);font-family:inherit;line-height:var(--line-height-relaxed);resize:vertical;min-height:100px;transition:all var(--transition-fast)}.textarea-field:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f11a;outline:none}.textarea-field::placeholder{color:var(--text-tertiary)}.textarea-field:disabled{opacity:.6;cursor:not-allowed;resize:none}.textarea-group.has-error .textarea-field{border-color:var(--error-500)}.textarea-error{font-size:var(--font-size-xs);color:var(--error-500)}.textarea-hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}.editor-form{display:flex;flex-direction:column;gap:var(--space-5)}.avatar-preview{display:flex;justify-content:center}.avatar-preview img{width:120px;height:120px;border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--border-color)}.items-list{display:flex;flex-direction:column;gap:var(--space-4)}.item-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-5);position:relative}.item-card:hover{border-color:var(--border-color-hover)}.item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.item-title{font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.item-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.item-meta{font-size:var(--font-size-xs);color:var(--text-tertiary)}.item-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--space-2);line-height:var(--line-height-relaxed)}.item-actions{display:flex;gap:var(--space-1)}.item-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-tertiary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.item-action-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.item-action-btn.delete:hover{color:var(--error-500)}.add-item-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-4);background:transparent;border:2px dashed var(--border-color);border-radius:var(--radius-lg);color:var(--text-tertiary);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.add-item-btn:hover{border-color:var(--primary-400);color:var(--primary-500);background:#6366f10d}.empty-state{text-align:center;padding:var(--space-10);color:var(--text-tertiary)}.empty-state svg{margin-bottom:var(--space-4);opacity:.5}.empty-state p{margin-bottom:var(--space-4)}.skill-bar{display:flex;align-items:center;gap:var(--space-3)}.skill-name{flex:1;font-weight:var(--font-weight-medium)}.skill-level{width:150px;height:8px;background:var(--bg-secondary);border-radius:var(--radius-full);overflow:hidden}.skill-level-fill{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width var(--transition-normal)}.skill-percentage{width:40px;text-align:right;font-size:var(--font-size-sm);color:var(--text-tertiary)}.project-image{width:100%;height:150px;object-fit:cover;border-radius:var(--radius-md);margin-bottom:var(--space-3)}.project-techs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.social-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)}.social-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:var(--radius-md);color:var(--text-secondary)}.social-info{flex:1}.social-platform{font-weight:var(--font-weight-medium);display:block}.social-url{font-size:var(--font-size-xs);color:var(--text-tertiary);word-break:break-all}.template-options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.template-option{padding:var(--space-4);background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--transition-fast)}.template-option:hover{border-color:var(--border-color-hover)}.template-option.selected{border-color:var(--primary-500);background:#6366f10d}.template-preview{width:100%;aspect-ratio:3/4;background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.template-name{font-weight:var(--font-weight-medium)}.color-options{display:flex;gap:var(--space-3);flex-wrap:wrap}.color-option{width:40px;height:40px;border-radius:var(--radius-full);cursor:pointer;border:3px solid transparent;transition:all var(--transition-fast)}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--text-primary)}@media(max-width:640px){.template-options{grid-template-columns:1fr}}.modal-overlay{position:fixed;inset:0;z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-container{position:relative;width:100%;max-height:90vh;background:var(--bg-secondary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);overflow:hidden;display:flex;flex-direction:column}.modal-container:focus{outline:none}.modal-sm{max-width:400px}.modal-md{max-width:560px}.modal-lg{max-width:800px}.modal-xl{max-width:1100px}.modal-full{max-width:calc(100vw - var(--space-8));max-height:calc(100vh - var(--space-8))}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-color)}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-full);transition:all var(--transition-fast)}.modal-close:hover{color:var(--text-primary);background:var(--border-color)}.modal-body{flex:1;padding:var(--space-6);overflow-y:auto}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-color)}@media(max-width:768px){.modal-overlay{padding:var(--space-4);align-items:flex-end}.modal-container{max-height:85vh;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.modal-sm,.modal-md,.modal-lg,.modal-xl{max-width:100%}}.select-group{display:flex;flex-direction:column;gap:var(--space-2)}.select-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.select-label .required{color:var(--error-500);margin-left:var(--space-1)}.select-wrapper{position:relative}.select-field{width:100%;padding:var(--space-3) var(--space-4);padding-right:var(--space-10);background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;appearance:none;transition:all var(--transition-fast)}.select-field:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f11a;outline:none}.select-field:disabled{opacity:.6;cursor:not-allowed}.select-chevron{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.select-group.has-error .select-field{border-color:var(--error-500)}.select-error{font-size:var(--font-size-xs);color:var(--error-500)}.select-hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);white-space:nowrap}.badge-sm{padding:2px var(--space-2);font-size:var(--font-size-xs)}.badge-md{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.badge-lg{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}[data-theme=dark] .badge-warning{background:#f59e0b33;color:var(--warning-500)}[data-theme=dark] .badge-error{background:#ef444433;color:var(--error-500)}.badge-neutral{background:var(--gray-100);color:var(--gray-700)}[data-theme=dark] .badge-neutral{background:var(--gray-700);color:var(--gray-300)}.badge-remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:var(--space-1);font-size:14px;line-height:1;border-radius:var(--radius-full);opacity:.7;transition:opacity var(--transition-fast)}.badge-remove:hover{opacity:1}.tag-input-group{display:flex;flex-direction:column;gap:var(--space-2);position:relative}.tag-input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.tag-input-label .required{color:var(--error-500);margin-left:var(--space-1)}.tag-input-wrapper{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-lg);min-height:48px;cursor:text;transition:all var(--transition-fast)}.tag-input-wrapper:focus-within{border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f11a}.tags-container{display:flex;flex-wrap:wrap;gap:var(--space-2);flex:1;align-items:center}.tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--primary-100);color:var(--primary-700);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-md)}[data-theme=dark] .tag{background:#6366f133;color:var(--primary-400)}.tag-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;color:inherit;opacity:.7;border-radius:var(--radius-sm);transition:opacity var(--transition-fast)}.tag-remove:hover{opacity:1;background:#0000001a}.tag-input-field{flex:1;min-width:100px;padding:var(--space-1);background:transparent;border:none;color:var(--text-primary);font-size:var(--font-size-sm)}.tag-input-field:focus{outline:none}.tag-input-field::placeholder{color:var(--text-tertiary)}.add-tag-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--primary-500);color:#fff;border-radius:var(--radius-md);flex-shrink:0;transition:background var(--transition-fast)}.add-tag-btn:hover{background:var(--primary-600)}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-1);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);overflow:hidden}.suggestion-item{display:block;width:100%;padding:var(--space-3) var(--space-4);text-align:left;color:var(--text-primary);font-size:var(--font-size-sm);transition:background var(--transition-fast)}.suggestion-item:hover{background:var(--bg-tertiary)}.tag-input-group.has-error .tag-input-wrapper{border-color:var(--error-500)}.tag-input-error{font-size:var(--font-size-xs);color:var(--error-500)}.tag-input-hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}.builder-page{display:flex;min-height:calc(100vh - var(--header-height));background:var(--bg-primary)}.builder-mobile-header{display:none;position:fixed;top:var(--header-height);left:0;right:0;height:56px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:0 var(--space-4);align-items:center;justify-content:space-between;z-index:var(--z-sticky)}.mobile-menu-toggle,.mobile-preview-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text-primary);border-radius:var(--radius-md)}.mobile-section-title{font-weight:var(--font-weight-semibold)}.builder-sidebar{width:280px;height:calc(100vh - var(--header-height));position:sticky;top:var(--header-height);background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:width var(--transition-normal);overflow:hidden}.builder-sidebar.collapsed{width:72px}.builder-sidebar.collapsed .section-label,.builder-sidebar.collapsed .sidebar-logo span,.builder-sidebar.collapsed .action-btn span,.builder-sidebar.collapsed .footer-btn span,.builder-sidebar.collapsed .section-check{display:none}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5);border-bottom:1px solid var(--border-color)}.sidebar-logo{display:flex;align-items:center;gap:var(--space-3);color:var(--text-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg)}.sidebar-logo svg{color:var(--primary-500)}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-tertiary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.sidebar-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary)}.builder-sidebar.collapsed .sidebar-toggle{transform:rotate(180deg)}.sidebar-sections{flex:1;padding:var(--space-3);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-1)}.section-btn{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-lg);text-align:left;transition:all var(--transition-fast)}.section-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.section-btn.active{background:var(--primary-50);color:var(--primary-600)}[data-theme=dark] .section-btn.active{background:#6366f126;color:var(--primary-400)}.section-label{flex:1}.section-check{color:var(--success-500);font-size:var(--font-size-xs)}.sidebar-actions{padding:var(--space-4);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--space-2)}.action-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);background:var(--bg-tertiary);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.action-btn:hover{background:var(--border-color)}.action-btn.preview-btn{background:var(--primary-500);color:#fff}.action-btn.preview-btn:hover{background:var(--primary-600)}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--border-color);display:flex;gap:var(--space-2)}.footer-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2);color:var(--text-tertiary);font-size:var(--font-size-xs);border-radius:var(--radius-md);transition:all var(--transition-fast)}.footer-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.footer-btn.danger:hover{color:var(--error-500)}.builder-main{flex:1;overflow-y:auto;padding:var(--space-8)}.builder-content{max-width:800px;margin:0 auto}.editor-wrapper{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-8)}.editor-header{margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-color)}.editor-header h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-2)}.editor-description{color:var(--text-secondary);margin:0}.mobile-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:900}@media(max-width:1024px){.builder-sidebar{position:fixed;top:calc(var(--header-height) + 56px);left:0;height:calc(100vh - var(--header-height) - 56px);z-index:950;transform:translate(-100%);width:280px!important}.builder-sidebar.mobile-open{transform:translate(0)}.builder-sidebar.collapsed{width:280px}.builder-sidebar.collapsed .section-label,.builder-sidebar.collapsed .sidebar-logo span,.builder-sidebar.collapsed .action-btn span,.builder-sidebar.collapsed .footer-btn span{display:block}.builder-mobile-header{display:flex}.mobile-overlay{display:block}.builder-main{padding-top:calc(56px + var(--space-6));padding-left:var(--space-4);padding-right:var(--space-4)}.desktop-only{display:none}}@media(max-width:640px){.editor-wrapper{padding:var(--space-5)}}.home-page{overflow-x:hidden}.hero{padding:var(--space-16) 0 var(--space-20);background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);position:relative}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(99,102,241,.1) 0%,transparent 50%)}.hero .container{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}.hero-content{max-width:560px}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:#6366f11a;color:var(--primary-500);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);margin-bottom:var(--space-6)}.hero h1{font-size:clamp(2rem,4.5vw,3rem);font-weight:var(--font-weight-extrabold);line-height:1.15;margin-bottom:var(--space-6)}.hero-ampersand{color:var(--text-tertiary);font-weight:var(--font-weight-normal)}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-8)}.hero-actions{display:flex;gap:var(--space-4);flex-wrap:wrap}.hero-visual{position:relative}.preview-mockup{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);overflow:hidden}.mockup-header{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.mockup-header span{width:12px;height:12px;border-radius:var(--radius-full);background:var(--border-color)}.mockup-header span:first-child{background:#ef4444}.mockup-header span:nth-child(2){background:#f59e0b}.mockup-header span:nth-child(3){background:#22c55e}.mockup-content{display:flex;min-height:300px}.mockup-sidebar{width:60px;background:var(--bg-tertiary);border-right:1px solid var(--border-color);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.sidebar-item{height:32px;background:var(--border-color);border-radius:var(--radius-md)}.sidebar-item.active{background:var(--primary-500)}.mockup-main{flex:1;padding:var(--space-6)}.mockup-stats{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.mock-stat{flex:1;height:36px;background:var(--bg-tertiary);border-radius:var(--radius-md)}.mock-stat.accent{background:#6366f126}.mockup-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-field{height:40px;background:var(--bg-tertiary);border-radius:var(--radius-md)}.form-field.large{height:100px}.how-it-works{padding:var(--space-20) 0}.section-title{text-align:center;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-12)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.step-card{text-align:center;padding:var(--space-8)}.step-number{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--gradient-primary);color:#fff;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);border-radius:var(--radius-full);margin-bottom:var(--space-4)}.step-card h3{font-size:var(--font-size-lg);margin-bottom:var(--space-2)}.step-card p{color:var(--text-secondary);margin:0}.features{padding:var(--space-20) 0;background:var(--bg-secondary)}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.feature-card{padding:var(--space-8);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);transition:all var(--transition-normal)}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:#6366f11a;color:var(--primary-500);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.feature-card h3{font-size:var(--font-size-lg);margin-bottom:var(--space-2)}.feature-card p{color:var(--text-secondary);margin:0;line-height:var(--line-height-relaxed)}.cta{padding:var(--space-20) 0}.cta-content{text-align:center;max-width:600px;margin:0 auto;padding:var(--space-16);background:var(--gradient-primary);border-radius:var(--radius-2xl);color:#fff}.cta h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-4)}.cta p{opacity:.9;margin-bottom:var(--space-8)}.cta-features{display:flex;justify-content:center;gap:var(--space-6);margin-top:var(--space-8);flex-wrap:wrap}.cta-features span{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);opacity:.9}.secondary-section{padding:var(--space-12) 0 var(--space-16)}.secondary-card{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-10);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl)}.secondary-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:#8b5cf61a;color:var(--secondary-500);border-radius:var(--radius-lg);flex-shrink:0}.secondary-content{flex:1}.secondary-content h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.secondary-content p{color:var(--text-secondary);margin:0;line-height:var(--line-height-relaxed)}.secondary-actions{flex-shrink:0}@media(max-width:1024px){.hero .container{grid-template-columns:1fr;text-align:center}.hero-content{max-width:100%}.hero-actions{justify-content:center}.hero-visual{max-width:500px;margin:0 auto}.steps-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}.features-grid{grid-template-columns:repeat(2,1fr)}.secondary-card{flex-direction:column;text-align:center}}@media(max-width:640px){.hero{padding:var(--space-10) 0 var(--space-16)}.features-grid{grid-template-columns:1fr}.cta-content{padding:var(--space-10)}.cta-features{flex-direction:column;gap:var(--space-3)}}.login-page{min-height:calc(100vh - var(--header-height));display:flex;align-items:center;justify-content:center;padding:var(--space-8);background:var(--bg-primary)}.login-card{width:100%;max-width:420px;padding:var(--space-10);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl)}.login-header{text-align:center;margin-bottom:var(--space-8)}.login-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--gradient-primary);color:#fff;border-radius:var(--radius-xl);margin-bottom:var(--space-5)}.login-header h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-2)}.login-header p{color:var(--text-secondary);margin:0}.login-form{display:flex;flex-direction:column;gap:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.form-group .input{padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);transition:all var(--transition-fast)}.form-group .input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f11a}.password-input{position:relative}.password-input .input{width:100%;padding-right:var(--space-12)}.password-toggle{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);color:var(--text-tertiary);padding:var(--space-2);transition:color var(--transition-fast)}.password-toggle:hover{color:var(--text-primary)}.login-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--error-50);color:var(--error-600);border-radius:var(--radius-lg);font-size:var(--font-size-sm)}[data-theme=dark] .login-error{background:#ef44441a;color:var(--error-500)}.login-submit{width:100%;margin-top:var(--space-2)}.login-footer{margin-top:var(--space-8);text-align:center}.demo-credentials{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-bottom:var(--space-4)}.demo-credentials code{padding:var(--space-1) var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--primary-500)}.back-home{color:var(--text-secondary);font-size:var(--font-size-sm);transition:color var(--transition-fast)}.back-home:hover{color:var(--primary-500)}.not-found-page{min-height:calc(100vh - var(--header-height) - 200px);display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.not-found-content{text-align:center;max-width:500px}.not-found-illustration{margin-bottom:var(--space-8)}.error-code{font-size:120px;font-weight:var(--font-weight-bold);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.not-found-content h1{font-size:var(--font-size-3xl);margin-bottom:var(--space-4)}.not-found-content p{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--space-8)}.not-found-actions{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}@media(max-width:768px){.error-code{font-size:80px}.not-found-content h1{font-size:var(--font-size-2xl)}}.preview-page{min-height:calc(100vh - var(--header-height));padding:var(--space-6);background:var(--bg-tertiary)}.preview-actions{max-width:900px;margin:0 auto var(--space-6);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.back-link{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}.action-buttons{display:flex;gap:var(--space-3)}.preview-container{max-width:900px;margin:0 auto}.portfolio-preview{background:#fff;color:#1f2937;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden}.portfolio-header{padding:var(--space-10);background:linear-gradient(135deg,var(--accent-color, #4F46E5) 0%,#3730a3 100%);color:#fff}.header-content{display:flex;align-items:center;gap:var(--space-8)}.portfolio-avatar{width:120px;height:120px;border-radius:var(--radius-full);object-fit:cover;border:4px solid rgba(255,255,255,.3);flex-shrink:0}.header-info{flex:1}.portfolio-name{font-size:var(--font-size-3xl);font-weight:var(--font-weight-light);margin:0 0 var(--space-2)}.portfolio-title{font-size:var(--font-size-lg);opacity:.9;margin:0 0 var(--space-4)}.contact-info{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--font-size-sm);opacity:.9;margin-bottom:var(--space-4)}.contact-info span{display:flex;align-items:center;gap:var(--space-2)}.social-links-preview{display:flex;gap:var(--space-3)}.social-links-preview a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff3;color:#fff;border-radius:var(--radius-full);transition:all var(--transition-fast)}.social-links-preview a:hover{background:#ffffff4d;transform:scale(1.1)}.portfolio-section{padding:var(--space-8) var(--space-10);border-bottom:1px solid #e5e7eb}.portfolio-section:last-child{border-bottom:none}.portfolio-section h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--accent-color, #4F46E5);margin:0 0 var(--space-5);padding-bottom:var(--space-3);border-bottom:2px solid var(--accent-color, #4F46E5);display:inline-block}.summary-text{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:#4b5563;margin:0}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.skill-item{padding:var(--space-3);background:#f9fafb;border-radius:var(--radius-md)}.skill-header{display:flex;justify-content:space-between;margin-bottom:var(--space-2)}.skill-item .skill-name{font-weight:var(--font-weight-medium)}.skill-item .skill-level{font-size:var(--font-size-sm);color:#6b7280}.skill-item .skill-bar{height:6px;background:#e5e7eb;border-radius:var(--radius-full);overflow:hidden}.skill-item .skill-fill{height:100%;border-radius:var(--radius-full)}.timeline{display:flex;flex-direction:column;gap:var(--space-6)}.timeline-item{padding-left:var(--space-6);border-left:2px solid #e5e7eb;position:relative}.timeline-item:before{content:"";position:absolute;left:-5px;top:0;width:8px;height:8px;background:var(--accent-color, #4F46E5);border-radius:var(--radius-full)}.timeline-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2)}.timeline-item h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.timeline-item .company{color:#6b7280;margin:var(--space-1) 0 0}.timeline-item .date{font-size:var(--font-size-sm);color:#9ca3af;white-space:nowrap}.timeline-item .description{color:#4b5563;line-height:var(--line-height-relaxed);margin:var(--space-3) 0 0}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}.project-item{background:#f9fafb;border-radius:var(--radius-lg);overflow:hidden}.project-item .project-image{width:100%;height:150px;object-fit:cover}.project-content{padding:var(--space-4)}.project-item h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-2);display:flex;align-items:center;gap:var(--space-2)}.project-item h3 a{color:var(--accent-color, #4F46E5)}.project-item p{font-size:var(--font-size-sm);color:#6b7280;margin:0 0 var(--space-3);line-height:var(--line-height-relaxed)}.tech-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.education-list{display:flex;flex-direction:column;gap:var(--space-4)}.education-item h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.education-item p{color:#6b7280;margin:var(--space-1) 0 0}.education-item .date{font-size:var(--font-size-sm);color:#9ca3af}.certifications-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.cert-item{padding:var(--space-4);background:#f9fafb;border-radius:var(--radius-md)}.cert-item h4{font-weight:var(--font-weight-semibold);margin:0 0 var(--space-1)}.cert-item p{font-size:var(--font-size-sm);color:#6b7280;margin:0}.languages-list{display:flex;flex-wrap:wrap;gap:var(--space-3)}.language-item{padding:var(--space-2) var(--space-4);background:#f9fafb;border-radius:var(--radius-full);font-weight:var(--font-weight-medium)}.language-item small{color:#6b7280;font-weight:400}.template-classic .portfolio-header{background:#1f2937}.template-minimal .portfolio-header{background:#fff;color:#1f2937;border-bottom:1px solid #e5e7eb}.template-minimal .portfolio-avatar{border-color:var(--accent-color, #4F46E5)}.template-minimal .social-links-preview a{background:#f3f4f6;color:#6b7280}@media(max-width:768px){.preview-actions{flex-direction:column;align-items:flex-start}.header-content{flex-direction:column;text-align:center}.header-info{display:flex;flex-direction:column;align-items:center}.contact-info{justify-content:center}.skills-grid,.projects-grid,.certifications-list{grid-template-columns:1fr}.timeline-header{flex-direction:column;gap:var(--space-1)}}@media(max-width:480px){.action-buttons{flex-direction:column;width:100%}.action-buttons .btn{width:100%}}.archive-page{max-width:1400px;margin:0 auto;padding:2rem}.archive-header{text-align:center;margin-bottom:2rem}.archive-header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.archive-header p{color:var(--text-secondary);font-size:1.1rem}.archive-search{background:var(--bg-secondary);padding:1.5rem;border-radius:12px;margin-bottom:2rem;border:1px solid var(--border-color)}.search-form{display:flex;gap:.5rem;margin-bottom:1rem}.search-input{flex:1;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);font-size:1rem}.search-input:focus{outline:none;border-color:#6366f1}.search-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600}.search-btn:hover{transform:translateY(-2px)}.clear-btn{padding:.75rem 1rem;background:#ef4444;color:#fff;border:none;border-radius:8px;cursor:pointer}.filters{display:flex;gap:1rem}.filters select{padding:.5rem 1rem;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer}.search-info{padding:1rem;background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:8px;margin-bottom:1.5rem;color:var(--primary-500)}.loading,.error,.no-results{text-align:center;padding:3rem;color:var(--text-tertiary)}.error{color:var(--error-500)}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:3rem}@media(max-width:1200px){.works-grid{grid-template-columns:repeat(2,1fr)}}.work-card{background:var(--bg-secondary);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .3s,box-shadow .3s;border:1px solid var(--border-color)}.work-card:hover{transform:translateY(-5px);box-shadow:0 10px 40px #6366f133;border-color:#6366f1}.work-image{height:180px;overflow:hidden;background:var(--bg-tertiary)}.work-image img{width:100%;height:100%;object-fit:cover}.placeholder-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary))}.work-info{padding:1.25rem}.work-info h3{font-size:1.1rem;margin-bottom:.5rem;color:var(--text-primary)}.work-description{font-size:.9rem;color:var(--text-secondary);margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.work-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.work-meta span{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;background:#6366f126;color:var(--primary-500)}.work-meta .relevance{background:#10b98126;color:#10b981}[data-theme=dark] .work-meta .relevance{color:#6ee7b7}.work-author{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.author-avatar{width:24px;height:24px;border-radius:50%}.work-author span{font-size:.85rem;color:var(--text-secondary)}.work-stats{display:flex;gap:1rem;font-size:.8rem;color:var(--text-tertiary)}.submit-cta{text-align:center;padding:3rem;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border-radius:16px;border:1px solid rgba(99,102,241,.3)}.submit-cta h2{margin-bottom:1rem;color:var(--text-primary)}.submit-btn{display:inline-block;padding:1rem 2rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:transform .3s}.submit-btn:hover{transform:translateY(-3px)}@media(max-width:768px){.archive-page{padding:1rem}.search-form,.filters{flex-direction:column}.works-grid{grid-template-columns:1fr}}.diploma-detail{max-width:900px;margin:0 auto;padding:2rem}.back-link{display:inline-block;margin-bottom:1.5rem;color:#6366f1;text-decoration:none}.back-link:hover{text-decoration:underline}.detail-header{margin-bottom:2rem}.detail-header h1{font-size:2rem;margin-bottom:1rem;color:#f1f5f9}.meta{display:flex;gap:1rem;flex-wrap:wrap}.meta span{padding:.5rem 1rem;background:#6366f133;border-radius:6px;color:#a5b4fc;font-size:.9rem}.screenshots{display:flex;gap:1rem;overflow-x:auto;margin-bottom:2rem;padding-bottom:1rem}.screenshots img{height:300px;border-radius:12px;object-fit:cover}.diploma-detail section{margin-bottom:2rem;padding:1.5rem;background:var(--card-bg, #1e293b);border-radius:12px;border:1px solid #334155}.diploma-detail h2{font-size:1.25rem;margin-bottom:1rem;color:#f1f5f9}.description p{color:#94a3b8;line-height:1.7;margin-bottom:1rem}.tech-list{display:flex;gap:.5rem;flex-wrap:wrap}.tech-tag{padding:.5rem 1rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:20px;font-size:.85rem}.link-buttons{display:flex;gap:1rem;flex-wrap:wrap}.link-btn{padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:600;transition:transform .3s}.link-btn:hover{transform:translateY(-2px)}.link-btn.demo{background:#10b981;color:#fff}.link-btn.github{background:#334155;color:#f1f5f9}.link-btn.docs{background:#6366f1;color:#fff}.author-card{display:flex;align-items:center;gap:1rem}.author-avatar{width:64px;height:64px;border-radius:50%}.author-info h3{margin-bottom:.25rem;color:#f1f5f9}.author-info p{color:#94a3b8;font-size:.9rem}.loading,.error,.not-found{text-align:center;padding:4rem;color:#94a3b8}.error{color:#f87171}.student-icon{background:linear-gradient(135deg,#10b981,#059669)!important}.login-links{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.link-separator{color:var(--text-tertiary);font-size:var(--font-size-sm)}.submit-page{min-height:calc(100vh - var(--header-height));padding:var(--space-8) 0 var(--space-20);display:flex;justify-content:center}.submit-container{width:100%;max-width:780px;padding:0 var(--space-6)}.submit-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);padding:var(--space-10)}.submit-header-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--gradient-primary);color:#fff;border-radius:var(--radius-xl);margin-bottom:var(--space-4)}.submit-header h1{font-size:var(--font-size-2xl);color:var(--text-primary);margin-bottom:var(--space-2)}.submit-user-info{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm);background:var(--bg-tertiary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full)}.step-indicator{display:flex;align-items:flex-start;justify-content:center;gap:0;margin-bottom:var(--space-10);position:relative}.step-indicator-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);position:relative;flex:0 0 auto}.step-line{position:absolute;top:16px;right:calc(50% + 18px);width:48px;height:2px;background:var(--border-color);transition:background var(--transition-fast)}.step-line.active{background:var(--primary-500)}.step-dot{width:34px;height:34px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-tertiary);border:2px solid var(--border-color);transition:all var(--transition-fast);cursor:default;z-index:1}.step-dot.active{border-color:var(--primary-500);color:var(--primary-500);cursor:pointer}.step-dot.current{background:var(--primary-500);border-color:var(--primary-500);color:#fff;box-shadow:0 0 0 4px #6366f126}.step-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-tertiary);text-align:center;width:80px;transition:color var(--transition-fast)}.step-label.active{color:var(--text-primary)}.form-section{display:flex;flex-direction:column;gap:var(--space-5)}.section-heading{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-color);margin-bottom:var(--space-1)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.req{color:var(--error-500)}.field input,.field textarea,.field select{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-tertiary);color:var(--text-primary);font-size:var(--font-size-sm);font-family:inherit;transition:all var(--transition-fast)}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f11a}.field input.has-error,.field textarea.has-error,.field select.has-error{border-color:var(--error-500)}.field input.has-error:focus,.field textarea.has-error:focus{box-shadow:0 0 0 3px #ef44441a}.field textarea{resize:vertical;min-height:48px}.field-footer{display:flex;justify-content:space-between;align-items:center}.field-error{font-size:var(--font-size-xs);color:var(--error-500)}.field-hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}.char-count{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-left:auto}.field-row{display:grid;gap:var(--space-4)}.field-row.two-col{grid-template-columns:1fr 1fr}.similarity-alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm)}.similarity-alert.checking{background:#6366f114;color:var(--primary-500);align-items:center}.similarity-alert.success{background:#10b98114;border:1px solid rgba(16,185,129,.2);color:#059669}.similarity-alert.warning{background:#f59e0b14;border:1px solid rgba(245,158,11,.2);color:#d97706}.similarity-alert.danger{background:#ef444414;border:1px solid rgba(239,68,68,.2);color:#dc2626}[data-theme=dark] .similarity-alert.success{color:#6ee7b7}[data-theme=dark] .similarity-alert.warning{color:#fcd34d}[data-theme=dark] .similarity-alert.danger{color:#fca5a5}.similarity-alert ul{margin-top:var(--space-2);padding-left:var(--space-5)}.similarity-alert li{margin-bottom:2px}.spin{animation:submit-spin 1s linear infinite}@keyframes submit-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-nav{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-4);border-top:1px solid var(--border-color);margin-top:var(--space-2)}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.review-card{background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.review-card.full{grid-column:1 / -1}.review-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.review-value{font-size:var(--font-size-sm);color:var(--text-primary);line-height:var(--line-height-relaxed);word-break:break-word}.review-notice{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:#6366f10f;border:1px solid rgba(99,102,241,.15);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--text-secondary)}.review-notice svg{flex-shrink:0;margin-top:2px;color:var(--primary-500)}.submit-error-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-lg);color:#dc2626;font-size:var(--font-size-sm);margin-bottom:var(--space-4)}[data-theme=dark] .submit-error-banner{color:#fca5a5}.submit-auth-card{max-width:480px;margin:var(--space-16) auto;padding:var(--space-16) var(--space-10);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-2xl);text-align:center;box-shadow:var(--shadow-xl)}.auth-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;background:#6366f11a;color:var(--primary-500);border-radius:var(--radius-full);margin-bottom:var(--space-6)}.submit-auth-card h1{font-size:var(--font-size-xl);margin-bottom:var(--space-3);color:var(--text-primary)}.submit-auth-card p{color:var(--text-secondary);margin-bottom:var(--space-8);line-height:var(--line-height-relaxed)}.auth-home-link{display:block;margin-top:var(--space-6);color:var(--text-tertiary);font-size:var(--font-size-sm);transition:color var(--transition-fast)}.auth-home-link:hover{color:var(--primary-500)}.submit-success-card{max-width:520px;margin:var(--space-16) auto;padding:var(--space-16) var(--space-10);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-2xl);text-align:center;box-shadow:var(--shadow-xl)}.success-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:#10b9811a;color:#059669;border-radius:var(--radius-full);margin-bottom:var(--space-6)}[data-theme=dark] .success-icon-wrap{color:#6ee7b7}.submit-success-card h1{font-size:var(--font-size-xl);margin-bottom:var(--space-3);color:var(--text-primary)}.submit-success-card p{color:var(--text-secondary);margin-bottom:var(--space-8);line-height:var(--line-height-relaxed)}@media(max-width:768px){.submit-card{padding:var(--space-6)}.step-indicator{gap:0;overflow-x:auto;padding-bottom:var(--space-2)}.step-label{font-size:.65rem;width:64px}.step-line{width:28px}.field-row.two-col,.review-grid{grid-template-columns:1fr}.form-nav{flex-wrap:wrap;gap:var(--space-3)}}@media(max-width:480px){.submit-page{padding:var(--space-4) 0 var(--space-12)}.submit-container{padding:0 var(--space-3)}.submit-card{padding:var(--space-5);border-radius:var(--radius-xl)}.submit-header-icon{width:52px;height:52px}}.project-card{position:relative;display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-normal)}.project-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px);border-color:var(--border-color-hover)}.project-card-featured{border-color:var(--primary-200)}[data-theme=dark] .project-card-featured{border-color:var(--primary-700)}.project-card-image{position:relative;aspect-ratio:16 / 10;overflow:hidden}.project-card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.project-card:hover .project-card-image img{transform:scale(1.05)}.featured-badge{position:absolute;top:var(--space-3);left:var(--space-3);display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--gradient-primary);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);box-shadow:var(--shadow-md)}.project-card-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;opacity:0;transition:opacity var(--transition-normal)}.project-card:hover .project-card-overlay{opacity:1}.view-project{padding:var(--space-3) var(--space-6);background:#fff;color:var(--gray-900);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);border-radius:var(--radius-full);transform:translateY(10px);transition:transform var(--transition-normal)}.project-card:hover .view-project{transform:translateY(0)}.project-card-content{flex:1;display:flex;flex-direction:column;padding:var(--space-5)}.category-badge{margin-bottom:var(--space-3);width:fit-content}.project-card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2);line-height:var(--line-height-tight);transition:color var(--transition-fast)}.project-card-title:hover{color:var(--primary-500)}.project-card-description{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-bottom:var(--space-4);flex:1}.project-card-techs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.project-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-4);border-top:1px solid var(--border-color)}.project-card-author{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm);transition:color var(--transition-fast)}.project-card-author:hover{color:var(--text-primary)}.project-card-author img{width:28px;height:28px;border-radius:var(--radius-full);object-fit:cover}.project-card-meta{display:flex;align-items:center;gap:var(--space-4)}.meta-item{display:flex;align-items:center;gap:var(--space-1);color:var(--text-tertiary);font-size:var(--font-size-sm)}.meta-item svg{color:var(--warning-500)}.project-card-links{position:absolute;top:var(--space-3);right:var(--space-3);display:flex;gap:var(--space-2);opacity:0;transform:translateY(-10px);transition:all var(--transition-normal)}.project-card:hover .project-card-links{opacity:1;transform:translateY(0)}.quick-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff;color:var(--gray-700);border-radius:var(--radius-full);box-shadow:var(--shadow-md);transition:all var(--transition-fast)}.quick-link:hover{background:var(--primary-500);color:#fff;transform:scale(1.1)}.project-filter{margin-bottom:var(--space-8)}.filter-search{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-xl);margin-bottom:var(--space-4);transition:all var(--transition-fast)}.filter-search:focus-within{border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f11a}.filter-search .search-icon{color:var(--text-tertiary)}.filter-search .search-input{flex:1;color:var(--text-primary);font-size:var(--font-size-base)}.filter-search .search-input::placeholder{color:var(--text-tertiary)}.search-clear{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--text-tertiary);background:var(--bg-tertiary);border-radius:var(--radius-full);transition:all var(--transition-fast)}.search-clear:hover{color:var(--text-primary);background:var(--border-color)}.filter-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.filter-count{width:8px;height:8px;background:var(--error-500);border-radius:var(--radius-full);margin-left:var(--space-1)}.view-toggle{display:flex;background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:var(--space-1)}.view-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.view-btn:hover{color:var(--text-primary)}.view-btn.active{color:var(--primary-500);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.filter-panel{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-4);padding:var(--space-5);margin-top:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl)}.filter-group{display:flex;flex-direction:column;gap:var(--space-2);min-width:180px}.filter-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.filter-select{padding:var(--space-2) var(--space-4);padding-right:var(--space-10);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--font-size-sm);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' 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-3) center;background-size:16px;transition:all var(--transition-fast)}.filter-select:focus{border-color:var(--primary-500);outline:none}@media(max-width:768px){.filter-controls{flex-wrap:wrap}.filter-panel{flex-direction:column}.filter-group{width:100%}}.projects-page{padding:var(--space-10) 0 var(--space-20);min-height:80vh}.page-header{display:flex;align-items:center;gap:var(--space-5);margin-bottom:var(--space-10)}.page-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--gradient-primary);color:#fff;border-radius:var(--radius-xl)}.page-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-1)}.page-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);margin:0}.projects-container{display:grid;gap:var(--space-6)}.projects-container.grid{grid-template-columns:repeat(3,1fr)}.projects-container.list{grid-template-columns:1fr}.projects-container.list .project-card{display:grid;grid-template-columns:300px 1fr}.projects-container.list .project-card-image{aspect-ratio:unset;height:100%}.projects-container.list .project-card-content{display:flex;flex-direction:column;justify-content:center}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-20);text-align:center}.empty-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:var(--bg-tertiary);color:var(--text-tertiary);border-radius:var(--radius-full);margin-bottom:var(--space-6)}.empty-state h3{font-size:var(--font-size-xl);margin-bottom:var(--space-2)}.empty-state p{color:var(--text-secondary)}@media(max-width:1024px){.projects-container.grid{grid-template-columns:repeat(2,1fr)}.projects-container.list .project-card{grid-template-columns:1fr}}@media(max-width:768px){.page-header{flex-direction:column;text-align:center}.projects-container.grid{grid-template-columns:1fr}}.project-detail-page{padding:var(--space-8) 0 var(--space-20)}.back-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-weight:var(--font-weight-medium);margin-bottom:var(--space-8);transition:color var(--transition-fast)}.back-link:hover{color:var(--primary-500)}.project-header{margin-bottom:var(--space-10)}.project-meta-badges{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.project-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-4)}.project-short-desc{font-size:var(--font-size-lg);color:var(--text-secondary);max-width:800px;margin-bottom:var(--space-6)}.project-stats{display:flex;gap:var(--space-6)}.project-stats .stat{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm)}.project-stats .stat svg{color:var(--warning-500)}.project-layout{display:grid;grid-template-columns:1fr 350px;gap:var(--space-8);margin-bottom:var(--space-16)}.project-main{display:flex;flex-direction:column;gap:var(--space-10)}.project-gallery{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden}.gallery-main{position:relative;aspect-ratio:16 / 9;overflow:hidden}.gallery-main img{width:100%;height:100%;object-fit:cover}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#00000080;color:#fff;border-radius:var(--radius-full);opacity:0;transition:opacity var(--transition-fast)}.gallery-main:hover .gallery-nav{opacity:1}.gallery-nav:hover{background:#000000b3}.gallery-nav.prev{left:var(--space-4)}.gallery-nav.next{right:var(--space-4)}.gallery-thumbs{display:flex;gap:var(--space-2);padding:var(--space-3);background:var(--bg-tertiary)}.thumb{width:80px;height:50px;border-radius:var(--radius-md);overflow:hidden;border:2px solid transparent;opacity:.6;transition:all var(--transition-fast)}.thumb:hover{opacity:.9}.thumb.active{border-color:var(--primary-500);opacity:1}.thumb img{width:100%;height:100%;object-fit:cover}.project-description,.project-technologies{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-8)}.project-description h2,.project-technologies h2{font-size:var(--font-size-xl);margin-bottom:var(--space-6)}.description-content p{color:var(--text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-4)}.description-content p:last-child{margin-bottom:0}.tech-list{display:flex;flex-wrap:wrap;gap:var(--space-3)}.project-sidebar{display:flex;flex-direction:column;gap:var(--space-6);position:sticky;top:calc(var(--header-height) + var(--space-6));height:fit-content}.sidebar-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-6)}.sidebar-card h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-5);color:var(--text-secondary)}.action-buttons{display:flex;flex-direction:column;gap:var(--space-3)}.action-buttons a{display:block}.full-width{width:100%}.author-info{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--bg-tertiary);border-radius:var(--radius-lg);margin-bottom:var(--space-4);transition:all var(--transition-fast)}.author-info:hover{background:var(--border-color)}.author-avatar{width:56px;height:56px;border-radius:var(--radius-full);object-fit:cover}.author-details{display:flex;flex-direction:column}.author-name{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.author-dept{font-size:var(--font-size-sm);color:var(--text-secondary)}.author-year{font-size:var(--font-size-xs);color:var(--text-tertiary)}.related-projects{margin-top:var(--space-10)}.related-projects h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-8)}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.not-found-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:var(--space-8)}.not-found-container h2{margin-bottom:var(--space-2)}.not-found-container p{margin-bottom:var(--space-6)}@media(max-width:1024px){.project-layout{grid-template-columns:1fr}.project-sidebar{position:static;order:-1}.related-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.project-title{font-size:var(--font-size-2xl)}.project-stats{flex-wrap:wrap;gap:var(--space-3)}.related-grid{grid-template-columns:1fr}}.student-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-6);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);transition:all var(--transition-normal)}.student-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px);border-color:var(--border-color-hover)}.student-card-avatar{position:relative;width:100px;height:100px;margin-bottom:var(--space-4)}.student-card-avatar img{width:100%;height:100%;border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--bg-tertiary);transition:all var(--transition-normal)}.student-card:hover .student-card-avatar img{border-color:var(--primary-400);transform:scale(1.05)}.featured-indicator{position:absolute;bottom:4px;right:4px;width:20px;height:20px;background:var(--gradient-primary);border:2px solid var(--bg-secondary);border-radius:var(--radius-full)}.featured-indicator:before{content:"★";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px}.student-card-info{margin-bottom:var(--space-4)}.student-card-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-1);transition:color var(--transition-fast)}.student-card-name:hover{color:var(--primary-500)}.student-card-department{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-1)}.student-card-year{color:var(--text-tertiary);font-size:var(--font-size-xs)}.student-card-skills{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-4)}.student-card-stats{display:flex;gap:var(--space-8);padding:var(--space-4) 0;margin-bottom:var(--space-4);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);width:100%;justify-content:center}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--primary-500)}.stat-label{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.student-card-social{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.social-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-full);transition:all var(--transition-fast)}.social-btn:hover{color:#fff;background:var(--primary-500);transform:translateY(-2px)}.student-card-cta{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:var(--space-3) var(--space-6);background:var(--bg-tertiary);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.student-card-cta:hover{background:var(--gradient-primary);color:#fff}.students-page{padding:var(--space-10) 0 var(--space-20);min-height:80vh}.students-page .page-header{display:flex;align-items:center;gap:var(--space-5);margin-bottom:var(--space-10)}.students-page .page-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--gradient-primary);color:#fff;border-radius:var(--radius-xl)}.students-page .page-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-1)}.students-page .page-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);margin:0}.students-page .students-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}@media(max-width:1024px){.students-page .students-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.students-page .page-header{flex-direction:column;text-align:center}.students-page .students-grid{grid-template-columns:1fr}}.student-portfolio-page{padding:var(--space-8) 0 var(--space-20)}.student-portfolio-page .back-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-weight:var(--font-weight-medium);margin-bottom:var(--space-8);transition:color var(--transition-fast)}.student-portfolio-page .back-link:hover{color:var(--primary-500)}.profile-header{display:flex;gap:var(--space-10);padding:var(--space-10);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-2xl);margin-bottom:var(--space-10)}.profile-avatar-container{position:relative;flex-shrink:0}.profile-avatar{width:180px;height:180px;border-radius:var(--radius-full);object-fit:cover;border:4px solid var(--bg-tertiary)}.profile-header .featured-badge{position:absolute;bottom:8px;right:8px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--gradient-primary);color:#fff;border-radius:var(--radius-full);border:3px solid var(--bg-secondary)}.profile-info{flex:1}.profile-name{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-3)}.profile-meta{display:flex;flex-wrap:wrap;gap:var(--space-5);margin-bottom:var(--space-4)}.profile-meta .meta-item{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm)}.profile-bio{color:var(--text-secondary);line-height:var(--line-height-relaxed);max-width:600px;margin-bottom:var(--space-6)}.profile-social{display:flex;flex-wrap:wrap;gap:var(--space-3)}.profile-social a{display:inline-block}.profile-section{margin-bottom:var(--space-10)}.profile-section .section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-6)}.skills-list{display:flex;flex-wrap:wrap;gap:var(--space-3)}.student-portfolio-page .projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.empty-projects{padding:var(--space-12);text-align:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);color:var(--text-secondary)}@media(max-width:1024px){.student-portfolio-page .projects-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.profile-header{flex-direction:column;align-items:center;text-align:center;padding:var(--space-6);gap:var(--space-6)}.profile-avatar{width:140px;height:140px}.profile-meta{justify-content:center}.profile-bio{max-width:none}.profile-social{justify-content:center}.student-portfolio-page .projects-grid{grid-template-columns:1fr}}.submit-project-page{min-height:calc(100vh - var(--header-height));padding:var(--space-8) 0 var(--space-20)}.submit-project-page .back-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-weight:var(--font-weight-medium);margin-bottom:var(--space-8);transition:color var(--transition-fast)}.submit-project-page .back-link:hover{color:var(--primary-500)}.submit-card{max-width:700px;margin:0 auto;padding:var(--space-10);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl)}.submit-header{text-align:center;margin-bottom:var(--space-8)}.submit-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--gradient-primary);color:#fff;border-radius:var(--radius-xl);margin-bottom:var(--space-5)}.submit-header h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-2)}.submit-header p{color:var(--text-secondary);margin:0}.progress-steps{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-10)}.step{display:flex;align-items:center;gap:var(--space-2);opacity:.5;transition:opacity var(--transition-fast)}.step.active{opacity:1}.step-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-tertiary);color:var(--text-secondary);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);transition:all var(--transition-fast)}.step.active .step-number{background:var(--primary-500);color:#fff}.step-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.step-line{width:60px;height:2px;background:var(--border-color)}.form-step{display:flex;flex-direction:column;gap:var(--space-5)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4)}.student-toggle{display:flex;background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:var(--space-1);gap:var(--space-1)}.toggle-btn{flex:1;padding:var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);background:transparent;border-radius:var(--radius-md);transition:all var(--transition-fast)}.toggle-btn.active{background:var(--bg-secondary);color:var(--primary-500);box-shadow:var(--shadow-sm)}.new-student-fields{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);background:var(--bg-tertiary);border-radius:var(--radius-lg)}.screenshots-section{display:flex;flex-direction:column;gap:var(--space-3)}.section-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.section-label .required{color:var(--error-500)}.error-text{font-size:var(--font-size-xs);color:var(--error-500)}.success-card{max-width:500px;margin:var(--space-20) auto;padding:var(--space-16);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-2xl);text-align:center;box-shadow:var(--shadow-xl)}.success-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:var(--success-100);color:var(--success-500);border-radius:var(--radius-full);margin-bottom:var(--space-6)}[data-theme=dark] .success-icon{background:#10b9811a}.success-card h1{margin-bottom:var(--space-2)}.success-card p{color:var(--text-secondary);margin-bottom:var(--space-8)}.success-actions{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.admin-layout{display:flex;min-height:calc(100vh - var(--header-height))}.admin-sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:sticky;top:var(--header-height);height:calc(100vh - var(--header-height))}.sidebar-header{padding:var(--space-6);border-bottom:1px solid var(--border-color)}.admin-user{display:flex;align-items:center;gap:var(--space-3)}.admin-avatar{width:48px;height:48px;border-radius:var(--radius-full);object-fit:cover}.admin-info{display:flex;flex-direction:column}.admin-name{font-weight:var(--font-weight-semibold);color:var(--text-primary);font-size:var(--font-size-sm)}.admin-role{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:capitalize}.sidebar-nav{flex:1;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-lg);transition:all var(--transition-fast);width:100%;text-align:left}.sidebar-link:hover{color:var(--text-primary);background:var(--bg-tertiary)}.sidebar-link.active{color:var(--primary-600);background:var(--primary-50)}[data-theme=dark] .sidebar-link.active{background:#6366f11a;color:var(--primary-400)}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--border-color)}.admin-main{flex:1;padding:var(--space-8);background:var(--bg-primary);overflow-y:auto}@media(max-width:1024px){.admin-sidebar{width:80px}.sidebar-link span,.admin-info{display:none}.sidebar-link{justify-content:center;padding:var(--space-3)}.admin-user{justify-content:center}}@media(max-width:768px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%;height:auto;position:static;flex-direction:row;align-items:center;padding:var(--space-3)}.sidebar-header{display:none}.sidebar-nav{flex-direction:row;padding:0;flex:1;justify-content:center}.sidebar-footer{border:none;padding:0}}.dashboard{max-width:1200px;padding:2rem}.dashboard-loading,.dashboard-error{padding:3rem;text-align:center;color:var(--text-tertiary)}.dashboard-error{color:var(--error-500)}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{font-size:1.75rem;color:var(--text-primary);margin-bottom:.5rem}.dashboard-header p{color:var(--text-secondary);margin:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px}.stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;color:#fff}.stat-icon.blue{background:linear-gradient(135deg,#3b82f6,#6366f1)}.stat-icon.green{background:linear-gradient(135deg,#10b981,#059669)}.stat-icon.orange{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-icon.purple{background:linear-gradient(135deg,#8b5cf6,#a855f7)}.stat-content{display:flex;flex-direction:column}.dashboard .stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.dashboard .stat-label{font-size:.875rem;color:var(--text-secondary)}.charts-row,.bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.chart-card{padding:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px}.chart-title{font-size:1rem;font-weight:600;margin-bottom:1.25rem;color:var(--text-primary)}.chart-list{display:flex;flex-direction:column;gap:.75rem}.chart-item{display:flex;align-items:center;gap:.75rem}.chart-label{width:140px;font-size:.875rem;color:var(--text-secondary);flex-shrink:0}.chart-bar-container{flex:1;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.chart-bar{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:4px;min-width:4px}.chart-bar.year{background:linear-gradient(90deg,#10b981,#059669)}.chart-value{width:30px;text-align:right;font-size:.875rem;font-weight:600;color:var(--text-primary)}.no-data-text{color:var(--text-tertiary);font-size:.875rem;font-style:italic}.recent-list{display:flex;flex-direction:column;gap:.75rem}.recent-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--bg-tertiary);border-radius:8px;gap:1rem}.recent-info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.recent-title{font-size:.9rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-author{font-size:.8rem;color:var(--text-tertiary)}.dashboard .status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.7rem;font-weight:500;flex-shrink:0}.dashboard .status-badge.approved{background:#10b98126;color:#059669}[data-theme=dark] .dashboard .status-badge.approved{color:#6ee7b7}.dashboard .status-badge.pending{background:#f59e0b26;color:#d97706}[data-theme=dark] .dashboard .status-badge.pending{color:#fcd34d}.dashboard .status-badge.rejected{background:#ef444426;color:#dc2626}[data-theme=dark] .dashboard .status-badge.rejected{color:#fca5a5}.top-list{display:flex;flex-direction:column;gap:.5rem}.top-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-tertiary);border-radius:8px}.top-rank{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:.75rem;font-weight:700;border-radius:6px;flex-shrink:0}.top-title{flex:1;font-size:.9rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-views{font-size:.8rem;color:var(--text-tertiary);flex-shrink:0}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.charts-row,.bottom-row{grid-template-columns:1fr}}@media(max-width:768px){.stats-grid{grid-template-columns:1fr}.dashboard{padding:1rem}}.manage-projects,.manage-students{max-width:1200px;padding:2rem}.manage-projects .page-header,.manage-students .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.manage-projects .page-header h1,.manage-students .page-header h1{font-size:1.75rem;color:var(--text-primary)}.add-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600}.add-btn:hover{transform:translateY(-2px)}.manage-projects .filters,.manage-students .filters{display:flex;gap:.5rem;margin-bottom:1.5rem}.filter-btn{padding:.5rem 1rem;background:var(--bg-tertiary);color:var(--text-tertiary);border:none;border-radius:6px;cursor:pointer}.filter-btn.active{background:#6366f1;color:#fff}.works-table{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);overflow:hidden}.works-table table{width:100%;border-collapse:collapse}.works-table th,.works-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}.works-table th{background:var(--bg-tertiary);color:var(--text-tertiary);font-size:.85rem;font-weight:600;text-transform:uppercase}.works-table tr:last-child td{border-bottom:none}.works-table tr:hover{background:#6366f10d}.title-cell{font-weight:500;color:var(--text-primary)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500}.status-badge.approved{background:#10b98126;color:#059669}[data-theme=dark] .status-badge.approved{color:#6ee7b7}.status-badge.pending{background:#f59e0b26;color:#d97706}[data-theme=dark] .status-badge.pending{color:#fcd34d}.status-badge.rejected{background:#ef444426;color:#dc2626}[data-theme=dark] .status-badge.rejected{color:#fca5a5}.actions-cell{display:flex;gap:.5rem}.manage-projects .action-btn,.manage-students .action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;background:transparent}.manage-projects .action-btn.approve,.manage-students .action-btn.approve{color:#10b981}.manage-projects .action-btn.reject,.manage-students .action-btn.reject{color:#f59e0b}.manage-projects .action-btn.edit,.manage-students .action-btn.edit{color:#6366f1}.manage-projects .action-btn.delete,.manage-students .action-btn.delete{color:#ef4444}.manage-projects .action-btn:hover,.manage-students .action-btn:hover{background:var(--bg-tertiary)}.manage-projects .loading,.manage-projects .no-data,.manage-students .loading,.manage-students .no-data{padding:3rem;text-align:center;color:var(--text-tertiary)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);padding:2rem;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-content h2{margin-bottom:1.5rem;color:var(--text-primary)}.manage-projects .form-group,.manage-students .form-group{margin-bottom:1rem}.manage-projects .form-group label,.manage-students .form-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem}.manage-projects .form-group input,.manage-projects .form-group textarea,.manage-projects .form-group select,.manage-students .form-group input,.manage-students .form-group textarea,.manage-students .form-group select{width:100%;padding:.75rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem}.manage-projects .form-group input:focus,.manage-projects .form-group textarea:focus,.manage-projects .form-group select:focus,.manage-students .form-group input:focus,.manage-students .form-group textarea:focus,.manage-students .form-group select:focus{outline:none;border-color:#6366f1}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.cancel-btn{padding:.75rem 1.5rem;background:var(--bg-tertiary);color:var(--text-primary);border:none;border-radius:8px;cursor:pointer}.save-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600}@media(max-width:768px){.manage-projects .page-header,.manage-students .page-header{flex-direction:column;align-items:flex-start;gap:1rem}.works-table{overflow-x:auto}}.similarity-checker{max-width:1200px;padding:2rem}.sc-header{margin-bottom:2rem}.sc-header h1{font-size:1.75rem;color:var(--text-primary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.sc-header p{color:var(--text-secondary);margin:0}.sc-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.sc-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.sc-card-header h2{font-size:1.1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.sc-mode-toggle{display:flex;gap:.5rem}.sc-mode-btn{padding:.4rem .75rem;font-size:.8rem;font-weight:500;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:.35rem}.sc-mode-btn.active{background:var(--primary-600);color:#fff;border-color:var(--primary-600)}.sc-mode-btn:hover:not(.active){border-color:var(--primary-400);color:var(--text-primary)}.sc-file-upload{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.sc-file-label{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:2px dashed var(--border-color);border-radius:10px;cursor:pointer;color:var(--text-secondary);font-size:.875rem;transition:all var(--transition-fast)}.sc-file-label:hover{border-color:var(--primary-400);color:var(--primary-600)}.sc-file-label input{display:none}.sc-file-loaded{font-size:.8rem;color:var(--primary-600);font-weight:500}.sc-fields{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.25rem}.sc-field label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.03em}.sc-field input,.sc-field textarea,.sc-field select{width:100%;padding:.625rem .875rem;font-size:.9rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);transition:border-color var(--transition-fast);font-family:inherit}.sc-field input:focus,.sc-field textarea:focus,.sc-field select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f11a}.sc-field textarea{resize:vertical;min-height:60px}.sc-actions{display:flex;gap:.75rem}.sc-btn{display:flex;align-items:center;gap:.4rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all var(--transition-fast)}.sc-btn.primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none}.sc-btn.primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.sc-btn.primary:disabled{opacity:.6;cursor:not-allowed}.sc-btn.secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.sc-btn.secondary:hover:not(:disabled){color:var(--text-primary);border-color:var(--text-tertiary)}.sc-spinner{animation:sc-spin 1s linear infinite}@keyframes sc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sc-error{margin-top:1rem;padding:.75rem 1rem;background:#ef44441a;color:#dc2626;border-radius:8px;font-size:.875rem}[data-theme=dark] .sc-error{color:#fca5a5}.sc-results{display:flex;flex-direction:column;gap:1.5rem}.sc-verdict{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;border-radius:12px;border:1px solid}.sc-verdict.red{background:#ef444414;border-color:#ef44444d}.sc-verdict.red .sc-verdict-icon{color:#dc2626}.sc-verdict.amber{background:#f59e0b14;border-color:#f59e0b4d}.sc-verdict.amber .sc-verdict-icon{color:#d97706}.sc-verdict.blue{background:#3b82f614;border-color:#3b82f64d}.sc-verdict.blue .sc-verdict-icon{color:#3b82f6}.sc-verdict.green{background:#10b98114;border-color:#10b9814d}.sc-verdict.green .sc-verdict-icon{color:#059669}[data-theme=dark] .sc-verdict.red .sc-verdict-icon{color:#fca5a5}[data-theme=dark] .sc-verdict.amber .sc-verdict-icon{color:#fcd34d}[data-theme=dark] .sc-verdict.blue .sc-verdict-icon{color:#93c5fd}[data-theme=dark] .sc-verdict.green .sc-verdict-icon{color:#6ee7b7}.sc-verdict-content h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.35rem}.sc-verdict-stats{display:flex;gap:1.5rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.sc-verdict-max strong{color:var(--text-primary)}.sc-risk-counts{display:flex;gap:.75rem}.sc-risk{padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600}.sc-risk.high{background:#ef444426;color:#dc2626}.sc-risk.medium{background:#f59e0b26;color:#d97706}.sc-risk.low{background:#3b82f626;color:#3b82f6}[data-theme=dark] .sc-risk.high{color:#fca5a5}[data-theme=dark] .sc-risk.medium{color:#fcd34d}[data-theme=dark] .sc-risk.low{color:#93c5fd}.sc-results-list h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.sc-result-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;margin-bottom:.75rem;overflow:hidden}.sc-result-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;cursor:pointer;transition:background var(--transition-fast);color:var(--text-tertiary)}.sc-result-header:hover{background:var(--bg-tertiary)}.sc-similarity-badge{width:52px;height:52px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;color:#fff;flex-shrink:0}.sc-similarity-badge.high{background:linear-gradient(135deg,#ef4444,#dc2626)}.sc-similarity-badge.medium{background:linear-gradient(135deg,#f59e0b,#d97706)}.sc-similarity-badge.low{background:linear-gradient(135deg,#3b82f6,#6366f1)}.sc-result-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.sc-result-title{font-size:.95rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-result-meta{font-size:.8rem;color:var(--text-tertiary)}.sc-result-details{padding:1rem 1.25rem 1.25rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:1rem}.sc-field-breakdown{background:var(--bg-tertiary);border-radius:8px;padding:.875rem}.sc-field-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.625rem}.sc-field-name{font-size:.85rem;font-weight:600;color:var(--text-primary)}.sc-field-score{font-size:.85rem;font-weight:700;padding:.15rem .5rem;border-radius:6px}.sc-field-score.high{background:#ef444426;color:#dc2626}.sc-field-score.medium{background:#f59e0b26;color:#d97706}.sc-field-score.low{background:#3b82f626;color:#3b82f6}[data-theme=dark] .sc-field-score.high{color:#fca5a5}[data-theme=dark] .sc-field-score.medium{color:#fcd34d}[data-theme=dark] .sc-field-score.low{color:#93c5fd}.sc-methods{display:flex;flex-direction:column;gap:.4rem}.sc-method-row{display:flex;align-items:center;gap:.75rem}.sc-method-name{width:100px;font-size:.75rem;color:var(--text-tertiary);flex-shrink:0}.sc-method-bar-container{flex:1;height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden}.sc-method-bar{height:100%;border-radius:3px;min-width:2px;transition:width .3s ease}.sc-method-bar.high{background:linear-gradient(90deg,#ef4444,#dc2626)}.sc-method-bar.medium{background:linear-gradient(90deg,#f59e0b,#d97706)}.sc-method-bar.low{background:linear-gradient(90deg,#6366f1,#8b5cf6)}.sc-method-value{width:36px;text-align:right;font-size:.75rem;font-weight:600;color:var(--text-primary)}.sc-tech-tags{display:flex;flex-wrap:wrap;gap:.4rem}.sc-tech-tag{padding:.2rem .6rem;font-size:.7rem;font-weight:500;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary)}.sc-no-matches{text-align:center;padding:2.5rem;color:var(--text-tertiary)}.sc-no-matches p{margin-top:.75rem;font-size:.95rem}@media(max-width:768px){.similarity-checker{padding:1rem}.sc-card-header{flex-direction:column;align-items:flex-start;gap:.75rem}.sc-verdict{flex-direction:column;text-align:center}.sc-verdict-stats{flex-direction:column;gap:.35rem}.sc-risk-counts{justify-content:center}.sc-result-header{flex-wrap:wrap}.sc-method-name{width:70px}}:root{--primary-50: #eef2ff;--primary-100: #e0e7ff;--primary-200: #c7d2fe;--primary-300: #a5b4fc;--primary-400: #818cf8;--primary-500: #6366f1;--primary-600: #4f46e5;--primary-700: #4338ca;--primary-800: #3730a3;--primary-900: #312e81;--secondary-50: #f5f3ff;--secondary-100: #ede9fe;--secondary-200: #ddd6fe;--secondary-300: #c4b5fd;--secondary-400: #a78bfa;--secondary-500: #8b5cf6;--secondary-600: #7c3aed;--secondary-700: #6d28d9;--secondary-800: #5b21b6;--secondary-900: #4c1d95;--accent-50: #ecfeff;--accent-100: #cffafe;--accent-200: #a5f3fc;--accent-300: #67e8f9;--accent-400: #22d3ee;--accent-500: #06b6d4;--accent-600: #0891b2;--accent-700: #0e7490;--accent-800: #155e75;--accent-900: #164e63;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--gray-950: #030712;--success-50: #ecfdf5;--success-500: #10b981;--success-600: #059669;--warning-50: #fffbeb;--warning-500: #f59e0b;--warning-600: #d97706;--error-50: #fef2f2;--error-500: #ef4444;--error-600: #dc2626;--bg-primary: var(--gray-50);--bg-secondary: #ffffff;--bg-tertiary: var(--gray-100);--bg-elevated: #ffffff;--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-tertiary: var(--gray-500);--text-inverse: #ffffff;--border-color: var(--gray-200);--border-color-hover: var(--gray-300);--shadow-color: rgba(0, 0, 0, .1);--shadow-color-strong: rgba(0, 0, 0, .15);--gradient-primary: linear-gradient(135deg, var(--primary-500) 0%, var(--secondary-500) 100%);--gradient-accent: linear-gradient(135deg, var(--accent-400) 0%, var(--primary-400) 100%);--gradient-hero: linear-gradient(135deg, var(--primary-600) 0%, var(--secondary-600) 50%, var(--accent-500) 100%);--gradient-card: linear-gradient(145deg, rgba(255,255,255,.9) 0%, rgba(255,255,255,.7) 100%);--gradient-glass: linear-gradient(135deg, rgba(255,255,255,.4) 0%, rgba(255,255,255,.1) 100%);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--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;--space-20: 5rem;--space-24: 6rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 var(--shadow-color);--shadow-md: 0 4px 6px -1px var(--shadow-color), 0 2px 4px -2px var(--shadow-color);--shadow-lg: 0 10px 15px -3px var(--shadow-color), 0 4px 6px -4px var(--shadow-color);--shadow-xl: 0 20px 25px -5px var(--shadow-color), 0 8px 10px -6px var(--shadow-color);--shadow-2xl: 0 25px 50px -12px var(--shadow-color-strong);--shadow-glow: 0 0 20px rgba(99, 102, 241, .3);--shadow-glow-accent: 0 0 20px rgba(6, 182, 212, .3);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--transition-bounce: .35s cubic-bezier(.68, -.55, .265, 1.55);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-tooltip: 600;--container-max: 1280px;--header-height: 72px;--sidebar-width: 280px}[data-theme=dark]{--bg-primary: var(--gray-950);--bg-secondary: var(--gray-900);--bg-tertiary: var(--gray-800);--bg-elevated: var(--gray-800);--text-primary: var(--gray-50);--text-secondary: var(--gray-400);--text-tertiary: var(--gray-500);--text-inverse: var(--gray-900);--border-color: var(--gray-700);--border-color-hover: var(--gray-600);--shadow-color: rgba(0, 0, 0, .4);--shadow-color-strong: rgba(0, 0, 0, .6);--gradient-card: linear-gradient(145deg, rgba(31,41,55,.9) 0%, rgba(17,24,39,.7) 100%);--gradient-glass: linear-gradient(135deg, rgba(255,255,255,.1) 0%, rgba(255,255,255,.02) 100%)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleInBounce{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulseScale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes glow{0%,to{box-shadow:0 0 5px #6366f180}50%{box-shadow:0 0 20px #6366f1cc,0 0 30px #6366f199}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease forwards}.animate-fade-in-up{animation:fadeInUp var(--transition-normal) ease forwards}.animate-fade-in-down{animation:fadeInDown var(--transition-normal) ease forwards}.animate-fade-in-left{animation:fadeInLeft var(--transition-normal) ease forwards}.animate-fade-in-right{animation:fadeInRight var(--transition-normal) ease forwards}.animate-scale-in{animation:scaleIn var(--transition-normal) ease forwards}.animate-scale-in-bounce{animation:scaleInBounce .5s ease forwards}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-bounce{animation:bounce 1s infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-gradient{background-size:200% 200%;animation:gradientShift 3s ease infinite}.animate-shimmer{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.stagger-6{animation-delay:.6s}.stagger-7{animation-delay:.7s}.stagger-8{animation-delay:.8s}.animate-on-scroll{opacity:0}.animate-on-scroll.visible{opacity:1}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal),color var(--transition-normal)}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{color:var(--text-secondary);margin-bottom:var(--space-4)}a{color:var(--primary-500);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-600)}ul,ol{list-style:none}img,video{max-width:100%;height:auto;display:block}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:transparent}input,textarea,select{font-family:inherit;font-size:inherit;border:none;outline:none;background:transparent}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6)}.section{padding:var(--space-20) 0}.section-sm{padding:var(--space-12) 0}.section-lg{padding:var(--space-24) 0}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-accent{color:var(--primary-500)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.m-0{margin:0}.m-auto{margin:auto}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.p-0{padding:0}.p-2{padding:var(--space-2)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.card{background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-md);overflow:hidden;transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px);border-color:var(--border-color-hover)}.card-glass{background:var(--gradient-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.card-gradient{background:var(--gradient-card)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-lg);transition:all var(--transition-fast);cursor:pointer;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary-300)}.btn-outline{background:transparent;color:var(--primary-500);border:2px solid var(--primary-500)}.btn-outline:hover:not(:disabled){background:var(--primary-500);color:#fff}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-base)}.btn-icon{padding:var(--space-3);border-radius:var(--radius-full)}.input{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-size-base);transition:all var(--transition-fast)}.input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f11a}.input::placeholder{color:var(--text-tertiary)}.input-group{position:relative}.input-icon{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.input-with-icon{padding-left:var(--space-12)}.label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' 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-3) center;background-size:1rem;padding-right:var(--space-10)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);white-space:nowrap}.badge-primary{background:var(--primary-100);color:var(--primary-700)}[data-theme=dark] .badge-primary{background:#6366f133;color:var(--primary-400)}.badge-secondary{background:var(--secondary-100);color:var(--secondary-700)}[data-theme=dark] .badge-secondary{background:#8b5cf633;color:var(--secondary-400)}.badge-accent{background:var(--accent-100);color:var(--accent-700)}[data-theme=dark] .badge-accent{background:#06b6d433;color:var(--accent-400)}.badge-success{background:var(--success-50);color:var(--success-600)}[data-theme=dark] .badge-success{background:#10b98133;color:var(--success-500)}.badge-warning{background:var(--warning-50);color:var(--warning-600)}.badge-error{background:var(--error-50);color:var(--error-600)}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.skeleton-text{height:1em;margin-bottom:var(--space-2)}.skeleton-title{height:1.5em;width:60%}.skeleton-circle{border-radius:var(--radius-full)}.skeleton-card{height:200px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--primary-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary-500)}@media(max-width:1024px){.container{padding:0 var(--space-4)}.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.hide-tablet{display:none}}@media(max-width:768px){html{font-size:14px}.section{padding:var(--space-12) 0}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.hide-mobile{display:none}.show-mobile{display:block}}.page-enter{opacity:0;transform:translateY(10px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .2s ease}
