*,:after,:before{box-sizing:border-box}body,html{height:100%}html{color-scheme:dark}body{margin:0;padding:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-normal);color:var(--color-text);background:radial-gradient(1200px 800px at 20% -10%,rgba(34,211,238,.2),transparent 55%),radial-gradient(900px 700px at 85% 5%,rgba(124,58,237,.18),transparent 45%),linear-gradient(160deg,#05070d,#0c101c 50%,#090d16);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video{max-width:100%;height:auto;display:block}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 1.25rem}.section{padding:3.5rem 0}.section--tight{padding:2rem 0}h1,h2,h3,h4,h5,h6{margin:0 0 .75rem;line-height:var(--lh-tight);letter-spacing:-.02em;color:var(--color-text)}p{margin:0 0 1rem}small{font-size:var(--text-sm);color:var(--color-muted-soft)}code,pre{font-family:var(--font-mono)}.card{background:linear-gradient(145deg,hsla(0,0%,100%,.07),hsla(0,0%,100%,.02));border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 10px 40px rgba(0,0,0,.45),0 0 0 1px hsla(0,0%,100%,.03);backdrop-filter:blur(16px)}.glass-panel{background:linear-gradient(150deg,hsla(0,0%,100%,.07),hsla(0,0%,100%,.02));border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-xl);box-shadow:0 20px 60px rgba(0,0,0,.55),inset 0 1px 0 hsla(0,0%,100%,.07),inset 0 -1px 0 rgba(0,0,0,.15);backdrop-filter:blur(18px)}.portfolio-panel{padding:32px;border-radius:28px;border:1px solid rgba(34,211,238,.18);background:radial-gradient(700px 350px at 15% -5%,rgba(34,211,238,.14),transparent 55%),radial-gradient(600px 400px at 95% 5%,rgba(56,189,248,.1),transparent 50%),radial-gradient(500px 300px at 60% 100%,rgba(124,58,237,.08),transparent 60%),linear-gradient(160deg,rgba(10,14,24,.97),rgba(10,14,24,.8));box-shadow:0 40px 100px rgba(0,0,0,.65),inset 0 1px 0 rgba(34,211,238,.12),inset 0 -1px 0 rgba(34,211,238,.04);position:relative;overflow:hidden}.portfolio-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(400px 180px at 30% 10%,hsla(0,0%,100%,.06),transparent 60%);pointer-events:none}.portfolio-panel>*{position:relative;z-index:1}.portfolio-inner{margin-top:24px}.detail-hero{position:relative;border-radius:24px;overflow:hidden;background-color:rgba(0,0,0,.35);margin-top:2rem}.detail-hero__overlay{position:absolute;inset:0;display:flex;flex-direction:column;gap:.75rem;justify-content:flex-end;padding:2.5rem;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.85))}.detail-hero__nav{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;font-size:.75rem;color:hsla(0,0%,100%,.8)}.detail-hero__nav span{margin:0 .25rem}.detail-hero__chips{display:flex;flex-wrap:wrap;gap:.5rem}.detail-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.catalog-grid{display:grid;gap:24px;align-items:stretch}.catalog-grid--lib{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.catalog-card{border-radius:18px;border:1px solid hsla(0,0%,100%,.1);background:linear-gradient(150deg,rgba(18,24,40,.9),rgba(10,14,22,.85));padding:0;display:flex;flex-direction:column;min-height:100%;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;box-shadow:0 8px 32px rgba(0,0,0,.4);text-decoration:none}.catalog-card:hover{transform:translateY(-5px);border-color:rgba(34,211,238,.3);box-shadow:0 16px 50px rgba(0,0,0,.5),0 0 0 1px rgba(34,211,238,.12),0 0 30px rgba(34,211,238,.08)}.catalog-card:hover,.catalog-card:hover *{text-decoration:none}.catalog-card__media{border-radius:18px 18px 0 0;overflow:hidden;aspect-ratio:4/3;min-height:180px}.catalog-card__body{display:flex;flex-direction:column;gap:10px;padding:1.5rem;height:100%}.catalog-card__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.catalog-card__head-left{display:flex;align-items:center;gap:10px}.catalog-card__icon{width:38px;height:38px;border-radius:12px;background-size:cover;background-position:50%;border:1px solid hsla(0,0%,100%,.2)}.catalog-card__title{margin:0;font-size:1.4rem;font-weight:700}.catalog-card__title-link{color:inherit;text-decoration:none}.catalog-card__badge{align-self:flex-start;font-size:.6rem;letter-spacing:.18em;padding:.3rem .7rem;border-radius:999px;border:1px solid rgba(34,211,238,.28);text-transform:uppercase;color:rgba(34,211,238,.75);background:rgba(34,211,238,.06)}.catalog-card__subheading{margin:0;font-size:.85rem;color:hsla(0,0%,100%,.6)}.catalog-card__description{margin:0;color:hsla(0,0%,100%,.8);min-height:auto}.catalog-card__chips{display:flex;flex-wrap:wrap;gap:6px}.catalog-card__chip{font-size:.7rem;padding:.25rem .75rem;border-radius:999px;border:1px solid hsla(0,0%,100%,.2);background:hsla(0,0%,100%,.06)}.catalog-card__chip--muted{opacity:.7}.catalog-card__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:6px}.catalog-card__stat{display:flex;flex-direction:column;font-size:.7rem;color:hsla(0,0%,100%,.65);letter-spacing:.1em;text-transform:uppercase}.catalog-card__stat-value{font-size:1.2rem;font-weight:700;letter-spacing:.03em}.line-clamp{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-4{-webkit-line-clamp:4}.catalog-card__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}.catalog-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:12px}.pc__link-wrap{display:block;color:inherit;height:100%}.pc__link-wrap,.pc__link-wrap:hover,.pc__link-wrap:hover *{text-decoration:none}.pc{position:relative;border-radius:16px;overflow:hidden;height:100%;min-height:280px;display:flex;flex-direction:column;border:1px solid hsla(0,0%,100%,.07);background:#07080f;transition:border-color .35s ease,box-shadow .35s ease,transform .35s cubic-bezier(.22,1,.36,1);cursor:pointer}.pc:hover{border-color:rgba(125,211,252,.25);box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 0 1px rgba(125,211,252,.08);transform:translateY(-6px)}.project-card--featured{border:none;background:none;box-shadow:none;border-radius:0;transform:none!important;transition:none}.ov-wrap{display:block;text-decoration:none;color:inherit;outline-offset:4px;max-width:900px;width:100%}.ov{position:relative;display:grid;grid-template-columns:1fr 260px;gap:0;border-radius:18px;overflow:hidden;background:#07080f;box-shadow:0 0 0 1px hsla(0,0%,100%,.07),0 12px 48px rgba(0,0,0,.55);transition:box-shadow .3s ease;min-height:260px}.ov:hover{box-shadow:0 0 0 1px var(--ov-accent-border,rgba(34,211,238,.3)),0 20px 80px rgba(0,0,0,.65),0 0 60px -10px var(--ov-accent-glow,rgba(34,211,238,.08))}.ov:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--ov-accent-line,linear-gradient(90deg,rgba(34,211,238,.7),rgba(124,58,237,.5)));z-index:2;border-radius:18px 18px 0 0;opacity:.6;transition:opacity .3s ease}.ov:hover:before{opacity:1}.ov__left{position:relative;display:flex;flex-direction:column;justify-content:center;padding:36px 38px;gap:16px;z-index:1;overflow:hidden}.ov__ghost{position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-size:clamp(100px,14vw,160px);font-weight:900;font-style:italic;line-height:1;color:hsla(0,0%,100%,.03);-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;letter-spacing:-.06em;transition:color .4s ease;font-family:Georgia,Times New Roman,serif;z-index:0}.ov:hover .ov__ghost{color:var(--ov-ghost-hover,rgba(34,211,238,.055))}.ov__content{position:relative;z-index:1;display:grid;gap:14px}.ov__eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ov-accent-text,rgba(34,211,238,.6));font-family:DM Mono,Fira Code,ui-monospace,monospace}.ov__eyebrow-sep{width:24px;height:1px;background:var(--ov-accent-text,rgba(34,211,238,.4));flex-shrink:0}.ov__title{margin:0;font-size:clamp(20px,2.6vw,28px);font-weight:800;line-height:1.18;letter-spacing:-.03em;color:#f1f5f9;transition:color .2s ease}.ov:hover .ov__title{color:#fff}.ov__summary{margin:0;font-size:13.5px;line-height:1.72;color:hsla(0,0%,100%,.46);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:52ch}.ov__tech{display:flex;flex-wrap:wrap;gap:6px}.ov__tech-pill{font-family:DM Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:4px;border:1px solid hsla(0,0%,100%,.09);color:hsla(0,0%,100%,.35);background:hsla(0,0%,100%,.025);transition:border-color .2s,color .2s,background .2s}.ov:hover .ov__tech-pill{border-color:var(--ov-accent-border,rgba(34,211,238,.22));color:var(--ov-accent-text,rgba(34,211,238,.7));background:var(--ov-accent-bg,rgba(34,211,238,.04))}.ov__tech-pill--status{border-color:var(--ov-accent-border,rgba(34,211,238,.28))!important;color:var(--ov-accent-text,rgba(34,211,238,.75))!important;background:var(--ov-accent-bg,rgba(34,211,238,.06))!important}.ov__actions{gap:16px;margin-top:2px}.ov__actions,.ov__cta-primary{display:flex;align-items:center}.ov__cta-primary{font-size:13px;font-weight:600;color:#fff;text-decoration:none;gap:5px;letter-spacing:.01em;transition:color .18s;border-bottom:1px solid hsla(0,0%,100%,.25);padding-bottom:1px}.ov__cta-primary:hover{color:var(--ov-accent-text,rgba(34,211,238,.9));border-bottom-color:var(--ov-accent-text,rgba(34,211,238,.5))}.ov__cta-secondary{font-size:12px;color:hsla(0,0%,100%,.35);text-decoration:none;letter-spacing:.04em;transition:color .18s}.ov__cta-secondary:hover{color:hsla(0,0%,100%,.75)}.ov__right{position:relative;display:flex;align-items:center;justify-content:center;padding:24px 22px 24px 0;background:#07080f;overflow:visible;border-left:1px solid hsla(0,0%,100%,.05)}.ov__screen{position:relative;width:100%;border-radius:10px;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,.4),0 20px 60px rgba(0,0,0,.5),0 0 0 1px hsla(0,0%,100%,.08);transform:rotate(-1.5deg) translateY(0);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease;aspect-ratio:16/10;background:#0e0f1a}.ov:hover .ov__screen{transform:rotate(-.5deg) translateY(-10px);box-shadow:0 8px 12px rgba(0,0,0,.4),0 32px 80px rgba(0,0,0,.5),0 0 0 1px var(--ov-accent-border,rgba(34,211,238,.18))}.ov__screen-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.ov__screen:before{content:"";position:absolute;top:0;left:0;right:0;height:26px;background:hsla(0,0%,100%,.04);border-bottom:1px solid hsla(0,0%,100%,.06);z-index:1}.ov__screen:after{content:"";position:absolute;top:8px;left:10px;width:6px;height:6px;border-radius:50%;background:hsla(0,0%,100%,.18);box-shadow:11px 0 0 hsla(0,0%,100%,.12),22px 0 0 hsla(0,0%,100%,.08);z-index:2}.ov__screen-placeholder{width:100%;height:100%;min-height:160px;display:grid;place-items:center;font-size:42px;background:linear-gradient(135deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.04))}.wa-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;border-radius:12px;border:1px solid hsla(0,0%,100%,.08);background:rgba(7,8,15,.65);overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease,transform .25s cubic-bezier(.22,1,.36,1);min-height:130px}.wa-card:hover{border-color:rgba(34,211,238,.28);box-shadow:0 8px 32px rgba(0,0,0,.45),0 0 20px rgba(34,211,238,.05);transform:translateY(-4px)}.wa-card__img-wrap{position:relative;width:100%;height:160px;overflow:hidden;flex-shrink:0}.wa-card__img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .45s cubic-bezier(.22,1,.36,1),filter .3s ease;filter:brightness(.85)}.wa-card:hover .wa-card__img{transform:scale(1.04);filter:brightness(1)}.wa-card__img-overlay{position:absolute;bottom:0;left:0;right:0;padding:28px 12px 10px;background:linear-gradient(0deg,rgba(0,0,0,.8) 0,transparent)}.wa-card__bar,.wa-card__img-overlay{display:flex;align-items:center;justify-content:space-between;gap:8px}.wa-card__bar{padding:9px 14px;border-bottom:1px solid hsla(0,0%,100%,.06);background:rgba(0,0,0,.28)}.wa-card__path{font-family:DM Mono,ui-monospace,monospace;font-size:10px;color:rgba(34,211,238,.65);letter-spacing:.02em;transition:color .2s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wa-card:hover .wa-card__path{color:rgba(34,211,238,.9)}.wa-card__badge{font-family:DM Mono,ui-monospace,monospace;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:hsla(0,0%,100%,.28);border:1px solid hsla(0,0%,100%,.12);padding:2px 7px;border-radius:3px;flex-shrink:0;background:rgba(0,0,0,.4)}.wa-card__body{padding:14px 14px 8px;flex:1}.wa-card__head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.wa-card__icon{width:22px;height:22px;-o-object-fit:contain;object-fit:contain;border-radius:4px;flex-shrink:0}.wa-card__title{margin:0;font-size:.92rem;font-weight:700;color:hsla(0,0%,100%,.88);line-height:1.3}.wa-card__desc{margin:0;font-size:11.5px;color:hsla(0,0%,100%,.38);line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wa-card__footer{display:flex;align-items:center;gap:5px;padding:8px 14px;border-top:1px solid hsla(0,0%,100%,.05);font-family:DM Mono,ui-monospace,monospace;font-size:10px;color:hsla(0,0%,100%,.27)}.wa-card__sep{color:hsla(0,0%,100%,.12)}.wa-card__stat-n{color:hsla(0,0%,100%,.58);font-weight:600}.wa-card__arrow{margin-left:auto;color:rgba(34,211,238,.35);font-size:12px;transition:transform .2s ease,color .2s ease;flex-shrink:0}.wa-card:hover .wa-card__arrow{transform:translateX(5px);color:rgba(34,211,238,.8)}.featured-projects-list{display:flex;flex-direction:column;gap:24px;margin-top:var(--space-md,16px);align-items:flex-start}.fp-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:4px}.fp-label{font-family:DM Mono,ui-monospace,monospace;font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(34,211,238,.7);margin:0}.fp-heading{font-size:clamp(18px,2.5vw,24px);font-weight:700;margin:5px 0 0;letter-spacing:-.02em}@media (max-width:640px){.ov{grid-template-columns:1fr;border-radius:16px}.ov__right{order:-1;padding:16px 16px 0;border-left:none;border-bottom:1px solid hsla(0,0%,100%,.05)}.ov__screen{aspect-ratio:16/9;border-radius:8px 8px 0 0}.ov:hover .ov__screen,.ov__screen{transform:rotate(0deg) translateY(0)}.ov:hover .ov__screen{box-shadow:0 0 0 1px var(--ov-accent-border,rgba(34,211,238,.18))}.ov__left{padding:22px 20px 26px;gap:14px}.ov__ghost{font-size:70px;top:18px;transform:none;right:-2px}.ov__title{font-size:18px}.ov__summary{-webkit-line-clamp:2;font-size:13px}.ov-wrap{max-width:100%}.featured-projects-list{align-items:stretch}}@media (max-width:400px){.ov{border-radius:12px}.ov__left{padding:16px 14px 20px}.ov__actions{flex-direction:column;align-items:flex-start;gap:10px}}.pc__bg{position:absolute;inset:0;z-index:0}.pc__img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.22,1,.36,1);filter:brightness(.75) saturate(.9)}.pc:hover .pc__img{transform:scale(1.07);filter:brightness(.65) saturate(.8)}.pc__bg:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,6,12,.97) 0,rgba(5,6,12,.82) 35%,rgba(5,6,12,.28) 65%,rgba(5,6,12,.06));z-index:1}.pc__no-img{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 20% 30%,rgba(124,58,237,.25) 0,transparent 60%),radial-gradient(ellipse 60% 50% at 80% 70%,rgba(34,211,238,.18) 0,transparent 55%),#05060c;z-index:0}.pc__no-img-label{bottom:50%;left:50%;transform:translate(-50%,50%);font-size:10px;letter-spacing:.28em;color:hsla(0,0%,100%,.12);z-index:1}.pc__no-img-label,.pc__status{position:absolute;font-family:DM Mono,ui-monospace,monospace}.pc__status{right:12px;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;border-radius:3px;background:rgba(34,211,238,.15);border:1px solid rgba(34,211,238,.35);color:rgba(34,211,238,.95)}.pc__folder-tag,.pc__status{top:12px;z-index:10;font-size:8px;backdrop-filter:blur(10px)}.pc__folder-tag{position:absolute;left:12px;font-family:DM Mono,ui-monospace,monospace;letter-spacing:.08em;padding:3px 8px;border-radius:3px;background:rgba(0,0,0,.55);border:1px solid hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.4)}.pc__overlay{position:absolute;bottom:0;left:0;right:0;z-index:5;padding:18px 16px 16px;display:flex;flex-direction:column;gap:8px;transition:transform .4s cubic-bezier(.22,1,.36,1)}.pc:hover .pc__overlay{transform:translateY(-6px)}.pc__title{font-size:1rem;font-weight:700;letter-spacing:-.015em;line-height:1.3;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6)}.pc__desc,.pc__title{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pc__desc{font-size:11.5px;color:hsla(0,0%,100%,.55);line-height:1.65;opacity:0;max-height:0;transition:opacity .35s ease .05s,max-height .4s ease}.pc:hover .pc__desc{opacity:1;max-height:60px}@media (hover:none){.pc__desc{opacity:1;max-height:60px}}.pc__chips{display:flex;flex-wrap:wrap;gap:4px}.pc__chip{font-family:DM Mono,ui-monospace,monospace;font-size:8.5px;padding:2px 7px;border-radius:3px;border:1px solid hsla(0,0%,100%,.13);color:hsla(0,0%,100%,.45);background:rgba(0,0,0,.45);letter-spacing:.04em;white-space:nowrap;backdrop-filter:blur(6px)}.pc__chip--more{color:rgba(34,211,238,.7);border-color:rgba(34,211,238,.25);background:rgba(34,211,238,.08)}.pc__actions{display:flex;align-items:center;gap:10px;opacity:0;transform:translateY(6px);transition:opacity .3s ease .1s,transform .3s ease .1s}.pc:hover .pc__actions{opacity:1;transform:translateY(0)}@media (hover:none){.pc__actions{opacity:1;transform:translateY(0)}}.pc__btn{font-size:11px;font-weight:600;padding:5px 13px;border-radius:5px;text-decoration:none;border:1px solid hsla(0,0%,100%,.14);color:hsla(0,0%,100%,.65);background:rgba(0,0,0,.5);transition:border-color .2s,color .2s,background .2s;display:inline-flex;align-items:center;gap:3px;white-space:nowrap;backdrop-filter:blur(10px)}.pc__btn:hover{border-color:hsla(0,0%,100%,.28);color:#fff;background:rgba(0,0,0,.7)}.pc__btn--primary{background:rgba(34,211,238,.15);border-color:rgba(34,211,238,.4);color:#22d3ee}.pc__btn--primary:hover{background:rgba(34,211,238,.25);border-color:rgba(34,211,238,.65)}.pc__btn--ghost{background:transparent;border-color:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.35)}.blog-card{background:radial-gradient(260px 160px at 8% 0,rgba(34,211,238,.08),transparent 62%),rgba(8,10,16,.68)}.blog-card:hover{border-color:rgba(45,212,191,.34);box-shadow:0 20px 70px rgba(0,0,0,.5)}.blog-card__media{aspect-ratio:16/9;min-height:190px}.blog-card__placeholder{width:100%;height:100%;display:grid;place-items:center;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700;color:hsla(0,0%,100%,.8);background:linear-gradient(135deg,rgba(45,212,191,.22),rgba(59,130,246,.2))}.blog-card__badge{background:rgba(45,212,191,.12);border-color:rgba(45,212,191,.35);color:rgba(209,250,229,.95)}.section-label{font-size:22px;letter-spacing:.14em;text-transform:uppercase;color:#e8f1ff;margin:0;font-weight:800;text-shadow:0 0 10px rgba(130,206,255,.65),0 0 22px rgba(130,206,255,.45),0 0 36px rgba(124,58,237,.35)}.portfolio-hero{display:grid;grid-template-columns:1.4fr .6fr;gap:24px;align-items:center}.portfolio-avatar{display:flex;justify-content:flex-end}.avatar-placeholder,.portfolio-avatar img{width:155px;height:155px;border-radius:999px;border:2px solid rgba(34,211,238,.7);-o-object-fit:cover;object-fit:cover;background:hsla(0,0%,100%,.08);box-shadow:0 0 0 6px rgba(34,211,238,.08),0 0 28px rgba(34,211,238,.4),0 0 60px rgba(34,211,238,.18);animation:float 6s ease-in-out infinite}.portfolio-roles{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.portfolio-roles .accent{color:#22d3ee}.role-highlight{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:3px 10px;border-radius:var(--radius-full);border:1px solid rgba(34,211,238,.25);background:rgba(34,211,238,.07);color:rgba(34,211,238,.85);white-space:nowrap}.word-reveal{display:inline-block;margin-right:6px}.name-animated{position:relative;display:inline-block}.name-animated:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:2px;background:linear-gradient(90deg,rgba(34,211,238,0),rgba(34,211,238,.9),rgba(56,189,248,0));opacity:.8;animation:scan 3.5s ease-in-out infinite}@media (max-width:820px){.portfolio-hero{grid-template-columns:1fr}.portfolio-avatar{justify-content:flex-start}}.tilt-card{position:relative;overflow:hidden;transition:transform var(--duration-normal) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard);transform-style:preserve-3d}.tilt-card:before{content:"";position:absolute;inset:0;background:radial-gradient(220px 120px at 12% 0,rgba(34,211,238,.18),transparent 60%);opacity:0;transition:opacity .22s ease;pointer-events:none}.tilt-card:hover{transform:translateY(-4px) rotateX(1deg) rotateY(-1deg);box-shadow:0 18px 50px rgba(0,0,0,.55)}.tilt-card:hover:before{opacity:1}.profile-grid{display:grid;gap:1.25rem;grid-template-columns:120px 1fr}.profile-avatar{width:120px;height:120px;border-radius:var(--radius-lg);-o-object-fit:cover;object-fit:cover;border:1px solid hsla(0,0%,100%,.1)}.experience-list{display:grid;gap:12px;border-left:1px solid hsla(0,0%,100%,.08);padding-left:14px}.experience-item{padding:14px;position:relative}.experience-item:before{content:"";position:absolute;left:-22px;top:20px;width:10px;height:10px;border-radius:999px;background:rgba(34,211,238,.8);box-shadow:0 0 10px rgba(34,211,238,.4)}.about-section{margin-top:28px}.about-header{display:grid;gap:16px;grid-template-columns:1.4fr .6fr;align-items:center}.about-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.about-toggle{position:relative;padding:.55rem .9rem;font-size:12px;font-weight:700;border-radius:999px;border:1px solid rgba(34,211,238,.45);color:#d9faff;background:linear-gradient(135deg,rgba(34,211,238,.25),rgba(56,189,248,.08));box-shadow:0 10px 30px rgba(34,211,238,.25);cursor:pointer;display:inline-flex;align-items:center;gap:8px;overflow:hidden;transition:transform .16s ease,box-shadow .22s ease,border-color .22s ease}.about-toggle:before{content:"";position:absolute;inset:0;background:radial-gradient(120px 60px at 20% 10%,hsla(0,0%,100%,.25),transparent 60%);opacity:.5;pointer-events:none}.about-toggle:hover{transform:translateY(-1px);border-color:rgba(34,211,238,.7);box-shadow:0 14px 40px rgba(34,211,238,.35)}.about-toggle__icon{display:inline-flex;transition:transform .2s ease}.about-toggle[aria-expanded=true] .about-toggle__icon{transform:rotate(90deg)}.about-hero-image{border-radius:16px;overflow:hidden;border:1px solid hsla(0,0%,100%,.12);box-shadow:0 20px 60px rgba(0,0,0,.5)}.about-hero-image img{width:100%;height:auto;display:block}.about-list{margin:16px 0 0;padding-left:18px;display:grid;gap:10px;color:var(--color-muted)}.skills-section,.stats-section{margin-top:28px}.bc-card__link-wrap{display:block;color:inherit}.bc-card__link-wrap,.bc-card__link-wrap:hover,.bc-card__link-wrap:hover *{text-decoration:none}.bc-card{border-radius:14px;border:1px solid hsla(0,0%,100%,.09);background:rgba(7,8,15,.65);overflow:hidden;display:flex;flex-direction:column;min-height:100%;transition:border-color .25s,box-shadow .25s,transform .25s cubic-bezier(.22,1,.36,1)}.bc-card:hover{border-color:rgba(125,211,252,.3);box-shadow:0 12px 48px rgba(0,0,0,.5),0 0 24px rgba(34,211,238,.05);transform:translateY(-5px)}.bc-card__img-wrap{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;flex-shrink:0}.bc-card__img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .45s cubic-bezier(.22,1,.36,1),filter .3s;filter:brightness(.88)}.bc-card:hover .bc-card__img{transform:scale(1.04);filter:brightness(1)}.bc-card__no-img{position:relative;width:100%;height:90px;background:linear-gradient(135deg,rgba(34,211,238,.08),rgba(124,58,237,.06));border-bottom:1px solid hsla(0,0%,100%,.06);display:flex;align-items:center;justify-content:center;flex-shrink:0}.bc-card__no-img-label{font-family:DM Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.22em;color:rgba(34,211,238,.35)}.bc-card__type-badge{position:absolute;top:10px;right:10px;font-family:DM Mono,ui-monospace,monospace;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:hsla(0,0%,100%,.3);border:1px solid hsla(0,0%,100%,.1);background:rgba(0,0,0,.45);padding:2px 8px;border-radius:3px}.bc-card__body{padding:16px 16px 14px;display:flex;flex-direction:column;gap:8px;flex:1}.bc-card__meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-family:DM Mono,ui-monospace,monospace;font-size:10px;color:hsla(0,0%,100%,.28)}.bc-card__meta-sep{color:hsla(0,0%,100%,.15)}.bc-card__date{color:hsla(0,0%,100%,.35)}.bc-card__tag{padding:1px 7px;border-radius:2px;border:1px solid rgba(34,211,238,.22);color:rgba(34,211,238,.55);background:rgba(34,211,238,.04)}.bc-card__folder{color:hsla(0,0%,100%,.3);font-style:italic}.bc-card__title{margin:0;font-size:.95rem;font-weight:700;line-height:1.35;color:hsla(0,0%,100%,.88);letter-spacing:-.01em;transition:color .2s;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bc-card:hover .bc-card__title{color:#fff}.bc-card__excerpt{margin:0;font-size:12.5px;color:hsla(0,0%,100%,.42);line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bc-card__actions{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:6px}.bc-card__read-cta{font-size:12px;font-weight:600;color:hsla(0,0%,100%,.5);display:flex;align-items:center;gap:4px;transition:color .2s}.bc-card:hover .bc-card__read-cta{color:rgba(34,211,238,.85)}.bc-card__arrow{display:inline-block;transition:transform .2s ease}.bc-card:hover .bc-card__arrow{transform:translateX(4px)}.bc-card__folder-link{font-size:11px;color:hsla(0,0%,100%,.28);text-decoration:none;letter-spacing:.04em}.sk-section{margin-top:var(--space-xl,48px)}.sk-header{margin-bottom:28px}.sk-header__label{font-family:DM Mono,ui-monospace,monospace;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(34,211,238,.65);margin:0 0 6px}.sk-header__title{font-size:clamp(20px,2.8vw,28px);font-weight:700;letter-spacing:-.02em;margin:0 0 4px}.sk-header__sub{font-family:DM Mono,ui-monospace,monospace;font-size:11px;color:hsla(0,0%,100%,.28);margin:0;letter-spacing:.02em}.sk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.sk-card{position:relative;border-radius:14px;border:1px solid hsla(0,0%,100%,.07);background:rgba(7,8,15,.65);padding:18px 18px 16px;display:flex;flex-direction:column;gap:12px;overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease}.sk-card:hover{border-color:var(--sk-accent-border,rgba(34,211,238,.25));box-shadow:0 8px 40px rgba(0,0,0,.4),0 0 0 1px var(--sk-accent-border,rgba(34,211,238,.12))}.sk-card__accent-bar{position:absolute;top:0;left:0;right:0;height:2px;background:var(--sk-accent,rgba(34,211,238,.7));opacity:.6;transition:opacity .25s}.sk-card:hover .sk-card__accent-bar{opacity:1}.sk-card__top{display:flex;align-items:baseline;gap:10px}.sk-card__num{font-family:DM Mono,ui-monospace,monospace;font-size:9.5px;color:var(--sk-accent,rgba(34,211,238,.6));letter-spacing:.1em;opacity:.75;flex-shrink:0}.sk-card__title{margin:0;font-size:13.5px;font-weight:700;letter-spacing:-.01em;color:hsla(0,0%,100%,.9);line-height:1.3}.sk-card__desc{margin:0;font-size:11.5px;color:hsla(0,0%,100%,.38);line-height:1.68}.sk-card__icons{display:flex;flex-wrap:wrap;gap:7px}.sk-icon{width:38px;height:38px;border-radius:10px;border:1px solid hsla(0,0%,100%,.07);background:hsla(0,0%,100%,.025);display:flex;align-items:center;justify-content:center;cursor:default;transition:border-color .2s,background .2s}.sk-card:hover .sk-icon{border-color:var(--sk-icon-border,rgba(34,211,238,.2));background:var(--sk-icon-bg,rgba(34,211,238,.04))}.sk-icon__img{width:22px;height:22px;-o-object-fit:contain;object-fit:contain;display:block}.sk-icon__fallback{font-family:DM Mono,ui-monospace,monospace;font-size:8.5px;color:hsla(0,0%,100%,.55);letter-spacing:.03em}.sk-card__chips{display:flex;flex-wrap:wrap;gap:5px}.sk-chip{font-family:DM Mono,ui-monospace,monospace;font-size:9px;padding:3px 8px;border-radius:3px;border:1px solid hsla(0,0%,100%,.07);color:hsla(0,0%,100%,.32);background:hsla(0,0%,100%,.02);letter-spacing:.04em}.sk-chip--more{color:var(--sk-accent,rgba(34,211,238,.65));border-color:var(--sk-accent-border,rgba(34,211,238,.2));background:var(--sk-accent-bg,rgba(34,211,238,.04))}@media (max-width:640px){.sk-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.sk-card{padding:16px 14px 14px}.sk-icon{width:34px;height:34px}.sk-icon__img{width:20px;height:20px}.wa-card__img-wrap{height:130px}}@keyframes marquee-fwd{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes marquee-rev{0%{transform:translateX(-50%)}to{transform:translateX(0)}}.skills-wrap{padding:var(--space-xl,48px) 0 0}.skills-hdr{text-align:center;margin-bottom:36px}.skills-hdr__eyebrow{font-family:DM Mono,ui-monospace,monospace;font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:rgba(34,211,238,.5);margin:0 0 10px}.skills-hdr__title{font-size:clamp(22px,3vw,34px);font-weight:700;letter-spacing:-.03em;color:#fff;margin:0 0 8px}.skills-hdr__meta{font-family:DM Mono,ui-monospace,monospace;font-size:10.5px;color:hsla(0,0%,100%,.22);margin:0;letter-spacing:.04em}.mq-wrap{position:relative;overflow:hidden;margin-bottom:40px;contain:layout style}.mq-row{display:flex;overflow:hidden;margin-bottom:10px}.mq-row:last-of-type{margin-bottom:0}.mq-track{display:flex;align-items:center;gap:28px;white-space:nowrap}.mq-track--fwd{animation:marquee-fwd 48s linear infinite}.mq-track--rev{animation:marquee-rev 38s linear infinite}.mq-wrap:hover .mq-track--fwd,.mq-wrap:hover .mq-track--rev,.mq-wrap[data-paused="1"] .mq-track--fwd,.mq-wrap[data-paused="1"] .mq-track--rev{animation-play-state:paused}.mq-icon{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex-shrink:0;padding:8px 10px 6px;border-radius:10px;background:hsla(0,0%,100%,.035);border:1px solid hsla(0,0%,100%,.06);transition:background .2s,border-color .2s;cursor:default}.mq-wrap:hover .mq-icon:hover{background:hsla(0,0%,100%,.07);border-color:hsla(0,0%,100%,.12)}.mq-icon img{width:24px;height:24px;-o-object-fit:contain;object-fit:contain;display:block;flex-shrink:0}.mq-icon__label{font-family:DM Mono,ui-monospace,monospace;font-size:8px;letter-spacing:.04em;color:hsla(0,0%,100%,.32);white-space:nowrap;max-width:60px;overflow:hidden;text-overflow:ellipsis;line-height:1}.mq-fade{position:absolute;top:0;bottom:0;width:80px;pointer-events:none;z-index:2}.mq-fade--left{left:0;background:linear-gradient(90deg,#07080f 0,transparent)}.mq-fade--right{right:0;background:linear-gradient(270deg,#07080f 0,transparent)}.sc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.sc-card{position:relative;border-radius:12px;border:1px solid var(--sc-border,hsla(0,0%,100%,.07));background:var(--sc-bg,hsla(0,0%,100%,.02));padding:18px 16px 14px;overflow:hidden;cursor:default;transition:border-color .25s,background .25s,box-shadow .25s}.sc-card:hover{border-color:var(--sc-border,rgba(34,211,238,.25));background:var(--sc-bg,rgba(34,211,238,.06));box-shadow:0 0 0 1px var(--sc-border,rgba(34,211,238,.1)),0 8px 24px rgba(0,0,0,.35)}.sc-card__bar{position:absolute;top:0;left:0;right:0;height:2px;background:var(--sc-accent,rgba(34,211,238,.7));border-radius:2px 2px 0 0;opacity:.55;transition:opacity .25s}.sc-card:hover .sc-card__bar{opacity:1}.sc-card__num{font-family:DM Mono,ui-monospace,monospace;font-size:9px;letter-spacing:.14em;color:var(--sc-accent,rgba(34,211,238,.7));opacity:.55;display:block;margin-bottom:8px}.sc-card__title{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:-.01em;color:hsla(0,0%,100%,.88);line-height:1.3}.sc-card__icons{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:10px}.sc-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid hsla(0,0%,100%,.06);background:hsla(0,0%,100%,.03);overflow:hidden;flex-shrink:0}.sc-icon img{width:18px;height:18px;-o-object-fit:contain;object-fit:contain;display:block}.sc-icon--fb{font-size:7px;color:hsla(0,0%,100%,.4)}.sc-icon--fb,.sc-icon--more{font-family:DM Mono,ui-monospace,monospace;letter-spacing:0}.sc-icon--more{font-size:8px;color:var(--sc-accent,rgba(34,211,238,.7));border-color:var(--sc-border,rgba(34,211,238,.2));background:rgba(34,211,238,.04);width:auto;padding:0 6px}.sc-card__desc{margin:0 0 10px;font-size:11px;color:hsla(0,0%,100%,.35);line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s}.sc-card__desc--open{-webkit-line-clamp:unset;overflow:visible}.sc-card--open .sc-card__desc,.sc-card__desc--open{color:hsla(0,0%,100%,.5)}.sc-card__drawer{overflow:hidden}.sc-card__icons--more{margin-top:4px}.sc-card__items{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}.sc-item{font-family:DM Mono,ui-monospace,monospace;font-size:9px;padding:3px 8px;border-radius:4px;border:1px solid hsla(0,0%,100%,.07);color:hsla(0,0%,100%,.35);background:hsla(0,0%,100%,.02);letter-spacing:.04em;transition:border-color .2s,color .2s}.sc-card--open .sc-item{border-color:var(--sc-border,rgba(34,211,238,.2));color:hsla(0,0%,100%,.5)}.sc-card__footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:8px}.sc-card__count{margin:0;font-size:9.5px;color:hsla(0,0%,100%,.2);letter-spacing:.04em}.sc-card__count,.sc-card__toggle{font-family:DM Mono,ui-monospace,monospace}.sc-card__toggle{font-size:11px;color:var(--sc-accent,rgba(34,211,238,.7));opacity:.6;transition:opacity .2s,transform .2s;flex-shrink:0}.sc-card--open .sc-card__toggle{opacity:1}.sc-card{cursor:pointer}@media (hover:none){.sc-card__bar{opacity:.75}}@media (prefers-reduced-motion:reduce){.mq-track--fwd,.mq-track--rev{animation-play-state:paused}}@media (max-width:900px){.sc-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media (max-width:640px){.skills-hdr{text-align:left;margin-bottom:24px}.skills-hdr__title{font-size:22px}.mq-wrap{margin-bottom:24px}.mq-fade{width:40px}.mq-track{gap:16px}.mq-icon{padding:6px 8px 5px}.mq-icon img{width:18px;height:18px}.mq-icon__label{font-size:7px;max-width:48px}.sc-grid{grid-template-columns:repeat(2,1fr);gap:8px}.sc-card{padding:14px 12px 12px}.sc-card__title{font-size:12px}}.stats-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.stats-card{padding:12px;display:flex;align-items:center;justify-content:center}.stats-card img{width:100%;height:auto;display:block}@media (max-width:720px){.profile-grid{grid-template-columns:1fr}.profile-avatar{width:96px;height:96px}.about-header{grid-template-columns:1fr}}@media (max-width:640px){.container{padding:0 1rem}.section{padding:2.5rem 0}.portfolio-panel{padding:18px;border-radius:18px}.glass-panel{border-radius:16px}.skills-grid,.stats-grid{grid-template-columns:1fr}.about-header{gap:12px}.about-hero-image{border-radius:14px}.experience-list{padding-left:10px}.experience-item:before{left:-18px}.detail-hero{border-radius:16px;margin-top:1rem}.detail-hero__overlay{padding:1.25rem;gap:.5rem}.catalog-toolbar{flex-direction:column;align-items:stretch}.timeline-grid{grid-template-columns:1fr}.at-a-glance{grid-template-columns:repeat(2,1fr)}.project-card__body{padding:1rem;gap:10px}.catalog-card__body{padding:1rem}.catalog-card__title{font-size:1.1rem}}@media (max-width:420px){.portfolio-panel{padding:14px}.catalog-card__actions .btn,.detail-hero__actions .btn,.project-card__actions .btn{flex:1;min-width:0;text-align:center;justify-content:center}.at-a-glance{grid-template-columns:1fr}}.glass-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:999px;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.04);color:var(--color-muted);font-size:var(--text-xs)}.at-a-glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.at-a-glance__item{padding:12px;border-radius:12px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.08)}.at-a-glance__label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:hsla(0,0%,100%,.6)}.at-a-glance__value{display:block;margin-top:6px;font-weight:700;color:#e9eefc}.timeline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.timeline-card{padding:14px}.timeline-card__step{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:hsla(0,0%,100%,.6)}.timeline-card__title{margin-top:6px;font-weight:700}.timeline-card__date{font-size:12px;color:hsla(0,0%,100%,.65);margin-top:4px}.timeline-card__detail{margin:8px 0 0;color:hsla(0,0%,100%,.8)}.neon-border{border:1px solid rgba(34,211,238,.45);box-shadow:0 0 18px rgba(34,211,238,.2)}.neon-text{color:#7dd3fc}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-border);background:linear-gradient(135deg,hsla(0,0%,100%,.06),hsla(0,0%,100%,.02));color:var(--color-text);padding:.6rem .9rem;border-radius:999px;font-weight:700;transition:transform var(--duration-fast) var(--ease-standard),background var(--duration-normal) var(--ease-standard),border-color var(--duration-normal) var(--ease-standard)}.btn:hover{background:linear-gradient(135deg,hsla(0,0%,100%,.12),hsla(0,0%,100%,.04));text-decoration:none}.btn--primary{border-color:rgba(34,211,238,.65);background:linear-gradient(135deg,rgba(34,211,238,.95),rgba(14,165,233,.85));box-shadow:0 10px 35px rgba(34,211,238,.35)}.btn--danger{border-color:rgba(239,68,68,.5);background:linear-gradient(135deg,rgba(239,68,68,.92),rgba(239,68,68,.58))}.btn--ghost{border-color:transparent;background:transparent}.btn--ghost:hover{background:hsla(0,0%,100%,.08);border-color:var(--color-border)}.intent-selector{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.intent-selector--pill .btn{border-radius:999px;padding:10px 18px;background:rgba(8,22,32,.6);border:1px solid rgba(0,204,255,.25)}.intent-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center}.intent-modal__overlay{position:absolute;inset:0;background:rgba(4,8,14,.7);backdrop-filter:blur(6px)}.intent-modal__panel{position:relative;z-index:1;width:min(420px,90vw);padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.5)}.input{width:100%;border:1px solid var(--color-border);background:hsla(0,0%,100%,.04);color:var(--color-text);padding:.65rem .75rem;border-radius:var(--radius-lg);backdrop-filter:blur(12px)}.input::-moz-placeholder{color:hsla(0,0%,100%,.45)}.input::placeholder{color:hsla(0,0%,100%,.45)}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}::-moz-selection{background-color:rgba(124,58,237,.28)}::selection{background-color:rgba(124,58,237,.28)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.18);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.28)}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}@keyframes scan{0%{opacity:.1;transform:scaleX(.4)}50%{opacity:1;transform:scaleX(1)}to{opacity:.1;transform:scaleX(.4)}}@keyframes pulseGlow{0%{filter:drop-shadow(0 6px 14px rgba(34,211,238,.2))}50%{filter:drop-shadow(0 6px 18px rgba(124,58,237,.4))}to{filter:drop-shadow(0 6px 14px rgba(34,211,238,.2))}}.prose{color:var(--color-muted);line-height:1.78;font-size:var(--text-base)}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--color-text);line-height:var(--lh-tight);letter-spacing:-.02em;margin:2rem 0 .75rem}.prose h1{font-size:var(--text-3xl)}.prose h2{font-size:var(--text-2xl)}.prose h3{font-size:var(--text-xl)}.prose h4{font-size:var(--text-lg);font-weight:600}.prose p{margin:0 0 1.2rem;color:var(--color-muted)}.prose a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}.prose strong{color:var(--color-text);font-weight:700}.prose em{font-style:italic}.prose ol,.prose ul{margin:0 0 1.2rem;padding-left:1.5rem;color:var(--color-muted)}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{margin-bottom:.4rem}.prose blockquote{border-left:3px solid var(--color-primary);margin:1.5rem 0;padding:.75rem 1.25rem;background:rgba(34,211,238,.06);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-muted);font-style:italic}.prose img{max-width:100%;height:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.prose hr{border:none;border-top:1px solid var(--color-border);margin:2.5rem 0}.prose table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:var(--text-sm)}.prose td,.prose th{border:1px solid var(--color-border);padding:.6rem .9rem;text-align:left}.prose th{background:hsla(0,0%,100%,.06);color:var(--color-text);font-weight:600}.blog-layout{display:grid;grid-template-columns:1fr;gap:2.5rem;margin-top:2.5rem}@media (min-width:1024px){.blog-layout{grid-template-columns:1fr 280px}}.blog-layout__toc{display:none}@media (min-width:1024px){.blog-layout__toc{display:block}}.blog-layout__toc-inner{position:sticky;top:6rem}.panel-pad{padding:1.5rem}@media (max-width:640px){.panel-pad{padding:1rem}.prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:640px){::-webkit-scrollbar{width:4px;height:4px}}@media (max-width:640px){.blog-layout{margin-top:1.5rem;gap:1.5rem}}.heading-1,h1{font-size:clamp(2.25rem,4.5vw,3.5rem);line-height:1.1;letter-spacing:-.025em}.heading-1,.heading-2,h1,h2{font-weight:800;color:var(--color-text)}.heading-2,h2{font-size:clamp(1.75rem,3.5vw,2.5rem);line-height:1.15;letter-spacing:-.02em}.heading-3,h3{font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:800;line-height:1.2;color:var(--color-text)}.heading-4,h4{font-size:1.15rem;line-height:1.3}.heading-4,.heading-5,h4,h5{font-weight:700;color:var(--color-text)}.heading-5,h5{font-size:1rem}.heading-6,h6{font-size:.875rem;font-weight:700}.heading-6,.text-lg,h6{color:var(--color-muted)}.text-lg{font-size:1.05rem;line-height:1.75}.text-base,p{font-size:.95rem;line-height:1.7}.text-base,.text-sm,p{color:var(--color-muted)}.text-sm{font-size:.875rem;line-height:1.6}.text-xs{font-size:.75rem;line-height:1.5;color:var(--color-muted)}.text-strong{font-weight:700;color:var(--color-text)}.text-emphasis{color:var(--color-primary);font-weight:700}.content a,.prose a{color:var(--color-primary);text-decoration:underline;text-decoration-color:rgba(124,58,237,.35);text-underline-offset:3px}.content a:hover,.prose a:hover{text-decoration-color:var(--color-primary)}ol,ul{padding-left:1.25rem;margin:.75rem 0;color:var(--color-muted)}li{margin:.25rem 0;line-height:1.6}blockquote{margin:1.25rem 0;padding:.75rem 1.25rem;border-left:3px solid var(--color-primary);background-color:rgba(124,58,237,.14);font-style:italic;color:var(--color-text);border-radius:var(--radius-md)}code{padding:.15rem .35rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:.85em;color:var(--color-text)}code,pre{background-color:rgba(0,0,0,.18)}pre{overflow:auto;padding:1rem;border-radius:var(--radius-lg);border:1px solid var(--color-border)}pre code{padding:0;background:none;border:0;font-size:.875rem;color:var(--color-text)}.prose{max-width:68ch}.prose>*+*{margin-top:1rem}.prose h2,.prose h3,.prose h4{margin-top:2rem}.prose img{margin:1.5rem 0;border-radius:var(--radius-md)}.mono{font-family:var(--font-mono)}.uppercase{text-transform:uppercase;letter-spacing:.04em}.truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hidden{display:none!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-wrap{flex-wrap:wrap}.gap-xs{gap:.25rem}.gap-sm{gap:.5rem}.gap-md{gap:.75rem}.gap-lg{gap:1.25rem}.gap-xl{gap:2rem}.m-0{margin:0}.mt-xs{margin-top:.25rem}.mt-sm{margin-top:.5rem}.mt-md{margin-top:1rem}.mt-lg{margin-top:2rem}.mb-xs{margin-bottom:.25rem}.mb-sm{margin-bottom:.5rem}.mb-md{margin-bottom:1rem}.mb-lg{margin-bottom:2rem}.mt-xl{margin-top:3rem}.mb-xl{margin-bottom:3rem}.p-0{padding:0}.p-xs{padding:.25rem}.p-sm{padding:.5rem}.p-md{padding:1rem}.p-lg{padding:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-nowrap{white-space:nowrap}.text-break{word-break:break-word}.text-default{color:var(--color-text)}.text-muted{color:var(--color-muted)}.text-inverse{color:var(--color-text-inverse)}.text-primary{color:var(--color-primary)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.w-full{width:100%}.h-full{height:100%}.max-w-full{max-width:100%}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.inset-0{inset:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.border{border:1px solid var(--color-border)}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.divider{width:100%;height:1px;background-color:var(--color-border)}.scroll-y{overflow-y:auto}.scroll-x{overflow-x:auto}.is-disabled{opacity:.6;pointer-events:none}.is-hidden{display:none}@media (max-width:640px){.mt-xl{margin-top:2rem}.mt-lg{margin-top:1.25rem}}.debug-outline{outline:1px dashed red}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.animate-fade-in{animation:fade-in var(--duration-normal,.18s) ease forwards}.animate-fade-out{animation:fade-out var(--duration-fast,.12s) ease forwards}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-left{0%{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-right{0%{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:translateX(0)}}.animate-slide-down,.animate-slide-left,.animate-slide-right,.animate-slide-up{animation-duration:var(--duration-normal,.18s);animation-timing-function:var(--ease-standard,ease);animation-fill-mode:forwards}.animate-slide-up{animation-name:slide-up}.animate-slide-down{animation-name:slide-down}.animate-slide-left{animation-name:slide-left}.animate-slide-right{animation-name:slide-right}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}.animate-scale-in{animation:scale-in var(--duration-normal,.18s) ease forwards}.animate-scale-out{animation:scale-out var(--duration-fast,.12s) ease forwards}.stagger{opacity:0}.stagger.animate{animation:slide-up var(--duration-normal,.18s) var(--ease-standard,ease) forwards}.hover-lift{transition:transform var(--duration-fast,.12s) ease,box-shadow var(--duration-fast,.12s) ease}.hover-lift:hover{transform:translateY(-3px)}.hover-scale{transition:transform var(--duration-fast,.12s) ease}.hover-scale:hover{transform:scale(1.03)}.hover-glow{transition:box-shadow var(--duration-fast,.12s) ease}.hover-glow:hover{box-shadow:0 0 0 3px var(--color-primary-soft,rgba(37,99,235,.25))}@keyframes pulse{0%{opacity:.55}50%{opacity:1}to{opacity:.55}}.animate-pulse{animation:pulse 1.2s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-surface-2) 25%,var(--color-surface-3,var(--color-surface-2)) 37%,var(--color-surface-2) 63%);background-size:200% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius-md,.5rem)}@keyframes shake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}.animate-shake{animation:shake .4s ease}.reveal{opacity:0;transform:translateY(14px);transition:opacity var(--duration-normal,.18s) ease,transform var(--duration-normal,.18s) ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.btn{--btn-bg:var(--color-primary);--btn-bg-hover:var(--color-primary-hover);--btn-text:var(--color-text-inverse);--btn-border:transparent;--btn-ring:var(--color-primary-soft);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;font-size:.875rem;font-weight:500;line-height:1;color:var(--btn-text);background-color:var(--btn-bg);border:1px solid var(--btn-border);border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none;white-space:nowrap;transition:background-color var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast),transform var(--duration-fast),box-shadow var(--duration-fast)}.btn:hover{background-color:var(--btn-bg-hover)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--btn-ring)}.btn:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed;pointer-events:none}.btn--primary{--btn-bg:var(--color-primary);--btn-bg-hover:var(--color-primary-hover);--btn-text:var(--color-text-inverse)}.btn--secondary{--btn-bg:var(--color-secondary);--btn-bg-hover:var(--color-secondary-hover);--btn-text:var(--color-text-inverse)}.btn--outline{--btn-bg:transparent;--btn-bg-hover:var(--color-primary-soft);--btn-text:var(--color-primary);--btn-border:var(--color-primary)}.btn--ghost{--btn-bg:transparent;--btn-bg-hover:var(--color-surface-2);--btn-text:var(--color-text)}.btn--danger{--btn-bg:var(--color-danger);--btn-bg-hover:#b91c1c;--btn-text:var(--color-text-inverse)}.btn--success{--btn-bg:var(--color-success);--btn-bg-hover:#15803d;--btn-text:var(--color-text-inverse)}.btn--sm{padding:.4rem .75rem;font-size:var(--text-xs)}.btn--md{padding:.6rem 1rem;font-size:var(--text-sm)}.btn--lg{padding:.8rem 1.25rem;font-size:var(--text-base)}.btn--icon{padding:.5rem;width:2.25rem;height:2.25rem}.btn--icon svg{width:1rem;height:1rem}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.btn-group .btn:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.btn--loading{pointer-events:none;position:relative;color:transparent!important}.btn--loading:after{content:"";position:absolute;width:1rem;height:1rem;border:2px solid var(--color-border);border-top-color:var(--btn-text);border-radius:50%;animation:btn-spin .8s linear infinite}@keyframes btn-spin{to{transform:rotate(1turn)}}.btn--block{width:100%}.btn--muted{opacity:.85}.card{--card-bg:var(--color-surface);--card-border:var(--color-border);--card-radius:var(--radius-lg);--card-shadow:var(--shadow-sm);position:relative;display:flex;flex-direction:column;background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden;transition:box-shadow var(--duration-fast),transform var(--duration-fast),border-color var(--duration-fast)}.card--clickable,.card--interactive{cursor:pointer}.card--clickable:hover,.card--interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card--clickable:focus-within,.card--interactive:focus-within{outline:none;box-shadow:0 0 0 3px var(--color-primary-soft)}.card__header{padding:1rem 1.25rem;border-bottom:1px solid var(--card-border)}.card__title{font-size:1rem;font-weight:600;line-height:1.3;color:var(--color-text)}.card__subtitle{margin-top:.25rem;font-size:.875rem;color:var(--color-muted)}.card__body{padding:1.25rem;flex:1}.card__footer{padding:.75rem 1.25rem;border-top:1px solid var(--card-border);display:flex;align-items:center;justify-content:space-between;gap:.75rem}.card__media{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background-color:var(--color-surface-2)}.card__media img,.card__media video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.card--subtle{background-color:transparent;box-shadow:none}.card--elevated{--card-shadow:var(--shadow-lg);border-color:transparent}.card--outline{background-color:transparent;box-shadow:none}.card--muted{opacity:.7}.card--sm .card__body{padding:.75rem}.card--lg .card__body{padding:1.75rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.card__badge{position:absolute;top:.75rem;right:.75rem;padding:.25rem .5rem;font-size:.7rem;font-weight:600;border-radius:var(--radius-sm);background-color:rgba(0,0,0,.6);color:var(--color-text-inverse)}[data-scope=admin] .card__badge{background-color:rgba(0,0,0,.75)}.card__badge--success{background-color:var(--color-success)}.card__badge--warning{background-color:var(--color-warning)}.card__badge--danger{background-color:var(--color-danger)}.card--clickable:hover .card__title{text-decoration:underline}.navbar{--nav-bg:rgba(15,22,35,.78);--nav-border:var(--color-border);--nav-text:var(--color-text);--nav-muted:var(--color-muted);position:sticky;top:0;z-index:50;width:100%;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background-color:var(--nav-bg);border-bottom:1px solid var(--nav-border)}.navbar--transparent{--nav-bg:rgba(2,6,23,.4);--nav-border:hsla(0,0%,100%,.12);--nav-text:hsla(0,0%,100%,.95);--nav-muted:hsla(0,0%,100%,.72)}[data-theme=light] .navbar{--nav-bg:hsla(0,0%,100%,.82);--nav-border:rgba(2,6,23,.12);--nav-text:rgba(2,6,23,.92);--nav-muted:rgba(2,6,23,.68)}.navbar__inner{max-width:var(--container-max);margin:0 auto;padding:.85rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.navbar__brand{display:inline-flex;align-items:center;gap:.6rem;font-size:.95rem;font-weight:900;letter-spacing:-.02em;color:var(--nav-text)}.navbar__brand,.navbar__brand:hover{text-decoration:none}.navbar__logo{width:2rem;height:2rem;border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(124,58,237,.95),rgba(34,197,94,.85));box-shadow:var(--shadow-md)}.navbar__links{display:flex;align-items:center;gap:.9rem}.navbar__link{position:relative;font-size:.875rem;font-weight:700;color:var(--nav-text);text-decoration:none;opacity:.92;padding:.45rem .55rem;border-radius:var(--radius-sm);transition:opacity var(--duration-normal) var(--ease-standard),background-color var(--duration-normal) var(--ease-standard),color var(--duration-normal) var(--ease-standard)}.navbar__link:hover{opacity:1;background-color:hsla(0,0%,100%,.08);text-decoration:none}[data-theme=light] .navbar__link:hover{background-color:rgba(2,6,23,.06)}.navbar__link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.navbar__link--active{opacity:1}.navbar__link--active:after{content:"";position:absolute;left:.55rem;right:.55rem;bottom:-.35rem;height:2px;border-radius:999px;background-color:var(--color-primary)}.navbar__actions{display:flex;align-items:center;gap:.75rem}.navbar__menu-btn{display:none;width:2.5rem;height:2.5rem;border-radius:var(--radius-md);border:1px solid var(--nav-border);background-color:transparent;color:var(--nav-text);align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--duration-normal) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.navbar__menu-btn:hover{background-color:hsla(0,0%,100%,.08)}[data-theme=light] .navbar__menu-btn:hover{background-color:rgba(2,6,23,.06)}.navbar__menu-btn:active{transform:translateY(1px)}.navbar__menu-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.navbar__drawer{display:none;padding:.75rem 1.25rem 1rem;border-top:1px solid var(--nav-border);background-color:var(--nav-bg)}.navbar__drawer-links{display:flex;flex-direction:column;gap:.35rem}.navbar__drawer .navbar__link{padding:.65rem .75rem}.navbar__drawer--open{display:block}@media (max-width:860px){.navbar__links{display:none}.navbar__menu-btn{display:inline-flex}}