@charset "UTF-8";.home-page{width:100%;margin:0;padding:0}.hero-premium{position:relative;min-height:76vh;display:flex;align-items:center;padding:72px 24px 52px;overflow:hidden}.hero-premium__aurora{position:absolute;inset:0;z-index:0;pointer-events:none}.hero-premium__aurora:before,.hero-premium__aurora:after{content:"";position:absolute;width:55vw;height:55vw;border-radius:50%;filter:blur(90px);opacity:.7}.hero-premium__aurora:before{top:-20%;right:-10%;background:radial-gradient(circle,rgba(0,188,212,.18) 0%,transparent 70%);animation:aurora-drift 10s ease-in-out infinite alternate}.hero-premium__aurora:after{bottom:-30%;left:-15%;background:radial-gradient(circle,rgba(32,80,255,.16) 0%,transparent 70%);animation:aurora-drift 12s ease-in-out infinite alternate}.hero-premium__grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:center;width:100%;max-width:1200px;margin:0 auto}@media (max-width: 1024px){.hero-premium__grid{grid-template-columns:1fr;gap:48px}}.hero-premium__content{display:flex;flex-direction:column;gap:14px}.hero-premium__badge{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:6px 14px;border-radius:var(--radius-full);background:#00bcd41f;border:1px solid rgba(0,188,212,.24);color:var(--cyan-200);font-size:.85rem;font-weight:600;letter-spacing:.01em;animation:slide-up .6s var(--ease-emphasized) .1s backwards}.hero-premium__badge-dot{position:relative;width:10px;height:10px}.hero-premium__badge-ring{position:absolute;inset:0;border-radius:999px;background:#00bcd499;animation:badge-ping 2s ease-out infinite}.hero-premium__badge-core{position:relative;display:block;width:10px;height:10px;border-radius:999px;background:var(--cyan-400);box-shadow:0 0 12px #00e5ffcc}.hero-premium__title{font-size:clamp(2.8rem,5vw,4.6rem);font-weight:800;line-height:1.05;letter-spacing:-.03em;margin:0;color:var(--text-primary);animation:slide-up .65s var(--ease-emphasized) .2s backwards}.hero-premium__title-highlight{display:inline-block;margin-left:8px;background:linear-gradient(135deg,var(--cyan-200),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-premium__subtitle{font-size:clamp(1.1rem,2.1vw,1.35rem);color:var(--text-secondary);line-height:1.55;max-width:520px;margin:0;animation:slide-up .65s var(--ease-emphasized) .32s backwards}.hero-premium__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;animation:slide-up .65s var(--ease-emphasized) .42s backwards}.hero-premium__btn{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:14px;font-weight:700;font-size:.98rem;text-decoration:none;border:none;cursor:pointer;transition:transform var(--duration-micro) var(--ease-spring),background var(--duration-micro) var(--ease-standard),box-shadow var(--duration-micro) var(--ease-standard),border-color var(--duration-micro) var(--ease-standard)}.hero-premium__btn .material-symbols-outlined{font-size:22px;transition:transform var(--duration-micro) var(--ease-spring)}.hero-premium__btn:active{transform:translateY(0) scale(.98)}.hero-premium__btn--primary{background:var(--cyan-500);color:var(--color-on-primary);box-shadow:0 0 24px #00bcd459}.hero-premium__btn--primary:hover{background:var(--cyan-a200);color:var(--color-on-primary);box-shadow:0 0 42px #00bcd499;transform:translateY(-3px)}.hero-premium__btn--primary:hover .material-symbols-outlined{transform:translate(4px)}.hero-premium__btn--ghost{background:#ffffff0f;color:var(--text-primary);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-premium__btn--ghost:hover{background:#ffffff1f;border-color:#ffffff4d}.hero-premium__microcopy{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-tertiary);margin:4px 0 0;animation:slide-up .65s var(--ease-emphasized) .52s backwards}.hero-premium__microcopy .material-symbols-outlined{font-size:18px}.hero-premium__visual{display:flex;justify-content:center;perspective:1000px}.hero-premium__mockup{position:relative;transform-style:preserve-3d;transform:rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));transition:transform .12s ease-out;will-change:transform}.hero-premium__image{width:min(520px,90vw);display:block;filter:drop-shadow(0 24px 48px rgba(0,0,0,.45))}.hero-ecosystem{position:relative;width:min(560px,92vw);margin:0;transform-style:preserve-3d}.hero-ecosystem__glow{position:absolute;inset:-18% -10% 12%;background:radial-gradient(circle at 30% 30%,rgba(0,188,212,.35),transparent 60%),radial-gradient(circle at 80% 50%,rgba(24,255,255,.2),transparent 65%);filter:blur(10px);opacity:.7;z-index:0}.hero-ecosystem__frame{position:relative;z-index:1;padding:18px;border-radius:28px;background:linear-gradient(160deg,#0c121cf2,#06080ee6);border:1px solid rgba(0,188,212,.2);box-shadow:0 30px 60px #0000008c,inset 0 0 18px #00bcd433;transform-style:preserve-3d;transform:rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));transition:transform .14s ease-out,box-shadow .2s var(--ease-standard);animation:hero-float 10s ease-in-out infinite}.hero-premium__visual:hover .hero-ecosystem__frame{transform:rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateZ(12px) scale(1.02);box-shadow:0 36px 70px #0009,0 0 32px #00bcd459}.hero-ecosystem__image{width:100%;display:block;border-radius:20px;filter:drop-shadow(0 18px 38px rgba(0,0,0,.45))}.hero-ecosystem__overlay{position:absolute;inset:18px;border-radius:20px;background:linear-gradient(120deg,rgba(0,188,212,.08),transparent 55%);box-shadow:inset 0 0 24px #00bcd426;pointer-events:none}@media (max-width: 900px){.hero-ecosystem{width:min(520px,92vw)}}@media (prefers-reduced-motion: reduce){.hero-ecosystem__frame{animation:none}}.no-motion .hero-ecosystem__frame{animation:none}.tech-stack{margin:44px 0;padding:34px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);background:#0b0e1459}.tech-stack__inner{max-width:1200px;margin:0 auto;padding:0 20px;text-align:center}.tech-stack__label{font-size:.95rem;font-weight:700;color:var(--text-tertiary);letter-spacing:.22em;text-transform:uppercase;margin:0 0 32px}.tech-stack__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;max-width:980px;margin:0 auto}.tech-stack__item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 16px;min-height:120px;min-width:0;border-radius:16px;text-decoration:none;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow-sm);transition:transform var(--duration-micro) var(--ease-emphasized),box-shadow var(--duration-micro) var(--ease-emphasized),background-color var(--duration-micro) var(--ease-standard),border-color var(--duration-micro) var(--ease-standard),opacity var(--duration-micro) var(--ease-standard);transform:translateY(10px);opacity:0;animation:tech-stack-enter var(--duration-standard) var(--ease-emphasized) forwards}.tech-stack__item:hover,.tech-stack__item:focus-visible{opacity:1;transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-md),0 0 0 1px #00bcd452,0 0 16px #00bcd43d;border-color:#00bcd480}.tech-stack__item:focus-visible{outline:2px solid var(--cyan-500);outline-offset:3px}.tech-stack__item:nth-child(1){animation-delay:80ms}.tech-stack__item:nth-child(2){animation-delay:.16s}.tech-stack__item:nth-child(3){animation-delay:.24s}.tech-stack__item:nth-child(4){animation-delay:.32s}.tech-stack__item:nth-child(5){animation-delay:.4s}.light-theme .tech-stack{border-top-color:#00000014;border-bottom-color:#00000014;background:#00000005}.light-theme .tech-stack__item{background:#00000005;border-color:#00000014}.tech-stack__img{height:34px;width:auto;max-width:120px;display:block;filter:drop-shadow(0 2px 8px rgba(0,0,0,.18))}.tech-stack__name{font-size:.92rem;font-weight:600;letter-spacing:.01em;color:var(--text-secondary);line-height:1.2}.home-sentinel-overview{width:100%;padding:0 24px 48px}.home-sentinel-overview__inner{width:100%;max-width:1200px;margin:0 auto;display:grid;gap:14px}.home-sentinel-overview__title{margin:0;font-size:clamp(1.7rem,2.4vw,2.2rem);color:var(--text-primary)}.home-sentinel-overview .dashboard-system__tabs .mat-mdc-tab{min-width:112px;font-size:.92rem}.home-sentinel-overview .dashboard-system__tabs .mat-mdc-tab-body-wrapper{padding:14px}.home-sentinel-overview .dashboard-system__tab-panel{gap:12px}.home-sentinel-overview .dashboard-system__overview-copy{line-height:1.5;font-size:.95rem;padding-top:4px}.home-sentinel-overview .dashboard-system-card{padding:16px 18px;gap:10px}.home-sentinel-overview .dashboard-system-card p{font-size:.95rem;line-height:1.5}.home-sentinel-overview .dashboard-system-card ul{gap:6px}.home-sentinel-overview .dashboard-system-card ul li{line-height:1.45}.home-sentinel-overview .dashboard-system-card__section{gap:8px;padding-top:4px}.home-sentinel-overview .dashboard-system-card__header h2{font-size:1rem}.tech-stack__img--angular,.tech-stack__img--nestjs{height:34px}.tech-stack__img--typescript{height:30px}.tech-stack__img--docker{height:34px}.tech-stack__img--gcloud{height:28px;max-width:104px}.tech-stack__img--android{height:34px;max-width:120px}@media (max-width: 900px){.hero-premium{min-height:0;padding:64px 20px 44px}.tech-stack{margin:36px 0;padding:28px 0}.tech-stack__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tech-stack__item{min-height:110px;padding:10px 14px;gap:8px}.tech-stack__img{height:30px}.tech-stack__name{font-size:.84rem}}@media (max-width: 620px){.home-sentinel-overview{width:100%;padding:0 16px 36px}.home-sentinel-overview__inner{width:100%;max-width:1200px;margin:0 auto;display:grid;gap:12px}.home-sentinel-overview__title{margin:0;font-size:clamp(1.3rem,2.1vw,1.75rem);color:var(--text-primary)}.home-sentinel-overview .dashboard-system__tabs .mat-mdc-tab{min-width:96px;font-size:.86rem}.home-sentinel-overview .dashboard-system__tabs .mat-mdc-tab-body-wrapper{padding:12px}.home-sentinel-overview .dashboard-system-card{padding:14px}.tech-stack__label{margin-bottom:24px}.tech-stack__grid{grid-template-columns:1fr;max-width:340px}.tech-stack__item{min-height:98px;padding:12px}.tech-stack__name{font-size:.9rem}}@media (prefers-reduced-motion: reduce){.tech-stack__item{animation:none;transform:none;opacity:1}}.no-motion .tech-stack__item{animation:none;transform:none;opacity:1}@keyframes tech-stack-enter{to{transform:translateY(0);opacity:1}}@keyframes aurora-drift{0%{transform:translate(0) scale(1);opacity:.55}to{transform:translate(-20px,20px) scale(1.08);opacity:.85}}@keyframes badge-ping{0%{transform:scale(1);opacity:.6}70%{transform:scale(2.2);opacity:0}to{opacity:0}}@keyframes hero-float{0%,to{transform:rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(0)}50%{transform:rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(-10px)}}.stat-item{display:flex;flex-direction:column;align-items:center;animation:slide-up .6s var(--ease-emphasized) backwards}.stat-item:nth-child(1){animation-delay:.78s}.stat-item:nth-child(2){animation-delay:.86s}.stat-item:nth-child(3){animation-delay:.94s}.stat-item:nth-child(4){animation-delay:1.02s}.stat-item:nth-child(5){animation-delay:1.1s}.stat-item:nth-child(6){animation-delay:1.18s}.stat-item .material-symbols-outlined{font-size:48px;color:var(--cyan-400);margin-bottom:8px}.stat-item__value{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1}.stat-item__label{font-size:.85rem;color:var(--text-secondary);margin-top:4px;font-weight:500}.featured-project{margin:80px 0;padding:48px;background:var(--surface-1);border-radius:24px;border:1px solid var(--border-color);box-shadow:var(--shadow-lg)}@media (max-width: 768px){.featured-project{padding:32px 24px}}.featured-project__header{text-align:center;margin-bottom:40px}.featured-project__title{display:flex;align-items:center;justify-content:center;gap:12px;font-size:2rem;font-weight:700;color:var(--text-primary);margin:0 0 12px}.featured-project__title .material-symbols-outlined{font-size:32px;color:var(--cyan-400)}.featured-project__subtitle{font-size:1.05rem;color:var(--text-secondary);margin:0}.featured-project__content{margin-bottom:32px}.featured-project__actions{text-align:center}.featured-project__link{display:inline-flex;align-items:center;gap:8px;color:var(--cyan-400);font-size:1rem;font-weight:600;text-decoration:none;transition:gap var(--duration-micro) var(--ease-spring)}.featured-project__link .material-symbols-outlined{font-size:20px;transition:transform var(--duration-micro) var(--ease-spring)}.featured-project__link:hover{gap:12px}.featured-project__link:hover .material-symbols-outlined{transform:translate(4px)}.quick-links{margin:80px 0}.quick-links__title{font-size:2.5rem;font-weight:700;color:var(--text-primary);text-align:center;margin:0 0 48px}.quick-links__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.quick-link-card{position:relative;padding:40px 32px;background:var(--surface-1);border:2px solid var(--border-color);border-radius:20px;text-decoration:none;overflow:hidden;transition:transform var(--duration-micro) var(--ease-spring),border-color var(--duration-micro) var(--ease-standard),box-shadow var(--duration-micro) var(--ease-standard)}.quick-link-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.quick-link-card__icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:16px;margin-bottom:20px;transition:transform var(--duration-micro) var(--ease-spring)}.quick-link-card__icon .material-symbols-outlined{font-size:36px}.quick-link-card:hover .quick-link-card__icon{transform:scale(1.1)}.quick-link-card__title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 12px}.quick-link-card__desc{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin:0 0 20px}.quick-link-card__arrow{display:flex;align-items:center;justify-content:flex-end}.quick-link-card__arrow .material-symbols-outlined{font-size:24px;transition:transform var(--duration-micro) var(--ease-spring)}.quick-link-card:hover .quick-link-card__arrow .material-symbols-outlined{transform:translate(4px)}.quick-link-card[data-color=cyan]:hover{border-color:var(--cyan-500)}.quick-link-card[data-color=cyan] .quick-link-card__icon{background:var(--cyan-500-alpha-20)}.quick-link-card[data-color=cyan] .quick-link-card__icon .material-symbols-outlined,.quick-link-card[data-color=cyan] .quick-link-card__arrow .material-symbols-outlined{color:var(--cyan-400)}.quick-link-card[data-color=blue]:hover{border-color:#2196f3}.quick-link-card[data-color=blue] .quick-link-card__icon{background:#2196f326}.quick-link-card[data-color=blue] .quick-link-card__icon .material-symbols-outlined,.quick-link-card[data-color=blue] .quick-link-card__arrow .material-symbols-outlined{color:#2196f3}.quick-link-card[data-color=purple]:hover{border-color:#ab47bc}.quick-link-card[data-color=purple] .quick-link-card__icon{background:#ab47bc26}.quick-link-card[data-color=purple] .quick-link-card__icon .material-symbols-outlined,.quick-link-card[data-color=purple] .quick-link-card__arrow .material-symbols-outlined{color:#ab47bc}.cta{margin:56px 0;position:relative;overflow:hidden;border-radius:28px;background:#0b0e1499;border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow-lg)}.cta--premium{padding:52px 24px}.cta__glow{position:absolute;inset:0;background:radial-gradient(circle at center,rgba(0,188,212,.14),transparent 60%);filter:blur(60px);opacity:.8}.cta__content{position:relative;z-index:1;max-width:720px;margin:0 auto;text-align:center;display:flex;flex-direction:column;gap:16px}.cta__title{font-size:clamp(2rem,3vw,2.75rem);font-weight:800;color:var(--text-primary);margin:0}.cta__description{font-size:1.1rem;color:var(--text-secondary);margin:0;line-height:1.7}.cta__button{margin-top:8px;align-self:center}.light-theme .cta{background:#ffffffd9;border-color:#00000014}.light-theme .cta__glow{background:radial-gradient(circle at center,rgba(0,188,212,.12),transparent 60%)}.skills-page{max-width:1200px;margin:0 auto;padding:40px 20px;animation:fade-in .6s var(--ease-emphasized)}.skills-page__header{margin-bottom:48px}.skills-page__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:32px}.skills-page__toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px;padding:20px;background:var(--surface-1);border-radius:16px;border:1px solid var(--border-color)}@media (max-width: 968px){.skills-page__toolbar{flex-direction:column;align-items:stretch}}.skills-page__filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.skills-page__filter-label{font-weight:600;color:var(--text-secondary);font-size:.9rem}.skills-page__actions{display:flex;gap:12px}@media (max-width: 968px){.skills-page__actions{justify-content:stretch}}.skills-page__accordion{display:flex;flex-direction:column;gap:16px;margin-bottom:64px}.skills-page__cta{margin-top:64px}.skills-page__error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.skills-page__error .material-symbols-outlined{font-size:64px;color:var(--text-tertiary);margin-bottom:16px}.skills-page__error h2{font-size:1.8rem;color:var(--text-primary);margin:0 0 12px}.skills-page__error p{color:var(--text-secondary);font-size:1rem}.stats-card{display:flex;align-items:center;gap:16px;padding:24px;background:var(--surface-1);border:1px solid var(--border-color);border-radius:16px;transition:transform var(--duration-micro) var(--ease-spring),box-shadow var(--duration-micro) var(--ease-standard);animation:slide-up .5s var(--ease-emphasized) backwards}.stats-card:nth-child(1){animation-delay:80ms}.stats-card:nth-child(2){animation-delay:.16s}.stats-card:nth-child(3){animation-delay:.24s}.stats-card:nth-child(4){animation-delay:.32s}.stats-card:nth-child(5){animation-delay:.4s}.stats-card:nth-child(6){animation-delay:.48s}.stats-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.stats-card .material-symbols-outlined{font-size:40px;color:var(--cyan-400)}.stats-card__content{display:flex;flex-direction:column}.stats-card__value{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:4px}.stats-card__label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.filter-btn{padding:8px 16px;background:var(--surface-2);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:.9rem;font-weight:600;cursor:pointer;transition:background var(--duration-micro) var(--ease-standard),color var(--duration-micro) var(--ease-standard),border-color var(--duration-micro) var(--ease-standard);font-family:inherit}.filter-btn:hover{background:var(--surface-3);color:var(--text-primary)}.filter-btn--active{background:var(--cyan-500);color:var(--dark-bg);border-color:var(--cyan-500)}.filter-btn--active:hover{background:var(--cyan-400);border-color:var(--cyan-400)}.action-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--surface-2);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:background var(--duration-micro) var(--ease-standard);font-family:inherit}@media (max-width: 968px){.action-btn{flex:1;justify-content:center}}.action-btn .material-symbols-outlined{font-size:18px}.action-btn:hover{background:var(--surface-3)}.accordion-item{background:var(--surface-1);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;transition:box-shadow var(--duration-micro) var(--ease-standard);animation:slide-up .5s var(--ease-emphasized) backwards}.accordion-item:nth-child(1){animation-delay:.16s}.accordion-item:nth-child(2){animation-delay:.22s}.accordion-item:nth-child(3){animation-delay:.28s}.accordion-item:nth-child(4){animation-delay:.34s}.accordion-item:nth-child(5){animation-delay:.4s}.accordion-item:nth-child(6){animation-delay:.46s}.accordion-item--expanded{box-shadow:var(--shadow-lg)}.accordion-header{display:flex;align-items:center;gap:20px;width:100%;padding:24px;background:transparent;border:none;cursor:pointer;text-align:left;transition:background var(--duration-micro) var(--ease-standard);font-family:inherit}@media (max-width: 768px){.accordion-header{gap:16px;padding:16px}}.accordion-header__icon-wrapper{flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:transform var(--duration-micro) var(--ease-spring)}@media (max-width: 768px){.accordion-header__icon-wrapper{width:48px;height:48px}}.accordion-header__icon-wrapper .material-symbols-outlined{font-size:32px}@media (max-width: 768px){.accordion-header__icon-wrapper .material-symbols-outlined{font-size:28px}}.accordion-header__icon-wrapper[data-color=cyan]{background:#00bcd426}.accordion-header__icon-wrapper[data-color=cyan] .material-symbols-outlined{color:var(--cyan-400)}.accordion-header__icon-wrapper[data-color=blue]{background:#2196f326}.accordion-header__icon-wrapper[data-color=blue] .material-symbols-outlined{color:#2196f3}.accordion-header__icon-wrapper[data-color=purple]{background:#9c27b026}.accordion-header__icon-wrapper[data-color=purple] .material-symbols-outlined{color:#ab47bc}.accordion-header__icon-wrapper[data-color=orange]{background:#ff980026}.accordion-header__icon-wrapper[data-color=orange] .material-symbols-outlined{color:#ff9800}.accordion-header__icon-wrapper[data-color=green]{background:#4caf5026}.accordion-header__icon-wrapper[data-color=green] .material-symbols-outlined{color:#66bb6a}.accordion-header--expanded .accordion-header__icon-wrapper{transform:scale(1.05)}.accordion-header__content{flex:1;min-width:0}.accordion-header__title{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin:0 0 4px}@media (max-width: 768px){.accordion-header__title{font-size:1.2rem}}.accordion-header__description{font-size:.9rem;color:var(--text-secondary);margin:0}@media (max-width: 768px){.accordion-header__description{font-size:.85rem}}.accordion-header__meta{display:flex;align-items:center;gap:12px;flex-shrink:0}.accordion-header__count{padding:6px 12px;background:var(--surface-3);color:var(--text-primary);font-size:.85rem;font-weight:600;border-radius:8px}@media (max-width: 768px){.accordion-header__count{display:none}}.accordion-header__chevron{font-size:28px;color:var(--text-secondary);transition:transform var(--duration-micro) var(--ease-standard)}.accordion-content{padding:0 24px 24px;animation:expand-down .4s var(--ease-emphasized)}@media (max-width: 768px){.accordion-content{padding:0 16px 16px}}.accordion-content__grid{display:flex;flex-wrap:wrap;gap:10px;animation:fade-in .5s var(--ease-emphasized)}.accordion-content__empty{display:flex;flex-direction:column;align-items:center;padding:40px 20px;color:var(--text-tertiary)}.accordion-content__empty .material-symbols-outlined{font-size:48px;margin-bottom:12px}.accordion-content__empty p{margin:0;font-size:.95rem}.cta-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 32px;background:linear-gradient(135deg,var(--surface-1),var(--surface-2));border:1px solid var(--cyan-800);border-radius:20px;box-shadow:var(--shadow-lg),0 0 40px var(--cyan-500-alpha-10)}.cta-card__icon{font-size:64px;color:var(--cyan-400);margin-bottom:16px}.cta-card__title{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0 0 12px}.cta-card__description{font-size:1.1rem;color:var(--text-secondary);line-height:1.6;margin:0 0 32px;max-width:600px}.cta-card__button{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:var(--cyan-500);color:var(--dark-bg);text-decoration:none;border-radius:12px;font-weight:600;font-size:1rem;transition:transform var(--duration-micro) var(--ease-spring),background var(--duration-micro) var(--ease-standard),box-shadow var(--duration-micro) var(--ease-standard)}.cta-card__button .material-symbols-outlined{font-size:20px}.cta-card__button:hover{background:var(--cyan-400);transform:translateY(-2px);box-shadow:var(--shadow-lg),0 0 20px var(--cyan-500-alpha-40)}.cta-card__button:active{transform:scale(.98)}@keyframes expand-down{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}.about-page{max-width:1200px;margin:0 auto;padding:40px 20px}.about-page__hero,.about-page__section{margin-bottom:80px}.about-page__section--two-cols{display:grid;grid-template-columns:1fr 1fr;gap:48px}@media (max-width: 968px){.about-page__section--two-cols{grid-template-columns:1fr}}.about-page__subsection{display:flex;flex-direction:column}.hero-profile{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:center;padding:48px;background:var(--surface-1);border-radius:24px;border:1px solid var(--border-color);box-shadow:var(--shadow-lg);margin-bottom:32px;animation:slide-up .7s var(--ease-emphasized)}@media (max-width: 968px){.hero-profile{grid-template-columns:1fr;text-align:center;padding:32px 24px}}.hero-profile__avatar{position:relative;width:200px;height:200px;flex-shrink:0}@media (max-width: 968px){.hero-profile__avatar{margin:0 auto}}.hero-profile__avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:4px solid var(--cyan-500);box-shadow:var(--shadow-lg),0 0 30px var(--cyan-500-alpha-30)}.hero-profile__status{position:absolute;bottom:10px;right:10px;display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--cyan-500);color:var(--dark-bg);border-radius:20px;font-size:.85rem;font-weight:600;box-shadow:var(--shadow-md)}.hero-profile__status .material-symbols-outlined{font-size:16px}.hero-profile__content{display:flex;flex-direction:column;gap:16px}.hero-profile__name{font-size:3rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.1}@media (max-width: 768px){.hero-profile__name{font-size:2.2rem}}.hero-profile__title{font-size:1.4rem;color:var(--cyan-400);font-weight:600;margin:0}@media (max-width: 768px){.hero-profile__title{font-size:1.2rem}}.hero-profile__meta{display:flex;gap:24px;flex-wrap:wrap}@media (max-width: 968px){.hero-profile__meta{justify-content:center}}.hero-profile__actions{display:flex;gap:16px;margin-top:8px}@media (max-width: 968px){.hero-profile__actions{justify-content:center}}@media (max-width: 568px){.hero-profile__actions{flex-direction:column}}.meta-item{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.95rem}.meta-item .material-symbols-outlined{font-size:20px;color:var(--cyan-400)}.action-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;border:none;text-decoration:none;font-family:inherit;transition:transform var(--duration-micro) var(--ease-spring),background var(--duration-micro) var(--ease-standard),box-shadow var(--duration-micro) var(--ease-standard)}@media (max-width: 568px){.action-btn{width:100%;justify-content:center}}.action-btn .material-symbols-outlined{font-size:20px}.action-btn:active{transform:scale(.97)}.action-btn--primary{background:var(--cyan-500);color:var(--dark-bg)}.action-btn--primary:hover{background:var(--cyan-400);box-shadow:var(--shadow-lg),0 0 20px var(--cyan-500-alpha-40);transform:translateY(-2px)}.action-btn--secondary{background:var(--surface-3);color:var(--text-primary);border:1px solid var(--border-color)}.action-btn--secondary:hover{background:var(--surface-4);border-color:var(--cyan-700)}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:720px;margin:0 auto}@media (max-width: 768px){.hero-stats{grid-template-columns:repeat(3,1fr);gap:12px}}@media (max-width: 480px){.hero-stats{grid-template-columns:1fr;max-width:320px}}.stat-card{display:flex;flex-direction:column;align-items:center;padding:28px 20px;background:var(--surface-1);border:1px solid var(--border-color);border-top:3px solid var(--cyan-500);border-radius:16px;text-align:center;transition:transform var(--duration-micro) var(--ease-spring),box-shadow var(--duration-micro) var(--ease-standard),border-color var(--duration-micro) var(--ease-standard);animation:slide-up .6s var(--ease-emphasized) backwards}.stat-card:nth-child(1){animation-delay:.17s}.stat-card:nth-child(2){animation-delay:.24s}.stat-card:nth-child(3){animation-delay:.31s}.stat-card:nth-child(4){animation-delay:.38s}.stat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg),0 0 20px #00bcd41f;border-top-color:var(--cyan-a200)}.stat-card .material-symbols-outlined{font-size:36px;color:var(--cyan-400);margin-bottom:12px;opacity:.85}.stat-card__value{font-size:3rem;font-weight:800;color:var(--text-primary);line-height:1;letter-spacing:-1px}.stat-card__label{font-size:.85rem;color:var(--text-secondary);margin-top:8px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.biography-card{position:relative;padding:36px 40px;background:var(--surface-1);border:1px solid var(--border-color);border-radius:20px;overflow:hidden;animation:slide-up .5s var(--ease-emphasized) backwards}@media (max-width: 768px){.biography-card{padding:24px 20px}}.biography-card__accent{position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--cyan-500),var(--cyan-a200));border-radius:4px 0 0 4px}.biography-card__quote{font-size:56px;color:var(--cyan-500);opacity:.25;position:absolute;top:12px;right:24px;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}@media (max-width: 768px){.biography-card__quote{font-size:40px}}.biography-card__text{font-size:1.1rem;line-height:1.85;color:var(--text-secondary);margin:0 0 28px;max-width:860px}.biography-card__text strong{color:var(--cyan-400);font-weight:700}@media (max-width: 768px){.biography-card__text{font-size:1rem}}.biography-card__chips{display:flex;flex-wrap:wrap;gap:10px}.bio-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:#00bcd414;border:1px solid rgba(0,188,212,.25);border-radius:999px;font-size:.85rem;font-weight:600;color:var(--cyan-300)}.bio-chip .material-symbols-outlined{font-size:16px;color:var(--cyan-400)}.expertise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.expertise-card{padding:28px 24px;background:var(--surface-1);border:1px solid var(--border-color);border-radius:16px;transition:transform var(--duration-micro) var(--ease-spring),box-shadow var(--duration-micro) var(--ease-standard),border-color var(--duration-micro) var(--ease-standard);animation:slide-up .5s var(--ease-emphasized) backwards}.expertise-card:nth-child(1){animation-delay:80ms}.expertise-card:nth-child(2){animation-delay:.16s}.expertise-card:nth-child(3){animation-delay:.24s}.expertise-card:nth-child(4){animation-delay:.32s}.expertise-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.expertise-card[data-color=cyan]{border-top:3px solid var(--cyan-500)}.expertise-card[data-color=cyan]:hover{border-color:var(--cyan-500)}.expertise-card[data-color=cyan] .expertise-card__icon-wrapper{background:#00bcd426;color:var(--cyan-400)}.expertise-card[data-color=green]{border-top:3px solid #66BB6A}.expertise-card[data-color=green]:hover{border-color:#66bb6a}.expertise-card[data-color=green] .expertise-card__icon-wrapper{background:#4caf5026;color:#66bb6a}.expertise-card[data-color=blue]{border-top:3px solid #42A5F5}.expertise-card[data-color=blue]:hover{border-color:#42a5f5}.expertise-card[data-color=blue] .expertise-card__icon-wrapper{background:#2196f326;color:#42a5f5}.expertise-card[data-color=purple]{border-top:3px solid #AB47BC}.expertise-card[data-color=purple]:hover{border-color:#ab47bc}.expertise-card[data-color=purple] .expertise-card__icon-wrapper{background:#9c27b026;color:#ab47bc}.expertise-card__icon-wrapper{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.expertise-card__icon-wrapper .material-symbols-outlined{font-size:28px}.expertise-card__title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0 0 8px}.expertise-card__desc{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:0 0 16px}.expertise-card__tags{display:flex;flex-wrap:wrap;gap:6px}.expertise-tag{padding:4px 10px;background:var(--surface-2);border:1px solid var(--border-color);border-radius:6px;font-size:.78rem;font-weight:600;color:var(--text-secondary)}.timeline{position:relative;padding:40px 0}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--cyan-500),transparent);transform:translate(-50%)}@media (max-width: 968px){.timeline:before{left:20px}}.timeline-item{display:grid;grid-template-columns:1fr auto 1fr;gap:32px;margin-bottom:48px;position:relative}@media (max-width: 968px){.timeline-item{grid-template-columns:auto 1fr}}.timeline-item:last-child{margin-bottom:0}.timeline-item__marker{grid-column:2;display:flex;justify-content:center;z-index:2}@media (max-width: 968px){.timeline-item__marker{grid-column:1}}.timeline-item__icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--cyan-500);border-radius:50%;box-shadow:var(--shadow-lg),0 0 20px var(--cyan-500-alpha-40)}.timeline-item__icon .material-symbols-outlined{font-size:32px;color:var(--dark-bg)}.timeline-item__content{grid-column:3;padding:24px;background:var(--surface-1);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-md);animation:slide-in-right .6s var(--ease-emphasized) backwards}@media (max-width: 968px){.timeline-item__content{grid-column:2;animation:slide-in-left .6s var(--ease-emphasized) backwards}}.timeline-item--even .timeline-item__content{grid-column:1;animation:slide-in-left .6s var(--ease-emphasized) backwards}@media (max-width: 968px){.timeline-item--even .timeline-item__content{grid-column:2;animation:slide-in-left .6s var(--ease-emphasized) backwards}}.timeline-item__year{display:inline-block;padding:6px 12px;background:var(--cyan-500);color:var(--dark-bg);font-size:.85rem;font-weight:700;border-radius:8px;margin-bottom:12px}.timeline-item__title{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin:0 0 8px}.timeline-item__company{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.95rem;margin-bottom:12px}.timeline-item__company .material-symbols-outlined{font-size:18px;color:var(--cyan-400)}.timeline-item__description{color:var(--text-secondary);line-height:1.6;margin:0 0 16px}.timeline-item__technologies{display:flex;flex-wrap:wrap;gap:8px}.timeline-item:nth-child(1) .timeline-item__content{animation-delay:.1s}.timeline-item:nth-child(2) .timeline-item__content{animation-delay:.2s}.timeline-item:nth-child(3) .timeline-item__content{animation-delay:.3s}.timeline-item:nth-child(4) .timeline-item__content{animation-delay:.4s}.timeline-item:nth-child(5) .timeline-item__content{animation-delay:.5s}.timeline-item:nth-child(6) .timeline-item__content{animation-delay:.6s}.tech-badge{padding:4px 10px;background:var(--surface-3);color:var(--cyan-400);font-size:.8rem;font-weight:600;border-radius:6px;border:1px solid var(--cyan-800)}.cards-list{display:flex;flex-direction:column;gap:16px}.info-card{display:flex;gap:20px;padding:24px;background:var(--surface-1);border:1px solid var(--border-color);border-radius:16px;transition:transform var(--duration-micro) var(--ease-spring),box-shadow var(--duration-micro) var(--ease-standard);animation:slide-up .5s var(--ease-emphasized) backwards}.info-card:nth-child(1){animation-delay:80ms}.info-card:nth-child(2){animation-delay:.16s}.info-card:nth-child(3){animation-delay:.24s}.info-card:nth-child(4){animation-delay:.32s}.info-card:nth-child(5){animation-delay:.4s}.info-card:nth-child(6){animation-delay:.48s}.info-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.info-card__icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--cyan-500-alpha-20);border-radius:12px;font-size:28px;color:var(--cyan-400)}.info-card__content{flex:1}.info-card__title{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin:0 0 4px}.info-card__subtitle{font-size:.95rem;color:var(--text-secondary);margin:0 0 4px}.info-card__year{font-size:.85rem;color:var(--text-tertiary);margin:0 0 8px}.info-card__description{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:0}.info-card__link{display:inline-flex;align-items:center;gap:6px;color:var(--cyan-400);font-size:.9rem;font-weight:600;text-decoration:none;margin-top:8px}.info-card__link .material-symbols-outlined{font-size:16px}.info-card__link:hover{text-decoration:underline}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px}@media (max-width: 968px){.contact-cards{grid-template-columns:1fr}}.contact-card{display:flex;flex-direction:column;align-items:center;padding:32px 24px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;text-align:center;box-shadow:var(--shadow-sm);transition:transform var(--duration-micro) var(--ease-spring),border-color var(--duration-micro) var(--ease-standard),box-shadow var(--duration-micro) var(--ease-standard)}.contact-card--clickable{cursor:pointer}.contact-card--clickable:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.contact-card__icon{font-size:48px;margin-bottom:16px}.contact-card__title{font-size:.85rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.contact-card__value{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.contact-card[data-color=cyan]:hover{border-color:var(--cyan-500)}.contact-card[data-color=cyan] .contact-card__icon{color:var(--cyan-400)}.contact-card[data-color=blue]:hover{border-color:#2196f3}.contact-card[data-color=blue] .contact-card__icon{color:#2196f3}.contact-card[data-color=purple]:hover{border-color:#ab47bc}.contact-card[data-color=purple] .contact-card__icon{color:#ab47bc}.social-links{text-align:center}.social-links__title{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin:0 0 24px}.social-links__grid{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.social-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--surface-1);border:2px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:.95rem;font-weight:600;cursor:pointer;font-family:inherit;transition:transform var(--duration-micro) var(--ease-spring),border-color var(--duration-micro) var(--ease-standard)}.social-btn .material-symbols-outlined{font-size:20px}.social-btn:hover{transform:translateY(-2px)}.social-btn:active{transform:scale(.98)}.social-btn[data-color=cyan]:hover{border-color:var(--cyan-500)}.social-btn[data-color=cyan]:hover .material-symbols-outlined{color:var(--cyan-400)}.social-btn[data-color=blue]:hover{border-color:#2196f3}.social-btn[data-color=blue]:hover .material-symbols-outlined{color:#2196f3}.social-btn[data-color=lightblue]:hover{border-color:#03a9f4}.social-btn[data-color=lightblue]:hover .material-symbols-outlined{color:#03a9f4}.social-btn[data-color=orange]:hover{border-color:#ff9800}.social-btn[data-color=orange]:hover .material-symbols-outlined{color:#ff9800}@keyframes slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.legal-page{max-width:900px;margin:0 auto;padding:40px 20px;animation:fade-in .6s var(--ease-emphasized)}.legal-page__header{text-align:center;margin-bottom:48px}.legal-page__icon{font-size:80px;color:var(--cyan-400);display:block;margin-bottom:16px}.legal-page__updated{font-size:.9rem;color:var(--text-tertiary);font-style:italic;margin:16px 0 0}.legal-page__toolbar{display:flex;justify-content:center;gap:12px;margin-bottom:32px}.legal-page__content{display:flex;flex-direction:column;gap:16px;margin-bottom:64px}.legal-page__footer{margin-top:64px}.toolbar-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;background:var(--surface-2);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:background var(--duration-micro) var(--ease-standard);font-family:inherit}.toolbar-btn .material-symbols-outlined{font-size:18px}.toolbar-btn:hover{background:var(--surface-3)}.accordion-item{background:var(--surface-1);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:box-shadow var(--duration-micro) var(--ease-standard);animation:slide-up .5s var(--ease-emphasized) backwards}.accordion-item:nth-child(1){animation-delay:50ms}.accordion-item:nth-child(2){animation-delay:.1s}.accordion-item:nth-child(3){animation-delay:.15s}.accordion-item:nth-child(4){animation-delay:.2s}.accordion-item:nth-child(5){animation-delay:.25s}.accordion-item:nth-child(6){animation-delay:.3s}.accordion-item:nth-child(7){animation-delay:.35s}.accordion-item:nth-child(8){animation-delay:.4s}.accordion-item:nth-child(9){animation-delay:.45s}.accordion-item:nth-child(10){animation-delay:.5s}.accordion-item--expanded{box-shadow:var(--shadow-md)}.accordion-header{display:flex;align-items:center;gap:16px;width:100%;padding:20px 24px;background:transparent;border:none;cursor:pointer;text-align:left;transition:background var(--duration-micro) var(--ease-standard);font-family:inherit}.accordion-header:hover{background:var(--surface-2)}.accordion-header__icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--cyan-500-alpha-20);border-radius:10px}.accordion-header__icon .material-symbols-outlined{font-size:28px;color:var(--cyan-400)}.accordion-header__title{flex:1;font-size:1.2rem;font-weight:700;color:var(--text-primary);margin:0}.accordion-header__chevron{flex-shrink:0;font-size:28px;color:var(--text-secondary);transition:transform var(--duration-micro) var(--ease-standard)}.accordion-header--expanded .accordion-header__chevron{transform:rotate(180deg)}.accordion-content{padding:0 24px 24px 88px;animation:expand-down .4s var(--ease-emphasized)}@media (max-width: 768px){.accordion-content{padding:0 24px 24px}}.accordion-content__text{color:var(--text-secondary);font-size:1rem;line-height:1.7}.accordion-content__text ::ng-deep p{margin:0 0 16px}.accordion-content__text ::ng-deep p:last-child{margin-bottom:0}.accordion-content__text ::ng-deep strong{color:var(--text-primary);font-weight:600}.accordion-content__text ::ng-deep ul,.accordion-content__text ::ng-deep ol{margin:16px 0;padding-left:24px}.accordion-content__text ::ng-deep ul li,.accordion-content__text ::ng-deep ol li{margin-bottom:8px}.accordion-content__text ::ng-deep a{color:var(--cyan-400);text-decoration:none;font-weight:600}.accordion-content__text ::ng-deep a:hover{text-decoration:underline}.accordion-content__text ::ng-deep code{padding:2px 6px;background:var(--surface-3);color:var(--cyan-400);border-radius:4px;font-family:Courier New,monospace;font-size:.9em}.footer-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 32px;background:linear-gradient(135deg,var(--surface-1),var(--surface-2));border:2px solid var(--cyan-800);border-radius:20px;box-shadow:var(--shadow-lg),0 0 40px var(--cyan-500-alpha-10)}.footer-card .material-symbols-outlined{font-size:64px;color:var(--cyan-400);margin-bottom:16px}.footer-card h3{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin:0 0 12px}.footer-card p{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin:0 0 32px;max-width:500px}.footer-card__btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:var(--cyan-500);color:var(--dark-bg);text-decoration:none;border-radius:12px;font-weight:600;font-size:1rem;transition:transform var(--duration-micro) var(--ease-spring),background var(--duration-micro) var(--ease-standard),box-shadow var(--duration-micro) var(--ease-standard)}.footer-card__btn .material-symbols-outlined{font-size:20px;margin-bottom:0;color:inherit}.footer-card__btn:hover{background:var(--cyan-400);transform:translateY(-2px);box-shadow:var(--shadow-lg),0 0 20px var(--cyan-500-alpha-40)}.footer-card__btn:active{transform:scale(.98)}.project-detail{max-width:1200px;margin:0 auto;padding:40px 20px;animation:fade-in .6s var(--ease-emphasized)}.project-detail__hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-bottom:64px;padding:40px;background:var(--surface-1);border-radius:24px;border:1px solid var(--border-color);box-shadow:var(--shadow-md)}@media (max-width: 968px){.project-detail__hero{grid-template-columns:1fr;gap:32px}}.project-detail__hero-content{animation:slide-in-left .7s var(--ease-emphasized) .2s backwards}.project-detail__hero-image{border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg);animation:slide-in-right .7s var(--ease-emphasized) .4s backwards}.project-detail__hero-image img{width:100%;height:auto;display:block}.project-detail__title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin:0 0 16px;line-height:1.2}@media (max-width: 768px){.project-detail__title{font-size:2rem}}.project-detail__subtitle{font-size:1.1rem;color:var(--text-secondary);line-height:1.6;margin:0 0 24px}.project-detail__badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.project-detail__badge{padding:6px 14px;background:var(--surface-3);color:var(--cyan-300);font-size:.85rem;font-weight:600;border-radius:8px;border:1px solid var(--cyan-800)}.project-detail__actions{display:flex;gap:16px;flex-wrap:wrap}.project-detail__cta{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:12px;font-weight:600;font-size:1rem;text-decoration:none;transition:transform var(--duration-micro) var(--ease-spring),box-shadow var(--duration-micro) var(--ease-standard)}.project-detail__cta:active{transform:scale(.97)}.project-detail__cta--primary{background:var(--cyan-500);color:var(--dark-bg);box-shadow:var(--shadow-md)}.project-detail__cta--primary:hover{background:var(--cyan-400);box-shadow:var(--shadow-lg),0 0 20px var(--cyan-500-alpha-40);transform:translateY(-2px)}.project-detail__cta--secondary{background:var(--surface-3);color:var(--text-primary);border:1px solid var(--border-color)}.project-detail__cta--secondary:hover{background:var(--surface-4);border-color:var(--cyan-700)}.project-detail__cta .material-symbols-outlined{font-size:20px}.project-detail__platforms{margin-bottom:64px}.project-detail__tabs{display:flex;gap:8px;border-bottom:2px solid var(--border-color);margin-bottom:32px;overflow-x:auto}@media (max-width: 768px){.project-detail__tabs{flex-direction:column;border-bottom:none;gap:12px}}.project-detail__tab{display:flex;align-items:center;gap:12px;padding:16px 24px;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:1rem;font-weight:600;cursor:pointer;transition:color var(--duration-micro) var(--ease-standard),border-color var(--duration-micro) var(--ease-standard),background var(--duration-micro) var(--ease-standard);font-family:inherit}@media (max-width: 768px){.project-detail__tab{width:100%;border-bottom:none;border-left:3px solid transparent;border-radius:8px}}.project-detail__tab:hover{color:var(--text-primary);background:var(--surface-2)}.project-detail__tab--active{color:var(--cyan-400);border-bottom-color:var(--cyan-500)}@media (max-width: 768px){.project-detail__tab--active{border-left-color:var(--cyan-500);background:var(--surface-2)}}.project-detail__tab--active .material-symbols-outlined{color:var(--cyan-400)}.project-detail__tab .material-symbols-outlined{font-size:24px;transition:color var(--duration-micro) var(--ease-standard)}.project-detail__tab-content{animation:fade-slide-in .4s var(--ease-emphasized)}.project-detail__platform-info{background:var(--surface-1);border:1px solid var(--border-color);border-radius:16px;padding:32px}.project-detail__platform-title{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin:0 0 12px}.project-detail__platform-description{font-size:1.05rem;color:var(--text-secondary);line-height:1.6;margin:0 0 32px}.project-detail__section{margin-bottom:32px}.project-detail__section:last-child{margin-bottom:0}.project-detail__section-title{display:flex;align-items:center;gap:10px;font-size:1.3rem;font-weight:600;color:var(--text-primary);margin:0 0 16px}.project-detail__section-title .material-symbols-outlined{color:var(--cyan-400);font-size:28px}.project-detail__tech-list{display:flex;flex-wrap:wrap;gap:12px}.project-detail__tech-item{padding:8px 16px;background:var(--surface-2);color:var(--text-primary);font-size:.9rem;font-weight:500;border-radius:8px;border:1px solid var(--border-color)}.project-detail__info-text{color:var(--text-secondary);line-height:1.6;margin:0}.project-detail__list{list-style:none;padding:0;margin:0}.project-detail__list li{padding:8px 0 8px 24px;color:var(--text-secondary);position:relative}.project-detail__list li:before{content:"\25b8";position:absolute;left:0;color:var(--cyan-400);font-weight:700}.project-detail__features{list-style:none;padding:0;margin:0;display:grid;gap:12px}.project-detail__feature-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface-2);border-radius:8px;color:var(--text-primary);transition:background var(--duration-micro) var(--ease-standard)}.project-detail__feature-item:hover{background:var(--surface-3)}.project-detail__feature-item .material-symbols-outlined{color:var(--cyan-400);font-size:20px}.project-detail__login{background:linear-gradient(135deg,var(--surface-1),var(--surface-2));border:1px solid var(--cyan-800);border-radius:20px;padding:48px;margin-bottom:64px;text-align:center;box-shadow:var(--shadow-lg),0 0 40px var(--cyan-500-alpha-10)}.project-detail__login-content{max-width:500px;margin:0 auto}.project-detail__login-title{display:flex;align-items:center;justify-content:center;gap:12px;font-size:1.8rem;font-weight:700;color:var(--text-primary);margin:0 0 16px}.project-detail__login-title .material-symbols-outlined{font-size:32px;color:var(--cyan-400)}.project-detail__login-description{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0 0 32px}.project-detail__login-buttons{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.project-detail__login-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;border:2px solid var(--border-color);border-radius:12px;background:var(--surface-1);color:var(--text-primary);font-size:1rem;font-weight:600;cursor:pointer;transition:transform var(--duration-micro) var(--ease-spring),background var(--duration-micro) var(--ease-standard),border-color var(--duration-micro) var(--ease-standard);font-family:inherit}.project-detail__login-btn:hover{background:var(--surface-2);border-color:var(--cyan-700);transform:translateY(-2px)}.project-detail__login-btn:active{transform:scale(.98)}.project-detail__login-btn--google:hover{border-color:#4285f4}.project-detail__login-btn--facebook:hover{border-color:#1877f2}.project-detail__login-icon{width:20px;height:20px}.project-detail__login-privacy{font-size:.85rem;color:var(--text-tertiary);margin:0}.project-detail__login-privacy a{color:var(--cyan-400);text-decoration:none}.project-detail__login-privacy a:hover{text-decoration:underline}.project-detail__tutorial{background:var(--surface-1);border:1px solid var(--border-color);border-radius:20px;padding:40px;margin-bottom:64px}.project-detail__tutorial-title{display:flex;align-items:center;gap:12px;font-size:1.8rem;font-weight:700;color:var(--text-primary);margin:0 0 32px}.project-detail__tutorial-title .material-symbols-outlined{font-size:32px;color:var(--cyan-400)}.project-detail__stepper{display:flex;flex-direction:column;gap:24px}.project-detail__step{display:flex;gap:20px;align-items:flex-start;animation:slide-in-left .5s var(--ease-emphasized) backwards}.project-detail__step:nth-child(1){animation-delay:.1s}.project-detail__step:nth-child(2){animation-delay:.2s}.project-detail__step:nth-child(3){animation-delay:.3s}.project-detail__step:nth-child(4){animation-delay:.4s}.project-detail__step:nth-child(5){animation-delay:.5s}.project-detail__step:nth-child(6){animation-delay:.6s}.project-detail__step-number{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--cyan-500);color:var(--dark-bg);font-size:1.3rem;font-weight:700;border-radius:50%;box-shadow:var(--shadow-md)}.project-detail__step-content{flex:1;padding-top:4px}.project-detail__step-title{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0 0 8px}.project-detail__step-description{color:var(--text-secondary);line-height:1.6;margin:0}.project-detail__footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:40px;border-top:1px solid var(--border-color)}@media (max-width: 768px){.project-detail__footer{flex-direction:column}}.project-detail__footer-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:10px;font-weight:600;text-decoration:none;color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border-color);transition:background var(--duration-micro) var(--ease-standard),border-color var(--duration-micro) var(--ease-standard)}.project-detail__footer-btn:hover{background:var(--surface-3);border-color:var(--cyan-700)}.project-detail__footer-btn--primary{background:var(--cyan-500);color:var(--dark-bg);border-color:var(--cyan-500)}.project-detail__footer-btn--primary:hover{background:var(--cyan-400);border-color:var(--cyan-400)}.project-detail__footer-btn .material-symbols-outlined{font-size:20px}.project-detail__error{text-align:center;padding:80px 20px}.project-detail__error h2{font-size:2rem;color:var(--text-primary);margin:0 0 16px}.project-detail__error p{color:var(--text-secondary);font-size:1.1rem;margin:0 0 32px}.project-detail__back-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--cyan-500);color:var(--dark-bg);text-decoration:none;border-radius:10px;font-weight:600;transition:background var(--duration-micro) var(--ease-standard)}.project-detail__back-btn:hover{background:var(--cyan-400)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fade-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.project-detail,.project-detail__hero-content,.project-detail__hero-image,.project-detail__tab-content,.project-detail__step{animation:none}.project-detail__cta,.project-detail__login-btn,.project-detail__footer-btn{transition:none}.project-detail__cta:hover,.project-detail__cta:active,.project-detail__login-btn:hover,.project-detail__login-btn:active,.project-detail__footer-btn:hover,.project-detail__footer-btn:active{transform:none}}.demo-page{max-width:1200px;margin:0 auto;padding:48px 20px 96px;display:flex;flex-direction:column;gap:80px}.demo-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:center;padding:40px;border-radius:32px;background:linear-gradient(135deg,#0f172ae6,#0b0e14f2);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow-xl)}@media (max-width: 1024px){.demo-hero{grid-template-columns:1fr;padding:32px}}.demo-hero__content{display:flex;flex-direction:column;gap:16px}.demo-hero__badge{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:6px 14px;border-radius:var(--radius-full);background:#00bcd41f;border:1px solid rgba(0,188,212,.24);color:var(--cyan-200);font-size:.85rem;font-weight:600}.demo-hero__title{font-size:clamp(2.2rem,4vw,3.5rem);font-weight:800;margin:0;color:var(--text-primary)}.demo-hero__subtitle{font-size:1.1rem;color:var(--text-secondary);margin:0;line-height:1.7}.demo-hero__meta{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}.demo-hero__meta-item{display:inline-flex;align-items:center;gap:8px;color:var(--text-tertiary);font-size:.9rem}.demo-hero__meta-item .material-symbols-outlined{font-size:18px;color:var(--cyan-300)}.demo-hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px}.demo-hero__cta .demo-hero__btn,.demo-hero__cta .dashboard-system__download{width:min(280px,100%)}.demo-hero__btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;gap:8px;padding:14px 24px;border-radius:14px;font-weight:700;text-decoration:none;transition:transform var(--duration-micro) var(--ease-spring),background var(--duration-micro) var(--ease-standard),box-shadow var(--duration-micro) var(--ease-standard),border-color var(--duration-micro) var(--ease-standard)}.demo-hero__btn .material-symbols-outlined{font-size:20px}.demo-hero__btn--primary{background:var(--cyan-500);color:var(--dark-bg);box-shadow:0 0 24px #00bcd459}.demo-hero__btn--primary:hover{background:var(--cyan-300);color:var(--dark-bg);box-shadow:0 0 42px #00bcd499;transform:translateY(-3px)}.demo-hero__btn--ghost{background:#ffffff0f;color:var(--text-primary);border:1px solid rgba(255,255,255,.15)}.demo-hero__btn--ghost:hover{background:#ffffff1f;border-color:#ffffff4d}.demo-hero__visual{display:flex;justify-content:center}.demo-hero .hero-ecosystem{width:min(520px,90vw)}.demo-hero__image{width:min(520px,90vw);filter:drop-shadow(0 24px 48px rgba(0,0,0,.45))}.light-theme .demo-hero{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-lg)}.light-theme .demo-hero__badge{background:var(--color-primary-bg);border-color:var(--border-color);color:var(--color-primary)}.light-theme .demo-hero__meta-item{color:var(--text-secondary)}.light-theme .demo-hero__btn--ghost{background:var(--surface-3);border-color:var(--border-color);color:var(--text-primary)}.light-theme .demo-hero__btn--ghost:hover{background:var(--surface-4);border-color:var(--border-strong)}.light-theme .demo-hero__cta .dashboard-system__download{background:var(--surface-3);border-color:var(--border-color)}.light-theme .demo-hero__cta .dashboard-system__download:hover{background:var(--surface-4);border-color:var(--border-strong)}.google-play-link{display:inline-flex;align-items:center;justify-content:center;max-width:280px;min-height:56px;padding:8px 12px;border-radius:12px;text-decoration:none;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;transition:transform var(--duration-micro) var(--ease-spring),border-color var(--duration-micro) var(--ease-standard),background var(--duration-micro) var(--ease-standard),box-shadow var(--duration-micro) var(--ease-standard)}.google-play-link img{height:40px;width:auto;max-width:100%;display:block;border-radius:8px}.google-play-link:hover{transform:translateY(-2px);border-color:#00bcd459;background:#00bcd414;box-shadow:0 10px 24px #00bcd433}@media (max-width: 640px){.demo-hero__cta{flex-direction:column;align-items:flex-start;width:100%}.demo-hero__btn,.dashboard-system__download{width:100%;max-width:320px;justify-content:center}}.live-ecosystem{padding:0 1rem 4rem;margin-top:-2rem;position:relative;z-index:10}.ecosystem-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:2rem;padding:3rem;display:grid;grid-template-columns:1fr;gap:3rem;box-shadow:0 20px 40px -10px #00000026;overflow:hidden;position:relative}@media (min-width: 992px){.ecosystem-card{grid-template-columns:1.2fr .8fr;align-items:center}}.ecosystem-card:before{content:"";position:absolute;top:0;right:0;width:300px;height:300px;background:radial-gradient(circle,rgba(0,188,212,.08) 0%,transparent 70%);pointer-events:none}.ecosystem-title{font-size:2rem;font-weight:800;margin:0 0 1rem;color:var(--text-primary);display:flex;align-items:center;gap:.75rem}.ecosystem-title .icon-pulse{color:var(--cyan-500);animation:ecosystem-spin 4s linear infinite}@keyframes ecosystem-spin{to{transform:rotate(360deg)}}.ecosystem-desc{color:var(--text-secondary);font-size:1.1rem;line-height:1.6;margin:0 0 2rem}.step-list{display:flex;flex-direction:column;gap:1.5rem}.step-item{display:flex;align-items:center;gap:1rem}.step-num{background:var(--bg-primary);color:var(--cyan-500);width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;border:1px solid var(--border-color);flex-shrink:0}.step-item p{margin:0;color:var(--text-primary);font-weight:500}.login-glass-panel{background:#ffffff08;border:1px solid var(--border-color);padding:2rem;border-radius:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-glass-panel h3{margin:0 0 4px;font-size:1.3rem;font-weight:700;color:var(--text-primary)}.login-glass-panel__subtitle{font-size:.9rem;color:var(--text-secondary);margin:0 0 1.5rem}.demo-credentials{background:var(--bg-primary);border-radius:.75rem;padding:1rem;margin:0 0 1.5rem;border:1px dashed var(--border-color)}.credential-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;font-family:JetBrains Mono,Fira Code,monospace;font-size:.9rem;color:var(--text-secondary)}.credential-row .material-symbols-outlined{font-size:18px;color:var(--text-tertiary)}.copy-btn{margin-left:auto;background:none;border:none;color:var(--cyan-500);cursor:pointer;opacity:.7;padding:4px;border-radius:4px;display:inline-flex;transition:opacity var(--duration-micro) var(--ease-standard),color var(--duration-micro) var(--ease-standard)}.copy-btn .material-symbols-outlined{font-size:18px;color:inherit}.copy-btn:hover{opacity:1}.copy-btn--copied{color:#4caf50;opacity:1}.btn-login-full{display:flex;justify-content:center;align-items:center;width:100%;padding:1rem;background:var(--cyan-500);color:var(--dark-bg);border-radius:.75rem;font-weight:600;gap:.5rem;text-decoration:none;transition:background var(--duration-micro) var(--ease-standard),transform var(--duration-micro) var(--ease-spring),box-shadow var(--duration-micro) var(--ease-standard)}.btn-login-full .material-symbols-outlined{font-size:20px}.btn-login-full:hover{background:var(--cyan-a200);transform:translateY(-2px);box-shadow:0 4px 12px #00bcd44d}.light-theme .ecosystem-card{box-shadow:0 20px 40px -10px #00000014}.light-theme .login-glass-panel{background:#00000005}.light-theme .btn-login-full{color:#fff}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary);position:relative;overflow:hidden;padding:1rem}.login-page__aurora{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(0,188,212,.1) 0%,transparent 60%);animation:login-aurora-rotate 20s linear infinite;z-index:0;pointer-events:none}@keyframes login-aurora-rotate{to{transform:rotate(360deg)}}.login-page__card{position:relative;z-index:10;width:100%;max-width:420px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1.5rem;padding:3rem 2rem;box-shadow:0 25px 50px -12px #00000040;text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:login-fade-in-up .5s ease-out forwards}@keyframes login-fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-page__header{margin-bottom:2.5rem}.login-page__header h1{font-size:1.75rem;font-weight:700;margin:0 0 .5rem;color:var(--text-primary)}.login-page__header p{color:var(--text-secondary);font-size:1rem;margin:0}.login-page__logo{width:64px;height:64px;margin:0 auto 1.5rem;background:var(--bg-primary);border-radius:1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 6px -1px #0000001a}.login-page__logo img{width:40px;height:40px;object-fit:contain}.login-page__social{display:flex;flex-direction:column;gap:1rem;margin-bottom:2.5rem}.btn-social{display:flex;align-items:center;justify-content:center;width:100%;height:3.25rem;border-radius:.75rem;font-weight:500;font-size:1rem;cursor:pointer;position:relative;border:none;transition:background-color var(--duration-micro) var(--ease-standard),box-shadow var(--duration-micro) var(--ease-standard),transform var(--duration-micro) var(--ease-spring)}.btn-social:disabled{opacity:.6;cursor:not-allowed}.btn-social__icon{position:absolute;left:1rem;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.btn-social__icon img,.btn-social__icon svg{width:100%;height:100%}.btn-social__label{font-weight:500}.btn-social__loader{position:absolute;right:1rem;width:18px;height:18px;border:2px solid rgba(0,0,0,.15);border-top-color:currentColor;border-radius:50%;animation:login-spinner .6s linear infinite}@keyframes login-spinner{to{transform:rotate(360deg)}}.btn-social--google{background-color:#fff;color:#1f2937;border:1px solid #e5e7eb}.btn-social--google:hover:not(:disabled){background-color:#f9fafb;box-shadow:0 1px 3px #0000001a;transform:translateY(-1px)}.btn-social--google .btn-social__loader{border-color:#1f293726;border-top-color:#1f2937}.btn-social--facebook{background-color:#1877f2;color:#fff}.btn-social--facebook svg{color:#fff}.btn-social--facebook:hover:not(:disabled){background-color:#166fe5;box-shadow:0 4px 12px #1877f24d;transform:translateY(-1px)}.btn-social--facebook .btn-social__loader{border-color:#ffffff40;border-top-color:#fff}.login-page__footer{text-align:center}.login-page__terms{font-size:.75rem;color:var(--text-tertiary);line-height:1.5;margin:0 0 1.5rem}.login-page__terms a{color:var(--text-secondary);text-decoration:underline;transition:color var(--duration-micro) var(--ease-standard)}.login-page__terms a:hover{color:var(--cyan-500)}.login-page__divider{height:1px;background:var(--border-color);margin:0 0 1.5rem;opacity:.5}.login-page__back{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);text-decoration:none;font-size:.9rem;font-weight:500;transition:color var(--duration-micro) var(--ease-standard)}.login-page__back .material-symbols-outlined{font-size:1.1rem}.login-page__back:hover{color:var(--cyan-500)}.light-theme .login-page__card{box-shadow:0 25px 50px -12px #0000001a}.light-theme .btn-social--google{border-color:#d1d5db}.dashboard-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh;background:var(--bg-primary)}.dashboard-sidebar{position:sticky;top:0;height:100vh;padding:18px 20px 24px;background:var(--bg-secondary);border-right:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;gap:20px}.dashboard-sidebar__logo{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--text-primary)}.dashboard-sidebar__logo img{width:32px;height:32px}.dashboard-sidebar__logo-text{font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.dashboard-nav{display:flex;flex-direction:column;gap:8px}.dashboard-nav__item{position:relative;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:16px;background:transparent;border:none;color:var(--text-secondary);text-decoration:none;font-size:1rem;font-weight:500;cursor:pointer;transition:background var(--duration-micro) var(--ease-standard),color var(--duration-micro) var(--ease-standard)}.dashboard-nav__item .material-symbols-outlined{font-size:22px;font-variation-settings:"FILL" 0,"wght" 400}.dashboard-nav__item.is-active{background:#00bcd41f;color:var(--text-primary);font-weight:700}.dashboard-nav__item.is-active .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 600;color:var(--cyan-400)}.dashboard-nav__item.is-active:before{content:"";position:absolute;left:0;top:20%;width:4px;height:60%;border-radius:999px;background:var(--cyan-400)}.dashboard-nav__item.is-disabled{opacity:.5;cursor:not-allowed}.dashboard-fab{margin-top:8px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;border-radius:18px;border:none;background:var(--cyan-500);color:var(--dark-bg);font-weight:700;box-shadow:0 12px 28px #00bcd44d;cursor:pointer;transition:transform var(--duration-micro) var(--ease-spring)}.dashboard-fab .material-symbols-outlined{font-size:20px}.dashboard-fab:hover{transform:translateY(-2px)}.dashboard-fab__label{white-space:nowrap}.dashboard-profile{margin-top:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;border-radius:16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.dashboard-profile__avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.dashboard-profile__meta{display:flex;flex-direction:column;gap:2px}.dashboard-profile__name{font-weight:600;color:var(--text-primary)}.dashboard-profile__role{font-size:.8rem;color:var(--text-tertiary)}.dashboard-profile__menu{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer}.dashboard-content{min-height:100vh;display:flex;background:var(--bg-primary)}.dashboard-feed{flex:1;height:100vh;overflow-y:auto;display:flex;flex-direction:column;position:relative}.dashboard-feed__header{position:sticky;top:0;z-index:5;width:100%;max-width:1120px;margin-inline:auto;padding:24px 32px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--glass-bg);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between;gap:24px}.dashboard-feed__header h1{margin:0 0 4px;font-size:1.4rem;font-weight:700;color:var(--text-primary)}.dashboard-feed__header p{margin:0;color:var(--text-secondary);font-size:.95rem}.dashboard-feed__actions{display:flex;gap:8px}.dashboard-feed__filter{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:transparent;color:var(--text-secondary);font-size:.85rem;cursor:pointer}.dashboard-tasks-map{flex:1;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:18px;padding:24px 32px 40px;animation:dashboard-fade .4s ease-out}.dashboard-tasks-map__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dashboard-tasks-map__header h1{margin:0;font-size:1.5rem;color:var(--text-primary)}.dashboard-tasks-map__header p{margin:6px 0 0;color:var(--text-secondary)}.dashboard-tasks-map__back{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;text-decoration:none;color:var(--text-primary);border:1px solid rgba(255,255,255,.12);background:#ffffff08}.dashboard-tasks-map__layout{display:grid;grid-template-columns:1fr;gap:14px}.dashboard-tasks-map__panel,.dashboard-tasks-map__map-card{border-radius:20px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 24px #0000002e}.dashboard-tasks-map__panel{padding:16px;display:flex;flex-direction:column;gap:10px;min-height:220px}.dashboard-tasks-map__panel h2{margin:0;color:var(--text-primary);font-size:1rem}.dashboard-tasks-map__panel strong{color:var(--text-primary);font-size:.95rem}.dashboard-tasks-map__panel span,.dashboard-tasks-map__panel small{color:var(--text-secondary);font-size:.84rem}.dashboard-tasks-map__list{display:grid;gap:8px;max-height:300px;overflow-y:auto}.dashboard-tasks-map__item{display:grid;gap:10px;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff05}.dashboard-tasks-map__item--interactive{cursor:pointer;transition:border-color var(--duration-micro) var(--ease-standard),background var(--duration-micro) var(--ease-standard),transform var(--duration-micro) var(--ease-standard)}.dashboard-tasks-map__item--interactive:hover{transform:translateY(-1px);border-color:#00bcd440;background:#00bcd414}.dashboard-tasks-map__item--interactive:focus-visible{outline:2px solid rgba(0,188,212,.5);outline-offset:2px}.dashboard-tasks-map__item-header{display:flex;justify-content:space-between;gap:10px}.dashboard-tasks-map__item-header strong{color:var(--text-primary);font-size:.95rem}.dashboard-tasks-map__item-header span{color:var(--text-secondary);font-size:.8rem;white-space:nowrap}.dashboard-tasks-map__item-body{display:grid;gap:4px}.dashboard-tasks-map__item-body small{color:var(--text-secondary);font-size:.83rem;line-height:1.35}.dashboard-tasks-map__route-link{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:6px 10px;border-radius:999px;border:1px solid rgba(0,188,212,.34);background:#00bcd41f;color:var(--cyan-200);font-size:.78rem;font-weight:600;text-decoration:none}.dashboard-tasks-map__route-link .material-symbols-outlined{font-size:1rem}.dashboard-tasks-map__route-link:hover{background:#00bcd42e}.dashboard-tasks-map__map-card{padding:12px;min-height:68vh}.dashboard-tasks-map__map{display:block;width:100%;height:100%;min-height:64vh;border-radius:14px;overflow:hidden}.dashboard-tasks-map__error{margin:0;color:var(--error)}.dashboard-feed__filter.is-active{background:#00bcd42e;color:var(--cyan-200);border-color:#00bcd466}.dashboard-feed__content{width:100%;max-width:1120px;margin-inline:auto;padding:24px 32px 40px;display:flex;flex-direction:column;gap:16px;animation:dashboard-fade .4s ease-out}.dashboard-feed__new{align-self:center;border:1px solid rgba(0,188,212,.35);background:#00bcd424;color:var(--cyan-200);border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:600;cursor:pointer}.dashboard-feed__new:hover{background:#00bcd433}.dashboard-card{padding:20px 24px;border-radius:20px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 24px #0003}.dashboard-card h3{margin:12px 0 8px;font-size:1.1rem;color:var(--text-primary)}.dashboard-card p{margin:0;color:var(--text-secondary);line-height:1.6}.dashboard-feed-card{width:100%;max-width:920px;margin-inline:auto;padding:16px;border-radius:20px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 24px #0000002e;display:grid;gap:12px}.dashboard-skeletons,.dashboard-feed__state,.dashboard-sentinel{width:100%;max-width:920px;margin-inline:auto}.dashboard-feed-card--interactive{cursor:pointer;transition:transform var(--duration-micro) var(--ease-standard),border-color var(--duration-micro) var(--ease-standard),box-shadow var(--duration-micro) var(--ease-standard)}.dashboard-feed-card--interactive:hover{transform:translateY(-1px);border-color:#00bcd447;box-shadow:0 14px 28px #0000003d}.dashboard-feed-card--interactive:focus-visible{outline:2px solid rgba(0,188,212,.5);outline-offset:2px}.dashboard-feed-card__header{display:flex;gap:12px}.dashboard-feed-card__avatar{width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#00bcd424;color:var(--cyan-300);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-feed-card__avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.dashboard-feed-card__meta{min-width:0;display:grid;gap:2px}.dashboard-feed-card__identity{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--text-tertiary);font-size:.9rem}.dashboard-feed-card__identity strong{color:var(--text-primary);font-weight:700}.dashboard-feed-card__dot{opacity:.65}.dashboard-feed-card__status{color:var(--cyan-300);font-size:.8rem;font-weight:600}.dashboard-feed-card__body{padding-left:56px;display:grid;gap:10px}.dashboard-feed-card__body h3{margin:0;color:var(--text-primary);font-size:1.02rem;line-height:1.4}.dashboard-feed-card__body p{margin:0;color:var(--text-secondary);line-height:1.6}.dashboard-feed-card__details{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:.9rem}.dashboard-feed-card__details strong{color:var(--text-primary)}.dashboard-feed-card__details-main{display:grid;gap:6px}.dashboard-feed-card__map-link{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid rgba(0,188,212,.35);background:#00bcd41f;color:var(--cyan-300);text-decoration:none;font-weight:600;white-space:nowrap}.dashboard-feed-card__map-link .material-symbols-outlined{font-size:18px}.dashboard-feed-card__media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.1);max-height:340px}.dashboard-feed-card__media img{width:100%;height:100%;object-fit:cover;display:block;background:#ffffff0a}.dashboard-feed-card__media-item{position:relative;width:100%;height:160px;overflow:hidden;background:#ffffff08}.dashboard-feed-card__media-item img{opacity:1;transition:opacity var(--duration-micro) var(--ease-standard)}.dashboard-feed-card__media-item.is-loading:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ffffff08,#ffffff17,#ffffff08);background-size:200% 100%;animation:dashboard-shimmer 1.4s ease infinite;z-index:1}.dashboard-feed-card__media-item.is-loading img{opacity:0}.dashboard-feed-card__media--one{grid-template-columns:1fr}.dashboard-feed-card__media--one .dashboard-feed-card__media-item{height:240px}.dashboard-feed-card__media--two{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-feed-card__media--two .dashboard-feed-card__media-item{height:180px}.dashboard-feed-card__media--three{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-feed-card__media--three .dashboard-feed-card__media-item{height:145px}.dashboard-feed-card__media--three .dashboard-feed-card__media-item:nth-child(3){grid-column:1/-1}.dashboard-feed-card__media--many{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-feed-card__media--many .dashboard-feed-card__media-item{height:96px}.dashboard-card__meta{display:flex;align-items:center;justify-content:space-between;color:var(--text-tertiary);font-size:.8rem}.dashboard-card__tag{padding:4px 10px;border-radius:999px;background:#00bcd426;color:var(--cyan-200);font-weight:600}.dashboard-sentinel{height:1px}.dashboard-skeletons{display:grid;gap:12px}.dashboard-skeleton{height:88px;border-radius:18px;background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a);background-size:200% 100%;animation:dashboard-shimmer 1.6s ease infinite}.dashboard-feed__state{padding:20px 24px;border-radius:20px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.06);display:grid;gap:10px}.dashboard-feed__state h3{margin:0;font-size:1rem;color:var(--text-primary)}.dashboard-feed__state p{margin:0;color:var(--text-secondary);line-height:1.5}.dashboard-feed__retry{justify-self:start;border:1px solid rgba(0,188,212,.35);background:#00bcd424;color:var(--cyan-200);border-radius:999px;padding:8px 14px;font-size:.85rem;cursor:pointer}.dashboard-feed__retry:disabled{opacity:.6;cursor:not-allowed}.dashboard-feed__fab{position:fixed;right:32px;bottom:28px;z-index:15;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:999px;padding:12px 16px;background:var(--cyan-500);color:var(--dark-bg);font-weight:700;text-decoration:none;box-shadow:0 12px 28px #00bcd44d;transition:transform var(--duration-micro) var(--ease-spring)}.dashboard-feed__fab .material-symbols-outlined{font-size:20px}.dashboard-feed__fab:hover{transform:translateY(-2px)}.dashboard-bottom-nav{display:none}.dashboard-settings{flex:1;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:24px;padding:24px 32px 40px;animation:dashboard-fade .4s ease-out}.dashboard-settings__header{display:flex;align-items:center;justify-content:space-between;gap:20px}.dashboard-settings__header h1{margin:0 0 6px;font-size:1.6rem;font-weight:700;color:var(--text-primary)}.dashboard-settings__header p{margin:0;color:var(--text-secondary)}.dashboard-settings__status{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:#00bcd41f;border:1px solid rgba(0,188,212,.3);color:var(--cyan-200);font-weight:600}.dashboard-settings__status .material-symbols-outlined{font-size:20px}.dashboard-settings__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dashboard-settings__card{padding:20px 22px;border-radius:20px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 24px #0000002e;display:flex;flex-direction:column;gap:16px}.dashboard-settings__card--placeholder{opacity:.8}.dashboard-settings__card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dashboard-settings__card-header h2{margin:0 0 6px;font-size:1.2rem;color:var(--text-primary)}.dashboard-settings__card-header p{margin:0;color:var(--text-secondary)}.dashboard-settings__card-header .material-symbols-outlined{font-size:26px;color:var(--cyan-200)}.dashboard-settings__options{display:grid;gap:12px}.dashboard-settings__option{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:16px;background:#ffffff05;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary);text-align:left;cursor:pointer;transition:border var(--duration-micro) var(--ease-standard),background var(--duration-micro) var(--ease-standard),color var(--duration-micro) var(--ease-standard),transform var(--duration-micro) var(--ease-spring)}.dashboard-settings__option .material-symbols-outlined{font-size:22px}.dashboard-settings__option:hover{border-color:#00bcd466;transform:translateY(-1px)}.dashboard-settings__option.is-active{background:#00bcd41f;border-color:#00bcd473;color:var(--text-primary)}.dashboard-settings__option-title{font-weight:700;color:inherit;display:block}.dashboard-settings__option-meta{display:block;font-size:.85rem;color:var(--text-tertiary)}.dashboard-settings__hint{margin:0;color:var(--text-tertiary);font-size:.9rem}.dashboard-settings__placeholder{display:flex;flex-direction:column;gap:12px;color:var(--text-secondary)}.dashboard-settings__ghost{align-self:flex-start;padding:10px 16px;border-radius:999px;border:1px dashed rgba(255,255,255,.2);background:transparent;color:var(--text-tertiary);font-weight:600}.dashboard-analytics{flex:1;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:20px;padding:24px 32px 40px;animation:dashboard-fade .4s ease-out}.dashboard-analytics__header{display:flex;align-items:center;justify-content:space-between;gap:20px}.dashboard-analytics__header h1{margin:0 0 6px;font-size:1.6rem;color:var(--text-primary)}.dashboard-analytics__header p{margin:0;color:var(--text-secondary)}.dashboard-analytics__status{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.12);color:var(--text-secondary);background:#ffffff08;animation:none;transition:none}.dashboard-analytics__status .material-symbols-outlined{font-size:20px;animation:none;transition:none}.dashboard-analytics__status.is-connected{border-color:#00bcd466;color:var(--cyan-200);background:#00bcd41f}.dashboard-analytics__status.is-connecting,.dashboard-analytics__status.is-reconnecting{border-color:#ffffff38;color:var(--text-primary)}.dashboard-analytics__status.is-error,.dashboard-analytics__status.is-disconnected{border-color:color-mix(in srgb,var(--error) 55%,transparent);color:var(--error);background:color-mix(in srgb,var(--error) 18%,transparent)}.dashboard-analytics__kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dashboard-analytics__kpi-card{padding:16px 18px;border-radius:16px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 24px #0003}.dashboard-analytics__kpi-card h3{margin:0 0 8px;font-size:.9rem;color:var(--text-tertiary);font-weight:600}.dashboard-analytics__kpi-card p{margin:0;color:var(--text-primary);font-weight:700;font-size:1.25rem}.dashboard-analytics__charts{display:grid;grid-template-columns:1fr;gap:14px}.dashboard-analytics__chart-card{padding:16px 18px;border-radius:18px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 24px #0003}.dashboard-analytics__chart-card h3{margin:0 0 6px;color:var(--text-primary);font-size:1rem}.dashboard-analytics__chart-card p{margin:0;color:var(--text-secondary);font-size:.9rem}.dashboard-analytics__chart-canvas{margin-top:14px;height:260px}.dashboard-analytics__footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:var(--text-secondary);font-size:.9rem}.dashboard-analytics__retry{margin-left:auto;padding:8px 14px;border-radius:999px;border:1px solid rgba(0,188,212,.4);background:#00bcd41a;color:var(--cyan-200);font-weight:600;cursor:pointer;animation:none;transition:none}.dashboard-system{flex:1;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:20px;padding:24px 32px 40px;animation:dashboard-fade .4s ease-out}.dashboard-system__hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-radius:20px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 24px #0000002e}.dashboard-system__hero h1{margin:0 0 6px;font-size:1.6rem;color:var(--text-primary)}.dashboard-system__hero p{margin:0;color:var(--text-secondary);max-width:64ch}.dashboard-system__hero--compact{padding:14px 18px;align-items:flex-start}.dashboard-system__hero--compact .dashboard-system__hero-logo{width:54px;height:54px}.dashboard-system__hero--compact h1{margin-bottom:2px;font-size:1.35rem}.dashboard-system__hero--compact p{max-width:70ch}.dashboard-system__hero-toggle{margin-top:6px;display:inline-flex;align-items:center;gap:6px;width:fit-content;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 10px;background:#ffffff08;color:var(--text-primary);font-size:.78rem;font-weight:600;cursor:pointer}.dashboard-system__hero-toggle .material-symbols-outlined{font-size:16px}.dashboard-system__hero-toggle:hover{border-color:#00bcd459;background:#00bcd41f}.dashboard-system__download{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:320px;border-radius:16px;padding:0;text-decoration:none;border:1px solid rgba(255,255,255,.08);background:#ffffff08;transition:border var(--duration-micro) var(--ease-standard),background var(--duration-micro) var(--ease-standard),transform var(--duration-micro) var(--ease-spring)}.dashboard-system__download img{width:100%;height:auto;display:block}.dashboard-system__download:hover{border-color:#00bcd459;background:#00bcd41a;transform:translateY(-1px)}.dashboard-system__download-block{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px;border-radius:16px;border:1px solid rgba(0,188,212,.28);background:#00bcd414}.dashboard-system__download-copy{margin:0;font-size:.86rem;font-weight:700;letter-spacing:.01em;text-transform:none;color:var(--text-primary);text-align:center}.dashboard-system__request-copy{margin:4px 0 0;font-size:.8rem;font-weight:600;color:var(--text-secondary);text-align:center}.dashboard-system__request-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:320px;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#ffffff0a;color:var(--text-primary);text-decoration:none;font-size:.92rem;font-weight:700;transition:border-color var(--duration-micro) var(--ease-standard),background var(--duration-micro) var(--ease-standard),transform var(--duration-micro) var(--ease-spring)}.dashboard-system__request-link .material-symbols-outlined{font-size:18px;font-variation-settings:"FILL" 1;color:var(--cyan-300)}.dashboard-system__request-link:hover{border-color:#00bcd466;background:#00bcd41f;transform:translateY(-1px)}.dashboard-system__hero-intro{display:flex;flex-direction:column;gap:10px}.dashboard-system__hero-logo{width:72px;height:72px;object-fit:contain;display:block}.dashboard-system__qr-space{width:100%;max-width:260px;padding:10px;border-radius:14px;border:1px dashed rgba(255,255,255,.2);background:#ffffff05;display:flex;flex-direction:column;gap:12px;align-items:center}.dashboard-system__qr-box{width:112px;height:112px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;display:inline-flex;align-items:center;justify-content:center}.dashboard-system__qr-box .material-symbols-outlined{font-size:56px;color:var(--cyan-300)}.dashboard-system__qr-meta{display:flex;flex-direction:column;gap:4px;align-items:center}.dashboard-system__qr-title{margin:0;font-size:.86rem;font-weight:700;color:var(--text-primary)}.dashboard-system__qr-hint{margin:0;font-size:.76rem;color:var(--text-tertiary);text-align:center}.dashboard-system__tabs{--mdc-tab-indicator-active-indicator-color: var(--cyan-500);--mat-tab-header-active-label-text-color: var(--cyan-300);--mat-tab-header-inactive-label-text-color: var(--text-secondary);--mat-tab-header-active-ripple-color: rgba(0, 188, 212, .24);--mat-tab-header-inactive-ripple-color: rgba(255, 255, 255, .1);border-radius:20px;border:1px solid rgba(255,255,255,.06);background:#ffffff04;box-shadow:0 10px 24px #00000029;overflow:hidden}.dashboard-system__tabs .mat-mdc-tab-header{border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff04;padding:0 8px}.dashboard-system__tabs .mat-mdc-tab{min-width:132px;font-weight:600;letter-spacing:.01em}.dashboard-system__tabs .mat-mdc-tab.mdc-tab--active{background:#00bcd414}.dashboard-system__tabs .mat-mdc-tab:focus-visible{outline:2px solid var(--cyan-500);outline-offset:-2px}.dashboard-system__tabs .mat-mdc-tab-body-wrapper{padding:20px}.dashboard-system__tab-panel{display:flex;flex-direction:column;gap:16px;animation:dashboard-tab-fade .3s var(--ease-emphasized) both}.dashboard-system__overview-copy{margin:0;padding:8px 2px 2px;color:var(--text-secondary);line-height:1.6;max-width:74ch}.dashboard-system-card{padding:20px 22px;border-radius:20px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 24px #0000002e;display:flex;flex-direction:column;gap:14px}.dashboard-system-card p{margin:0;color:var(--text-secondary);line-height:1.6}.dashboard-system-card ul{margin:0;padding-left:18px;color:var(--text-secondary);display:grid;gap:8px}.dashboard-system-card ul li{animation:dashboard-item-fade .32s var(--ease-emphasized) both}.dashboard-system-card ul li:nth-child(1){animation-delay:40ms}.dashboard-system-card ul li:nth-child(2){animation-delay:90ms}.dashboard-system-card ul li:nth-child(3){animation-delay:.14s}.dashboard-system-card__section{display:grid;gap:10px;padding-top:6px;border-top:1px solid rgba(255,255,255,.06)}.dashboard-system-card__section h3,.dashboard-system-card__section h4{margin:0;color:var(--text-primary)}.dashboard-system-card__section h3{font-size:1rem}.dashboard-system-card__section h4{margin-top:2px;font-size:.88rem;color:var(--cyan-200);letter-spacing:.01em}.dashboard-system-card__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.dashboard-system-card__header h2{margin:0;font-size:1.1rem;color:var(--text-primary)}.dashboard-system-card__header .material-symbols-outlined{font-size:24px;color:var(--cyan-300)}.dashboard-system-sync{padding:20px 22px;border-radius:20px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 24px #0000002e}.dashboard-system-sync h2{margin:0 0 8px;font-size:1.1rem;color:var(--text-primary)}.dashboard-system-sync p{margin:0;color:var(--text-secondary)}.dashboard-system-sync ol{margin:14px 0 0;padding-left:20px;color:var(--text-secondary);display:grid;gap:8px}.dashboard-system-sync ol li{animation:dashboard-item-fade .32s var(--ease-emphasized) both}.dashboard-system-sync ol li:nth-child(1){animation-delay:40ms}.dashboard-system-sync ol li:nth-child(2){animation-delay:90ms}.dashboard-system-sync ol li:nth-child(3){animation-delay:.14s}.dashboard-system-sync--overview{margin-top:2px}@keyframes dashboard-tab-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes dashboard-item-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.dashboard-system__tab-panel,.dashboard-system-card ul li,.dashboard-system-sync ol li{animation:none;opacity:1;transform:none}}.no-motion .dashboard-system__tab-panel,.no-motion .dashboard-system-card ul li,.no-motion .dashboard-system-sync ol li{animation:none;opacity:1;transform:none}.dashboard-task-create,.dashboard-task-map,.dashboard-task-detail{position:relative;flex:1;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:20px;padding:24px 32px 40px;animation:dashboard-fade .4s ease-out}.dashboard-task-create__header,.dashboard-task-map__header,.dashboard-task-detail__header,.dashboard-tasks-map__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dashboard-task-create__header h1,.dashboard-task-map__header h1,.dashboard-task-detail__header h1,.dashboard-tasks-map__header h1{margin:0;font-size:1.5rem;color:var(--text-primary)}.dashboard-task-create__header p,.dashboard-task-map__header p,.dashboard-task-detail__header p,.dashboard-tasks-map__header p{margin:8px 0 0;color:var(--text-secondary);max-width:68ch}.dashboard-task-create__back,.dashboard-task-map__back,.dashboard-task-detail__back,.dashboard-tasks-map__back{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;text-decoration:none;color:var(--text-primary);border:1px solid rgba(255,255,255,.12);background:#ffffff08}.dashboard-task-create__card,.dashboard-task-map__card,.dashboard-task-detail__card{border-radius:20px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 24px #0000002e;padding:22px}.dashboard-task-create__card{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dashboard-task-create--locked{overflow:hidden}.dashboard-task-create__overlay{position:fixed;inset:0;z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:20px;background:#050a1094;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dashboard-task-create__overlay-card{width:min(460px,100%);border-radius:16px;border:1px solid rgba(255,255,255,.12);background:var(--bg-elevated);box-shadow:0 18px 42px #00000038;padding:22px 20px;display:grid;gap:14px;justify-items:center;text-align:center}.dashboard-task-create__overlay-card p{margin:0;color:var(--text-primary);font-size:1rem;font-weight:600}.dashboard-task-create__overlay-icon{color:var(--cyan-400);font-size:2.1rem}.dashboard-task-create__overlay-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.16);border-top-color:var(--cyan-400);border-radius:999px;animation:login-spinner .7s linear infinite}.dashboard-task-create__overlay-progress{width:min(320px,100%);height:8px;border-radius:999px;overflow:hidden;background:#ffffff1a}.dashboard-task-create__overlay-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(135deg,var(--cyan-500),var(--cyan-300));transition:width var(--duration-micro) var(--ease-standard)}.dashboard-task-create__overlay--success .dashboard-task-create__overlay-card{border-color:#00bcd452}.dashboard-task-create__overlay--error .dashboard-task-create__overlay-card{border-color:var(--color-error)}.dashboard-task-create__overlay--error .dashboard-task-create__overlay-icon{color:var(--color-error)}.dashboard-task-create__overlay-actions{display:flex;gap:12px;width:100%;justify-content:center}.dashboard-task-create__overlay-action{border:none;border-radius:var(--radius-full);padding:10px 18px;font-size:.9rem;font-weight:700;cursor:pointer;transition:transform var(--duration-micro) var(--ease-standard),box-shadow var(--duration-micro) var(--ease-standard),border-color var(--duration-micro) var(--ease-standard),opacity var(--duration-micro) var(--ease-standard)}.dashboard-task-create__overlay-action:hover{transform:translateY(-1px)}.dashboard-task-create__overlay-action--retry{color:var(--dark-bg);background:linear-gradient(135deg,var(--cyan-500),var(--cyan-a200));box-shadow:var(--shadow-sm)}.dashboard-task-create__overlay-action--close{color:var(--text-primary);background:transparent;border:1px solid var(--border-subtle)}.dashboard-task-create__field{display:flex;flex-direction:column;gap:8px}.dashboard-task-create__field span{color:var(--text-secondary);font-size:.88rem}.dashboard-task-create__field input,.dashboard-task-create__field textarea{width:100%;padding:11px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff08;color:var(--text-primary);outline:none}.dashboard-task-create__field input:focus,.dashboard-task-create__field textarea:focus{border-color:#00bcd480;box-shadow:0 0 0 2px #00bcd42e}.dashboard-task-create__field--invalid input,.dashboard-task-create__field--invalid textarea{border-color:#ff5e62a6;box-shadow:0 0 0 2px #ff5e6229}.dashboard-task-create__field-error{margin:0;font-size:.8rem;color:var(--error)}.dashboard-task-create__count{display:none;align-self:flex-end;font-size:.75rem;color:var(--text-tertiary)}.dashboard-task-create__field:focus-within .dashboard-task-create__count{display:inline}.dashboard-task-create__field--full,.dashboard-task-create__location,.dashboard-task-create__images,.dashboard-task-create__check,.dashboard-task-create__error,.dashboard-task-create__actions{grid-column:1/-1}.dashboard-task-create__location{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px}.dashboard-task-create__location h2{margin:0;font-size:1rem;color:var(--text-primary)}.dashboard-task-create__location p{margin:4px 0 0;color:var(--text-secondary)}.dashboard-task-create__map-btn,.dashboard-task-create__submit,.dashboard-task-map__confirm{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer;color:var(--text-on-primary);background:linear-gradient(135deg,var(--cyan-500),var(--cyan-400))}.dashboard-task-create__images{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px}.dashboard-task-create__images-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.dashboard-task-create__images-header h2{margin:0;font-size:1rem;color:var(--text-primary)}.dashboard-task-create__upload{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);color:var(--text-secondary);cursor:pointer}.dashboard-task-create__upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.dashboard-task-create__images-grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.dashboard-task-create__image-item{margin:0;position:relative;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.12)}.dashboard-task-create__image-item img{width:100%;height:110px;object-fit:cover;display:block}.dashboard-task-create__image-item button{position:absolute;top:6px;right:6px;border:0;width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary);background:#070c12bf;cursor:pointer}.dashboard-task-create__images-empty{margin:12px 0 0;color:var(--text-tertiary)}.dashboard-task-create__check{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary)}.dashboard-task-create__error,.dashboard-task-map__error{margin:0;color:var(--error)}.dashboard-task-create__actions{display:flex;justify-content:flex-end}.dashboard-task-create__submit:disabled,.dashboard-task-map__confirm:disabled{opacity:.6;cursor:not-allowed}.dashboard-task-map__google{display:block;width:100%;height:430px;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.dashboard-task-map__coords{margin:12px 0 0;color:var(--text-secondary)}.dashboard-task-map__meta{margin:8px 0 0;color:var(--text-secondary);line-height:1.5}.dashboard-task-map__meta strong{color:var(--text-primary)}.dashboard-task-map__actions{margin-top:14px;display:flex;justify-content:flex-end}.dashboard-task-detail__card{display:grid;gap:16px}.dashboard-task-detail__state p{margin:0;color:var(--text-secondary)}.dashboard-task-detail__meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--text-tertiary);font-size:.85rem}.dashboard-task-detail__author{display:flex;align-items:center;gap:10px}.dashboard-task-detail__author-avatar{width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#00bcd424;color:var(--cyan-300);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-task-detail__author-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.dashboard-task-detail__author-meta{min-width:0;display:grid;gap:2px}.dashboard-task-detail__author-meta strong{color:var(--text-primary);font-weight:700}.dashboard-task-detail__author-meta span{color:var(--text-tertiary);font-size:.88rem}.dashboard-task-detail__status{color:var(--cyan-300);font-weight:700}.dashboard-task-detail__card>h2{margin:0;color:var(--text-primary);font-size:1.2rem}.dashboard-task-detail__card>p{margin:0;color:var(--text-secondary);line-height:1.6}.dashboard-task-detail__info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-task-detail__info-card{border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;padding:12px;display:grid;gap:8px}.dashboard-task-detail__info-card h3{margin:0;color:var(--text-primary);font-size:.92rem}.dashboard-task-detail__info-card p{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.45}.dashboard-task-detail__route-link,.dashboard-task-detail__retry{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:fit-content;border-radius:999px;border:1px solid rgba(0,188,212,.35);background:#00bcd41f;color:var(--cyan-300);text-decoration:none;font-weight:700;font-size:.82rem;padding:8px 12px}.dashboard-task-detail__retry{cursor:pointer}.dashboard-task-detail__images{display:grid;gap:10px}.dashboard-task-detail__images h3{margin:0;color:var(--text-primary);font-size:1rem}.dashboard-task-detail__images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.dashboard-task-detail__image-item{margin:0;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#ffffff05}.dashboard-task-detail__image-item img{width:100%;height:140px;object-fit:cover;display:block}.dashboard-task-detail__empty-images{margin:0;color:var(--text-tertiary)}.dashboard-task-detail__error{color:var(--error)}.dashboard-profile-page{flex:1;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:24px;padding:24px 32px 40px;animation:dashboard-fade .4s ease-out}.dashboard-profile-hero{background:var(--bg-secondary);border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 30px #00000040}.dashboard-profile-hero__banner{height:180px;background:radial-gradient(circle at 12% 18%,rgba(0,188,212,.35),transparent 55%),radial-gradient(circle at 80% 20%,rgba(32,80,255,.3),transparent 55%),linear-gradient(120deg,#0a121ce6,#040c12e6);position:relative;overflow:hidden}.dashboard-profile-hero__cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7}.dashboard-profile-hero__content{position:relative;padding:0 24px 24px;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:end}.dashboard-profile-hero__avatar{width:110px;height:110px;border-radius:24px;object-fit:cover;border:4px solid var(--bg-secondary);margin-top:-50px;background:var(--bg-secondary)}.dashboard-profile-hero__edit{position:absolute;top:16px;right:16px;padding:8px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#050a10a6;color:var(--text-primary);font-weight:600;cursor:pointer}.dashboard-profile-hero__meta{display:flex;flex-direction:column;gap:6px}.dashboard-profile-hero__meta h1{margin:0;font-size:1.6rem;font-weight:700;color:var(--text-primary)}.dashboard-profile-hero__handle{margin:0;color:var(--text-tertiary)}.dashboard-profile-hero__joined{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.9rem}.dashboard-profile-hero__joined .material-symbols-outlined{font-size:18px}.dashboard-profile-hero__stats{display:flex;gap:16px;color:var(--text-secondary);font-size:.9rem}.dashboard-profile-hero__stats strong{color:var(--text-primary);font-weight:700;margin-right:4px}.dashboard-profile-hero__stats--hidden{visibility:hidden;pointer-events:none}.dashboard-profile-page__details{display:flex;flex-direction:column;gap:20px}.dashboard-profile-card{padding:20px 22px;border-radius:20px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 24px #0000002e;display:flex;flex-direction:column;gap:16px}.dashboard-profile-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dashboard-profile-card__header h2{margin:0 0 6px;font-size:1.2rem;color:var(--text-primary)}.dashboard-profile-card__header p{margin:0;color:var(--text-secondary)}.dashboard-profile-card__header .material-symbols-outlined{font-size:26px;color:var(--cyan-200)}.dashboard-profile-page__bio{margin:0;color:var(--text-secondary);line-height:1.6}.dashboard-profile-page__info{display:grid;gap:12px}.dashboard-profile-page__info span{display:block;color:var(--text-tertiary);font-size:.8rem;margin-bottom:2px}.dashboard-profile-page__info strong{color:var(--text-primary);font-weight:600}.profile-edit{display:flex;flex-direction:column;gap:18px}.profile-edit__media{position:relative;display:grid;gap:12px}.profile-edit__cover{position:relative;height:220px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,#ffffff0f,#ffffff05)}.profile-edit__cover img{width:100%;height:100%;object-fit:cover}.profile-edit__cover .profile-edit__cover-button{position:absolute;inset:0;border:0;padding:0;background:transparent;cursor:pointer;border-radius:18px;z-index:1}.profile-edit__cover .profile-edit__cover-button:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 55%,transparent)}.profile-edit__cover .profile-edit__upload{position:absolute;right:16px;bottom:16px;z-index:2}.profile-edit__avatar{position:relative;display:flex;align-items:flex-end;gap:12px;margin-top:-52px;padding-left:18px}.profile-edit__avatar img{width:96px;height:96px;border-radius:999px;object-fit:cover;border:4px solid var(--bg-secondary);box-shadow:0 12px 24px #00000059}.profile-edit__upload{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#05080cb3;color:var(--text-primary);cursor:pointer;font-weight:600;font-size:.85rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.profile-edit__upload input{display:none}.profile-edit__upload .material-symbols-outlined{font-size:18px}.profile-edit__upload--avatar{position:absolute;left:82px;bottom:6px;width:34px;height:34px;padding:0;justify-content:center;border-radius:999px}.profile-edit__upload--avatar .profile-edit__upload-text{display:none}.profile-edit__upload-text{line-height:1}.profile-edit__form{display:grid;grid-template-columns:1fr;gap:14px}.profile-edit__field{display:flex;flex-direction:column;gap:8px;color:var(--text-secondary);font-size:.9rem}.profile-edit__field input,.profile-edit__field textarea{width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#00000040;color:var(--text-primary);font-size:.95rem;font-family:inherit;transition:border-color var(--duration-micro) var(--ease-standard),box-shadow var(--duration-micro) var(--ease-standard)}.profile-edit__field input:focus,.profile-edit__field textarea:focus{outline:none;border-color:#00bcd473;box-shadow:0 0 0 2px #00bcd41f}.profile-edit__field textarea{resize:vertical;min-height:120px}.profile-edit__field small{color:var(--text-tertiary);font-size:.75rem}.profile-edit__birthdate{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.profile-edit__select{position:relative;display:flex;flex-direction:column;gap:6px}.profile-edit__select-label{font-size:.75rem;color:var(--text-tertiary)}.profile-edit__select select{-webkit-appearance:none;appearance:none;width:100%;padding:14px 38px 12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#00000040;color:var(--text-primary);font-size:.95rem;font-family:inherit;transition:border-color var(--duration-micro) var(--ease-standard),box-shadow var(--duration-micro) var(--ease-standard)}.profile-edit__select select:focus{outline:none;border-color:#00bcd473;box-shadow:0 0 0 2px #00bcd41f}.profile-edit__select:after{content:"expand_more";font-family:Material Symbols Outlined;position:absolute;right:12px;top:50%;transform:translateY(4px);font-size:20px;color:var(--text-tertiary);pointer-events:none}.profile-edit__count{align-self:flex-end;font-size:.75rem;color:var(--text-tertiary);opacity:0;transform:translateY(-2px);transition:opacity var(--duration-micro) var(--ease-standard),transform var(--duration-micro) var(--ease-standard)}.profile-edit__field:focus-within .profile-edit__count{opacity:1;transform:translateY(0)}.profile-edit__field input[readonly]{opacity:.7;cursor:not-allowed}.profile-edit__field--full{grid-column:1/-1}.profile-edit__error{color:#ffb4ab;font-weight:600;margin:0}.profile-edit__btn{padding:10px 18px;border-radius:999px;border:none;background:var(--cyan-500);color:var(--dark-bg);font-weight:700;cursor:pointer}.profile-edit__btn:disabled{cursor:not-allowed;opacity:.7;box-shadow:none}.profile-edit__btn--header{padding:8px 18px;font-size:.9rem}.profile-edit__btn--ghost{background:#ffffff0f;color:var(--text-primary);border:1px solid rgba(255,255,255,.12)}@keyframes dashboard-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes dashboard-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 1200px){.dashboard-shell{grid-template-columns:88px 1fr}.dashboard-sidebar{padding:16px 12px 20px}.dashboard-sidebar__logo-text,.dashboard-nav__label,.dashboard-fab__label,.dashboard-profile__meta{display:none}.dashboard-profile{grid-template-columns:auto auto}}@media (max-width: 900px){.dashboard-feed__header,.dashboard-settings__header,.dashboard-analytics__header,.dashboard-system__hero,.dashboard-task-create__header,.dashboard-task-map__header,.dashboard-task-detail__header,.dashboard-tasks-map__header,.dashboard-task-create__location{flex-direction:column;align-items:flex-start}.dashboard-tasks-map__layout,.dashboard-task-create__card,.dashboard-task-detail__info-grid{grid-template-columns:1fr}.dashboard-system__tabs .mat-mdc-tab{min-width:118px}.dashboard-system__tabs .mat-mdc-tab-body-wrapper{padding:16px}.dashboard-analytics__kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-profile-hero__content{grid-template-columns:1fr}.dashboard-feed-card__body,.dashboard-feed-card__meta{padding-left:0}.dashboard-feed-card__details{flex-direction:column;align-items:flex-start}.dashboard-feed__fab{right:20px;bottom:92px;padding:12px}.dashboard-feed__fab span:not(.material-symbols-outlined){display:none}}@media (max-width: 768px){.dashboard-shell{grid-template-columns:1fr}.dashboard-sidebar{display:none}.dashboard-content{padding-bottom:72px}.dashboard-feed__header,.dashboard-feed__content,.dashboard-settings,.dashboard-analytics,.dashboard-system,.dashboard-task-create,.dashboard-task-map{padding:20px}.dashboard-system__tabs .mat-mdc-tab{min-width:104px;padding:0 8px}.dashboard-system-card,.dashboard-system-sync{padding:18px}.dashboard-task-map__google{height:360px}.dashboard-profile-page{padding:20px}.dashboard-settings__grid,.dashboard-analytics__kpis,.profile-edit__form{grid-template-columns:1fr}.dashboard-bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(6,1fr);padding:12px 16px;background:var(--bg-secondary);border-top:1px solid rgba(255,255,255,.06);z-index:20}.dashboard-bottom-nav__item{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.7rem;color:var(--text-tertiary);background:none;border:none;text-decoration:none}.dashboard-bottom-nav__item.is-active{color:var(--cyan-400)}}.tech-specs{padding:64px 0;background:var(--bg-primary)}.tech-specs__title{font-size:clamp(2rem,3vw,2.6rem);font-weight:800;text-align:center;color:var(--text-primary);margin:0 0 48px}.tech-specs__title-highlight{display:block;margin-top:8px;font-size:.95rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;background:linear-gradient(135deg,var(--cyan-200),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.specs-grid{display:grid;grid-template-columns:1fr;gap:32px;max-width:1200px;margin:0 auto}@media (min-width: 1024px){.specs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.spec-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:24px;padding:32px;position:relative;overflow:hidden;box-shadow:0 6px 18px #0000001f;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.spec-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px #0000002e;border-color:var(--color-primary)}.light-theme .spec-card{box-shadow:var(--shadow-sm)}@media (min-width: 1024px){.spec-card--mobile{grid-column:span 2}}.spec-card__header{display:flex;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.spec-card__header h3{margin:0 0 4px;color:var(--text-primary)}.spec-icon-wrapper{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.spec-icon-wrapper .material-symbols-outlined{font-size:28px}.android-glow{color:#3ddc84;background:#3ddc841f}.angular-glow{color:#dd0031;background:#dd00311f}.nest-glow{color:#e0234e;background:#e0234e1f}.spec-subtitle{color:var(--text-secondary);font-size:.9rem;font-family:SF Mono,Fira Code,Consolas,monospace;margin:0}.spec-card__body{margin-top:20px}.spec-description{margin:0 0 24px;color:var(--text-secondary);line-height:1.7}.tech-list{list-style:none;padding:0;margin:0;display:grid;gap:16px}@media (min-width: 768px){.spec-card--mobile .tech-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.tech-list li{display:flex;align-items:flex-start;gap:12px;font-size:.95rem;color:var(--text-secondary);line-height:1.5}.tech-list li strong{color:var(--text-primary);font-weight:600}.check-icon{font-size:1.25rem;color:var(--color-primary);margin-top:2px}.spec-card__footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.tech-badge{font-size:.75rem;padding:4px 12px;border-radius:999px;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);font-weight:600}.demo-metrics{display:flex;flex-direction:column;gap:24px}.demo-metrics h2{margin:0;color:var(--text-primary)}.demo-metrics__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}@media (max-width: 768px){.demo-metrics__grid{grid-template-columns:1fr}}.demo-metrics__card{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:18px;padding:20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px}.demo-metrics__value{font-size:1.8rem;font-weight:700;color:var(--text-primary)}.demo-metrics__label{font-size:.9rem;color:var(--text-secondary)}.demo-cta{text-align:center;padding:48px 24px;border-radius:24px;background:var(--surface-1);border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg)}.demo-cta h2{margin:0 0 12px;color:var(--text-primary)}.demo-cta p{margin:0 0 24px;color:var(--text-secondary)}.demo-cta__btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:14px;background:var(--cyan-500);color:var(--dark-bg);font-weight:700;text-decoration:none;box-shadow:var(--shadow-md);transition:transform var(--duration-micro) var(--ease-spring),box-shadow var(--duration-micro) var(--ease-standard),background var(--duration-micro) var(--ease-standard)}.demo-cta__btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg),0 0 24px var(--cyan-500-alpha-40);background:var(--cyan-400)}@media (prefers-reduced-motion: reduce){.login-page__aurora,.login-page__card,.btn-social__loader{animation:none}}@media (prefers-reduced-motion: reduce){.dashboard-feed__content,.dashboard-skeleton{animation:none}}@media (prefers-reduced-motion: reduce){.hero-premium__badge,.hero-premium__title,.hero-premium__subtitle,.hero-premium__cta,.hero-premium__microcopy,.stat-item,.icon-pulse{animation:none}.hero-premium__btn,.quick-link-card,.cta__button{transition:none}.hero-premium__btn:hover,.hero-premium__btn:active,.quick-link-card:hover,.quick-link-card:active,.cta__button:hover,.cta__button:active{transform:none}.floating-shapes__item{animation:none}.hero-premium__mockup{transform:none!important}.hero-premium__aurora:before,.hero-premium__aurora:after{animation:none}}@media (prefers-reduced-motion: reduce){.skills-page,.stats-card,.accordion-item,.accordion-content,.accordion-content__grid{animation:none}.accordion-header__chevron,.cta-card__button,.filter-btn,.action-btn{transition:none}.cta-card__button:hover,.cta-card__button:active,.filter-btn:hover,.filter-btn:active,.action-btn:hover,.action-btn:active{transform:none}}@media (prefers-reduced-motion: reduce){.hero-profile,.stat-card,.timeline-item__content,.info-card{animation:none}.action-btn,.contact-card,.social-btn{transition:none}.action-btn:hover,.action-btn:active,.contact-card:hover,.contact-card:active,.social-btn:hover,.social-btn:active{transform:none}}@media (prefers-reduced-motion: reduce){.legal-page,.accordion-item,.accordion-content{animation:none}.accordion-header__chevron,.footer-card__btn{transition:none}.accordion-header__chevron:hover,.accordion-header__chevron:active,.footer-card__btn:hover,.footer-card__btn:active{transform:none}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;line-height:1.6;color:var(--text-primary);background:var(--bg-primary);min-height:100vh;transition:background-color .3s ease,color .3s ease;text-rendering:optimizeLegibility}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;font-display:block;src:url(/fonts/MaterialSymbolsOutlined.woff2) format("woff2")}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;text-rendering:optimizeLegibility;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}:root{--cyan-50: #E0F7FA;--cyan-100: #B2EBF2;--cyan-200: #80DEEA;--cyan-300: #4DD0E1;--cyan-400: #26C6DA;--cyan-500: #00BCD4;--cyan-600: #00ACC1;--cyan-700: #0097A7;--cyan-800: #00838F;--cyan-900: #006064;--cyan-a100: #84FFFF;--cyan-a200: #18FFFF;--cyan-a400: #00E5FF;--neutral-50: #F5F8FA;--neutral-100: #E0E7EE;--neutral-200: #CBD5E0;--neutral-300: #A0AEC0;--neutral-400: #78909C;--neutral-500: #607D8B;--neutral-600: #4B5E6D;--neutral-700: #334155;--neutral-800: #1E293B;--neutral-900: #0F172A;--dark-bg: #0B0E14;--dark-surface: #11171F;--dark-surface-bright: #1E293B;--success: #66BB6A;--success-dark: #388E3C;--error: #EF5350;--error-dark: #D32F2F;--warning: #FFA726;--info: var(--cyan-500);--color-primary: var(--cyan-500);--color-primary-hover: var(--cyan-a400);--color-primary-pressed: var(--cyan-600);--color-primary-container: #004D5A;--color-primary-bg: var(--color-primary-container);--color-on-primary: #001F24;--color-secondary: #B0BEC5;--color-on-secondary: var(--dark-bg);--color-accent: var(--cyan-a200);--color-accent-hover: var(--cyan-a100);--bg-primary: var(--dark-bg);--bg-secondary: var(--surface-1);--bg-elevated: var(--surface-2);--bg-surface-dim: var(--dark-bg);--bg-surface-bright: var(--dark-surface-bright);--bg-input: var(--surface-2);--text-primary: #E2E8F0;--text-secondary: #CBD5E0;--text-tertiary: #94A3B8;--text-disabled: var(--neutral-600);--text-on-primary: #FFFFFF;--text-on-accent: #000000;--border-color: var(--neutral-600);--border-color-light: var(--neutral-700);--outline: var(--neutral-600);--border-subtle: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .15);--surface-0: #0B0E14;--surface-1: #151A23;--surface-2: #1E2632;--surface-3: #2A3441;--surface-4: #212A38;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 8px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .6);--shadow-xl: 0 16px 24px rgba(0, 0, 0, .7);--shadow-2xl: 0 24px 48px rgba(0, 0, 0, .8);--glow-cyan: 0 0 8px rgba(0, 229, 255, .4);--glow-cyan-strong: 0 0 16px rgba(24, 255, 255, .6);--glass-bg: rgba(11, 14, 20, .68);--glass-border: rgba(255, 255, 255, .08);--glass-blur: blur(20px);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .36);--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-decelerate: cubic-bezier(0, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-accelerate: cubic-bezier(.4, 0, 1, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-sharp: cubic-bezier(.4, 0, .6, 1);--ease-emphasized: cubic-bezier(.2, 0, 0, 1);--ease-emphasized-decelerate: cubic-bezier(.05, .7, .1, 1);--ease-emphasized-accelerate: cubic-bezier(.3, 0, .8, .15);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-spring-gentle: cubic-bezier(.5, 1.25, .75, 1);--ease-spring-snappy: cubic-bezier(.68, -.55, .265, 1.55);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--duration-micro: .15s;--duration-entrance-fast: .25s;--duration-standard: .35s;--duration-entrance: .45s;--duration-exit: .2s;--duration-complex: .6s;--duration-instant: 50ms;--duration-fast: .1s;--duration-normal: .2s;--duration-moderate: .3s;--duration-slow: .4s;--duration-slower: .5s;--duration-slowest: .7s;--transition-fast: var(--duration-fast) var(--ease-standard);--transition-normal: var(--duration-normal) var(--ease-standard);--transition-base: var(--duration-normal) var(--ease-standard);--transition-slow: var(--duration-slow) var(--ease-standard);--transition-slowest: var(--duration-slowest) var(--ease-standard);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}.light-theme{--color-primary: #00838F;--color-primary-hover: var(--cyan-700);--color-primary-pressed: var(--cyan-800);--color-primary-container: #E0F7FA;--color-primary-bg: #E0F7FA;--color-on-primary: #FFFFFF;--color-secondary: var(--neutral-500);--color-accent: #00BCD4;--color-accent-hover: var(--cyan-700);--bg-primary: #F5F7F9;--bg-secondary: #FFFFFF;--bg-elevated: #FFFFFF;--bg-surface-dim: var(--neutral-100);--bg-surface-bright: #FFFFFF;--bg-input: #F0F2F5;--text-primary: #1D1D1F;--text-secondary: #6E6E73;--text-tertiary: #86868B;--text-disabled: var(--neutral-400);--text-on-primary: #FFFFFF;--text-on-accent: #FFFFFF;--border-color: rgba(0, 0, 0, .08);--border-color-light: rgba(0, 0, 0, .04);--outline: rgba(0, 0, 0, .12);--border-subtle: rgba(0, 0, 0, .06);--border-strong: rgba(0, 0, 0, .12);--border-focus: rgba(0, 188, 212, .5);--surface-0: var(--neutral-50);--surface-1: #FFFFFF;--surface-2: #FFFFFF;--surface-3: #FAFBFC;--surface-4: #F7F9FB;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 8px rgba(0, 0, 0, .02);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -2px rgba(0, 0, 0, .025);--shadow-xl: 0 16px 24px rgba(0, 0, 0, .12);--shadow-2xl: 0 24px 48px rgba(0, 0, 0, .15);--glow-blue: 0 0 6px rgba(30, 136, 229, .25);--glow-blue-strong: 0 0 12px rgba(66, 165, 245, .4);--glass-bg: rgba(245, 247, 249, .48);--glass-border: rgba(0, 0, 0, .08);--glass-shadow: 0 12px 28px rgba(0, 0, 0, .12)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2;color:var(--text-primary);letter-spacing:-.02em}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInUp{0%{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-2rem)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-2rem)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(2rem)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.85)}60%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes scaleInBounce{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.08)}70%{transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes slideInUpBounce{0%{opacity:0;transform:translateY(40px)}60%{transform:translateY(-8px)}80%{transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDownBounce{0%{opacity:0;transform:translateY(-40px)}60%{transform:translateY(8px)}80%{transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-.5rem)}}.animate-fade-in{animation:fadeIn var(--duration-moderate) var(--ease-decelerate) both}.animate-slide-in-up{animation:slideInUp var(--duration-moderate) var(--ease-emphasized-decelerate) both}.animate-slide-in-down{animation:slideInDown var(--duration-moderate) var(--ease-emphasized-decelerate) both}.animate-slide-in-left{animation:slideInLeft var(--duration-moderate) var(--ease-emphasized-decelerate) both}.animate-slide-in-right{animation:slideInRight var(--duration-moderate) var(--ease-emphasized-decelerate) both}.animate-scale-in{animation:scaleIn var(--duration-moderate) var(--ease-emphasized-decelerate) both}.animate-scale-in-bounce{animation:scaleInBounce var(--duration-entrance) var(--ease-spring) both}.animate-slide-bounce{animation:slideInUpBounce var(--duration-entrance) var(--ease-spring-gentle) both}.animate-slide-down-bounce{animation:slideInDownBounce var(--duration-entrance) var(--ease-spring-gentle) both}.hover-lift{transition:transform var(--duration-micro) var(--ease-spring-gentle)}.hover-lift:hover{transform:translateY(-4px) scale(1.05)}.hover-lift:active{transform:translateY(0) scale(.98);transition-duration:var(--duration-exit)}.hover-scale{transition:transform var(--duration-micro) var(--ease-spring-gentle)}.hover-scale:hover{transform:scale(1.06)}.hover-scale:active{transform:scale(.98);transition-duration:var(--duration-exit)}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}.duration-fast{animation-duration:var(--duration-fast)!important}.duration-normal{animation-duration:var(--duration-normal)!important}.duration-slow{animation-duration:var(--duration-slow)!important}p{margin:0;color:var(--text-secondary);font-size:1.05rem;line-height:1.75;letter-spacing:.01em}code,pre{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.9em}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-primary-hover)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-base)}.slide-up{animation:slideUp var(--transition-slow)}.glass-panel{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg)}.text-gradient{background:linear-gradient(135deg,var(--text-primary) 30%,var(--cyan-400) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.card-premium,.skill-card,.project-card{background-color:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:transform var(--duration-standard) var(--ease-standard),box-shadow var(--duration-standard) var(--ease-standard),border-color var(--duration-standard) var(--ease-standard);overflow:hidden}.card-premium:hover,.skill-card:hover,.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#00bcd44d}.btn-glow{position:relative;overflow:hidden}.btn-glow:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.2) 0%,transparent 60%);transform:scale(0);opacity:0;transition:opacity .3s,transform .3s}.btn-glow:active:after{transform:scale(1);opacity:1;transition:0s}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--neutral-600);border-radius:var(--radius-lg)}::-webkit-scrollbar-thumb:hover{background:var(--neutral-500)}*{scrollbar-width:thin;scrollbar-color:var(--neutral-600) var(--bg-primary)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.essential-animation{animation-duration:.2s!important;transition-duration:.2s!important}}
