/* GENERATED by tools/build-css.mjs — do not edit.
   Sources, in cascade order: portfolio.css
   Edit those and re-run the script. */
:root{--cx-bg: #000;--cx-bg-soft: #0b0b0b;--cx-fg: #f5f3ef;--cx-fg-dim: #a1a1a6;--cx-fg-mute: #6e6e73;--cx-accent: #ce9f8d;--cx-accent-2: #e0c3b8;--cx-accent-3: #629f6a;--cx-line: rgba(255,255,255,0.08);--cx-line-2: rgba(255,255,255,0.14);--cx-glass: rgba(20,20,22,0.72);--cx-glass-2: rgba(28,28,30,0.86);--cx-shadow: 0 30px 80px -20px rgba(0,0,0,0.8),0 8px 32px -8px rgba(0,0,0,0.6);--cx-radius: 18px;--cx-radius-lg: 28px;--cx-easing: cubic-bezier(0.22,1,0.36,1);--cx-easing-spring: cubic-bezier(0.34,1.56,0.64,1);--cx-font: -apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Helvetica Neue",Arial,sans-serif}.cx-trigger{position: fixed;top: 22px;left: 22px;width: 46px;height: 46px;border-radius: 14px;background: rgba(20,20,22,0.55);backdrop-filter: saturate(180%) blur(22px);-webkit-backdrop-filter: saturate(180%) blur(22px);border: 1px solid var(--cx-line-2);cursor: pointer;z-index: 999990;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 5px;transition: transform 0.4s var(--cx-easing-spring),background 0.3s var(--cx-easing),border-color 0.3s ease;will-change: transform}.cx-trigger:hover{transform: scale(1.06);background: rgba(30,30,32,0.78);border-color: rgba(255,255,255,0.25)}.cx-trigger span{display: block;width: 18px;height: 1.6px;background: var(--cx-fg);border-radius: 2px;transition: transform 0.45s var(--cx-easing),opacity 0.25s ease,width 0.4s var(--cx-easing)}.cx-trigger span:nth-child(2){width: 13px}.cx-trigger span:nth-child(3){width: 16px}.cx-trigger:hover span{width: 18px}.cx-trigger.is-open span:nth-child(1){transform: translateY(6.6px) rotate(45deg)}.cx-trigger.is-open span:nth-child(2){opacity: 0;transform: translateX(-10px)}.cx-trigger.is-open span:nth-child(3){transform: translateY(-6.6px) rotate(-45deg);width: 18px}.cx-scrim{position: fixed;inset: 0;background: rgba(0,0,0,0);backdrop-filter: blur(0px);-webkit-backdrop-filter: blur(0px);z-index: 999980;pointer-events: none;transition: background 0.5s var(--cx-easing),backdrop-filter 0.5s var(--cx-easing)}.cx-scrim.is-visible{pointer-events: auto;background: rgba(0,0,0,0.55);backdrop-filter: blur(14px);-webkit-backdrop-filter: blur(14px)}.cx-sidebar{position: fixed;top: 0;left: 0;height: 100vh;width: 340px;max-width: 86vw;background: var(--cx-glass-2);backdrop-filter: saturate(180%) blur(30px);-webkit-backdrop-filter: saturate(180%) blur(30px);border-right: 1px solid var(--cx-line);z-index: 999985;transform: translateX(-105%);transition: transform 0.6s var(--cx-easing);display: flex;flex-direction: column;color: var(--cx-fg);font-family: var(--cx-font);box-shadow: var(--cx-shadow);will-change: transform}.cx-sidebar.is-open{transform: translateX(0)}.cx-sidebar__head{padding: 88px 32px 22px;border-bottom: 1px solid var(--cx-line);cursor: pointer}.cx-sidebar__brand{font-size: 11px;letter-spacing: 0.32em;text-transform: uppercase;color: var(--cx-fg-mute);margin-bottom: 10px}.cx-sidebar__title{font-size: 26px;font-weight: 600;letter-spacing: -0.02em;background: #fff;-webkit-background-clip: text;background-clip: text;color: transparent}.cx-sidebar__sub{font-size: 12px;color: var(--cx-fg-dim);margin-top: 6px}.cx-nav{flex: 1;overflow-y: auto;padding: 18px 14px;list-style: none;margin: 0;scrollbar-width: thin}.cx-nav__item{display: flex;align-items: center;gap: 14px;padding: 14px 18px;margin: 2px 0;border-radius: 12px;cursor: pointer;color: var(--cx-fg-dim);font-size: 15px;font-weight: 500;letter-spacing: -0.01em;transition: background 0.25s ease,color 0.25s ease,transform 0.4s var(--cx-easing-spring);position: relative;overflow: hidden}.cx-nav__item::before{content: "";position: absolute;left: 0;top: 50%;width: 3px;height: 0;background: var;border-radius: 0 3px 3px 0;transform: translateY(-50%);transition: height 0.4s var(--cx-easing-spring)}.cx-nav__item:hover{background: rgba(255,255,255,0.04);color: var(--cx-fg);transform: translateX(4px)}.cx-nav__item.is-active{background: rgba(206,159,141,0.12);color: var(--cx-fg)}.cx-nav__item.is-active::before{height: 60%}.cx-nav__icon{width: 22px;height: 22px;display: inline-flex;align-items: center;justify-content: center;color: currentColor;flex-shrink: 0}.cx-nav__icon svg{width: 100%;height: 100%;stroke: currentColor;fill: none;stroke-width: 1.6}.cx-sidebar__foot{padding: 18px 28px 26px;border-top: none;position: relative;display: flex;flex-direction: column;gap: 12px;font-size: 11px;color: var(--cx-fg-mute);letter-spacing: 0.06em}.cx-sidebar__foot::before{content: '';position: absolute;top: 0;left: 24px;right: 24px;height: 1px;background: linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.09) 30%,rgba(255,255,255,0.11) 50%,rgba(255,255,255,0.09) 70%,transparent 100% )}.cx-sidebar__foot > span,.cx-sidebar__socials{}.cx-sidebar__foot > span{align-self: flex-start}.cx-sb-lang-btn{display: flex;align-items: center;padding: 9px 14px;background: transparent;border: 1px solid rgba(255,255,255,0.10);border-radius: 10px;color: rgba(255,255,255,0.65);font-size: 12px;font-weight: 600;letter-spacing: 0.04em;cursor: pointer;font-family: inherit;transition: color 0.2s ease,border-color 0.2s ease;width: 100%;text-align: left}.cx-sb-lang-btn:hover{color: #fff;border-color: rgba(255,255,255,0.25)}.cx-sidebar__foot-bottom{display: flex;align-items: center;justify-content: space-between;width: 100%}.cx-sidebar__socials{display: flex;gap: 14px}.cx-sidebar__socials a{color: var(--cx-fg-dim);text-decoration: none;transition: color 0.2s ease,transform 0.3s var(--cx-easing-spring);display: inline-flex}.cx-sidebar__socials a:hover{color: var(--cx-fg);transform: translateY(-2px)}.cx-sidebar__socials svg{width: 16px;height: 16px;fill: currentColor}.cx-page{position: fixed;inset: 0;background: #000;z-index: 999970;overflow-y: auto;overflow-x: hidden;color: var(--cx-fg);font-family: var(--cx-font);opacity: 0;pointer-events: none;transition: opacity 0.5s var(--cx-easing);-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale}.cx-page.is-open{opacity: 1;pointer-events: auto}.cx-page::-webkit-scrollbar{width: 10px}.cx-page::-webkit-scrollbar-thumb{background: rgba(255,255,255,0.18);border-radius: 10px}.cx-page__bg{position: fixed;inset: 0;pointer-events: none;z-index: 0;opacity: 0.18;background: none;animation: cxFloat 28s ease-in-out infinite alternate}@keyframes cxFloat{0%{transform: translate3d(0,0,0) scale(1)}50%{transform: translate3d(2%,-1%,0) scale(1.06)}100%{transform: translate3d(-2%,1.5%,0) scale(1.02)}}.cx-page__noise{position: fixed;inset: 0;pointer-events: none;z-index: 1;opacity: 0.04;mix-blend-mode: overlay;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E")}.cx-page__close{position: fixed;top: 22px;right: 22px;width: 46px;height: 46px;border-radius: 14px;background: rgba(20,20,22,0.6);backdrop-filter: blur(20px) saturate(180%);-webkit-backdrop-filter: blur(20px) saturate(180%);border: 1px solid var(--cx-line-2);cursor: pointer;z-index: 999971;display: flex;align-items: center;justify-content: center;color: var(--cx-fg);transition: transform 0.4s var(--cx-easing-spring),background 0.25s ease}.cx-page__close:hover{transform: rotate(90deg) scale(1.05);background: rgba(255,255,255,0.08)}.cx-page__close svg{width: 16px;height: 16px;stroke: currentColor;stroke-width: 2;fill: none}.cx-page__3dhome{position: fixed;top: 22px;left: 50%;transform: translateX(-50%);display: flex;align-items: center;gap: 8px;height: 46px;padding: 0 20px;border-radius: 14px;background: rgba(20,20,22,0.60);backdrop-filter: blur(20px) saturate(180%);-webkit-backdrop-filter: blur(20px) saturate(180%);border: 1px solid var(--cx-line-2);cursor: pointer;z-index: 999971;color: var(--cx-fg);font-family: var(--cx-font);font-size: 11.5px;letter-spacing: 0.1em;text-transform: uppercase;white-space: nowrap;transition: background 0.25s ease,border-color 0.25s ease,transform 0.3s var(--cx-easing)}.cx-page__3dhome:hover{background: rgba(255,255,255,0.08);border-color: rgba(255,255,255,0.30);transform: translateX(-50%) translateY(-2px)}.cx-page__3dhome svg{width: 15px;height: 15px;stroke: currentColor;stroke-width: 1.6;fill: none;flex-shrink: 0}.cx-page__3dhome span{line-height: 1}@media (max-width: 600px){.cx-page__3dhome{left: auto;right: 76px;transform: none;font-size: 10px;padding: 0 12px;gap: 6px;height: 40px}.cx-page__3dhome:hover{transform: none}}.cx-page__3dhome.is-loading{pointer-events: none}.cx-page__3dhome.is-loading span{display: none}.cx-page__3dhome.is-loading::after{content: 'Loading 3D\2026';font-size: 11px;letter-spacing: 0.1em}.cx-page__3dhome.is-loading svg{animation: cx3d-spin 1s linear infinite}@keyframes cx3d-spin{to{transform: rotate(360deg)}}.cx-normalweb-btn{position: fixed;top: 22px;left: 50%;transform: translateX(-50%);display: flex;align-items: center;gap: 8px;height: 46px;padding: 0 20px;border-radius: 14px;background: rgba(11,11,11,0.55);backdrop-filter: blur(20px) saturate(180%);-webkit-backdrop-filter: blur(20px) saturate(180%);border: 1px solid rgba(255,255,255,0.18);cursor: pointer;z-index: 9000;color: #fff;font-family: 'nbarchitekt',Helvetica,Arial,sans-serif;font-size: 11.5px;letter-spacing: 0.1em;text-transform: uppercase;white-space: nowrap;opacity: 0;pointer-events: none;transition: opacity 0.4s ease,background 0.25s ease,border-color 0.25s ease,transform 0.3s var(--cx-easing,cubic-bezier(.25,.46,.45,.94))}.cx-normalweb-btn.is-visible{opacity: 1;pointer-events: auto}.cx-normalweb-btn:hover{background: rgba(255,255,255,0.08);border-color: rgba(255,255,255,0.35);transform: translateX(-50%) translateY(-2px)}.cx-normalweb-btn svg{width: 15px;height: 15px;flex-shrink: 0}.cx-normalweb-btn span{line-height: 1}@media (max-width: 600px){.cx-normalweb-btn{left: auto;right: 76px;transform: none;font-size: 10px;padding: 0 12px;gap: 6px;height: 40px}.cx-normalweb-btn.is-visible:hover{transform: none}}.cx-container{position: relative;z-index: 2;max-width: 1180px;margin: 0 auto;padding: 120px 40px 120px}.cx-hero{padding: 60px 0 80px;max-width: 920px}.cx-eyebrow{font-size: 12px;text-transform: uppercase;letter-spacing: 0.32em;color: var(--cx-accent);margin-bottom: 18px;opacity: 0;transform: translateY(20px);animation: cxRise 0.8s var(--cx-easing) 0.1s forwards}.cx-hero__title{font-size: clamp(48px,7vw,96px);font-weight: 700;letter-spacing: -0.04em;line-height: 1.02;margin: 0 0 26px;background: #ffffff;-webkit-background-clip: text;background-clip: text;color: transparent;opacity: 0;transform: translateY(30px);animation: cxRise 1s var(--cx-easing) 0.25s forwards}.cx-hero__lead{font-size: clamp(18px,1.6vw,22px);line-height: 1.55;color: var(--cx-fg-dim);max-width: 720px;opacity: 0;transform: translateY(20px);animation: cxRise 0.9s var(--cx-easing) 0.45s forwards}@keyframes cxRise{to{opacity: 1;transform: translateY(0)}}.cx-cta-row{display: flex;gap: 14px;margin-top: 36px;flex-wrap: wrap;opacity: 0;transform: translateY(20px);animation: cxRise 0.9s var(--cx-easing) 0.6s forwards}.cx-btn{display: inline-flex;align-items: center;gap: 10px;padding: 14px 26px;border-radius: 999px;font-size: 15px;font-weight: 500;border: 1px solid transparent;cursor: pointer;text-decoration: none;transition: transform 0.3s var(--cx-easing-spring),background 0.25s ease,box-shadow 0.3s ease;font-family: inherit}.cx-btn--primary{background: var(--cx-accent);color: #fff;box-shadow: 0 10px 30px -10px rgba(206,159,141,0.6)}.cx-btn--primary:hover{transform: translateY(-2px);box-shadow: 0 16px 36px -10px rgba(206,159,141,0.8)}.cx-btn--ghost{background: rgba(255,255,255,0.06);color: var(--cx-fg);border-color: var(--cx-line-2)}.cx-btn--ghost:hover{background: rgba(255,255,255,0.12);transform: translateY(-2px)}.cx-section{padding: 80px 0}.cx-section__head{margin-bottom: 56px}.cx-section__eyebrow{font-size: 11px;letter-spacing: 0.3em;text-transform: uppercase;color: var(--cx-fg-mute);margin-bottom: 14px}.cx-section__title{font-size: clamp(34px,4.4vw,56px);font-weight: 600;letter-spacing: -0.03em;margin: 0;background: #fff;-webkit-background-clip: text;background-clip: text;color: transparent}.cx-reveal{opacity: 0;transform: translateY(40px);transition: opacity 0.9s var(--cx-easing),transform 0.9s var(--cx-easing)}.cx-reveal.is-in{opacity: 1;transform: translateY(0)}.cx-grid{display: grid;gap: 22px;grid-template-columns: repeat(auto-fill,minmax(320px,1fr))}.cx-card{position: relative;border-radius: var(--cx-radius-lg);overflow: hidden;background: rgba(39,38,37,0.7);border: 1px solid var(--cx-line);backdrop-filter: blur(20px);transition: transform 0.5s var(--cx-easing),border-color 0.4s ease,box-shadow 0.4s ease;cursor: pointer;isolation: isolate}.cx-card::before{content: "";position: absolute;inset: 0;background: none;opacity: 0;transition: opacity 0.4s ease;z-index: 1;pointer-events: none}.cx-card:hover{transform: translateY(-6px);border-color: var(--cx-line-2);box-shadow: var(--cx-shadow)}.cx-card:hover::before{opacity: 1}.cx-card__media{aspect-ratio: 16 / 10;background: #111;position: relative;overflow: hidden;display: flex;align-items: center;justify-content: center;font-size: 60px;font-weight: 700;letter-spacing: -0.04em;color: rgba(255,255,255,0.08)}.cx-card__media::after{content: "";position: absolute;inset: 0;background: var;opacity: 0.85;z-index: 0}.cx-card__media span{position: relative;z-index: 1;color: rgba(255,255,255,0.95);font-size: 13px;font-weight: 500;letter-spacing: 0.18em;text-transform: uppercase;padding: 8px 18px;border-radius: 999px;background: rgba(0,0,0,0.28);backdrop-filter: blur(10px)}.cx-card__body{padding: 24px 26px 28px;position: relative;z-index: 2}.cx-card__cat{font-size: 11px;letter-spacing: 0.22em;text-transform: uppercase;color: var(--cx-fg-mute);margin-bottom: 10px}.cx-card__title{font-size: 22px;font-weight: 600;letter-spacing: -0.02em;margin: 0 0 10px;color: var(--cx-fg)}.cx-card__desc{font-size: 14px;line-height: 1.55;color: var(--cx-fg-dim);margin: 0 0 16px}.cx-card__tags{display: flex;flex-wrap: wrap;gap: 6px}.cx-tag{font-size: 11px;padding: 4px 10px;border-radius: 999px;background: rgba(255,255,255,0.06);color: var(--cx-fg-dim);border: 1px solid var(--cx-line);letter-spacing: 0.04em}.cx-gh-grid{display: grid;gap: 14px;grid-template-columns: repeat(auto-fill,minmax(260px,1fr))}.cx-gh-card{display: flex;flex-direction: column;gap: 10px;padding: 18px 20px;border-radius: var(--cx-radius);background: rgba(23,22,21,0.7);border: 1px solid var(--cx-line);backdrop-filter: blur(12px);text-decoration: none;transition: transform 0.35s var(--cx-easing),border-color 0.3s ease,box-shadow 0.3s ease;color: var(--cx-fg)}.cx-gh-card:hover{transform: translateY(-4px);border-color: var(--cx-line-2);box-shadow: var(--cx-shadow)}.cx-gh-card__top{display: flex;justify-content: space-between;align-items: center;gap: 8px}.cx-gh-card__name{font-size: 14px;font-weight: 600;letter-spacing: -0.01em;word-break: break-word}.cx-gh-card__stars{font-size: 12px;color: #c09b64;white-space: nowrap;flex-shrink: 0}.cx-gh-card__desc{font-size: 13px;line-height: 1.5;color: var(--cx-fg-dim);margin: 0;flex: 1}.cx-gh-card__foot{display: flex;align-items: center;gap: 7px;margin-top: auto}.cx-gh-card__dot{width: 10px;height: 10px;border-radius: 50%;display: inline-block}.cx-gh-card__lang{font-size: 12px;color: var(--cx-fg-mute)}.cx-gh-card--all{align-items: center;justify-content: center;text-align: center;border-style: dashed;opacity: 0.7}.cx-gh-card--all:hover{opacity: 1}.cx-gh-card--all > span:first-child{font-size: 15px;font-weight: 600}.cx-gh-card__sub{font-size: 12px;color: var(--cx-fg-mute);margin-top: 4px}.cx-skills{display: grid;gap: 16px;grid-template-columns: repeat(auto-fill,minmax(260px,1fr))}.cx-skill{padding: 22px 24px;border-radius: var(--cx-radius);background: rgba(28,28,30,0.6);border: 1px solid var(--cx-line);backdrop-filter: blur(16px);transition: transform 0.4s var(--cx-easing-spring),border-color 0.3s ease}.cx-skill:hover{transform: translateY(-4px);border-color: var(--cx-line-2)}.cx-skill__head{display: flex;justify-content: space-between;align-items: baseline;margin-bottom: 14px}.cx-skill__name{font-size: 15px;font-weight: 600;letter-spacing: -0.01em}.cx-skill__pct{font-size: 12px;color: var(--cx-fg-mute);font-variant-numeric: tabular-nums}.cx-skill__bar{height: 4px;background: rgba(255,255,255,0.08);border-radius: 999px;overflow: hidden}.cx-skill__fill{height: 100%;width: 0;background: var;border-radius: 999px;transition: width 1.6s var(--cx-easing)}.cx-timeline{position: relative;padding-left: 28px}.cx-timeline::before{content: "";position: absolute;left: 7px;top: 6px;bottom: 6px;width: 1px;background: linear-gradient(180deg,var(--cx-accent),transparent)}.cx-tl-item{position: relative;padding: 0 0 36px 8px}.cx-tl-item::before{content: "";position: absolute;left: -27px;top: 6px;width: 12px;height: 12px;border-radius: 50%;background: var(--cx-accent);box-shadow: 0 0 0 4px rgba(206,159,141,0.18)}.cx-tl-date{font-size: 12px;letter-spacing: 0.18em;text-transform: uppercase;color: var(--cx-fg-mute);margin-bottom: 6px}.cx-tl-role{font-size: 20px;font-weight: 600;margin: 0 0 4px;letter-spacing: -0.01em}.cx-tl-org{font-size: 14px;color: var(--cx-accent);margin-bottom: 10px}.cx-tl-desc{font-size: 14px;line-height: 1.6;color: var(--cx-fg-dim);margin: 0;max-width: 640px}.cx-stats{display: grid;gap: 22px;grid-template-columns: repeat(auto-fit,minmax(180px,1fr));margin: 40px 0}.cx-stat{text-align: center;padding: 28px 18px;border-radius: var(--cx-radius);background: rgba(28,28,30,0.5);border: 1px solid var(--cx-line)}.cx-stat__num{font-size: 48px;font-weight: 700;letter-spacing: -0.03em;background: var;-webkit-background-clip: text;background-clip: text;color: transparent;line-height: 1}.cx-stat__lbl{margin-top: 10px;font-size: 12px;letter-spacing: 0.18em;text-transform: uppercase;color: var(--cx-fg-mute)}.cx-contact{display: grid;gap: 22px;grid-template-columns: repeat(auto-fit,minmax(260px,1fr))}.cx-contact a{display: block;padding: 26px;border-radius: var(--cx-radius);background: rgba(28,28,30,0.6);border: 1px solid var(--cx-line);text-decoration: none;color: var(--cx-fg);transition: transform 0.4s var(--cx-easing-spring),border-color 0.3s ease,background 0.3s ease}.cx-contact a:hover{transform: translateY(-4px);border-color: var(--cx-accent);background: rgba(206,159,141,0.08)}.cx-contact__lbl{font-size: 11px;letter-spacing: 0.2em;text-transform: uppercase;color: var(--cx-fg-mute);margin-bottom: 8px}.cx-contact__val{font-size: 18px;font-weight: 500;letter-spacing: -0.01em}.cx-admin{position: fixed;inset: 0;background: rgba(0,0,0,0.78);backdrop-filter: blur(24px);-webkit-backdrop-filter: blur(24px);z-index: 9999999;display: none;align-items: center;justify-content: center;font-family: var(--cx-font);color: var(--cx-fg)}.cx-admin.is-open{display: flex}.cx-admin__panel{width: min(1100px,94vw);height: min(82vh,800px);background: #1c1c1e;border: 1px solid var(--cx-line-2);border-radius: 22px;box-shadow: 0 60px 120px -20px rgba(0,0,0,0.9);display: grid;grid-template-columns: 240px 1fr;overflow: hidden;animation: cxAdminIn 0.45s var(--cx-easing-spring)}@keyframes cxAdminIn{from{opacity: 0;transform: scale(0.96) translateY(20px)}to{opacity: 1;transform: scale(1) translateY(0)}}.cx-admin__side{background: rgba(0,0,0,0.4);border-right: 1px solid var(--cx-line);padding: 26px 14px;display: flex;flex-direction: column}.cx-admin__brand{padding: 8px 14px 22px;font-size: 14px;font-weight: 700;letter-spacing: -0.01em;color: var(--cx-fg);display: flex;align-items: center;gap: 10px}.cx-admin__brand::before{content: "";width: 10px;height: 10px;border-radius: 50%;background: var(--cx-accent-3);box-shadow: 0 0 12px var(--cx-accent-3)}.cx-admin__nav{list-style: none;margin: 0;padding: 0;flex: 1}.cx-admin__nav li{padding: 11px 14px;border-radius: 10px;cursor: pointer;color: var(--cx-fg-dim);font-size: 13px;margin: 1px 0;transition: background 0.2s ease,color 0.2s ease;display: flex;align-items: center;gap: 10px}.cx-admin__nav li:hover{background: rgba(255,255,255,0.04);color: var(--cx-fg)}.cx-admin__nav li.is-active{background: rgba(206,159,141,0.16);color: var(--cx-fg)}.cx-admin__main{display: flex;flex-direction: column;min-width: 0}.cx-admin__top{display: flex;justify-content: space-between;align-items: center;padding: 16px 22px;border-bottom: 1px solid var(--cx-line)}.cx-admin__title{font-size: 14px;font-weight: 600}.cx-admin__actions{display: flex;gap: 8px}.cx-admin__btn{padding: 8px 14px;border-radius: 10px;font-size: 12px;font-weight: 500;border: 1px solid var(--cx-line-2);background: rgba(255,255,255,0.04);color: var(--cx-fg);cursor: pointer;font-family: inherit;transition: background 0.2s ease,transform 0.3s var(--cx-easing-spring);display: inline-flex;align-items: center;gap: 6px}.cx-admin__btn:hover{background: rgba(255,255,255,0.1);transform: translateY(-1px)}.cx-admin__btn--primary{background: var(--cx-accent);border-color: var(--cx-accent);color: #fff}.cx-admin__btn--primary:hover{background: #e0c3b8}.cx-admin__btn--danger{background: rgba(255,69,58,0.16);border-color: rgba(255,69,58,0.4);color: #ff6961}.cx-admin__body{flex: 1;overflow: auto;padding: 22px 26px}.cx-admin__body::-webkit-scrollbar{width: 8px}.cx-admin__body::-webkit-scrollbar-thumb{background: rgba(255,255,255,0.14);border-radius: 8px}.cx-field{display: block;margin-bottom: 14px}.cx-field__lbl{display: block;font-size: 11px;letter-spacing: 0.16em;text-transform: uppercase;color: var(--cx-fg-mute);margin-bottom: 7px}.cx-field input,.cx-field textarea,.cx-field select{width: 100%;padding: 12px 14px;font-family: inherit;font-size: 14px;background: rgba(0,0,0,0.4);color: var(--cx-fg);border: 1px solid var(--cx-line-2);border-radius: 10px;transition: border-color 0.25s ease,background 0.25s ease;box-sizing: border-box}.cx-field textarea{min-height: 90px;resize: vertical;line-height: 1.5}.cx-field input:focus,.cx-field textarea:focus,.cx-field select:focus{outline: none;border-color: var(--cx-accent);background: rgba(0,0,0,0.6)}.cx-admin__list{display: flex;flex-direction: column;gap: 10px}.cx-admin__row{display: flex;align-items: center;gap: 12px;padding: 14px 16px;border-radius: 12px;background: rgba(255,255,255,0.03);border: 1px solid var(--cx-line);transition: background 0.2s ease}.cx-admin__row:hover{background: rgba(255,255,255,0.06)}.cx-admin__row__main{flex: 1;min-width: 0}.cx-admin__row__title{font-size: 14px;font-weight: 600;margin-bottom: 3px}.cx-admin__row__meta{font-size: 12px;color: var(--cx-fg-mute)}.cx-admin__login{width: 360px;padding: 36px 32px;background: var(--cx-glass-2);border-radius: 22px;border: 1px solid var(--cx-line-2)}.cx-admin__login h2{margin: 0 0 6px;font-size: 22px;font-weight: 600;letter-spacing: -0.02em}.cx-admin__login p{margin: 0 0 22px;color: var(--cx-fg-dim);font-size: 13px}.cx-admin-hotspot{position: fixed;bottom: 0;right: 0;width: 60px;height: 60px;z-index: 999991;cursor: default}.cx-video-label{position: fixed;bottom: 28px;left: 50%;transform: translateX(-50%) translateY(20px);padding: 10px 22px;border-radius: 999px;background: rgba(20,20,22,0.55);backdrop-filter: blur(20px) saturate(180%);-webkit-backdrop-filter: blur(20px) saturate(180%);border: 1px solid var(--cx-line-2);font-family: var(--cx-font);font-size: 12px;letter-spacing: 0.22em;text-transform: uppercase;color: var(--cx-fg);z-index: 999960;pointer-events: none;opacity: 0;transition: opacity 0.6s var(--cx-easing),transform 0.6s var(--cx-easing)}.cx-video-label.is-visible{opacity: 1;transform: translateX(-50%) translateY(0)}.cx-toast{position: fixed;bottom: 24px;right: 24px;padding: 12px 18px;background: rgba(28,28,30,0.95);border: 1px solid var(--cx-line-2);border-radius: 12px;color: var(--cx-fg);font-family: var(--cx-font);font-size: 13px;z-index: 99999999;box-shadow: var(--cx-shadow);transform: translateY(20px);opacity: 0;transition: transform 0.4s var(--cx-easing-spring),opacity 0.4s ease}.cx-toast.is-show{transform: translateY(0);opacity: 1}.cx-toast--ok{border-left: 3px solid var(--cx-accent-3)}.cx-toast--err{border-left: 3px solid #ff453a}@media (max-width: 720px){.cx-container{padding: 90px 22px 80px}.cx-admin__panel{grid-template-columns: 1fr;height: 92vh}.cx-admin__side{display: none}}.cx-sidebar,.cx-sidebar .cx-sidebar__brand,.cx-sidebar .cx-sidebar__title,.cx-sidebar .cx-sidebar__sub,.cx-sidebar .cx-nav__item,.cx-sidebar .cx-sidebar__foot{font-family: 'Century Gothic',CenturyGothic,'Apple Gothic',AppleGothic,'ITC Avant Garde Gothic','Century Gothic Std','Trebuchet MS',sans-serif}.cx-nav__label--multiai{background: #e0c3b8;background-size: 200% auto;-webkit-background-clip: text;background-clip: text;color: transparent;animation: cxAiLabelShift 5s linear infinite;font-weight: 600}@keyframes cxAiLabelShift{0%{background-position: 0% center}100%{background-position: 200% center}}.cx-nav__ai-badge{display: inline-flex;align-items: center;justify-content: center;width: 15px;height: 15px;margin-left: 5px;color: #e0c3b8;filter: drop-shadow(0 0 5px rgba(224,195,184,0.9));animation: cxAiBadgePop 2.6s ease-in-out infinite;flex-shrink: 0}.cx-nav__ai-badge svg{width: 100%;height: 100%;fill: currentColor;stroke: none}@keyframes cxAiBadgePop{0%,100%{opacity: 0.75;transform: scale(1) rotate(0deg);filter: drop-shadow(0 0 4px rgba(224,195,184,0.6))}35%{opacity: 1;transform: scale(1.22) rotate(12deg);filter: drop-shadow(0 0 10px rgba(216,177,165,1))}70%{opacity: 0.9;transform: scale(1.08) rotate(-8deg);filter: drop-shadow(0 0 8px rgba(206,159,141,0.9))}}.cx-nav__item--multiai{border: 1px solid rgba(224,195,184,0.12);background: rgba(224,195,184,0.03);margin-top: 6px}.cx-nav__item--multiai .cx-nav__icon{color: #e0c3b8;filter: drop-shadow(0 0 4px rgba(224,195,184,0.5))}.cx-nav__item--multiai:hover{background: rgba(224,195,184,0.08);box-shadow: 0 0 20px -6px rgba(224,195,184,0.3) inset}.cx-social-section{padding: 14px 14px 18px;border-top: none;position: relative;flex-shrink: 0;font-family: 'Century Gothic',CenturyGothic,'Apple Gothic',AppleGothic,'ITC Avant Garde Gothic','Trebuchet MS',sans-serif}.cx-social-section__head{display: flex;align-items: center;gap: 10px;margin-bottom: 11px}.cx-social-section::before{content: '';position: absolute;top: 0;left: 18px;right: 18px;height: 1px;background: linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.09) 25%,rgba(255,255,255,0.11) 50%,rgba(255,255,255,0.09) 75%,transparent 100% )}.cx-social-section__label{font-size: 9.5px;letter-spacing: 0.28em;color: var(--cx-fg-mute);white-space: nowrap;flex-shrink: 0}.cx-social-section__line{flex: 1;height: 1px;background: linear-gradient(90deg,var(--cx-line) 0%,transparent 100%)}.cx-social-cards{display: flex;gap: 8px}.cx-social-card{flex: 1;position: relative;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 8px;padding: 15px 6px 13px;border-radius: 14px;background: rgba(255,255,255,0.03);border: 1px solid var(--cx-line);text-decoration: none;color: var(--cx-fg-dim);cursor: pointer;overflow: hidden;transition: background 0.35s ease,border-color 0.35s ease,color 0.3s ease,transform 0.45s var(--cx-easing-spring),box-shadow 0.45s ease}.cx-social-card:hover{transform: translateY(-4px);color: var(--cx-fg)}.cx-social-card__glow{position: absolute;top: -20px;left: 50%;transform: translateX(-50%);width: 70px;height: 70px;border-radius: 50%;opacity: 0;filter: blur(20px);transition: opacity 0.45s ease;pointer-events: none}.cx-social-card:hover .cx-social-card__glow{opacity: 1}.cx-social-card__icon{width: 26px;height: 26px;display: flex;align-items: center;justify-content: center;flex-shrink: 0;transition: transform 0.45s var(--cx-easing-spring);position: relative;z-index: 1}.cx-social-card__icon svg{width: 100%;height: 100%;fill: currentColor}.cx-social-card:hover .cx-social-card__icon{transform: scale(1.18)}.cx-social-card__name{font-size: 10px;letter-spacing: 0.05em;font-weight: 600;text-align: center;white-space: nowrap;position: relative;z-index: 1}.cx-social-card--yt:hover{background: rgba(255,0,0,0.1);border-color: rgba(255,0,0,0.32);box-shadow: 0 10px 28px -10px rgba(255,0,0,0.4);color: #ff4545}.cx-social-card--yt .cx-social-card__glow{background: none}.cx-social-card--ig:hover{background: rgba(215,176,161,0.1);border-color: rgba(208,161,146,0.35);box-shadow: 0 10px 28px -10px rgba(208,161,146,0.45);color: #d0a192}.cx-social-card--ig .cx-social-card__glow{background: none}.cx-social-card--md:hover{background: rgba(255,255,255,0.07);border-color: rgba(255,255,255,0.22);box-shadow: 0 10px 28px -10px rgba(255,255,255,0.15);color: #ffffff}.cx-social-card--md .cx-social-card__glow{background: none}
