@charset "UTF-8";.app-header[data-v-93ca5daf]{position:fixed;top:0;left:0;right:0;height:var(--header-height);z-index:var(--z-header);transition:all .4s var(--ease-out-expo);background:transparent}.app-header[data-v-93ca5daf]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--color-border);opacity:0;transition:opacity .4s var(--ease-out-expo)}.app-header.is-scrolled[data-v-93ca5daf]{background:var(--color-bg-glass);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1)}.app-header.is-scrolled[data-v-93ca5daf]:after{opacity:1}.app-header.is-hidden[data-v-93ca5daf]{transform:translateY(-100%)}.header-inner[data-v-93ca5daf]{display:flex;align-items:center;justify-content:space-between;height:100%}.header-brand[data-v-93ca5daf]{font-family:var(--font-display);font-size:var(--text-xl);font-weight:900;color:var(--color-text-primary);transition:all .3s var(--ease-out-expo);z-index:2;letter-spacing:-.01em}.header-brand .brand-text[data-v-93ca5daf]{color:var(--color-text-primary)}.header-brand[data-v-93ca5daf]:hover{opacity:.75}.header-nav[data-v-93ca5daf]{display:flex;align-items:center;gap:var(--space-1)}.nav-link[data-v-93ca5daf]{position:relative;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);transition:color .25s var(--ease-in-out)}.nav-link[data-v-93ca5daf]:hover{color:var(--color-text-primary)}.nav-link.is-active[data-v-93ca5daf]{color:var(--color-text-primary);font-weight:600}.nav-link__indicator[data-v-93ca5daf]{position:absolute;bottom:4px;left:50%;transform:translate(-50%) scaleX(0);width:18px;height:2px;background:#000;border-radius:1px;transition:transform .3s var(--ease-out-expo)}.nav-link.is-active .nav-link__indicator[data-v-93ca5daf]{transform:translate(-50%) scaleX(1)}.nav-link--admin[data-v-93ca5daf]{margin-left:var(--space-3);padding:8px 20px;height:36px;display:inline-flex;align-items:center;border-radius:var(--radius-full);background:#000;color:#fff;font-size:var(--text-xs);font-weight:500;transition:all .25s var(--ease-out-expo)}.nav-link--admin[data-v-93ca5daf]:after{display:none}.nav-link--admin[data-v-93ca5daf]:hover{background:#1a1a1a;color:#fff;transform:translateY(-1px);box-shadow:0 4px 14px #00000026}.nav-link--admin.is-active[data-v-93ca5daf]{background:#000;color:#fff}.menu-toggle[data-v-93ca5daf]{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;background:none;border:1px solid var(--color-border);border-radius:8px;cursor:pointer;z-index:2;padding:6px}.menu-toggle span[data-v-93ca5daf]{display:block;width:100%;height:1.5px;background:var(--color-text-primary);border-radius:1px;transition:all .3s var(--ease-out-expo)}.menu-toggle.is-open[data-v-93ca5daf]{border-color:var(--color-border-hover)}.menu-toggle.is-open span[data-v-93ca5daf]:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.menu-toggle.is-open span[data-v-93ca5daf]:nth-child(2){opacity:0;transform:scaleX(0)}.menu-toggle.is-open span[data-v-93ca5daf]:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.mobile-menu[data-v-93ca5daf]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-bg-primary);z-index:calc(var(--z-header) - 1);display:flex;align-items:center;justify-content:center}.mobile-nav[data-v-93ca5daf]{display:flex;flex-direction:column;align-items:center;gap:var(--space-8);position:relative}.mobile-nav-link[data-v-93ca5daf]{font-size:var(--text-3xl);font-weight:700;color:var(--color-text-secondary);transition:color .25s var(--ease-in-out),transform .3s var(--ease-out-expo),letter-spacing .3s var(--ease-out-expo);letter-spacing:-.01em}.mobile-nav-link[data-v-93ca5daf]:hover,.mobile-nav-link.is-active[data-v-93ca5daf]{color:var(--color-text-primary)}.mobile-nav-link.is-active[data-v-93ca5daf]{color:#000}.mobile-nav-link[data-v-93ca5daf]:hover{transform:translate(4px)}.mobile-menu-enter-active[data-v-93ca5daf]{transition:opacity .4s var(--ease-out-expo)}.mobile-menu-leave-active[data-v-93ca5daf]{transition:opacity .25s var(--ease-in-out)}.mobile-menu-enter-from[data-v-93ca5daf],.mobile-menu-leave-to[data-v-93ca5daf]{opacity:0}.mobile-menu-enter-active .mobile-nav-link[data-v-93ca5daf]{animation:menuSlideIn-93ca5daf .45s var(--ease-out-expo) both}@keyframes menuSlideIn-93ca5daf{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.header-nav[data-v-93ca5daf]{display:none}.menu-toggle[data-v-93ca5daf]{display:flex}}.app-footer[data-v-a704e470]{padding:var(--space-16) 0 var(--space-8);position:relative;background:var(--color-bg-primary);margin-top:var(--space-16)}.app-footer[data-v-a704e470]:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--color-border)}.footer-content[data-v-a704e470]{display:grid;grid-template-columns:1.4fr 1fr auto;align-items:start;gap:var(--space-10);margin-bottom:var(--space-10)}.footer-brand .footer-brand[data-v-a704e470]{font-family:var(--font-display);font-size:var(--text-lg);font-weight:900;color:var(--color-text-primary);letter-spacing:-.01em;display:inline-block;transition:opacity .25s}.footer-brand:hover .footer-brand[data-v-a704e470]{opacity:.75}.footer-brand .footer-tagline[data-v-a704e470]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-2);line-height:1.6;max-width:360px}.footer-links[data-v-a704e470]{display:flex;flex-direction:column;gap:var(--space-3)}.footer-links a[data-v-a704e470]{font-size:var(--text-sm);color:var(--color-text-secondary);position:relative;display:inline-block;padding-bottom:1px;transition:color .25s;width:fit-content}.footer-links a[data-v-a704e470]:hover{color:var(--color-text-primary)}.footer-social[data-v-a704e470]{display:flex;gap:var(--space-3)}.footer-social a[data-v-a704e470]{color:var(--color-text-secondary);transition:all .25s var(--ease-out-expo);display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:50%}.footer-social a[data-v-a704e470]:hover{color:#fff;background:#000;border-color:#000;transform:translateY(-1px)}.footer-bottom[data-v-a704e470]{padding-top:var(--space-6);border-top:1px solid var(--color-border)}.footer-bottom p[data-v-a704e470]{font-size:var(--text-xs);color:var(--color-text-tertiary)}@media (max-width: 768px){.footer-content[data-v-a704e470]{grid-template-columns:1fr;gap:var(--space-8)}.footer-bottom[data-v-a704e470]{text-align:center}}.transition-page[data-v-82218659]{width:100%}.page-enter-active[data-v-82218659]{transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1),filter .45s cubic-bezier(.16,1,.3,1)}.page-leave-active[data-v-82218659]{transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1),filter .35s cubic-bezier(.16,1,.3,1)}.page-enter-from[data-v-82218659]{opacity:0;transform:translateY(18px);filter:blur(5px)}.page-enter-to[data-v-82218659],.page-leave-from[data-v-82218659]{opacity:1;transform:translateY(0);filter:blur(0)}.page-leave-to[data-v-82218659]{opacity:0;transform:translateY(-12px);filter:blur(4px)}.custom-cursor[data-v-a1c2bb6d]{position:fixed;top:0;left:0;z-index:10000;pointer-events:none}.custom-cursor .cursor-dot[data-v-a1c2bb6d],.custom-cursor .cursor-ring[data-v-a1c2bb6d],.custom-cursor .cursor-trail[data-v-a1c2bb6d]{position:fixed;top:0;left:0;border-radius:50%;opacity:0;will-change:transform}.custom-cursor .cursor-dot[data-v-a1c2bb6d]{width:6px;height:6px;background:#111;margin-left:-3px;margin-top:-3px;z-index:3}.custom-cursor .cursor-ring[data-v-a1c2bb6d]{width:48px;height:48px;border:1.5px solid rgba(0,0,0,.25);margin-left:-24px;margin-top:-24px;z-index:2;transition:width .3s ease,height .3s ease,background .3s ease,border-color .3s ease}.custom-cursor .cursor-trail[data-v-a1c2bb6d]{width:24px;height:24px;background:radial-gradient(circle,rgba(0,0,0,.08),transparent 70%);margin-left:-12px;margin-top:-12px;z-index:1}body.cursor-active{cursor:none!important}.app-loading[data-v-244b269a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--color-bg-primary);will-change:opacity}.app-loading__logo[data-v-244b269a]{font-family:var(--font-display);font-size:26px;font-weight:800;font-style:italic;letter-spacing:-.02em;color:var(--color-text-primary);animation:loading-pulse-244b269a 1.6s ease-in-out infinite}.app-loading__bar[data-v-244b269a]{width:120px;height:2px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.app-loading__bar-inner[data-v-244b269a]{width:100%;height:100%;background:#000;transform-origin:left center;animation:loading-bar-244b269a 1.4s cubic-bezier(.16,1,.3,1) infinite}.app-loading__hint[data-v-244b269a]{font-family:var(--font-sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-tertiary);opacity:.7}.loading-fade-enter-active[data-v-244b269a],.loading-fade-leave-active[data-v-244b269a]{transition:opacity .45s var(--ease-out-expo)}.loading-fade-enter-from[data-v-244b269a],.loading-fade-leave-to[data-v-244b269a]{opacity:0}@keyframes loading-pulse-244b269a{0%,to{opacity:.35}50%{opacity:1}}@keyframes loading-bar-244b269a{0%{transform:scaleX(0) translate(-100%)}50%{transform:scaleX(.7) translate(0)}to{transform:scaleX(1) translate(100%)}}:root{--color-bg-primary: #fcfaf8;--color-bg-secondary: #ffffff;--color-bg-tertiary: #faf7f3;--color-bg-section: #f0ebe5;--color-bg-card: #ffffff;--color-bg-card-hover: #f7f3ef;--color-bg-glass: rgba(252, 250, 248, .88);--color-bg-highlight: #fff6ed;--color-text-primary: #000;--color-text-h1: #1a1a1a;--color-text-secondary: rgba(0,0,0,.55);--color-text-tertiary: #7a736d;--color-text-inverse: #ffffff;--color-accent: #000;--color-accent-warm: #fda83a;--color-accent-light: #333333;--color-accent-glow: rgba(253, 168, 58, .16);--color-accent-secondary: #111111;--color-border: #f0ebe5;--color-border-hover: #e6dfd7;--color-border-strong: rgba(0, 0, 0, .32);--color-success: #000;--color-warning: #fda83a;--color-error: #c1442f;--font-display: "Fraunces", "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", Georgia, "Times New Roman", serif;--font-serif: "Fraunces", "Noto Serif SC", "Source Han Serif SC", Georgia, serif;--font-sans: "Instrument Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-code: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: clamp(1.625rem, 2.4vw, 2.125rem);--text-4xl: clamp(2rem, 3.6vw, 2.75rem);--text-5xl: clamp(2.75rem, 5.4vw, 4rem);--text-6xl: clamp(3.25rem, 7.2vw, 5.5rem);--text-article: .9375rem;--leading-article: 1.75;--heading-leading: 1.3;--para-gap: .85em;--article-flow: 1.15rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: .625rem;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .05);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .06);--shadow-hover: 0 4px 24px rgba(0, 0, 0, .06);--shadow-glow: none;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-slower: .6s;--header-height: 72px;--container-max: 1280px;--container-narrow: 760px;--container-wide: 1400px;--z-base: 1;--z-card: 10;--z-sticky: 100;--z-header: 1000;--z-overlay: 2000;--z-modal: 3000}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;font-feature-settings:"palt" 1,"kern" 1,normal;font-variation-settings:normal;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-moz-tab-size:4;tab-size:4}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-primary);overflow-x:hidden;min-height:100vh;letter-spacing:0;font-weight:400}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px;transition:background var(--duration-normal) var(--ease-in-out)}::-webkit-scrollbar-thumb:hover{background:#00000038}::selection{background:#0000001f;color:var(--color-text-primary)}input::selection,textarea::selection,select::selection{background:#0000001f;color:var(--color-text-primary)}a{color:var(--color-text-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-in-out),opacity var(--duration-fast)}a:hover{color:#000}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:800;line-height:1.1;color:var(--color-text-primary);letter-spacing:-.015em;text-rendering:optimizeLegibility;font-variation-settings:"SOFT" 50,"opsz" 144;font-feature-settings:"liga" 1,"dlig" 1}h1{font-size:var(--text-6xl);font-weight:900;letter-spacing:-.03em;line-height:.98;font-variation-settings:"SOFT" 30,"opsz" 144}h2{font-size:var(--text-4xl);font-weight:800;letter-spacing:-.02em;line-height:1.05}h3{font-size:var(--text-3xl);font-weight:700;line-height:1.12}h4{font-size:var(--text-2xl);font-weight:700;line-height:1.2}h5{font-size:var(--text-xl);font-weight:600;line-height:1.28}h6{font-size:var(--text-lg);font-weight:600;line-height:1.32}.serif,.text-serif{font-family:var(--font-display);font-variation-settings:"SOFT" 40,"opsz" 36}p{color:var(--color-text-secondary);line-height:1.7;font-size:var(--text-base);letter-spacing:.01em}code{font-family:var(--font-code);font-size:.88em;background:var(--color-bg-tertiary);padding:.15em .45em;border-radius:var(--radius-sm);color:var(--color-text-primary);border:1px solid var(--color-border)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 48px}.container--narrow{max-width:var(--container-narrow)}.container--wide{max-width:var(--container-wide)}.section{padding:var(--space-24) 0}.section__head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--space-10);gap:var(--space-6)}.section__title{font-size:var(--text-4xl);font-weight:800;letter-spacing:-.01em;line-height:1.15;color:var(--color-text-primary)}.section__subtitle{color:var(--color-text-secondary);font-size:var(--text-base);margin-top:var(--space-3);line-height:1.6}.section__more{font-size:var(--text-sm);color:var(--color-text-secondary);display:inline-flex;align-items:center;gap:4px;font-weight:500;flex-shrink:0;padding-bottom:2px;border-bottom:1px solid transparent;transition:all var(--duration-normal)}.section__more:hover{color:var(--color-text-primary);border-bottom-color:var(--color-text-primary)}.section__more svg{transition:transform var(--duration-normal)}.section__more:hover svg{transform:translate(3px)}.glass-card,.mimo-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:transform var(--duration-normal) var(--ease-out-expo),box-shadow var(--duration-normal) var(--ease-out-expo),border-color var(--duration-normal) var(--ease-out-expo);position:relative;overflow:hidden}.glass-card:hover,.mimo-card:hover{transform:translateY(-2px);border-color:var(--color-border-hover);box-shadow:var(--shadow-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 24px;height:40px;font-size:var(--text-sm);font-weight:500;font-family:var(--font-sans);letter-spacing:.01em;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-normal) var(--ease-out-expo);position:relative;overflow:hidden;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn svg{width:14px;height:14px;flex-shrink:0;transition:transform var(--duration-normal) var(--ease-out-expo)}.btn:hover svg{transform:translate(2px)}.btn:active{transform:scale(.97);transition-duration:.1s}.btn--primary{background:#000;color:#fff}.btn--primary:hover{background:#1a1a1a;transform:translateY(-1px);box-shadow:0 4px 16px #00000026}.btn--ghost{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border-strong)}.btn--ghost:hover{border-color:#000;background:#000;color:#fff;transform:translateY(-1px)}.btn--light{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn--light:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.btn--icon{padding:0;width:40px;height:40px;border-radius:var(--radius-md)}.btn--sm{height:34px;padding:0 18px;font-size:var(--text-xs)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.tag{display:inline-flex;align-items:center;padding:4px 12px;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:450;color:var(--color-text-secondary);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--duration-fast) var(--ease-in-out);cursor:default;line-height:1.4}.tag--interactive{cursor:pointer}.tag--interactive:hover{color:var(--color-text-primary);border-color:var(--color-border-hover);background:var(--color-bg-tertiary)}.tag--interactive:active:not(:disabled){transform:scale(.96)}.tag--active{background:#000;color:#fff;border-color:#000}.tag--active:hover{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.page{min-height:100vh;padding-top:var(--header-height)}.page__header{padding:var(--space-20) 0 var(--space-12)}.page__title{font-size:var(--text-5xl);font-weight:900;letter-spacing:-.02em;line-height:1.1;margin-bottom:var(--space-4);color:var(--color-text-primary)}.page__description{color:var(--color-text-secondary);font-size:var(--text-lg);max-width:640px;line-height:1.65}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease-out-expo),transform .7s var(--ease-out-expo);transition-delay:var(--stagger-delay, 0s),var(--stagger-delay, 0s)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-left,.reveal-right{opacity:0;transform:translate(0) translateY(20px);transition:opacity .7s var(--ease-out-expo),transform .7s var(--ease-out-expo)}.reveal-left.is-visible,.reveal-right.is-visible{opacity:1;transform:translate(0)}.reveal-scale,.reveal-blur{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease-out-expo),transform .7s var(--ease-out-expo)}.reveal-scale.is-visible,.reveal-blur.is-visible{opacity:1;transform:translateY(0)}@media (max-width: 1024px){.container{padding:0 32px}}@media (max-width: 768px){.container{padding:0 20px}.section{padding:var(--space-16) 0}:root{--header-height: 64px;--text-article: 1rem;--leading-article: 1.8}}@media (max-width: 480px){.container{padding:0 16px}:root{--leading-article: 1.85;--para-gap: .8em}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.text-gradient{color:var(--color-text-primary)}.glow{box-shadow:none}.divider{width:100%;height:1px;background:var(--color-border);margin:var(--space-8) 0}.press-feedback:active:not(:disabled),a:active:not(:disabled),button:active:not(:disabled),.btn:active:not(:disabled),.mimo-card:active:not(:disabled),.glass-card:active:not(:disabled),.editorial-card:active:not(:disabled),.project-card:active:not(:disabled),.hero__btn:active:not(:disabled),.sec-head__more:active:not(:disabled),.nav-link:active:not(:disabled),.social-link:active:not(:disabled){transform:scale(.98);transition-duration:.1s}.mimo-card:active:not(:disabled),.glass-card:active:not(:disabled),.editorial-card:active:not(:disabled),.project-card:active:not(:disabled){transform:translateY(-1px) scale(.995)}.sec-head__more:active:not(:disabled),.nav-link:active:not(:disabled){transform:scale(.96)}.ripple{position:relative;overflow:hidden;transform:translateZ(0)}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:#00000014;opacity:0;border-radius:100%;transform:scale(1) translate(-50%,-50%);transform-origin:50% 50%;pointer-events:none}.ripple:active:not(:disabled):after{animation:ripple-effect .45s ease-out}.ripple--light:after{background:#ffffff2e}@keyframes ripple-effect{0%{transform:scale(0) translate(-50%,-50%);opacity:.5}to{transform:scale(40) translate(-50%,-50%);opacity:0}}.skeleton{position:relative;overflow:hidden;background:var(--color-bg-section);border-radius:var(--radius-md)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);transform:translate(-100%);animation:skeleton-shimmer 1.6s infinite}.skeleton--text{height:1em;margin-bottom:.6em;border-radius:var(--radius-sm)}.skeleton--title{height:1.25em;width:60%;margin-bottom:.8em}.skeleton--avatar{width:48px;height:48px;border-radius:50%}.skeleton--card{min-height:160px;border-radius:var(--radius-lg)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.fade-in{animation:fade-in .5s var(--ease-out-expo) both}.fade-in-up{animation:fade-in-up .55s var(--ease-out-expo) both}.fade-in-scale{animation:fade-in-scale .45s var(--ease-out-expo) both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(16px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-text-primary);border-radius:50%;animation:spinner-rotate .8s linear infinite}.spinner--sm{width:16px;height:16px;border-width:1.5px}.spinner--lg{width:40px;height:40px;border-width:2.5px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.app-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:var(--color-bg-primary);transition:opacity .45s var(--ease-out-expo),visibility .45s}.app-loading.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.app-loading__logo{font-family:var(--font-display);font-size:28px;font-weight:800;font-style:italic;letter-spacing:-.02em;color:var(--color-text-primary);animation:loading-pulse 1.6s ease-in-out infinite}.app-loading__bar{width:120px;height:2px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.app-loading__bar-inner{width:100%;height:100%;background:#000;transform-origin:left center;animation:loading-bar 1.4s cubic-bezier(.16,1,.3,1) infinite}@keyframes loading-pulse{0%,to{opacity:.35}50%{opacity:1}}@keyframes loading-bar{0%{transform:scaleX(0) translate(-100%)}50%{transform:scaleX(.7) translate(0)}to{transform:scaleX(1) translate(100%)}}.img-lazy{opacity:0;transition:opacity .5s var(--ease-out-expo)}.img-lazy.is-loaded{opacity:1}
