.blackhole-overlay{z-index:9999;background:var(--background-color);justify-content:center;align-items:center;transition:opacity .7s,visibility .7s;display:flex;position:fixed;inset:0;overflow:hidden}.blackhole-overlay:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff08,#0000 70%);position:absolute;inset:0}.blackhole-overlay.is-closing{opacity:0;visibility:hidden;pointer-events:none}.blackhole-field{background-color:var(--background-color);pointer-events:none;position:absolute;inset:0}.blackhole-canvas{width:100%;height:100%;display:block}.blackhole-center{z-index:2;place-items:center;width:260px;height:260px;display:grid;position:relative}.blackhole-trigger{z-index:2;cursor:default;color:#ececec;opacity:1;pointer-events:auto;background:0 0;border:none;border-radius:50%;place-items:center;width:220px;height:220px;transition:color .35s,opacity .35s,transform .35s;display:grid;position:relative;transform:scale(1)}.blackhole-trigger:disabled{cursor:default;pointer-events:none}.blackhole-trigger:focus-visible{outline-offset:6px;outline:2px solid #ffffffb3}.blackhole-trigger__loading{flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.blackhole-trigger__loading-label,.blackhole-trigger__label{z-index:1;color:inherit;text-transform:uppercase;letter-spacing:.26em;font-size:.84rem;font-weight:500;position:relative}.blackhole-trigger__progress{color:#fff;letter-spacing:.02em;font-family:inherit;font-size:3.6rem;font-weight:600;line-height:1}.blackhole-overlay.is-ready:not(.is-engaged) .blackhole-trigger.is-ready:hover{cursor:pointer;color:#fff;transform:scale(1.03)}.blackhole-overlay.is-engaged .blackhole-trigger,.blackhole-trigger.is-open{opacity:0;pointer-events:none;transform:scale(.88)}@media (max-width:540px){.blackhole-center{width:200px;height:200px}.blackhole-trigger{width:170px;height:170px}.blackhole-trigger__loading-label,.blackhole-trigger__label{letter-spacing:.2em;font-size:.72rem}.blackhole-trigger__progress{font-size:2.8rem}}@media (prefers-reduced-motion:reduce){.blackhole-trigger{transition:none}}
@keyframes revealUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes skeletonPulse{0%{opacity:.55}50%{opacity:.9}to{opacity:.55}}.case-study-page{isolation:isolate;background:var(--background-color,#000);min-height:100svh;color:var(--primary-color);font-family:var(--primary-font);padding:0;position:relative;overflow:hidden}.case-study-page:after{content:"";background:var(--hero-overlay-gradient,#000);opacity:.85;mix-blend-mode:var(--hero-overlay-blend,multiply);pointer-events:none;z-index:0;position:absolute;inset:0}:root[data-theme=light] .case-study-page{background:#f8f8f8}:root[data-theme=light] .case-study-page:after{opacity:.1;mix-blend-mode:normal}.case-study-page>*{z-index:1;width:min(100%, var(--content-max-width));margin-left:auto;margin-right:auto;padding-left:clamp(24px,6vw,80px);padding-right:clamp(24px,6vw,80px);position:relative}.case-study-hero{min-height:90vh;padding-top:calc(clamp(120px, 15vw, 200px) + var(--safe-area-top));grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:clamp(40px,8vw,100px);margin-bottom:clamp(60px,12vw,140px);padding-bottom:clamp(60px,10vw,120px);display:grid}.case-study-hero__content{flex-direction:column;grid-column:span 12;gap:24px;animation:1s cubic-bezier(.16,1,.3,1) forwards revealUp;display:flex}.case-study-back{width:fit-content;font-family:var(--secondary-font);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border-color);color:var(--primary-color);background:0 0;border-radius:100px;margin-bottom:2vh;padding:10px 20px;font-size:.75rem;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1)}.case-study-back:hover{background:var(--primary-color);color:var(--background-color);transform:translateY(-2px)}.case-study-kicker{font-family:var(--secondary-font);text-transform:uppercase;letter-spacing:.25em;color:var(--muted-color);margin:0;font-size:.75rem}.case-study-title{letter-spacing:-.03em;text-transform:uppercase;text-wrap:balance;word-break:break-word;overflow-wrap:break-word;margin:0;font-size:clamp(3.5rem,11vw,9rem);font-weight:600;line-height:.9}.case-study-lead{color:var(--muted-color);text-wrap:pretty;max-width:800px;margin-top:24px;margin-bottom:40px;font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.5}.case-study-meta{border-top:1px solid var(--border-color);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;width:100%;margin:0;padding-top:40px;display:grid}.case-study-meta__item{flex-direction:column;gap:12px;display:flex}.case-study-meta dt{font-family:var(--secondary-font);letter-spacing:.2em;text-transform:uppercase;color:var(--muted-color);font-size:.7rem}.case-study-meta dd{word-break:break-word;margin:0;font-size:1.1rem;line-height:1.4}.case-study-hero__media{opacity:0;border-radius:12px;grid-column:span 12;margin-top:clamp(20px,5vw,60px);animation:1.2s cubic-bezier(.16,1,.3,1) .3s forwards fadeIn;overflow:hidden;transform:translateZ(0);box-shadow:0 40px 80px #0006}.case-study-hero__media img{width:100%;height:auto;transition:transform 1.5s cubic-bezier(.16,1,.3,1);display:block;transform:scale(1.02)}.case-study-hero__media:hover img{transform:scale(1)}.case-study-hero__media--generated{min-height:clamp(350px,45vw,600px)}.case-study-generated-cover{width:100%;height:100%;min-height:inherit;background:radial-gradient(circle at 14% 18%,#8aacff73,#0000 52%),linear-gradient(135deg,#090d22f2,#0d1637e6);flex-direction:column;justify-content:flex-end;gap:16px;padding:clamp(32px,5vw,64px);display:flex}.case-study-generated-cover[data-preview-theme=aurora]{background:radial-gradient(circle at 14% 18%,#76caff73,#0000 52%),radial-gradient(circle at 82% 12%,#77f8dd40,#0000 58%),linear-gradient(135deg,#06142cf2,#0c1632e6)}.case-study-generated-cover[data-preview-theme=ember]{background:radial-gradient(circle at 16% 18%,#ffb06770,#0000 52%),radial-gradient(circle at 82% 12%,#ff715f3d,#0000 58%),linear-gradient(135deg,#2a110af2,#200f0ceb)}.case-study-generated-cover[data-preview-theme=graphite]{background:radial-gradient(circle at 15% 16%,#eeeeee38,#0000 54%),linear-gradient(145deg,#151515f2,#212121e6)}.case-study-generated-cover[data-preview-theme=plasma]{background:radial-gradient(circle at 15% 18%,#e870ff6b,#0000 54%),radial-gradient(circle at 84% 12%,#6fd8ff3d,#0000 58%),linear-gradient(145deg,#1d0b27f2,#120d25eb)}.case-study-generated-cover[data-preview-theme=lumen]{background:radial-gradient(circle at 20% 18%,#ffffd457,#0000 54%),linear-gradient(130deg,#303816f2,#1e2411eb)}.case-study-generated-cover__repo{font-family:var(--secondary-font);letter-spacing:.16em;text-transform:uppercase;color:#ffffffd9;word-break:break-word;margin:0;font-size:.75rem}.case-study-generated-cover__title{letter-spacing:-.02em;color:#fff;text-wrap:balance;margin:0;font-size:clamp(2rem,5vw,4rem);font-weight:600;line-height:1.1}.case-study-generated-cover__tech{font-family:var(--secondary-font);letter-spacing:.1em;text-transform:uppercase;color:#ffffffbf;margin:0;font-size:.8rem}.case-study-section{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(24px,4vw,40px);margin-bottom:clamp(80px,12vw,160px);display:grid}.case-study-section h2{letter-spacing:-.02em;border-bottom:1px solid var(--border-color);grid-column:span 12;margin-bottom:16px;padding-bottom:24px;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1.1}@media (min-width:1024px){.case-study-section h2{border-bottom:none;grid-column:span 4;margin-bottom:0;padding-bottom:0}}.case-study-section>p,.case-study-section>div,.case-study-section>ul{grid-column:span 12}@media (min-width:1024px){.case-study-section>p,.case-study-section>div,.case-study-section>ul{grid-column:5/-1}}.case-study-section p{color:var(--muted-color);max-width:800px;font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.6}.case-study-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.case-study-list li{padding-left:24px;font-size:1.15rem;line-height:1.5;position:relative}.case-study-list li:before{content:"—";color:var(--muted-color);position:absolute;left:0}.case-study-grid{grid-template-columns:1fr;gap:40px;display:grid}@media (min-width:768px){.case-study-grid{grid-template-columns:1fr 1fr}}.case-study-card{flex-direction:column;gap:24px;display:flex}.case-study-card h3{letter-spacing:.15em;text-transform:uppercase;color:var(--primary-color);border-bottom:1px solid var(--border-color);margin:0;padding-bottom:16px;font-size:.9rem}.case-study-metrics{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:24px;margin:32px 0 0;padding:0;list-style:none;display:grid}.case-study-metrics li{border:1px solid var(--border-color);background:var(--surface-gradient-subtle);letter-spacing:-.01em;border-radius:8px;padding:32px;font-size:1.25rem;font-weight:500;line-height:1.4}.case-study-gallery{grid-template-columns:1fr;gap:24px;margin-top:40px;display:grid;grid-column:span 12!important}@media (min-width:768px){.case-study-gallery{grid-template-columns:repeat(2,1fr)}}.case-study-gallery--sketches{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.case-study-figure{flex-direction:column;gap:16px;margin:0;display:flex}.case-study-image{background:#ffffff0f;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 20px 40px #0003}.case-study-image__skeleton{background:linear-gradient(115deg, #ffffff0f 0%, #ffffff24 35%, #ffffff0f 70%), var(--surface-gradient-subtle);animation:1.5s ease-in-out infinite skeletonPulse;position:absolute;inset:0}.case-study-image__asset{z-index:1;opacity:0;width:100%;height:auto;transition:opacity .35s;display:block;position:relative}.case-study-image.is-loaded .case-study-image__asset{opacity:1}.case-study-image.is-loaded .case-study-image__skeleton{opacity:0;pointer-events:none;transition:opacity .25s}.case-study-figure figcaption{color:var(--muted-color);border-left:2px solid var(--border-color);padding-left:8px;font-size:.9rem;font-style:italic}.case-study-reflection{background:var(--surface-gradient-primary);border:1px solid var(--border-color);border-radius:12px;align-items:center;padding:clamp(40px,8vw,80px) clamp(24px,5vw,60px)}.case-study-reflection p{color:var(--primary-color);font-size:clamp(1.2rem,2vw,1.8rem);font-weight:400;line-height:1.5}.case-study-links{border-top:1px solid var(--border-color);align-items:center;padding-top:clamp(40px,8vw,80px)}.case-study-links__row{flex-wrap:wrap;gap:16px;display:flex}.case-study-links__row a{border:1px solid var(--border-color);font-family:var(--secondary-font);letter-spacing:.15em;text-transform:uppercase;color:var(--primary-color);background:0 0;border-radius:100px;padding:16px 32px;font-size:.8rem;text-decoration:none;transition:all .3s}.case-study-links__row a:hover{background:var(--primary-color);color:var(--background-color);transform:translateY(-2px)}@media (max-width:640px){.case-study-hero{min-height:auto;padding-top:calc(clamp(100px, 12vw, 140px) + var(--safe-area-top))}.case-study-title{font-size:clamp(2.5rem,12vw,4rem)}.case-study-meta{grid-template-columns:1fr;gap:24px}}
.ecosystem-container{width:100%;position:relative}.ecosystem-fixed-bg{z-index:10;pointer-events:none;background:0 0;transition:opacity .3s;position:fixed;inset:0}.ecosystem-canvas,.ecosystem-labels{width:100%;height:100%;position:absolute;inset:0}.ecosystem-canvas{pointer-events:inherit}.ecosystem-labels{pointer-events:none}.ecosystem-node{cursor:grab;transform-origin:50%;-webkit-user-select:none;user-select:none;opacity:0;will-change:transform, opacity;align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0}.ecosystem-node:active{cursor:grabbing}.ecosystem-node-icon-wrapper{background:color-mix(in srgb, var(--background-color) 55%, var(--color) 45%);width:48px;height:48px;box-shadow:0 0 24px color-mix(in srgb, var(--color) 45%, transparent), 0 4px 16px #000000b3, inset 0 0 8px #0003;border:1px solid color-mix(in srgb, var(--color) 85%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;flex:0 0 48px;justify-content:center;align-items:center;padding:10px;display:flex}.ecosystem-node-icon-wrapper img,.ecosystem-node-icon-wrapper svg{object-fit:contain;filter:none;pointer-events:none;width:100%;height:100%}.ecosystem-node-fallback{width:100%;height:100%;font-family:var(--secondary-font);letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, var(--primary-color) 88%, transparent);justify-content:center;align-items:center;font-size:.74rem;display:inline-flex}.ecosystem-node-meta{align-items:center;min-width:0;max-width:clamp(84px,11vw,148px);display:flex}@keyframes synapse-flash{0%{filter:brightness(1) drop-shadow(0 0 0px var(--color));transform:scale(1)}50%{filter:brightness(2)drop-shadow(0 0 15px #fff);transform:scale(1.15)}to{filter:brightness(1) drop-shadow(0 0 0px var(--color));transform:scale(1)}}.ecosystem-node.firing .ecosystem-node-icon-wrapper{animation:.4s ease-out synapse-flash}.ecosystem-node-text{max-width:100%;min-height:34px;color:var(--primary-color);font-family:var(--secondary-font);background:color-mix(in srgb, var(--background-color) 60%, var(--color) 40%);border:1px solid color-mix(in srgb, var(--color) 78%, transparent);box-shadow:0 6px 20px #0000008c, 0 0 14px color-mix(in srgb, var(--color) 25%, transparent);-webkit-backdrop-filter:blur(12px)saturate(135%);backdrop-filter:blur(12px)saturate(135%);pointer-events:none;text-shadow:0 1px 4px #000000b3;opacity:1;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;padding:.42rem .72rem;font-size:.66rem;font-weight:500;display:inline-flex;overflow:hidden}.ecosystem-side-shell{z-index:18;pointer-events:none;position:fixed;inset:0}.ecosystem-side-overlay{opacity:0;transform-origin:0;will-change:transform, opacity;gap:10px;width:min(300px,100vw - 48px,26vw);display:grid;position:absolute;top:clamp(150px,31vh,284px);left:clamp(20px,3.4vw,56px)}.ecosystem-side-overlay[data-section=work]{width:min(224px,100vw - 48px,20vw)}.ecosystem-side-overlay__title{font-family:var(--primary-font);letter-spacing:.07em;text-transform:uppercase;color:var(--primary-color);text-wrap:balance;margin:0;font-size:clamp(1.55rem,2.7vw,2.9rem);font-weight:300;line-height:.94}.ecosystem-side-overlay__rule{background:color-mix(in srgb, var(--primary-color) 72%, transparent);transform-origin:0;opacity:0;width:min(164px,100%);height:1px}.ecosystem-side-overlay__description{max-width:28ch;font-family:var(--secondary-font);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--muted-color) 92%, transparent);opacity:0;margin:0;font-size:.76rem;line-height:1.75}.orbit-ui{z-index:20;pointer-events:none;opacity:0;transition:opacity 1s;position:fixed;inset:0}.orbit-ui__mask{background:radial-gradient(circle at center, transparent 0%, var(--background-color) 85%);pointer-events:none;z-index:0;position:absolute;inset:0}.orbit-ui__layout{z-index:20;justify-content:space-between;align-items:center;width:100%;height:100%;padding:0 4%;display:flex;position:relative}.orbit-ui__title,.orbit-ui__description{pointer-events:none;opacity:0;width:40%;max-width:540px;transition:all .7s cubic-bezier(.16,1,.3,1)}.orbit-ui__title{transform:translate(-18vw)}.orbit-ui__description{transform:translate(18vw)}.orbit-ui__title.is-visible,.orbit-ui__description.is-visible{opacity:1;transform:translate(0)}.orbit-ui__title h2{font-family:var(--primary-font);letter-spacing:.04em;text-transform:uppercase;color:var(--primary-color);text-shadow:0 4px 24px #00000085;margin:0;font-size:clamp(1.7rem,4.2vw,3.7rem);font-weight:300;line-height:.94}.orbit-ui__description p{font-family:var(--secondary-font);letter-spacing:.08em;text-transform:uppercase;text-align:right;color:color-mix(in srgb, var(--muted-color) 94%, transparent);text-shadow:0 3px 14px #0006;margin:0;font-size:clamp(.82rem,1.25vw,.96rem);line-height:1.8}.orbit-ui__button{background:color-mix(in srgb, var(--background-color) 84%, var(--primary-color) 16%);width:auto;height:clamp(48px,6vw,56px);color:var(--primary-color);border:1px solid color-mix(in srgb, var(--border-color) 80%, transparent);cursor:pointer;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(14px)saturate(135%);backdrop-filter:blur(14px)saturate(135%);border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:0 24px;transition:all .7s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)scale(.5);box-shadow:0 18px 44px #0000003d}.orbit-ui__button.is-visible{opacity:1;pointer-events:auto;bottom:12%;transform:translate(-50%)scale(1)}.orbit-ui__button span{font-family:var(--primary-font);text-transform:uppercase;letter-spacing:1px;font-size:14px;font-weight:600}.orbit-ui__button svg{width:18px;height:18px}.ecosystem-scroll-content{z-index:10;pointer-events:none;position:relative}.ecosystem-spacer-section{height:600vh;position:relative}.ecosystem-scroll-story{display:none}.ecosystem-network-section{pointer-events:none;height:150vh}.ecosystem-zoom-section,.ecosystem-orbit-section{pointer-events:none;height:250vh}@media (max-width:1024px){.ecosystem-side-overlay{width:min(280px,32vw);top:clamp(132px,24vh,190px)}.orbit-ui__layout{padding-inline:5%}.orbit-ui__title,.orbit-ui__description{width:42%}}@media (max-width:820px){.ecosystem-node{gap:7px}.ecosystem-node-icon-wrapper{flex-basis:40px;width:40px;height:40px;padding:8px}.ecosystem-node-meta{max-width:clamp(72px,24vw,110px)}.ecosystem-node-text{letter-spacing:.09em;min-height:30px;padding:.35rem .58rem;font-size:.58rem}.ecosystem-side-overlay{text-align:center;align-items:center;gap:10px;width:100%;max-width:400px;padding-inline:20px;top:auto;bottom:120px;left:50%;transform:translate(-50%)}.ecosystem-side-overlay__title{letter-spacing:.05em;text-shadow:0 4px 20px #000000d9;font-size:clamp(1.6rem,7vw,2.2rem)}.ecosystem-side-overlay__rule{display:none}.ecosystem-side-overlay__description{text-shadow:0 2px 14px #000c;max-width:32ch;font-size:.85rem;line-height:1.6}.ecosystem-side-overlay[data-section=work]{width:min(180px,100vw - 32px)}.ecosystem-side-overlay[data-section=work] .ecosystem-side-overlay__title{letter-spacing:.04em;font-size:clamp(1.18rem,4.4vw,1.56rem);line-height:.98}.orbit-ui__layout{flex-direction:column;justify-content:flex-end;align-items:center;padding:0 20px 140px}.orbit-ui__title,.orbit-ui__description{width:100%;max-width:400px;position:static;transform:translateY(20px)}.orbit-ui__title.is-visible,.orbit-ui__description.is-visible{transform:translateY(0)}.orbit-ui__title h2{text-align:center;text-shadow:0 4px 20px #000000d9;font-size:clamp(1.6rem,7vw,2.2rem)}.orbit-ui__description p{text-align:center;text-shadow:0 2px 14px #000c;margin-top:12px;font-size:.85rem;line-height:1.6}.orbit-ui__button.is-visible{bottom:50px}}@media (prefers-reduced-motion:reduce){.ecosystem-side-overlay,.orbit-ui,.orbit-ui__title,.orbit-ui__description,.orbit-ui__button{transition-duration:.01ms!important}}.ecosystem-scroll-hint{z-index:20;pointer-events:none;opacity:0;flex-direction:column;align-items:center;gap:8px;transition:opacity .3s;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.ecosystem-scroll-hint-icon{border:2px solid #fff6;border-radius:12px;justify-content:center;width:24px;height:40px;display:flex;position:relative}.ecosystem-scroll-hint-icon:before{content:"";background-color:#fffc;border-radius:2px;width:4px;height:8px;animation:1.5s infinite scroll-hint-animation;position:absolute;top:6px}@keyframes scroll-hint-animation{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}.ecosystem-scroll-hint-text{color:#ffffffb3;letter-spacing:1px;text-transform:uppercase;font-size:12px}@media (max-width:768px){.ecosystem-scroll-hint{bottom:20px}.scroll-text-desktop{display:none}.scroll-text-mobile{display:inline}}.scroll-text-desktop{display:inline}.scroll-text-mobile{display:none}
.admin-shell{background:radial-gradient(circle at top left, color-mix(in srgb, var(--primary-color) 12%, transparent), transparent 30rem), var(--background-color);min-height:100vh;color:var(--primary-color);padding:clamp(24px,5vw,56px)}.admin-shell--login{place-items:center;display:grid}.admin-login,.admin-panel,.admin-header,.admin-stat{border:1px solid color-mix(in srgb, var(--border-color) 88%, transparent);background:color-mix(in srgb, var(--surface-color) 88%, transparent);-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%)}.admin-login{width:min(100%,460px);padding:clamp(22px,5vw,36px)}.admin-kicker{color:var(--muted-color);font-family:var(--secondary-font);letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:.72rem}.admin-shell h1,.admin-shell h2,.admin-shell h3,.admin-shell p{overflow-wrap:break-word}.admin-shell h1{text-transform:uppercase;margin:0;font-size:clamp(2.1rem,8vw,5.6rem);line-height:.95}.admin-shell h2{text-transform:uppercase;margin:0;font-size:clamp(1.5rem,4vw,2.6rem);line-height:1}.admin-shell h3{margin:0;font-size:1.05rem}.admin-header{justify-content:space-between;align-items:flex-start;gap:24px;padding:clamp(20px,4vw,36px);display:flex}.admin-header p,.admin-login p{max-width:58ch;color:var(--muted-color);line-height:1.6}.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0;display:grid}.admin-stat{gap:8px;padding:18px;display:grid}.admin-stat span,.admin-field span,.admin-check span{color:var(--muted-color);font-family:var(--secondary-font);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.admin-stat strong{font-size:clamp(2rem,6vw,4rem);line-height:.9}.admin-tabs{flex-wrap:wrap;gap:10px;margin:22px 0;display:flex}.admin-tab,.admin-button{border:1px solid color-mix(in srgb, var(--border-color) 90%, transparent);background:color-mix(in srgb, var(--surface-color) 82%, transparent);min-height:42px;color:var(--primary-color);cursor:pointer;font-family:var(--secondary-font);letter-spacing:.12em;text-transform:uppercase;font-size:.74rem}.admin-tab{padding:0 16px}.admin-tab.is-active,.admin-button--primary{background:var(--primary-color);border-color:var(--primary-color);color:var(--contrast-color)}.admin-button{justify-content:center;align-items:center;padding:0 14px;display:inline-flex}.admin-button--danger{border-color:color-mix(in srgb, #ff5d5d 58%, var(--border-color));color:#ff9a9a}.admin-button:disabled{cursor:not-allowed;opacity:.55}.admin-form,.admin-editor{gap:16px;display:grid}.admin-editor{border:1px solid color-mix(in srgb, var(--border-color) 82%, transparent);margin:18px 0;padding:18px}.admin-editor__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-field{gap:8px;display:grid}.admin-field--wide{grid-column:1/-1}.admin-field input,.admin-field textarea{border:1px solid color-mix(in srgb, var(--border-color) 90%, transparent);background:color-mix(in srgb, var(--background-color) 72%, transparent);width:100%;color:var(--primary-color);font:inherit;padding:12px}.admin-field textarea{resize:vertical}.admin-check{align-items:center;gap:10px;display:flex}.admin-editor__actions,.admin-record__actions{flex-wrap:wrap;gap:10px;display:flex}.admin-tabs--tight{margin:0}.admin-content-form,.admin-stack,.admin-content-section{gap:18px;display:grid}.admin-content-form{margin-top:22px}.admin-content-section{border-top:1px solid color-mix(in srgb, var(--border-color) 76%, transparent);padding-top:22px}.admin-content-card,.admin-json-details{border:1px solid color-mix(in srgb, var(--border-color) 76%, transparent);background:color-mix(in srgb, var(--background-color) 34%, transparent);gap:14px;padding:16px;display:grid}.admin-json-details summary{cursor:pointer;font-family:var(--secondary-font);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.admin-editor__actions--sticky{z-index:2;border:1px solid color-mix(in srgb, var(--border-color) 76%, transparent);background:color-mix(in srgb, var(--background-color) 84%, transparent);-webkit-backdrop-filter:blur(14px)saturate(130%);backdrop-filter:blur(14px)saturate(130%);padding:12px;position:sticky;bottom:16px}.admin-panel{padding:clamp(18px,4vw,28px)}.admin-panel__head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.admin-list{gap:12px;margin-top:18px;display:grid}.admin-record{border:1px solid color-mix(in srgb, var(--border-color) 76%, transparent);grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:16px;display:grid}.admin-record__body{min-width:0}.admin-record__body p{color:var(--muted-color);margin:6px 0 0;line-height:1.5}.admin-record__meta{font-family:var(--secondary-font);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem}.admin-alert,.admin-error,.admin-empty{border:1px solid color-mix(in srgb, var(--border-color) 82%, transparent);color:var(--primary-color);background:color-mix(in srgb, var(--surface-color) 84%, transparent);padding:12px}.admin-error{border-color:color-mix(in srgb, #ff5d5d 58%, var(--border-color));color:#ff9a9a}@media (max-width:720px){.admin-shell{padding:18px}.admin-header,.admin-panel__head,.admin-record{flex-direction:column;grid-template-columns:1fr}.admin-stats,.admin-editor__grid{grid-template-columns:1fr}.admin-tabs,.admin-editor__actions,.admin-record__actions{grid-template-columns:1fr 1fr;display:grid}.admin-button,.admin-tab{width:100%}}
.route-transition-overlay{z-index:2000;pointer-events:none;opacity:0;background:var(--background-color);justify-content:center;align-items:center;transition:opacity .24s,visibility .24s;display:flex;position:fixed;inset:0;overflow:hidden}.route-transition-overlay.is-visible{opacity:1}.route-transition-overlay:after{content:"";background:radial-gradient(circle,#ffffff08,#0000 70%);position:absolute;inset:0}.route-transition-field{background-color:var(--background-color);position:absolute;inset:0}.route-transition-canvas{width:100%;height:100%;display:block}.route-transition-center{z-index:2;place-items:center;width:220px;height:220px;display:grid;position:absolute}.route-transition-core{background:radial-gradient(circle,#ffffff0f,#ffffff03 44%,#0000 70%);border:1px solid #ffffff14;border-radius:999px;width:132px;height:132px;animation:.72s ease-in-out infinite alternate route-transition-pulse;box-shadow:0 0 42px #ffffff12,inset 0 0 28px #ffffff08}@keyframes route-transition-pulse{0%{opacity:.72;transform:scale(.94)}to{opacity:1;transform:scale(1.03)}}
.logoloop{contain:layout paint;--logoloop-gap:32px;--logoloop-logoHeight:28px;--logoloop-fadeColorAuto:var(--background-color);position:relative;overflow:hidden;transform:translateZ(0)}.logoloop--scale-hover{padding-top:calc(var(--logoloop-logoHeight) * .1);padding-bottom:calc(var(--logoloop-logoHeight) * .1)}.logoloop__track{will-change:transform;-webkit-user-select:none;user-select:none;align-items:center;width:max-content;display:flex}.logoloop__list{align-items:center;margin:0;padding:0;list-style:none;display:flex}.logoloop__item{margin-right:var(--logoloop-gap);font-size:var(--logoloop-logoHeight);flex:none;line-height:1}.logoloop__item:last-child{margin-right:var(--logoloop-gap)}.logoloop__node{background:var(--surface-color);color:var(--primary-color);font-family:var(--secondary-font,"Space Mono", monospace);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .85rem;font-size:.7rem;transition:transform .3s cubic-bezier(.4,0,.2,1),background .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.logoloop__item img{height:var(--logoloop-logoHeight);object-fit:contain;width:auto;image-rendering:-webkit-optimize-contrast;-webkit-user-drag:none;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1);display:block}.logoloop--scale-hover .logoloop__item{overflow:visible}.logoloop--scale-hover .logoloop__item:hover img,.logoloop--scale-hover .logoloop__item:hover .logoloop__node{transform-origin:50%;background:var(--surface-elevated);color:var(--accent-color);transform:scale(1.12)}.logoloop--scale-hover .logoloop__node{transition:transform .3s cubic-bezier(.4,0,.2,1),background .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1)}.logoloop__link{border-radius:4px;align-items:center;text-decoration:none;transition:opacity .2s;display:inline-flex}.logoloop__link:hover{opacity:.85}.logoloop__link:focus-visible{outline-offset:2px;outline:2px solid}.logoloop--fade:before,.logoloop--fade:after{content:"";pointer-events:none;z-index:1;width:clamp(24px,8%,120px);position:absolute;top:0;bottom:0}.logoloop--fade:before{background:linear-gradient(to right, var(--logoloop-fadeColor,var(--logoloop-fadeColorAuto)) 0%, #0000 100%);left:0}.logoloop--fade:after{background:linear-gradient(to left, var(--logoloop-fadeColor,var(--logoloop-fadeColorAuto)) 0%, #0000 100%);right:0}@media (max-width:1360px){.logoloop{--logoloop-gap:clamp(18px, 4vw, 28px);--logoloop-logoHeight:clamp(32px, 4.6vw, 44px)}}@media (max-width:1024px){.logoloop{--logoloop-gap:clamp(14px, 5vw, 24px);--logoloop-logoHeight:clamp(26px, 5.2vw, 36px)}}@media (max-width:520px){.logoloop{--logoloop-gap:clamp(12px, 6vw, 18px);--logoloop-logoHeight:clamp(22px, 7vw, 30px)}}@media (hover:none) and (pointer:coarse){.logoloop--scale-hover .logoloop__item:hover img,.logoloop--scale-hover .logoloop__item:hover .logoloop__node{background:var(--surface-color);color:var(--primary-color);transform:none}.logoloop--scale-hover .logoloop__item img,.logoloop--scale-hover .logoloop__node{transition:none}}@media (prefers-reduced-motion:reduce){.logoloop__track{transform:translate(0,0)!important}.logoloop__item img,.logoloop__node{transition:none!important}}
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
