:root{--bg-primary:#0d1117;--bg-primary-rgb:13,17,23;--bg-secondary:#161b22;--bg-tertiary:#21262d;--bg-elevated:#30363d;--text-primary:#e6edf3;--text-secondary:#8b949e;--text-muted:#6e7681;--accent:#3b82f6;--accent-hover:#2563eb;--accent-subtle:rgba(59, 130, 246, 0.15);--accent-glow:rgba(59, 130, 246, 0.3);--border:#30363d;--border-muted:#21262d;--success:#3fb950;--warning:#d29922;--error:#f85149;--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.3);--shadow-md:0 4px 12px rgba(0, 0, 0, 0.4);--shadow-lg:0 8px 24px rgba(0, 0, 0, 0.5);--shadow-glow:0 0 40px rgba(59, 130, 246, 0.15);--selection-bg:rgba(59, 130, 246, 0.4);--selection-color:#ffffff;--font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-mono:'JetBrains Mono','Fira Code',monospace;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:150ms ease;--transition-base:300ms ease;--transition-slow:500ms ease;--z-dropdown:100;--z-sticky:200;--z-modal-backdrop:400;--z-modal:500;--z-toast:10000;--scrollbar-width:10px;--scrollbar-width-thin:6px;--scrollbar-track:var(--bg-secondary);--scrollbar-thumb:var(--bg-elevated);--scrollbar-thumb-hover:var(--accent)}[data-theme=light]{--bg-primary:#ffffff;--bg-primary-rgb:255,255,255;--bg-secondary:#f6f8fa;--bg-tertiary:#eaeef2;--bg-elevated:#ffffff;--text-primary:#1f2328;--text-secondary:#656d76;--text-muted:#8c959f;--accent:#0969da;--accent-hover:#0550ae;--accent-subtle:rgba(9, 105, 218, 0.1);--border:#d0d7de;--border-muted:#eaeef2;--shadow-sm:0 1px 2px rgba(31, 35, 40, 0.08);--shadow-md:0 4px 12px rgba(31, 35, 40, 0.12);--shadow-lg:0 8px 24px rgba(31, 35, 40, 0.16);--shadow-glow:0 0 40px rgba(9, 105, 218, 0.1);--selection-bg:rgba(9, 105, 218, 0.25);--selection-color:#1f2328;--scrollbar-track:#f0f0f0;--scrollbar-thumb:#c1c1c1;--scrollbar-thumb-hover:var(--accent)}[data-theme=midnight]{--bg-primary:#0f0e17;--bg-secondary:#1a1825;--bg-tertiary:#252336;--bg-elevated:#2e2b42;--text-primary:#fffffe;--text-secondary:#a7a9be;--text-muted:#6b6d7c;--accent:#ff8906;--accent-hover:#ffab40;--accent-subtle:rgba(255, 137, 6, 0.15);--border:#2e2b42;--border-muted:#1a1825}[data-theme=forest]{--bg-primary:#1a1c1a;--bg-secondary:#232623;--bg-tertiary:#2d312d;--bg-elevated:#363b36;--text-primary:#e8efe8;--text-secondary:#9ca89c;--text-muted:#6b756b;--accent:#7cb77c;--accent-hover:#9dcc9d;--accent-subtle:rgba(124, 183, 124, 0.15);--border:#2d312d;--border-muted:#232623}[data-theme=ocean]{--bg-primary:#0a1628;--bg-secondary:#112240;--bg-tertiary:#1d3557;--bg-elevated:#264573;--text-primary:#ccd6f6;--text-secondary:#8892b0;--text-muted:#606a86;--accent:#64ffda;--accent-hover:#9effeb;--accent-subtle:rgba(100, 255, 218, 0.1);--border:#1d3557;--border-muted:#112240}[data-theme=rose]{--bg-primary:#1a1318;--bg-secondary:#251d22;--bg-tertiary:#32272d;--bg-elevated:#3d3137;--text-primary:#faf4f7;--text-secondary:#c4a9b5;--text-muted:#8a7580;--accent:#ff6b9d;--accent-hover:#ff9ebe;--accent-subtle:rgba(255, 107, 157, 0.15);--border:#32272d;--border-muted:#251d22}[data-theme=sunset]{--bg-primary:#1f1714;--bg-secondary:#2a211d;--bg-tertiary:#362b26;--bg-elevated:#41352f;--text-primary:#faf6f3;--text-secondary:#c9b8ab;--text-muted:#8a7d73;--accent:#ff7849;--accent-hover:#ff9a73;--accent-subtle:rgba(255, 120, 73, 0.15);--border:#362b26;--border-muted:#2a211d}[data-theme=lavender]{--bg-primary:#16141d;--bg-secondary:#1e1b28;--bg-tertiary:#282433;--bg-elevated:#322d3f;--text-primary:#f5f3fa;--text-secondary:#b4adc4;--text-muted:#7a7490;--accent:#a78bfa;--accent-hover:#c4b5fd;--accent-subtle:rgba(167, 139, 250, 0.15);--border:#282433;--border-muted:#1e1b28}[data-theme=nord]{--bg-primary:#2e3440;--bg-secondary:#3b4252;--bg-tertiary:#434c5e;--bg-elevated:#4c566a;--text-primary:#eceff4;--text-secondary:#d8dee9;--text-muted:#8fbcbb;--accent:#88c0d0;--accent-hover:#8fbcbb;--accent-subtle:rgba(136, 192, 208, 0.15);--border:#434c5e;--border-muted:#3b4252}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--text-primary);background:var(--bg-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-base),color var(--transition-base)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;color:var(--text-primary)}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none;background:0 0}ol,ul{list-style:none}:focus-visible{outline:0;box-shadow:0 0 0 2px var(--accent-subtle,rgba(99,102,241,.3))}::selection{background:var(--selection-bg,rgba(59,130,246,.35));color:var(--selection-color,inherit)}::-moz-selection{background:var(--selection-bg,rgba(59,130,246,.35));color:var(--selection-color,inherit)}*{transition-property:background-color,border-color,color,fill,stroke;transition-duration:0s;transition-timing-function:ease;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}html.theme-transition,html.theme-transition *,html.theme-transition ::after,html.theme-transition ::before{transition-duration:.3s!important}::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full);border:2px solid var(--scrollbar-track);-webkit-transition:background var(--transition-fast);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background:var(--scrollbar-track)}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{width:var(--scrollbar-width-thin);height:var(--scrollbar-width-thin)}.scrollbar-thin::-webkit-scrollbar-thumb{border-width:1px}.scrollbar-hidden{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-hidden::-webkit-scrollbar{display:none}.scrollbar-auto::-webkit-scrollbar-thumb{background:0 0}.scrollbar-auto:focus-within::-webkit-scrollbar-thumb,.scrollbar-auto:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}.scrollbar-auto:focus-within::-webkit-scrollbar-thumb:hover,.scrollbar-auto:hover::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.scrollbar-accent{scrollbar-color:var(--accent) var(--scrollbar-track)}.scrollbar-accent::-webkit-scrollbar-thumb{background:var(--accent)}.scrollbar-accent::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}.modal-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:var(--z-modal)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-base),visibility var(--transition-base);z-index:var(--z-modal)}.modal-overlay.active,.modal-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}.modal-overlay.active .modal,.modal-overlay.is-open .modal{transform:translateY(0) scale(1);opacity:1}.modal{position:relative;width:100%;max-width:480px;max-height:90vh;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;transform:translateY(20px) scale(.95);opacity:0;transition:transform var(--transition-base),opacity var(--transition-base)}.modal--sm{max-width:360px}.modal--md{max-width:480px}.modal--lg{max-width:640px}.modal--xl{max-width:900px}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.modal__title{font-size:1.125rem!important;font-weight:600!important;color:var(--text-primary);margin:0!important}.modal__close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:background-color .2s,color .2s}.modal__close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal__close svg{width:20px;height:20px}.modal__body{flex:1;overflow-y:auto;padding:1.25rem}.modal__message{color:var(--text-secondary);line-height:1.6}.modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--border);background:var(--bg-tertiary)}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.confirm-delete-content{text-align:center}.confirm-delete-icon{width:64px;height:64px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;background:rgba(239,68,68,.1);border-radius:50%}.confirm-delete-icon svg{width:32px;height:32px;color:#ef4444}.confirm-delete-message{font-size:1rem;font-weight:500;color:var(--text-primary);margin-bottom:.75rem;line-height:1.5}.confirm-delete-warning{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:0}.form-group{margin-bottom:1.25rem}.form-group:last-child{margin-bottom:0}.form-group--error .form-input,.form-group--error .form-select,.form-group--error .form-textarea{border-color:var(--error)}.form-group--error .form-input:focus,.form-group--error .form-select:focus,.form-group--error .form-textarea:focus{border-color:var(--error);box-shadow:0 0 0 3px rgba(239,68,68,.2)}.form-label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-label--required::after{content:"*";color:var(--error);margin-left:.25rem;font-weight:600}.form-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.form-label-row .form-label{margin-bottom:0}.form-link{font-size:.875rem;color:var(--accent);text-decoration:none;background:0 0;border:none;padding:0;cursor:pointer;transition:opacity var(--transition-fast)}.form-link:hover{opacity:.8}.form-hint{display:block;margin-top:.375rem;font-size:.8125rem;color:var(--text-muted)}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;font-size:.9375rem;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input::-moz-placeholder,.form-select::-moz-placeholder,.form-textarea::-moz-placeholder{color:var(--text-muted)}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--text-muted)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{opacity:.6;cursor:not-allowed}.form-input.is-invalid,.form-select.is-invalid,.form-textarea.is-invalid{border-color:var(--error)}.form-input.is-invalid:focus,.form-select.is-invalid:focus,.form-textarea.is-invalid:focus{border-color:var(--error);box-shadow:0 0 0 3px rgba(239,68,68,.15)}textarea{resize:none;overflow:hidden}.form-textarea{min-height:120px;line-height:1.6}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.form-input--sm,.form-select--sm{padding:.5rem .75rem;font-size:.8125rem}.form-select--sm{background-position:right .5rem center;padding-right:2rem}.form-input-group,.form-input-wrapper{position:relative}.form-input-group .form-input,.form-input-wrapper .form-input{width:100%;padding-right:3rem}.form-input-toggle{position:absolute;right:0;top:0;height:calc(1.5rem + 1.25em + 2px);width:3rem;display:flex;align-items:center;justify-content:center;background:0 0;border:none;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);font-size:1rem}.form-input-toggle:hover{color:var(--text-primary)}.form-input-toggle svg{width:20px;height:20px}.form-input-toggle .icon-hide,.form-input-toggle.is-visible .icon-show{display:none}.form-input-toggle.is-visible .icon-hide{display:inline-block}.input-with-icon{position:relative}.input-with-icon .form-input{width:100%;padding-right:3rem}.input-with-icon .input-icon-btn{position:absolute;right:0;top:0;height:calc(1.5rem + 1.25em + 2px);width:3rem;display:flex;align-items:center;justify-content:center;background:0 0;border:none;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast)}.input-with-icon .input-icon-btn:hover{color:var(--text-primary)}.input-with-icon .input-icon-btn svg{width:20px;height:20px}.form-error{display:block;margin-top:.375rem;font-size:.8125rem;color:var(--error)}.form__errors{display:flex;flex-direction:column;gap:.25rem;margin-top:.375rem}.form__error{align-items:center;gap:.375rem;color:var(--error)}.form-checkbox,.form-radio{display:flex;align-items:flex-start;gap:.625rem;cursor:pointer;position:relative}.form-checkbox input[type=checkbox],.form-checkbox input[type=radio],.form-radio input[type=checkbox],.form-radio input[type=radio]{position:absolute;opacity:0;width:0;height:0;margin:0;padding:0;pointer-events:none}.form-checkbox input[type=checkbox]:checked+span::before,.form-checkbox input[type=radio]:checked+span::before,.form-radio input[type=checkbox]:checked+span::before,.form-radio input[type=radio]:checked+span::before{background:var(--accent);border-color:var(--accent)}.form-checkbox input[type=checkbox]:checked+span::after,.form-checkbox input[type=radio]:checked+span::after,.form-radio input[type=checkbox]:checked+span::after,.form-radio input[type=radio]:checked+span::after{opacity:1;transform:rotate(45deg) scale(1)}.form-checkbox input[type=checkbox]:focus+span::before,.form-checkbox input[type=radio]:focus+span::before,.form-radio input[type=checkbox]:focus+span::before,.form-radio input[type=radio]:focus+span::before{box-shadow:0 0 0 3px var(--accent-subtle)}.form-checkbox span,.form-radio span{font-size:.9375rem;color:var(--text-secondary);padding-left:26px;position:relative;line-height:1.4;display:inline-block;min-height:18px}.form-checkbox span::before,.form-radio span::before{content:"";position:absolute;left:0;top:1px;width:18px;height:18px;border:2px solid #6b7280;border-radius:4px;background:var(--bg-secondary);transition:.15s;box-sizing:border-box}.form-checkbox span::after,.form-radio span::after{content:"";position:absolute;left:6px;top:3px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;opacity:0;transform:rotate(45deg) scale(0);transition:.15s}.form-checkbox:hover span::before,.form-radio:hover span::before{border-color:var(--accent)}.form-radio span::before{border-radius:50%}.form-radio span::after{left:5px;top:5px;width:8px;height:8px;border:none;border-radius:50%;background:#fff}.form-checkbox--sm{gap:.5rem}.form-checkbox--sm span{font-size:.8125rem;padding-left:22px;line-height:1.3}.form-checkbox--sm span::before{width:16px;height:16px}.form-checkbox--sm span::after{left:5px;top:3px;width:5px;height:9px}[data-theme=light] .form-input,[data-theme=light] .form-select,[data-theme=light] .form-textarea{background:#fff;border-color:#d0d7de}[data-theme=light] .form-input:focus,[data-theme=light] .form-select:focus,[data-theme=light] .form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}[data-theme=light] .form-input.is-invalid,[data-theme=light] .form-select.is-invalid,[data-theme=light] .form-textarea.is-invalid{border-color:var(--error);background:rgba(239,68,68,.02)}[data-theme=light] .form-input.is-invalid:focus,[data-theme=light] .form-select.is-invalid:focus,[data-theme=light] .form-textarea.is-invalid:focus{border-color:var(--error);box-shadow:0 0 0 3px rgba(239,68,68,.15)}[data-theme=light] .form-group--error .form-input,[data-theme=light] .form-group--error .form-select,[data-theme=light] .form-group--error .form-textarea{border-color:var(--error);background:rgba(239,68,68,.02)}[data-theme=light] .form-group--error .form-input:focus,[data-theme=light] .form-group--error .form-select:focus,[data-theme=light] .form-group--error .form-textarea:focus{border-color:var(--error);box-shadow:0 0 0 3px rgba(239,68,68,.15)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;line-height:1;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none;transform:none}.btn svg{width:18px;height:18px}.btn--primary{background:var(--accent);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4)}.btn--primary:hover:not(:disabled){background:var(--accent-hover);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}.btn--secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)}.btn--secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border)}.btn--outline{background:0 0;color:var(--accent);border:1px solid var(--accent)}.btn--outline:hover:not(:disabled){background:var(--accent-subtle)}.btn--ghost{background:0 0;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn--danger{background:var(--error);color:#fff}.btn--danger:hover:not(:disabled){filter:brightness(1.1)}.btn--success{background:var(--success);color:#fff}.btn--success:hover:not(:disabled){filter:brightness(1.1)}.btn--warning{background:var(--warning);color:#1a1a1a}.btn--warning:hover:not(:disabled){filter:brightness(.95)}.btn--xs{padding:.375rem .625rem;font-size:.75rem}.btn--xs svg{width:14px;height:14px}.btn--sm{padding:.5rem 1rem;font-size:.8125rem}.btn--sm svg{width:16px;height:16px}.btn--block,.btn--full{width:100%}.btn--icon{padding:.5rem}.btn--loading,.btn.is-loading{position:relative;color:transparent!important;pointer-events:none}.btn--loading::after,.btn.is-loading::after{content:"";position:absolute;width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:.6s linear infinite btn-spin}.btn--loading .btn__text,.btn.is-loading .btn__text{visibility:hidden}.btn--loading .btn__loading,.btn.is-loading .btn__loading{display:flex}.btn__loading{display:none;align-items:center;gap:.5rem}.btn__loading svg{width:18px;height:18px;animation:1s linear infinite btn-spin}.btn-group{display:flex;gap:.5rem}@keyframes btn-spin{to{transform:rotate(360deg)}}[data-theme=light] .btn--secondary{background:#fff;border-color:#d0d7de}[data-theme=light] .btn--secondary:hover:not(:disabled){background:#f6f8fa;border-color:#d0d7de}.toast-container{position:fixed;top:var(--space-lg);right:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm);z-index:var(--z-toast);pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:380px;min-width:300px;pointer-events:auto;position:relative;transform:translateX(120%);opacity:0;transition:transform var(--transition-base),opacity var(--transition-base)}@media (max-width:480px){.toast-container{left:var(--space-md);right:var(--space-md);top:var(--space-md)}.toast{max-width:100%;min-width:auto}}.toast.active{transform:translateX(0);opacity:1}.toast.leaving{transform:translateX(120%);opacity:0}.toast__icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--accent-subtle);color:var(--accent)}.toast__icon svg{width:18px;height:18px}.toast__content{flex:1;min-width:0}.toast__title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.toast__message{font-size:.8125rem;color:var(--text-secondary);line-height:1.5}.toast__action{margin-top:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:0 0;color:var(--accent);font-size:.8125rem;font-weight:500;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.toast__action:hover{background:var(--accent-subtle)}.toast__close{position:absolute;top:var(--space-sm);right:var(--space-sm);width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);opacity:.6}.toast__close:hover{background:var(--bg-tertiary);color:var(--text-primary);opacity:1}.toast__close svg{width:14px;height:14px}.toast--has-progress{padding-bottom:28px}.toast__progress-track{position:absolute;bottom:10px;left:var(--space-lg);right:var(--space-lg);height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.toast__progress{width:100%;height:100%;background:var(--accent);border-radius:2px;animation:linear forwards toast-progress}.toast--success .toast__icon{background:rgba(63,185,80,.15);color:var(--success)}.toast--success .toast__progress{background:var(--success)}.toast--error .toast__icon{background:rgba(248,81,73,.15);color:var(--error)}.toast--error .toast__progress{background:var(--error)}.toast--warning .toast__icon{background:rgba(210,153,34,.15);color:var(--warning)}.toast--warning .toast__progress{background:var(--warning)}.toast--info .toast__icon{background:var(--accent-subtle);color:var(--accent)}.toast--info .toast__progress{background:var(--accent)}@keyframes toast-progress{from{width:100%}to{width:0%}}.tooltip{position:absolute;z-index:10000;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;max-width:220px;font-family:var(--font-family);font-size:.6875rem;line-height:1.3}.tooltip.is-visible{opacity:1;visibility:visible}.tooltip__content{padding:4px 8px;border-radius:4px;text-align:center;word-wrap:break-word;background:rgba(15,23,42,.9);color:#f8fafc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 8px rgba(0,0,0,.15),0 0 0 1px rgba(255,255,255,.05)}.tooltip__arrow{display:none}.tooltip--top{transform:translateY(-4px)}.tooltip--top.is-visible{transform:translateY(0)}.tooltip--bottom{transform:translateY(4px)}.tooltip--bottom.is-visible{transform:translateY(0)}.tooltip--left{transform:translateX(-4px)}.tooltip--left.is-visible{transform:translateX(0)}.tooltip--right{transform:translateX(4px)}.tooltip--right.is-visible{transform:translateX(0)}.dark-theme .tooltip__content,[data-theme=dark] .tooltip__content{background:rgba(248,250,252,.92);color:#0f172a;box-shadow:0 4px 12px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.1)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .tooltip .tooltip__content,[data-theme=system] .tooltip .tooltip__content{background:rgba(248,250,252,.92);color:#0f172a;box-shadow:0 4px 12px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.1)}}@media (prefers-reduced-motion:reduce){.tooltip{transition:opacity .1s,visibility .1s}.tooltip--bottom,.tooltip--left,.tooltip--right,.tooltip--top{transform:none!important}}@media (max-width:768px){.tooltip{max-width:calc(100vw - 32px);font-size:.625rem}.tooltip__content{padding:3px 6px}}.header{padding:0 15px;position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);background:rgba(var(--bg-primary-rgb,13,17,23),.5);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.05);transition:background var(--transition-base),border-color var(--transition-base),top .3s ease,bottom .3s ease}.header__inner{display:flex;justify-content:space-between;align-items:center;height:70px}@media (max-width:768px){.header{top:auto;bottom:0;border-bottom:none;border-top:1px solid rgba(255,255,255,.05);padding-bottom:env(safe-area-inset-bottom,0);box-shadow:0 -4px 20px rgba(0,0,0,.15)}.header--top{top:0;bottom:auto;border-top:none;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:0;box-shadow:0 4px 20px rgba(0,0,0,.15)}.header__inner{justify-content:flex-start;gap:var(--space-sm)}}.header__logo{font-size:1.5rem;font-weight:700;color:var(--text-primary);text-decoration:none;letter-spacing:-.02em}.header__logo span{color:var(--accent)}.header__nav{display:flex;align-items:center;gap:var(--space-xl)}@media (max-width:768px){.header__nav{display:none}.header__actions{margin-left:auto}}.header__link{position:relative;color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:color var(--transition-fast);padding:var(--space-sm) 0}.header__link::after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--accent);transition:width var(--transition-fast)}.header__link--active,.header__link:hover{color:var(--text-primary)}.header__link--active::after,.header__link:hover::after{width:100%}.header__actions{display:flex;align-items:center;gap:var(--space-sm)}.hamburger{display:none;width:40px;height:40px;padding:0;background:0 0;border:none;cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast);flex-direction:column;align-items:center;justify-content:center;gap:5px}@media (max-width:768px){.hamburger{display:flex}}.hamburger:hover{background:var(--bg-tertiary)}.hamburger__line{display:block;width:22px;height:2px;background:var(--text-primary);border-radius:2px;transition:.3s cubic-bezier(.4,0,.2,1);transform-origin:center}.hamburger.is-active .hamburger__line:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.is-active .hamburger__line:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.is-active .hamburger__line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.admin-link{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.admin-link:hover{color:var(--accent);background:var(--accent-subtle)}.admin-link svg{width:18px;height:18px}.theme-toggle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.theme-toggle:hover{color:var(--accent);background:var(--accent-subtle)}.theme-toggle__icon{font-size:1.125rem;display:none!important}[data-theme-mode=system] .theme-toggle__icon--system,[data-theme=dark] .theme-toggle__icon--moon,[data-theme=light] .theme-toggle__icon--sun{display:inline-block!important}[data-theme-mode=system] .theme-toggle__icon--moon,[data-theme-mode=system] .theme-toggle__icon--sun{display:none!important}.profile-menu{position:relative}.profile-menu__trigger{width:40px;height:40px;padding:0;background:var(--bg-tertiary);border:none;border-radius:50%;cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--accent)}.profile-menu__trigger:hover{background:var(--accent-subtle)}.profile-menu__avatar{width:38px;height:38px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.profile-menu__avatar--initials{display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:.875rem;font-weight:600}.profile-menu__avatar-lg{width:48px;height:48px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex-shrink:0;border:2px solid var(--border);transition:border-color var(--transition-fast)}.profile-menu__avatar-lg.profile-menu__avatar--initials{display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:1.25rem;font-weight:600}.profile-menu__dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:280px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 4px 20px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--transition-fast),visibility var(--transition-fast),transform var(--transition-fast);z-index:calc(var(--z-sticky) + 10);overflow:hidden}.profile-menu__dropdown.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.profile-menu__user{display:flex;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.profile-menu__info{flex:1;min-width:0}.profile-menu__user-name{display:block;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-menu__user-email{display:block;font-size:.8125rem;color:var(--text-muted);margin-top:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-menu__nav{padding:.5rem}.profile-menu__link{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;background:0 0;border:none;border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);text-align:left;font-size:.875rem;font-family:inherit}.profile-menu__link:hover{background:var(--bg-tertiary);color:var(--text-primary)}.profile-menu__link--danger{color:#ef4444}.profile-menu__link--danger:hover{background:rgba(239,68,68,.1);color:#ef4444}.profile-menu__link svg{width:18px;height:18px;flex-shrink:0}.profile-menu__settings{padding:.75rem 1rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.profile-menu__setting{display:flex;align-items:center;justify-content:space-between;gap:1rem}.profile-menu__setting>span{font-size:.8125rem;color:var(--text-muted)}.profile-menu__logout{padding:.5rem}.mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:70px;background:rgba(0,0,0,.5);z-index:calc(var(--z-sticky) - 2);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s,top .3s,bottom .3s}.header--top~.mobile-menu-overlay,.mobile-menu-overlay.header-top{top:70px;bottom:0}.mobile-menu-overlay.active,.mobile-menu.active~.mobile-menu-overlay{opacity:1;visibility:visible}@media (min-width:769px){.mobile-menu-overlay{top:70px;bottom:0}}.mobile-menu{position:fixed;top:0;left:0;bottom:70px;width:280px;max-width:80vw;background:var(--bg-primary);z-index:calc(var(--z-sticky) - 1);padding:var(--space-xl);transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1),top .3s,bottom .3s;border-right:1px solid var(--border);overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.mobile-menu.header-top{top:70px;bottom:0}.mobile-menu.header-top .mobile-menu__links{flex-direction:column;order:1;margin-top:0}.mobile-menu.header-top .mobile-menu__settings{margin-top:auto;padding-top:var(--space-lg);padding-bottom:0;border-top:1px solid var(--border);border-bottom:none;order:2}@media (min-width:769px){.mobile-menu{top:70px;bottom:0}.mobile-menu .mobile-menu__links{flex-direction:column;order:1;margin-top:0}.mobile-menu .mobile-menu__settings{margin-top:auto;padding-top:var(--space-lg);padding-bottom:0;border-top:1px solid var(--border);border-bottom:none;order:2}}.mobile-menu.active{transform:translateX(0)}.mobile-menu.is-dragging{transition:none}.mobile-menu__links{display:flex;flex-direction:column-reverse;order:2;margin-top:auto}.mobile-menu__link{display:block;padding:var(--space-md) 0;color:var(--text-primary);font-size:1.125rem;font-weight:500;border-bottom:1px solid var(--border);transition:color var(--transition-fast)}.mobile-menu__link:hover{color:var(--accent)}.mobile-menu__settings{padding-bottom:var(--space-lg);border-bottom:1px solid var(--border);order:1}.mobile-menu__setting{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.mobile-menu__setting-label{font-size:.875rem;color:var(--text-secondary)}.mobile-menu__position-toggle{display:flex;background:var(--bg-tertiary);border-radius:var(--radius-full);padding:3px;gap:2px;position:relative}.mobile-menu__position-indicator{position:absolute;top:3px;left:3px;width:32px;height:32px;background:var(--accent);border-radius:var(--radius-full);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:0}.mobile-menu__position-indicator.is-top{transform:translateX(calc(100% + 2px))}.mobile-menu__position-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:0 0;border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);position:relative;z-index:1}.mobile-menu__position-btn svg{width:16px;height:16px}.mobile-menu__position-btn:hover{color:var(--text-primary)}.mobile-menu__position-btn.is-active{color:#fff}.go-to-top{position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;z-index:var(--z-sticky);opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .3s,visibility .3s,transform .3s,bottom .2s,background .2s,border-color .2s,color .2s}.go-to-top:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.go-to-top__icon{font-size:1.125rem;line-height:1}.go-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}@media (max-width:768px){.header:not(.header--top) .profile-menu__dropdown{top:auto;bottom:calc(100% + .5rem);transform:translateY(8px)}.header:not(.header--top) .profile-menu__dropdown.is-visible{transform:translateY(0)}.go-to-top{bottom:85px;right:15px;width:40px;height:40px}.go-to-top.header-top,.header--top~main~.go-to-top{bottom:1rem}}.lazy-image{position:relative;overflow:hidden;background:var(--bg-tertiary)}.lazy-image::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.08) 50%,transparent 100%);background-size:200% 100%;animation:1.5s ease-in-out infinite lazy-shimmer;z-index:2;opacity:1;transition:opacity .3s}.lazy-image.is-loaded::before{opacity:0;pointer-events:none}.lazy-image__placeholder{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:blur(20px);transform:scale(1.1);opacity:1;transition:opacity .5s ease-out;z-index:1}.lazy-image__full{position:relative;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:0;transition:opacity .5s ease-out;z-index:1}.lazy-image.is-loaded .lazy-image__placeholder{opacity:0}.lazy-image.is-loaded .lazy-image__full{opacity:1}.lazy-image--circle,.lazy-image--circle .lazy-image__full,.lazy-image--circle .lazy-image__placeholder{border-radius:50%}.lazy-image--rounded,.lazy-image--rounded .lazy-image__full,.lazy-image--rounded .lazy-image__placeholder{border-radius:var(--radius-md)}.lazy-image--card,.lazy-image--card .lazy-image__full,.lazy-image--card .lazy-image__placeholder{border-radius:var(--radius-lg)}[data-theme=light] .lazy-image::before{background:linear-gradient(90deg,transparent 0,rgba(0,0,0,.05) 50%,transparent 100%);background-size:200% 100%}@keyframes lazy-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.lazy-image-container{position:relative;width:100%}.lazy-image-container--square{aspect-ratio:1/1}.lazy-image-container--video{aspect-ratio:16/9}.lazy-image-container--portrait{aspect-ratio:3/4}.lazy-image-container--landscape{aspect-ratio:4/3}.color-picker{position:relative;width:40px;height:40px}.color-picker__toggle{width:40px;height:40px;border-radius:50%;border:2px solid var(--border);background:var(--accent);cursor:pointer;transition:all var(--transition-fast);position:relative;z-index:10}.color-picker__toggle:hover{transform:scale(1.05);border-color:var(--text-primary)}.color-picker__options{position:absolute;bottom:0;right:0;pointer-events:none}.color-picker__swatch{position:absolute;width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:.3s cubic-bezier(.68,-.55,.265,1.55);opacity:0;transform:scale(0);bottom:6px;right:6px;pointer-events:none}.color-picker__swatch:hover{transform:scale(1.2)!important;border-color:var(--text-primary)}.color-picker__swatch.is-active{border-color:var(--text-primary)}.color-picker__swatch.is-active::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat}.color-picker__swatch--blue{background:#3b82f6}.color-picker__swatch--purple{background:#a78bfa}.color-picker__swatch--green{background:#3fb950}.color-picker__swatch--orange{background:#ff7849}.color-picker__swatch--pink{background:#ff6b9d}.color-picker.is-open .color-picker__toggle{transform:scale(.95);border-color:var(--accent)}.color-picker.is-open .color-picker__options{pointer-events:auto}.color-picker.is-open .color-picker__swatch{opacity:1;transform:scale(1);pointer-events:auto}.color-picker.is-open .color-picker__swatch:nth-child(1){bottom:6px;right:44px;transition-delay:0s}.color-picker.is-open .color-picker__swatch:nth-child(2){bottom:33px;right:33px;transition-delay:40ms}.color-picker.is-open .color-picker__swatch:nth-child(3){bottom:44px;right:6px;transition-delay:80ms}.color-picker.is-open .color-picker__swatch:nth-child(4){bottom:33px;right:-21px;transition-delay:.12s}.color-picker.is-open .color-picker__swatch:nth-child(5){bottom:6px;right:-32px;transition-delay:.16s}.color-picker:not(.is-open) .color-picker__swatch:nth-child(1){transition-delay:.12s}.color-picker:not(.is-open) .color-picker__swatch:nth-child(2){transition-delay:90ms}.color-picker:not(.is-open) .color-picker__swatch:nth-child(3){transition-delay:60ms}.color-picker:not(.is-open) .color-picker__swatch:nth-child(4){transition-delay:30ms}.color-picker:not(.is-open) .color-picker__swatch:nth-child(5){transition-delay:0s}.color-picker--hover::before{content:"";position:absolute;bottom:-10px;right:-40px;width:120px;height:90px;pointer-events:none}@media (hover:hover) and (pointer:fine){.color-picker--hover:hover::before{pointer-events:auto}.color-picker--hover:hover .color-picker__toggle{transform:scale(.95);border-color:var(--accent)}.color-picker--hover:hover .color-picker__options{pointer-events:auto}.color-picker--hover:hover .color-picker__swatch{opacity:1;transform:scale(1);pointer-events:auto}.color-picker--hover:hover .color-picker__swatch:nth-child(1){bottom:6px;right:44px;transition-delay:0s}.color-picker--hover:hover .color-picker__swatch:nth-child(2){bottom:33px;right:33px;transition-delay:40ms}.color-picker--hover:hover .color-picker__swatch:nth-child(3){bottom:44px;right:6px;transition-delay:80ms}.color-picker--hover:hover .color-picker__swatch:nth-child(4){bottom:33px;right:-21px;transition-delay:.12s}.color-picker--hover:hover .color-picker__swatch:nth-child(5){bottom:6px;right:-32px;transition-delay:.16s}.color-picker--hover:not(:hover):not(.is-open) .color-picker__swatch:nth-child(1){transition-delay:.12s}.color-picker--hover:not(:hover):not(.is-open) .color-picker__swatch:nth-child(2){transition-delay:90ms}.color-picker--hover:not(:hover):not(.is-open) .color-picker__swatch:nth-child(3){transition-delay:60ms}.color-picker--hover:not(:hover):not(.is-open) .color-picker__swatch:nth-child(4){transition-delay:30ms}.color-picker--hover:not(:hover):not(.is-open) .color-picker__swatch:nth-child(5){transition-delay:0s}.color-picker--down.color-picker--hover:hover .color-picker__swatch:nth-child(1){top:6px;right:44px}.color-picker--down.color-picker--hover:hover .color-picker__swatch:nth-child(2){top:33px;right:33px}.color-picker--down.color-picker--hover:hover .color-picker__swatch:nth-child(3){top:44px;right:6px}.color-picker--down.color-picker--hover:hover .color-picker__swatch:nth-child(4){top:33px;right:-21px}.color-picker--down.color-picker--hover:hover .color-picker__swatch:nth-child(5){top:6px;right:-32px}}.color-picker--down .color-picker__options{bottom:auto;top:0}.color-picker--down .color-picker__swatch{bottom:auto;top:6px}.color-picker--down.is-open .color-picker__swatch:nth-child(1){top:6px;right:44px}.color-picker--down.is-open .color-picker__swatch:nth-child(2){top:33px;right:33px}.color-picker--down.is-open .color-picker__swatch:nth-child(3){top:44px;right:6px}.color-picker--down.is-open .color-picker__swatch:nth-child(4){top:33px;right:-21px}.color-picker--down.is-open .color-picker__swatch:nth-child(5){top:6px;right:-32px}.color-picker--vertical .color-picker__options{position:absolute;bottom:auto;top:100%;left:50%;transform:translateX(-50%) translateY(-4px) scale(.95);margin-top:var(--space-sm);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-xs);opacity:0;visibility:hidden;transform-origin:top center;transition:opacity .15s,transform .15s,visibility .15s}.color-picker--vertical .color-picker__swatch{position:relative!important;bottom:auto!important;top:auto!important;right:auto!important;left:auto!important;width:40px!important;height:40px!important;transform:scale(1)!important;opacity:1!important;pointer-events:auto!important;transition:transform .1s,border-color .1s!important}.color-picker--vertical.is-open .color-picker__options{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0) scale(1);pointer-events:auto}@media (hover:hover) and (pointer:fine){.color-picker--vertical.color-picker--hover:hover .color-picker__options{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0) scale(1);pointer-events:auto}}@media (max-width:768px){.color-picker--vertical .color-picker__options{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--space-sm);transform:translateX(-50%) translateY(4px) scale(.95);transform-origin:bottom center}.color-picker--vertical.color-picker--hover:hover .color-picker__options,.color-picker--vertical.is-open .color-picker__options{transform:translateX(-50%) translateY(0) scale(1)}.header--top .color-picker--vertical .color-picker__options{top:100%;bottom:auto;margin-top:var(--space-sm);margin-bottom:0;transform:translateX(-50%) translateY(-4px) scale(.95);transform-origin:top center}.header--top .color-picker--vertical.color-picker--hover:hover .color-picker__options,.header--top .color-picker--vertical.is-open .color-picker__options{transform:translateX(-50%) translateY(0) scale(1)}}.color-picker--inline{width:auto;height:auto;display:flex;gap:.375rem}.color-picker--inline .color-picker__swatch{position:relative;width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast);opacity:1;transform:scale(1);pointer-events:auto;top:auto;bottom:auto;left:auto;right:auto}.color-picker--inline .color-picker__swatch:hover{transform:scale(1.15)}.color-picker--inline .color-picker__swatch.is-active{border-color:var(--text-primary)}.color-picker--inline .color-picker__swatch.is-active::after{width:10px;height:10px}[data-accent=blue]{--accent:#3b82f6;--accent-hover:#2563eb;--accent-subtle:rgba(59, 130, 246, 0.15);--accent-glow:rgba(59, 130, 246, 0.3)}[data-theme=light][data-accent=blue]{--accent:#2563eb;--accent-hover:#1d4ed8;--accent-subtle:rgba(37, 99, 235, 0.1);--accent-glow:rgba(37, 99, 235, 0.15)}[data-accent=purple]{--accent:#a78bfa;--accent-hover:#8b5cf6;--accent-subtle:rgba(167, 139, 250, 0.15);--accent-glow:rgba(167, 139, 250, 0.3)}[data-theme=light][data-accent=purple]{--accent:#7c3aed;--accent-hover:#6d28d9;--accent-subtle:rgba(124, 58, 237, 0.1);--accent-glow:rgba(124, 58, 237, 0.15)}[data-accent=green]{--accent:#3fb950;--accent-hover:#2ea043;--accent-subtle:rgba(63, 185, 80, 0.15);--accent-glow:rgba(63, 185, 80, 0.3)}[data-theme=light][data-accent=green]{--accent:#1a7f37;--accent-hover:#116329;--accent-subtle:rgba(26, 127, 55, 0.1);--accent-glow:rgba(26, 127, 55, 0.15)}[data-accent=orange]{--accent:#ff7849;--accent-hover:#e55c20;--accent-subtle:rgba(255, 120, 73, 0.15);--accent-glow:rgba(255, 120, 73, 0.3)}[data-theme=light][data-accent=orange]{--accent:#e55c20;--accent-hover:#c84a10;--accent-subtle:rgba(229, 92, 32, 0.1);--accent-glow:rgba(229, 92, 32, 0.15)}[data-accent=pink]{--accent:#ff6b9d;--accent-hover:#db2777;--accent-subtle:rgba(255, 107, 157, 0.15);--accent-glow:rgba(255, 107, 157, 0.3)}[data-theme=light][data-accent=pink]{--accent:#db2777;--accent-hover:#be185d;--accent-subtle:rgba(219, 39, 119, 0.1);--accent-glow:rgba(219, 39, 119, 0.15)}.mouse-trailer{position:fixed;top:0;left:0;width:20px;height:20px;border-radius:50%;background:var(--accent);opacity:.7;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:opacity .3s,transform .1s,background .3s}.mouse-trailer::before{content:"";position:absolute;inset:-6px;border-radius:50%;background:var(--accent);opacity:.4;filter:blur(10px);transition:background .3s}.mouse-trailer.is-hidden{opacity:0;transform:translate(-50%,-50%) scale(.5)}.login-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;pointer-events:none;z-index:var(--z-modal);transition:opacity var(--transition-base),visibility var(--transition-base)}.login-modal-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}.login-modal-overlay.is-open .login-modal{transform:translateY(0) scale(1);opacity:1}.login-modal{position:relative;width:100%;max-width:400px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:1.25rem;transform:translateY(20px) scale(.95);opacity:0;transition:transform var(--transition-base),opacity var(--transition-base)}@media (max-width:480px){.login-modal{padding:1.25rem;max-width:100%}}.login-modal__close{position:absolute;top:var(--space-md);right:var(--space-md);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.login-modal__close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.login-modal__close svg{width:18px;height:18px}.login-modal__header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.login-modal__header--stacked{flex-direction:column;text-align:center}.login-modal__header--stacked .login-modal__logo{width:48px;height:48px;margin-bottom:var(--space-sm)}.login-modal__header--stacked .login-modal__logo svg{width:24px;height:24px}.login-modal__header--stacked .login-modal__title{font-size:1.25rem;margin-bottom:var(--space-xs)}.login-modal__header--stacked .login-modal__subtitle{margin-top:0}.login-modal__logo{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle,rgba(var(--accent-rgb),.1));border-radius:var(--radius-md)}.login-modal__logo svg{width:18px;height:18px;color:var(--accent)}.login-modal__title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.login-modal__subtitle{font-size:.875rem;color:var(--text-secondary);margin-top:var(--space-xs)}.login-modal__subtitle strong{color:var(--text-primary)}.login-modal .auth-card__logo{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle,rgba(var(--accent-rgb),.1));border-radius:var(--radius-md);margin-bottom:var(--space-sm)}.login-modal .auth-card__logo svg{width:24px;height:24px;color:var(--accent)}.login-modal .auth-card__title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--space-xs)}.login-modal .auth-card__subtitle{font-size:.875rem;color:var(--text-secondary);margin:0}.login-modal .auth-divider,.login-modal__divider{display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-md) 0}.login-modal .auth-divider::after,.login-modal .auth-divider::before,.login-modal__divider::after,.login-modal__divider::before{content:"";flex:1;height:1px;background:var(--border)}.login-modal .auth-divider span,.login-modal__divider span{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.login-modal__view{display:none}.login-modal__view.is-active{display:block}.login-modal__back{margin-top:var(--space-lg);text-align:center}.login-modal__back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:0;font-size:.875rem;color:var(--text-secondary);background:0 0;border:none;cursor:pointer;transition:color var(--transition-fast)}.login-modal__back-btn:hover{color:var(--accent)}.login-modal__back-btn svg{width:16px;height:16px}.login-modal__link{font-size:.8125rem;color:var(--accent);background:0 0;border:none;padding:0;cursor:pointer;text-decoration:none;transition:opacity var(--transition-fast)}.login-modal__link:hover:not(:disabled){opacity:.8}.login-modal__link:disabled{color:var(--text-muted);cursor:not-allowed}.login-modal__error{display:none;padding:.625rem .875rem;font-size:.8125rem;color:#ef4444;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);margin-bottom:1rem}.login-modal__error.is-visible{display:block}.login-modal__success{display:none;padding:.625rem .875rem;font-size:.8125rem;color:var(--success);background:rgba(63,185,80,.1);border:1px solid rgba(63,185,80,.2);border-radius:var(--radius-md);margin-bottom:1rem}.login-modal__success.is-visible{display:block}.login-modal__submit-loading{display:none;align-items:center;gap:.5rem}.login-modal__submit-loading svg{width:18px;height:18px;animation:1s linear infinite spin}.login-modal__alt-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.875rem;font-weight:500;color:var(--accent);background:0 0;border:1px solid var(--accent);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.login-modal__alt-btn:hover{background:var(--accent-subtle,rgba(var(--accent-rgb),.1))}.login-modal__alt-btn svg{width:18px;height:18px}.login-modal__otp-inputs{display:flex;justify-content:center;gap:.5rem}.login-modal__otp-input{width:44px;height:52px;text-align:center;font-size:1.375rem;font-weight:600;color:var(--text-primary);background:var(--bg-tertiary);border:2px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.login-modal__otp-input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle,rgba(var(--accent-rgb),.15))}.login-modal__otp-input.is-filled{border-color:var(--accent);background:var(--accent-subtle,rgba(var(--accent-rgb),.05))}@media (max-width:380px){.login-modal__otp-input{width:38px;height:46px;font-size:1.25rem}}.login-modal__otp-info{text-align:center;margin-top:var(--space-md)}.login-modal__otp-timer{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--space-sm)}.login-modal__otp-timer svg{width:16px;height:16px}.login-modal__otp-timer strong{font-variant-numeric:tabular-nums;color:var(--text-primary)}.login-modal__otp-timer.is-expired strong{color:var(--error)}.login-modal__otp-resend{font-size:.8125rem;color:var(--text-muted)}.login-modal__otp-resend .login-modal__link{margin-left:.25rem}.login-modal__otp-resend .login-modal__link:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.7}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.container{width:100%;max-width:800px;margin:0 auto;padding:0 var(--space-lg)}.container--wide{max-width:1200px}.section{padding:var(--space-3xl) 0}.section--alt{background:var(--bg-secondary)}.section__label{display:block;font-size:.875rem;font-family:var(--font-mono);color:var(--accent);margin-bottom:var(--space-sm);letter-spacing:.05em}.section__title{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;margin-bottom:var(--space-xl);color:var(--text-primary);line-height:1.2}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding-top:60px;position:relative;overflow:hidden}@media (max-width:768px){.hero{min-height:auto;padding:60px 0 100px}.header--top~main .hero,.hero.header-top{padding:180px 0 60px}}.hero::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 120% 80% at 50% 0,var(--accent-glow,rgba(88,166,255,.25)) 0,rgba(88,166,255,.1) 30%,transparent 60%);pointer-events:none;z-index:0}.hero__image{position:relative;width:300px;height:300px;pointer-events:none;z-index:2;flex-shrink:0;order:2}@media (max-width:992px){.hero__image{width:250px;height:250px}}@media (max-width:768px){.hero__image{order:1;width:240px;height:240px}}@media (max-width:575px){.hero{padding:50px 0 90px}.header--top~main .hero,.hero.header-top{padding:150px 0 50px}.hero__image{width:200px;height:200px}}.hero__image-bg{position:absolute!important;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;z-index:1;border-radius:50%;overflow:hidden}.hero__image-bg img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;border-radius:50%;mask-image:radial-gradient(circle,#000 40%,transparent 70%);-webkit-mask-image:radial-gradient(circle,#000 40%,transparent 70%)}.hero__image-portrait{position:absolute!important;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;z-index:3;overflow:hidden;border-radius:50%;background:0 0!important}.hero__image-portrait img{left:12.5%;width:75%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top}.hero__float{position:absolute;transform:translate(-50%,-50%)}.hero__float--1{animation:90s linear infinite orbit}.hero__float--1 .hero__float-inner{animation:5s ease-in-out infinite wobble}.hero__float--2{animation:90s linear -30s infinite orbit}.hero__float--2 .hero__float-inner{animation:5s ease-in-out -1.67s infinite wobble}.hero__float--3{animation:90s linear -60s infinite orbit}.hero__float--3 .hero__float-inner{animation:5s ease-in-out -3.33s infinite wobble}.hero__float-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);border-radius:var(--radius-lg);background:rgba(22,27,34,.85);backdrop-filter:blur(12px);border:1px solid rgba(88,166,255,.2);box-shadow:0 8px 32px rgba(0,0,0,.3),0 0 20px rgba(88,166,255,.1),inset 0 1px 0 rgba(255,255,255,.05);color:var(--accent);padding:var(--space-sm) var(--space-md)}@media (max-width:768px){.hero__float-inner{padding:8px 12px;gap:3px}}[data-theme=light] .hero__float-inner{background:rgba(255,255,255,.9);border-color:rgba(88,166,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.1),0 0 20px rgba(88,166,255,.15),inset 0 1px 0 rgba(255,255,255,.8)}.hero__float-inner svg{width:20px;height:20px;flex-shrink:0;filter:drop-shadow(0 0 4px rgba(88, 166, 255, .4))}@media (max-width:768px){.hero__float-inner svg{width:18px;height:18px}}.hero__float-label{font-size:.625rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;margin-top:2px}@media (max-width:768px){.hero__float-label{font-size:.55rem;margin-top:2px}}@media (max-width:575px){.hero__float-inner{padding:6px 10px}.hero__float-inner svg{width:16px;height:16px}.hero__float-label{font-size:.5rem}}.hero .container{position:relative;z-index:1;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:0 clamp(3rem,12vw,12rem);max-width:none;width:100%;padding:0}@media (max-width:768px){.hero .container{flex-direction:column;text-align:center;gap:var(--space-2xl);padding:0 var(--space-lg)}}.hero__content{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;width:500px;order:1}@media (max-width:992px){.hero__content{width:400px}}@media (max-width:768px){.hero__content{align-items:center;width:auto;max-width:100%;order:2}}.hero__greeting{font-size:1rem;color:var(--accent);margin-bottom:var(--space-md);font-family:var(--font-mono)}.hero__name{font-size:clamp(2.5rem,8vw,4rem);font-weight:700;line-height:1.1;margin-bottom:var(--space-xs);color:var(--text-primary)}.hero__title{font-size:clamp(1.5rem,4vw,2rem);font-weight:600;line-height:1.2;margin-bottom:var(--space-lg);color:var(--accent)}.hero__tagline{font-size:1.125rem;color:var(--text-secondary);margin-bottom:var(--space-xl)}.hero__tagline .typing-text{color:var(--accent);font-weight:600;border-right:2px solid var(--accent);animation:1s step-end infinite blink}.hero__actions{display:flex;justify-content:flex-start;gap:var(--space-md);flex-wrap:wrap}@media (max-width:768px){.hero__actions{justify-content:center}}.hero__actions .btn{gap:var(--space-sm)}.hero__actions .btn svg{width:18px;height:18px}.hero__scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);color:var(--text-muted);font-size:.85rem}@media (max-width:575px){.hero__scroll{display:none}}.scroll-indicator{width:24px;height:40px;border:2px solid var(--border);border-radius:12px;position:relative}.scroll-indicator::before{content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);width:4px;height:8px;background:var(--accent);border-radius:2px;animation:2s ease-in-out infinite scroll}@keyframes orbit{0%{top:-5%;left:50%}12.5%{top:10%;left:100%}25%{top:50%;left:105%}37.5%{top:90%;left:100%}50%{top:105%;left:50%}62.5%{top:90%;left:0}75%{top:50%;left:-5%}87.5%{top:10%;left:0}100%{top:-5%;left:50%}}@keyframes wobble{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes blink{50%{border-color:transparent}}@keyframes scroll{0%,100%{opacity:1;top:6px}50%{opacity:.5;top:16px}}@property --border-angle{syntax:"<angle>";initial-value:0deg;inherits:false}@keyframes rotate-border{to{--border-angle:360deg}}@property --arc-length{syntax:"<percentage>";initial-value:25%;inherits:false}@keyframes pulse-arc-length{0%,100%{--arc-length:25%}50%{--arc-length:95%}}.spotlight-toggle{position:absolute;bottom:2rem;right:2rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);z-index:10}.spotlight-toggle:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-glow)}.spotlight-toggle__icon{width:20px;height:20px}.spotlight-toggle__icon--on{display:block}.spotlight-toggle__icon--off{display:none}.spotlight-toggle.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.spotlight-toggle.active .spotlight-toggle__icon--on{display:none}.spotlight-toggle.active .spotlight-toggle__icon--off{display:block}@media (max-width:575px){.spotlight-toggle{bottom:1rem;right:1rem;width:40px;height:40px}}.about__content p{color:var(--text-secondary);line-height:1.8;margin-bottom:var(--space-md)}.about__content p:last-child{margin-bottom:0}.skills__group{margin-bottom:var(--space-xl)}.skills__group:last-child{margin-bottom:0}.skills__label{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.skills__tags{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.skills__tag{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-full);font-size:.875rem;color:var(--text-primary);transition:all var(--transition-fast)}.skills__tag:hover{border-color:var(--accent);color:var(--accent)}.skills__tag--learning{background:rgba(210,153,34,.1);border-color:rgba(210,153,34,.3);color:var(--warning)}.projects__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media (max-width:640px){.projects__grid{grid-template-columns:1fr}}.projects__grid:hover>.project::after{opacity:1}.project{background-color:rgba(255,255,255,.1);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;position:relative;padding:1px}[data-theme=light] .project{background-color:rgba(0,0,0,.15)}.project::before{border-radius:inherit;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .5s;width:100%;background:radial-gradient(800px circle at var(--mouse-x) var(--mouse-y),rgba(88,166,255,.15),transparent 40%);z-index:3;pointer-events:none}.project::after{border-radius:inherit;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .5s;width:100%;background:radial-gradient(400px circle at var(--mouse-x) var(--mouse-y),rgba(88,166,255,.7),transparent 40%);z-index:1;pointer-events:none}.project:hover::before{opacity:1}.project__content{background-color:var(--bg-secondary);border-radius:9px;display:flex;flex-direction:column;flex-grow:1;padding:var(--space-md);position:relative;z-index:2}.project--featured{grid-column:1/-1}.project__badge{display:inline-block;padding:.25rem .75rem;background:var(--accent);color:var(--bg-primary);font-size:.75rem;font-weight:600;border-radius:var(--radius-full);margin-bottom:var(--space-md);width:-moz-fit-content;width:fit-content}.project__title{font-size:1.25rem;font-weight:600;margin-bottom:var(--space-sm);color:var(--text-primary)}.project__desc{color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-md);font-size:.9375rem}.project__features{list-style:none;padding:0;margin:0 0 var(--space-lg);flex:1}.project__features li{position:relative;padding-left:var(--space-lg);margin-bottom:var(--space-sm);color:var(--text-secondary);font-size:.875rem;line-height:1.5}.project__features li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;background:var(--accent);border-radius:50%}.project__features li strong{color:var(--text-primary)}.project__features li:last-child{margin-bottom:0}.project__tags{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:auto}.project__tag{padding:.25rem .75rem;background:var(--accent-subtle);border-radius:var(--radius-sm);font-size:.75rem;color:var(--accent);font-weight:500}.project__modules{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg)}.project__module{padding:var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md)}.project__module p{color:var(--text-secondary);font-size:.875rem;line-height:1.6;margin:0}.project__module-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.project__module-header svg{width:18px;height:18px;color:var(--accent);flex-shrink:0}.project__module-header h4{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.contact__heading{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-md)}.contact__intro{color:var(--text-secondary);margin-bottom:var(--space-xl);line-height:1.7}.contact__links{display:flex;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap}.contact__link{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:.9375rem;transition:color var(--transition-fast)}.contact__link:hover{color:var(--accent)}.contact__link svg{width:20px;height:20px}.contact__form{max-width:600px}.form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}@media (max-width:480px){.form__row{grid-template-columns:1fr}}.form__group{margin-bottom:1.25rem}.form__group:last-child{margin-bottom:0}.form__label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--text-primary)}.form__required{color:var(--accent)}.form__input,.form__textarea{width:100%;padding:.75rem 1rem;font-size:.9375rem;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form__input::-moz-placeholder,.form__textarea::-moz-placeholder{color:var(--text-muted)}.form__input::placeholder,.form__textarea::placeholder{color:var(--text-muted)}.form__input:hover,.form__textarea:hover{border-color:var(--text-muted)}.form__input:focus,.form__textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.form__textarea{min-height:120px;line-height:1.6}.form__select{width:100%;padding:.75rem 2.5rem .75rem 1rem;font-size:.9375rem;font-family:inherit;color:var(--text-primary);background-color:var(--bg-tertiary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form__select:hover{border-color:var(--text-muted)}.form__select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.form__select:invalid,.form__select:required:invalid{color:var(--text-muted)}.form__select.is-invalid{border-color:var(--error)}.form__select.is-invalid:focus{border-color:var(--error);box-shadow:0 0 0 3px rgba(239,68,68,.15)}.form__select option{background:var(--bg-secondary);color:var(--text-primary);padding:.5rem}.form__select option:disabled{color:var(--text-muted)}.form__error{display:block;margin-top:.375rem;font-size:.8125rem;color:var(--error)}.footer{padding:var(--space-lg) 0;border-top:1px solid var(--border)}.footer__row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg)}.footer__copyright{font-size:.8125rem;color:var(--text-muted)}.footer__social{display:flex;gap:var(--space-sm)}@media (max-width:768px){.footer{padding:var(--space-sm) 0;padding-bottom:calc(var(--space-sm) + 70px + env(safe-area-inset-bottom,0px));transition:padding-bottom .3s}.footer__row{gap:var(--space-sm)}.footer__copyright{font-size:.75rem}.footer__social{gap:var(--space-xs)}}.footer__social-link{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.8125rem;transition:all var(--transition-fast)}.footer__social-link:hover{border-color:var(--accent);color:var(--accent)}.footer__social-link svg{width:16px;height:16px}@media (max-width:768px){.footer__social-link{width:32px;height:32px;padding:0;justify-content:center;border-radius:50%}.footer__social-link svg{width:14px;height:14px}.footer__social-link span{display:none}.header--top~.footer{padding-bottom:var(--space-md)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.feature-hero{padding:calc(var(--space-3xl) + 1rem) 0 var(--space-2xl);background:var(--bg-secondary);position:relative;overflow:hidden}@media (min-width:769px){.feature-hero{padding-top:calc(var(--space-3xl) + 2rem)}}.feature-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,var(--accent-subtle),transparent);opacity:.5;pointer-events:none}.feature-hero__back{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--text-muted);font-size:.875rem;margin-bottom:var(--space-xl);transition:color var(--transition-fast)}.feature-hero__back:hover{color:var(--accent)}.feature-hero__back i{font-size:.75rem}.feature-hero__content{text-align:center;position:relative;z-index:1}.feature-hero__icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:var(--accent-subtle);border:2px solid var(--accent);border-radius:var(--radius-lg);margin-bottom:var(--space-lg)}.feature-hero__icon i{font-size:2rem;color:var(--accent)}.feature-hero__title{font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-md)}.feature-hero__subtitle{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto var(--space-lg);line-height:1.6}.feature-hero__tags{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm)}.feature-hero__tag{padding:.375rem .875rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-full);font-size:.8125rem;color:var(--text-secondary);font-weight:500}.feature-overview__grid{display:grid;grid-template-columns:1fr 300px;gap:var(--space-2xl);align-items:center}@media (max-width:768px){.feature-overview__grid{grid-template-columns:1fr;gap:var(--space-xl)}}.feature-overview__main h2{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-lg)}.feature-overview__main p{color:var(--text-secondary);line-height:1.8;margin-bottom:var(--space-md)}.feature-overview__main p:last-child{margin-bottom:0}.feature-overview__stats{display:flex;flex-direction:column;gap:var(--space-md)}@media (max-width:768px){.feature-overview__stats{flex-direction:row;justify-content:center}}@media (max-width:480px){.feature-overview__stats{flex-direction:column;align-items:center}}.feature-stat{padding:var(--space-lg);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;min-width:140px}.feature-stat__number{display:block;font-size:1.5rem;font-weight:700;color:var(--accent);margin-bottom:var(--space-xs)}.feature-stat__label{font-size:.8125rem;color:var(--text-muted)}.feature-section .section__label{display:block;font-size:.875rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-sm)}.feature-section .section__title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xl)}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media (max-width:768px){.feature-grid{grid-template-columns:1fr}}.feature-grid--3{grid-template-columns:repeat(3,1fr)}@media (max-width:900px){.feature-grid--3{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.feature-grid--3{grid-template-columns:1fr}}.feature-grid:hover>.feature-card::after{opacity:1}.feature-card{background-color:rgba(255,255,255,.1);border-radius:10px;cursor:default;display:flex;flex-direction:column;position:relative;padding:1px}[data-theme=light] .feature-card{background-color:rgba(0,0,0,.15)}.feature-card::before{border-radius:inherit;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .5s;width:100%;background:radial-gradient(800px circle at var(--mouse-x) var(--mouse-y),rgba(88,166,255,.15),transparent 40%);z-index:3;pointer-events:none}.feature-card::after{border-radius:inherit;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .5s;width:100%;background:radial-gradient(400px circle at var(--mouse-x) var(--mouse-y),rgba(88,166,255,.7),transparent 40%);z-index:1;pointer-events:none}.feature-card:hover::before{opacity:1}.feature-card__inner{background-color:var(--bg-secondary);border-radius:9px;display:flex;flex-direction:column;flex-grow:1;padding:var(--space-lg);position:relative;z-index:2}.feature-card--compact .feature-card__inner{padding:var(--space-md)}.feature-card--compact .feature-card__icon{width:40px;height:40px;margin-bottom:var(--space-sm)}.feature-card--compact .feature-card__icon i{font-size:1rem}.feature-card--compact .feature-card__title{font-size:1rem;margin-bottom:var(--space-xs)}.feature-card--compact .feature-card__desc{font-size:.8125rem;margin-bottom:0}.feature-card__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--accent-subtle);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.feature-card__icon i{font-size:1.25rem;color:var(--accent)}.feature-card__title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm)}.feature-card__desc{color:var(--text-secondary);font-size:.9375rem;line-height:1.6;margin-bottom:var(--space-md)}.feature-card__list{list-style:none;padding:0;margin:0}.feature-card__list li{position:relative;padding-left:var(--space-lg);margin-bottom:var(--space-sm);color:var(--text-secondary);font-size:.875rem;line-height:1.5}.feature-card__list li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;background:var(--accent);border-radius:50%}.feature-card__list li:last-child{margin-bottom:0}.tech-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media (max-width:900px){.tech-stack{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.tech-stack{grid-template-columns:1fr}}.tech-stack:hover>.tech-stack__item::after{opacity:1}.tech-stack__item{background-color:rgba(255,255,255,.1);border-radius:10px;cursor:default;position:relative;padding:1px}[data-theme=light] .tech-stack__item{background-color:rgba(0,0,0,.15)}.tech-stack__item::before{border-radius:inherit;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .5s;width:100%;background:radial-gradient(800px circle at var(--mouse-x) var(--mouse-y),rgba(88,166,255,.15),transparent 40%);z-index:3;pointer-events:none}.tech-stack__item::after{border-radius:inherit;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .5s;width:100%;background:radial-gradient(400px circle at var(--mouse-x) var(--mouse-y),rgba(88,166,255,.7),transparent 40%);z-index:1;pointer-events:none}.tech-stack__item:hover::before{opacity:1}.tech-stack__inner{background-color:var(--bg-secondary);border-radius:9px;display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);position:relative;z-index:2;height:100%}.tech-stack__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--accent-subtle);border-radius:var(--radius-md);flex-shrink:0}.tech-stack__icon i{font-size:1.5rem;color:var(--accent)}.tech-stack__info h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-xs)}.tech-stack__info p{font-size:.8125rem;color:var(--text-muted);line-height:1.5;margin:0}.feature-cta__content{text-align:center;max-width:600px;margin:0 auto}.feature-cta__content h2{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-md)}.feature-cta__content p{color:var(--text-secondary);font-size:1.0625rem;line-height:1.7;margin-bottom:var(--space-xl)}.feature-cta__actions{display:flex;justify-content:center;gap:var(--space-md);flex-wrap:wrap}.project--highlight{grid-column:1/-1}@media (min-width:641px){.project--highlight{grid-column:span 1}}.project--highlight .project__content{background:linear-gradient(135deg,var(--bg-secondary) 0,var(--bg-tertiary) 100%)}.project--highlight .project__title{display:flex;align-items:center;gap:var(--space-sm)}.project--highlight .project__title i{color:var(--accent)}.project__badge--new{background:linear-gradient(135deg,#10b981,#059669);animation:2s ease-in-out infinite pulse-badge}.project__link{display:inline-flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-md);color:var(--accent);font-size:.875rem;font-weight:600;transition:gap var(--transition-fast)}.project__link:hover{gap:var(--space-md)}.project__link i{font-size:.75rem;transition:transform var(--transition-fast)}.project__link:hover i{transform:translateX(2px)}.project__module-header i{font-size:1rem;color:var(--accent);width:18px;text-align:center}@keyframes pulse-badge{0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,.4)}50%{box-shadow:0 0 0 8px rgba(16,185,129,0)}}.btn--lg{padding:.875rem 1.75rem;font-size:1rem}