.threeui-mount,.text-path-study,.article-headings-component,.animated-top-dock-component,.typography-vortex-component,.landscape-scene,.japanese-tower-landscape,.liquid-metal-button,.spark-badge,.threeui-background{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}.japanese-tower-landscape{isolation:isolate;background:#ecdcbc}.japanese-tower-landscape__frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#ecdcbc;opacity:0;transition:opacity .18s ease-out}.japanese-tower-landscape__frame.is-ready{opacity:1}.landscape-scene{isolation:isolate;background:#ecdcbc}.landscape-scene__frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#ecdcbc;opacity:0;transition:opacity .18s ease-out;touch-action:none}.landscape-scene__frame.is-ready{opacity:1}.liquid-metal-button{isolation:isolate;background:#070708}.liquid-metal-button__frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#070708;opacity:0;transition:opacity .18s ease-out}.liquid-metal-button__frame.is-ready{opacity:1}@media(prefers-reduced-motion:reduce){.liquid-metal-button__frame{transition:none}}.spark-badge{isolation:isolate;background:#000}.spark-badge__frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#000;opacity:0;transition:opacity .18s ease-out}.spark-badge__frame.is-ready{opacity:1}.text-path-study{isolation:isolate;background:#08090a}.text-path-study--light{background:#f3f5f8}.text-path-study-frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:transparent;transform-origin:50% 50%}.threeui-background{position:relative;isolation:isolate;background:#030304}.threeui-background.condensation{background:transparent}.threeui-background.predictive-arc--light,.threeui-background.data-pixel-arc--light{background:#f3f6f1}.typography-vortex-component.typography-vortex-component--light{background:#eef1f6}.typography-vortex-component--light .typography-vortex-component__hint{color:#1c1e268c}.threeui-background>canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.temple-night-scene,.temple-night-canvas{display:block;width:100%;height:100%}.temple-night-scene{position:relative;overflow:hidden;background:#05070a}.temple-night-canvas{position:relative;z-index:1;opacity:0;touch-action:none}.temple-night-canvas.is-ready{opacity:1}.temple-night-unavailable{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:#a9b2b7;background:#05070a}.bookshelf,.bookshelf__canvas,.sketchbook,.sketchbook__frame{display:block;width:100%;height:100%}.bookshelf{position:relative;container-type:inline-size;overflow:hidden;background:#171a24;outline:none}.bookshelf__canvas{position:absolute;inset:0;opacity:0;touch-action:none}.bookshelf__canvas.is-ready{opacity:1}.bookshelf__source-controls{display:none}.bookshelf__unavailable{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:24px;color:#f4eee6;text-align:center}.sketchbook{position:relative;overflow:hidden;background:#ece7dc}.sketchbook__frame{border:0;opacity:0;background:#ece7dc}.sketchbook__frame.is-ready{opacity:1}@font-face{font-family:ThreeUI Fragment Mono;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2")}.article-headings-component,.animated-top-dock-component,.typography-vortex-component{container-type:inline-size;color:#ecece8;background:#0b0b0b;font-family:Geist,Helvetica Neue,Helvetica,Arial,sans-serif}.article-headings-component{display:grid;grid-template-rows:auto 1fr 1fr;padding:clamp(20px,5.4cqw,74px) clamp(20px,6.2cqw,86px);isolation:isolate}.article-headings-component:after,.animated-top-dock-component:after,.typography-vortex-component:after{position:absolute;inset:0;z-index:5;pointer-events:none;content:"";opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.article-headings-component__header{display:flex;justify-content:space-between;padding-bottom:clamp(14px,2.6cqw,30px);color:#62625e;font:400 clamp(8px,.85cqw,10px) / 1 "ThreeUI Fragment Mono",ui-monospace,monospace;letter-spacing:.12em}.article-headings-component__entry{display:grid;grid-template-columns:clamp(28px,4cqw,56px) minmax(0,1fr) auto;align-items:center;gap:clamp(10px,2.2cqw,30px);border-top:1px solid #2a2a28}.article-headings-component__entry h2{margin:0;color:#e9e9e5;font-size:clamp(18px,3.2cqw,44px);font-weight:600;line-height:1.08;letter-spacing:-.02em}.article-headings-component__index,.article-headings-component__meta{color:#60605c;font:400 clamp(8px,.85cqw,10px) / 1.3 "ThreeUI Fragment Mono",ui-monospace,monospace;letter-spacing:.06em}.article-headings-component__meta{text-align:right}.article-headings-component--light{color:#202128;background:#f3f5f8}.article-headings-component--light .article-headings-component__header,.article-headings-component--light .article-headings-component__index,.article-headings-component--light .article-headings-component__meta{color:#71737b}.article-headings-component--light .article-headings-component__entry{border-color:#d9dce3}.article-headings-component--light .article-headings-component__entry h2{color:#1d1f26}.typography-vortex-component{position:relative;isolation:isolate;touch-action:none;cursor:crosshair}.typography-vortex-component canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.typography-vortex-component__hint,.animated-top-dock-component__caption{position:absolute;z-index:6;color:#62625e;font:400 9px/1 ThreeUI Fragment Mono,ui-monospace,monospace;letter-spacing:.1em}.typography-vortex-component__hint{right:18px;bottom:16px}.animated-top-dock-component{position:relative;display:grid;place-items:center;isolation:isolate;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.035),transparent 34%),#080808}.animated-top-dock__nav{position:absolute;top:clamp(24px,5cqw,46px);left:50%;z-index:10;display:flex;align-items:flex-start;gap:3px;height:38px;padding:4px;overflow:visible;border:1px solid #292929;border-radius:11px;background:#0e0e0edb;box-shadow:0 12px 34px #0000007a,inset 0 1px #ffffff09;-webkit-backdrop-filter:blur(18px) saturate(75%);backdrop-filter:blur(18px) saturate(75%);transform:translate(-50%);isolation:isolate}.animated-top-dock__item{position:relative;z-index:6;display:inline-flex;flex:none;align-items:center;justify-content:center;height:28px;min-width:0;padding:0;border:1px solid transparent;border-radius:7px;outline:none;color:#858580;background:#151514e6;font:400 10px/1 ThreeUI Fragment Mono,ui-monospace,monospace;letter-spacing:.1em;white-space:nowrap;-webkit-backdrop-filter:blur(14px) saturate(70%);backdrop-filter:blur(14px) saturate(70%);transform-origin:50% 0;transition:color .15s,border-color .18s,background .18s,box-shadow .18s;will-change:width,height,transform;cursor:pointer}.animated-top-dock__item[data-dock-near=true],.animated-top-dock__item:focus-visible{z-index:7;color:#ecece8;border-color:#41413e;background:#1b1b1af0;box-shadow:0 7px 16px #00000042}.animated-top-dock__logo{width:28px;height:28px;overflow:hidden;background:#e8e8e3}.animated-top-dock__logo svg{display:block;width:100%;height:100%}.animated-top-dock__link{gap:6px;width:94px;padding:0 9px}.animated-top-dock__link[aria-pressed=true]{color:#111;border-color:#e8e8e3;background:#e8e8e3;box-shadow:0 7px 18px #00000047}.animated-top-dock__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:13px;height:13px;opacity:.62;transition:opacity .16s}.animated-top-dock__icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.animated-top-dock__item[data-dock-near=true] .animated-top-dock__icon,.animated-top-dock__item:focus-visible .animated-top-dock__icon{opacity:1}.animated-top-dock-component__caption{right:18px;bottom:16px}@media(max-width:600px){.article-headings-component{padding:18px}.article-headings-component__entry{grid-template-columns:24px minmax(0,1fr)}.article-headings-component__entry h2{font-size:clamp(17px,5.5vw,26px)}.article-headings-component__meta{display:none}.animated-top-dock__nav{top:24px;gap:2px;height:36px}.animated-top-dock__item{height:26px!important;transform:none!important}.animated-top-dock__logo{width:26px!important;height:26px!important}.animated-top-dock__link{width:auto!important;padding:0 7px;font-size:8px;letter-spacing:.07em}.animated-top-dock__icon{display:none}}@media(prefers-reduced-motion:reduce){.animated-top-dock__item{transform:none!important}}.circle-buttons,.circle-buttons *,.circle-buttons *:before,.circle-buttons *:after{box-sizing:border-box}.circle-buttons{--circle-button-hue: 0deg;--circle-button-saturation: 1;--circle-button-brightness: 1;position:relative;display:grid;width:100%;height:100%;min-width:0;min-height:0;place-items:center;overflow:hidden;isolation:isolate;container-type:size;background:#111318;color-scheme:dark;filter:hue-rotate(var(--circle-button-hue)) saturate(var(--circle-button-saturation)) brightness(var(--circle-button-brightness))}.circle-buttons--play{background:#0a0a0a}.circle-buttons--light{background:#f4f7fb;color-scheme:light}.circle-buttons__atmosphere{position:absolute;width:min(62cqw,440px);height:min(50cqh,240px);border-radius:50%;background:#ffffff05;filter:blur(54px);pointer-events:none}.circle-button{position:relative;display:grid;width:clamp(56px,8cqw,72px);aspect-ratio:1;padding:0;place-items:center;overflow:visible;border:0;border-radius:50%;background:transparent;color:#ffffffb3;cursor:pointer;transform:translateZ(0);transition:transform .2s ease-in-out,filter .2s ease-in-out;-webkit-tap-highlight-color:transparent}.circle-button:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.48}.circle-button:focus-visible{outline:2px solid rgba(255,255,255,.88);outline-offset:7px}.circle-buttons--light .circle-button:focus-visible{outline-color:#111827cc}.circle-button__aura,.circle-button__rim,.circle-button__face,.circle-button__details,.circle-button__icon{position:absolute;inset:0;border-radius:inherit;pointer-events:none}.circle-button__face{z-index:1}.circle-button__rim{z-index:2}.circle-button__details{z-index:4}.circle-button__icon{z-index:5;display:grid;place-items:center}.circle-button__icon svg{width:30%;height:30%;overflow:visible}.circle-buttons--play .circle-button{overflow:hidden}.circle-buttons--play .circle-button__face{background:#171717b3;box-shadow:inset 2px 4px 16px #ffffff0f;-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px)}.circle-buttons--play .circle-button__rim{border:1px solid rgba(255,255,255,.25);opacity:.25;-webkit-mask-image:linear-gradient(170deg,#000,transparent 50%);mask-image:linear-gradient(170deg,#000,transparent 50%)}.circle-buttons--play .circle-button__aura{z-index:3;top:50%;left:50%;width:200px;height:200px;background:conic-gradient(from 180deg,#ffffff03 180deg,#ffffff0d 360deg);filter:blur(15px);transform:translate(-50%,-50%);animation:circle-button-section-orbit 3.6s linear infinite;transition:opacity .5s}.circle-buttons--play .circle-button__face:after{position:absolute;inset:-38%;border-radius:50%;background:#ffffff1f;content:"";opacity:0;filter:blur(5px);transform:scale(.5);transition:opacity .5s,transform .7s;-webkit-mask-image:radial-gradient(50% 50%,#000,rgba(23,23,23,0));mask-image:radial-gradient(50% 50%,#000,#17171700)}.circle-buttons--play .circle-button__icon svg{margin-left:4%;fill:currentColor}.circle-buttons--play .circle-button:not(:disabled):hover .circle-button__aura{opacity:0}.circle-buttons--play .circle-button:not(:disabled):hover .circle-button__face:after{opacity:1;transform:scale(1)}.circle-buttons--play .circle-button:not(:disabled):active{transform:scale(.98)}.circle-buttons--light.circle-buttons--play .circle-button{color:#111827b3}.circle-buttons--light.circle-buttons--play .circle-button__face{background:#e8eaeec7;box-shadow:inset 2px 4px 16px #ffffffb8}.circle-buttons--light.circle-buttons--play .circle-button__rim{border-color:#11182747}.circle-buttons--plus .circle-buttons__atmosphere{display:none}.circle-buttons--plus .circle-button{color:#451a03}.circle-buttons--plus .circle-button__aura{inset:-4px;border-radius:inherit;background:#f59e0b66;opacity:.4;filter:blur(8px);transition:opacity .5s}.circle-buttons--plus .circle-button__face{background:linear-gradient(to bottom,#fde68a,#fcd34d,#f59e0b);box-shadow:0 0 0 1px #fbbf2480,0 4px #b45309,0 10px 15px -3px #00000080;transition:transform .15s,box-shadow .15s}.circle-buttons--plus .circle-button__icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.5}.circle-buttons--plus .circle-button:not(:disabled):hover .circle-button__aura{opacity:.75}.circle-buttons--plus .circle-button:not(:disabled):active{transform:translateY(2px)}.circle-buttons--plus .circle-button:not(:disabled):active .circle-button__face{box-shadow:0 0 0 1px #fbbf2480,0 2px #b45309}.circle-buttons--mail .circle-buttons__atmosphere{display:none}.circle-buttons--mail .circle-button{color:#ffffff45}.circle-buttons--mail .circle-button__face{border:1px solid rgba(255,255,255,.2);background:transparent;transition:background-color .2s ease-in-out}.circle-buttons--mail .circle-button__details{inset:-10px;border-radius:0}.circle-buttons--mail .circle-button__details i{position:absolute;width:8px;aspect-ratio:1;border-radius:2px;background:#ffffffab;opacity:0;transition:opacity .3s ease-in-out,transform .35s ease-in-out}.circle-buttons--mail .circle-button__details i:nth-of-type(1){top:-4px;left:-4px;transform:translate(34px,34px)}.circle-buttons--mail .circle-button__details i:nth-of-type(2){top:-4px;right:-4px;transform:translate(-34px,34px);transition-delay:.21s}.circle-buttons--mail .circle-button__details i:nth-of-type(3){right:-4px;bottom:-4px;transform:translate(-34px,-34px);transition-delay:.42s}.circle-buttons--mail .circle-button__details i:nth-of-type(4){bottom:-4px;left:-4px;transform:translate(34px,-34px);transition-delay:.63s}.circle-buttons--mail .circle-button__details b{position:absolute;display:block;opacity:0}.circle-buttons--mail .circle-button__details b:nth-of-type(1),.circle-buttons--mail .circle-button__details b:nth-of-type(3){right:0;left:0;height:1px;background-image:repeating-linear-gradient(90deg,transparent 0 2px,rgba(255,255,255,.67) 2px 4px);transform:scaleX(0)}.circle-buttons--mail .circle-button__details b:nth-of-type(1){top:0;transform-origin:top left;transition:transform .35s ease-in-out .28s,opacity 20ms linear .28s}.circle-buttons--mail .circle-button__details b:nth-of-type(3){bottom:0;transform-origin:bottom right;transition:transform .35s ease-in-out .7s,opacity 20ms linear .7s}.circle-buttons--mail .circle-button__details b:nth-of-type(2),.circle-buttons--mail .circle-button__details b:nth-of-type(4){top:0;bottom:0;width:1px;background-image:repeating-linear-gradient(0deg,transparent 0 2px,rgba(255,255,255,.67) 2px 4px);transform:scaleY(0)}.circle-buttons--mail .circle-button__details b:nth-of-type(2){right:0;transform-origin:top right;transition:transform .35s ease-in-out .49s,opacity 20ms linear .49s}.circle-buttons--mail .circle-button__details b:nth-of-type(4){left:0;transform-origin:bottom left;transition:transform .35s ease-in-out .84s,opacity 20ms linear .84s}.circle-buttons--mail .circle-button__icon svg{fill:#ffffff21;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45;transition:fill .2s ease-in-out,stroke .2s ease-in-out}.circle-buttons--mail .circle-button:not(:disabled):hover{color:#ffffffab;transform:scale(1.05)}.circle-buttons--mail .circle-button:not(:disabled):hover .circle-button__face,.circle-buttons--mail .circle-button:not(:disabled):active .circle-button__face{background:#25358b}.circle-buttons--mail .circle-button:not(:disabled):hover .circle-button__details i,.circle-buttons--mail .circle-button:not(:disabled):hover .circle-button__details b{opacity:1;transform:none}.circle-buttons--mail .circle-button:not(:disabled):active{transform:scale(.98)}.circle-buttons--light.circle-buttons--mail .circle-button{color:#11182761}.circle-buttons--light.circle-buttons--mail .circle-button__face{border-color:#11182733}.circle-buttons--light.circle-buttons--mail .circle-button__details i{background:#11182794}.circle-buttons--light.circle-buttons--mail .circle-button__details b:nth-of-type(1),.circle-buttons--light.circle-buttons--mail .circle-button__details b:nth-of-type(3){background-image:repeating-linear-gradient(90deg,transparent 0 2px,rgba(17,24,39,.58) 2px 4px)}.circle-buttons--light.circle-buttons--mail .circle-button__details b:nth-of-type(2),.circle-buttons--light.circle-buttons--mail .circle-button__details b:nth-of-type(4){background-image:repeating-linear-gradient(0deg,transparent 0 2px,rgba(17,24,39,.58) 2px 4px)}.circle-buttons--light.circle-buttons--mail .circle-button:not(:disabled):hover{color:#ffffffab}@keyframes circle-button-section-orbit{0%{transform:translate(-50%,-50%) translate(0) rotate(0)}25%{transform:translate(-50%,-50%) translate(-30px) rotate(90deg)}50%{transform:translate(-50%,-50%) translate(0) rotate(180deg)}75%{transform:translate(-50%,-50%) translate(30px) rotate(270deg)}to{transform:translate(-50%,-50%) translate(0) rotate(360deg)}}@media(prefers-reduced-motion:reduce){.circle-buttons *,.circle-buttons *:before,.circle-buttons *:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.threeui-background.gallery{position:absolute;inset:0;overflow:hidden;background-color:#f1f1ef;background-image:radial-gradient(rgba(13,13,13,.13) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.gallery__canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.lumen-cta,.lumen-cta *,.lumen-cta *:before,.lumen-cta *:after{box-sizing:border-box}.lumen-cta{--lumen-cta-hue: 0deg;--lumen-cta-saturation: 1;--lumen-cta-brightness: 1;position:relative;display:grid;width:100%;height:100%;min-width:0;min-height:0;place-items:center;overflow:hidden;isolation:isolate;background:#0b0821}.lumen-cta--light{background:#f3f0fb}.lumen-cta__button{height:45px;display:inline-flex;align-items:center;gap:10px;padding:0 30px;border-radius:999px;border:0;outline:1px solid rgba(255,255,255,.1);text-decoration:none;font-family:Mulish,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15.7px;font-weight:600;line-height:1;color:#fff;white-space:nowrap;position:relative;cursor:pointer;appearance:none;background:linear-gradient(90deg,#050014,#0d0029,#1e0066,#2f00ab 60%,#5227c0 75%,#9470d9);box-shadow:0 4px 22px #4614be4d,inset 0 1px #ffffff24;filter:hue-rotate(var(--lumen-cta-hue)) saturate(var(--lumen-cta-saturation)) brightness(var(--lumen-cta-brightness));transition:filter .25s ease}.lumen-cta__button:hover:not(:disabled){filter:hue-rotate(var(--lumen-cta-hue)) saturate(var(--lumen-cta-saturation)) brightness(calc(var(--lumen-cta-brightness) * 1.12))}.lumen-cta__button:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:3px}.lumen-cta__button:disabled{cursor:default;opacity:.55}.lumen-cta__button--ghost{padding:0 33px;background:#ffffff05;outline-color:#fff3;box-shadow:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .25s ease,outline-color .25s ease}.lumen-cta__button--ghost:hover:not(:disabled){background:#ffffff17;filter:hue-rotate(var(--lumen-cta-hue)) saturate(var(--lumen-cta-saturation)) brightness(var(--lumen-cta-brightness))}.lumen-cta--light .lumen-cta__button--ghost{color:#1a1033;background:#0c062208;outline-color:#0c062229}.lumen-cta--light .lumen-cta__button--ghost:hover:not(:disabled){background:#0c062212}.lumen-cta__ring{width:7px;height:7px;border-radius:50%;border:1.3px solid rgba(255,255,255,.9);flex:0 0 auto}.lumen-cta--light .lumen-cta__button--ghost .lumen-cta__ring{border-color:#1a1033bf}@media(prefers-reduced-motion:reduce){.lumen-cta__button{transition:none}}.section-element,.section-element *,.section-element *:before,.section-element *:after{box-sizing:border-box}.section-element{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;color:#fffffff2;background:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;container-type:size;isolation:isolate}.section-element button,.section-element input{font:inherit}.section-button{position:relative;display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 32px;overflow:hidden;border:0;border-radius:32px;color:#ffffffb3;background:transparent;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer}.section-button:before,.section-button:after{position:absolute;inset:0;border-radius:inherit;content:""}.section-button:before{background:#171717b3;box-shadow:inset 2px 4px 16px #ffffff0f;-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px)}.section-button:after{z-index:2;border:1px solid rgba(255,255,255,.25);opacity:.25;pointer-events:none;-webkit-mask-image:linear-gradient(170deg,#000,transparent 50%);mask-image:linear-gradient(170deg,#000,transparent 50%)}.section-button__title{position:relative;z-index:4}.section-button__circle{position:absolute;z-index:3;top:calc(50% - 100px);left:calc(50% - 100px);width:200px;height:200px}.section-button__circle:before,.section-button__circle:after{position:absolute;inset:0;border-radius:50%;content:""}.section-button__circle:before{background:conic-gradient(from 180deg,#ffffff03 180deg,#ffffff0d 360deg);filter:blur(15px);animation:section-button-circle 3.6s linear infinite;transition:opacity .5s}.section-button__circle:after{inset:30px;background:#ffffff1f;opacity:0;filter:blur(5px);transform:scale(.5);transition:opacity .5s,transform .7s;-webkit-mask-image:radial-gradient(50% 50%,#000,rgba(23,23,23,0));mask-image:radial-gradient(50% 50%,#000,#17171700)}.section-button:hover .section-button__circle:before{opacity:0}.section-button:hover .section-button__circle:after{opacity:1;transform:scale(1)}.section-button:active{transform:scale(.98)}@keyframes section-button-circle{0%{transform:translate(0) rotate(0)}25%{transform:translate(-30px) rotate(90deg)}50%{transform:translate(0) rotate(180deg)}75%{transform:translate(30px) rotate(270deg)}to{transform:translate(0) rotate(360deg)}}.section-label{position:relative;display:inline-flex;align-items:center;justify-content:center;height:28px;padding:2px 16px 0;overflow:hidden;border-radius:16px;color:#ffffff80;font-size:12px;font-weight:600;line-height:1.65;text-transform:uppercase}.section-label:before,.section-label:after{position:absolute;inset:0;border-radius:inherit;content:""}.section-label:before{z-index:3;inset:1.5px;background:#0a0a0a}.section-label:after{z-index:2;border:1.5px solid rgba(255,255,255,.05);opacity:.25;pointer-events:none;-webkit-mask-image:linear-gradient(170deg,#000,transparent 50%);mask-image:linear-gradient(170deg,#000,transparent 50%)}.section-label__title{position:relative;z-index:4;opacity:.8}.section-label__circle{position:absolute;z-index:1;top:calc(50% - 100px);left:calc(50% - 100px);width:200px;height:200px}.section-label__circle:before{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 180deg at 50% 51%,#ffffff03 330deg,#fff 360deg);filter:blur(15px);animation:section-button-circle 3.6s linear infinite;content:""}.section-element--glass-button{display:grid;place-items:center}.section-element--glass-button:before{position:absolute;top:50%;left:50%;width:min(62cqw,440px);height:min(50cqh,240px);border-radius:50%;background:#ffffff05;filter:blur(54px);transform:translate(-50%,-50%);content:""}.section-element--glass-button .section-button{width:clamp(144px,23cqw,288px);height:clamp(52px,8.3cqw,104px);border-radius:999px;font-size:clamp(14px,2.25cqw,28px)}.editorial-intro h2{margin:0;background:linear-gradient(93deg,#ffffffe6,#ffffff80);background-clip:text;color:transparent;font-size:clamp(18px,4.1cqw,54px);font-weight:700;letter-spacing:-.035em;line-height:1.04;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.section-element--testimonial-intro{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:clamp(20px,6cqh,56px) 24px clamp(26px,7cqh,64px);text-align:center}.editorial-intro__graphic{position:relative;width:min(58cqh,38cqw,420px);aspect-ratio:1;flex:0 0 auto}.editorial-intro__graphic:before,.editorial-intro__graphic:after{position:absolute;top:50%;left:50%;width:1px;height:20%;background:#ffffff21;content:"";transform:translate(-50%,-50%)}.editorial-intro__graphic:before{top:-3%}.editorial-intro__graphic:after{top:103%}.editorial-intro__dots,.editorial-intro__device,.editorial-intro__device>img:first-child{position:absolute;inset:0;width:100%;height:100%}.editorial-intro__dots{animation:section-dots-drift 8s ease-in-out infinite alternate}.editorial-intro__device{animation:section-device-float 6s ease-in-out infinite}.editorial-intro__keyboard{position:absolute;top:59.6%;left:50%;width:40.2%;transform:translate(-50%)}.editorial-intro__copy{position:relative;z-index:2}.editorial-intro__copy .section-label{margin-bottom:clamp(8px,2cqh,16px)}.editorial-intro__copy h2{font-size:clamp(23px,6.6cqw,84px);line-height:1}.editorial-intro__copy p{margin:clamp(8px,3.6cqh,32px) 0 0;color:#ffffffa3;font-size:clamp(10px,2.5cqw,32px);font-weight:300;line-height:1.4}@keyframes section-device-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes section-dots-drift{0%{transform:rotate(-.4deg) scale(.995)}to{transform:rotate(.5deg) scale(1.008)}}.section-element--newsletter-footer{display:flex;flex-direction:column;justify-content:flex-end;padding:0 clamp(24px,4.5cqw,90px) clamp(12px,2cqh,24px)}.newsletter-footer__row{display:flex;align-items:center;gap:40px;margin-bottom:clamp(18px,4.5cqh,32px)}.newsletter-footer__brand{display:flex;align-items:center;min-width:0;margin-right:auto}.newsletter-footer__mark{display:grid;flex:none;width:clamp(32px,4.4cqw,56px);height:clamp(32px,4.4cqw,56px);margin-right:clamp(16px,2.5cqw,32px);border:1px solid rgba(255,255,255,.12);border-radius:24%;place-items:center;background:linear-gradient(145deg,#ffffff21,#ffffff06);box-shadow:inset 0 1px #ffffff14,0 14px 28px #00000047}.newsletter-footer__mark span{color:#ffffffd1;font-size:clamp(9px,1.1cqw,14px);font-weight:600;letter-spacing:-.04em}.newsletter-footer__brand p{margin:0;color:#ffffffa3;font-size:clamp(10px,1.55cqw,20px);font-weight:300;line-height:1.6}.newsletter-footer__form{position:relative;flex:0 1 400px;height:60px;overflow:hidden;border-radius:30px;background:#1717174d}.newsletter-footer__form:before{position:absolute;inset:0;border:1.5px solid rgba(255,255,255,.02);border-radius:inherit;content:"";pointer-events:none;-webkit-mask-image:linear-gradient(175deg,#000,transparent 50%);mask-image:linear-gradient(175deg,#000,transparent 50%)}.newsletter-footer__form>svg{position:absolute;z-index:1;top:18px;left:22px;fill:#ffffff9e;stroke:#ffffff9e;stroke-width:1.5;pointer-events:none;transition:opacity .25s}.newsletter-footer__form input{width:100%;height:60px;padding:0 164px 0 60px;border:0;outline:0;border-radius:30px;color:#fffffff2;background:transparent;font-size:14px;line-height:1.4;transition:opacity .25s}.newsletter-footer__form input::placeholder{color:#ffffff80}.newsletter-footer__button{position:absolute;z-index:2;top:4px;right:4px;width:148px;padding:0 12px;transition:width .45s cubic-bezier(.32,.72,0,1),padding .45s cubic-bezier(.32,.72,0,1)}.newsletter-footer__ring{position:absolute;inset:-1px;border:1px solid transparent;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .3s .25s}.newsletter-footer__form.is-success>svg,.newsletter-footer__form.is-success input{opacity:0}.newsletter-footer__form.is-success .newsletter-footer__button{width:calc(100% - 8px);padding:0 20px}.newsletter-footer__form.is-success .newsletter-footer__ring{border-color:#ffc23d80;opacity:1}.newsletter-footer__wordmark{width:100%;color:#f8f8f80e;font-size:clamp(50px,12.7cqw,164px);font-weight:700;letter-spacing:-.075em;line-height:.9;text-align:center;white-space:nowrap}.newsletter-footer__legal{display:flex;flex-wrap:wrap;justify-content:center;gap:8px clamp(12px,1.8cqw,24px);margin-top:clamp(14px,3.9cqh,28px);color:#ffffff80;font-size:clamp(8px,1.1cqw,14px);line-height:1.4;text-align:center}.newsletter-footer__legal a{color:#ffffffa3;text-decoration:none;transition:color .2s}.newsletter-footer__legal a:hover{color:#fff}@container (max-width: 720px){.section-element--newsletter-footer{padding-inline:18px}.newsletter-footer__row{gap:18px}.newsletter-footer__form{flex-basis:42%;height:44px}.newsletter-footer__form>svg{top:13px;left:14px;width:18px;height:18px}.newsletter-footer__form input{height:44px;padding:0 92px 0 42px;font-size:10px}.newsletter-footer__button{top:3px;right:3px;width:84px;height:38px;padding:0 8px;font-size:10px}}@container (max-height: 360px){.section-element--testimonial-intro{padding-block:14px 18px}.editorial-intro__copy p{margin-top:8px}.newsletter-footer__row{margin-bottom:12px}.newsletter-footer__legal{margin-top:10px}}@media(prefers-reduced-motion:reduce){.section-element *,.section-element *:before,.section-element *:after{animation:none!important;transition:none!important}}
/* ==========================================================================
   Design Tokens & Unified Theme System (Direction A · 编辑器暖白)
   Warm White Background + Sage Green Accent + Editorial Typography
   ========================================================================== */

:root,
[data-theme="light"] {
  --bg: #faf9f7;
  --bg2: #f3efe8;
  --surface: #ffffff;
  --surface2: #f8f6f0;
  --border: #e8e4dc;
  --border-subtle: #f1ede5;
  --text: #1c1c1e;
  --text2: #5c5852;
  --text3: #959086;
  --accent: #537d5d;
  --accent2: #43664a;
  --accent-light: #edf3ee;
  --accent-border: #cad9cc;
  --accent-text: #2c4e36;
  --accent-glow: rgba(83, 125, 93, 0.12);
  --header-bg: rgba(250, 249, 247, 0.94);
  --header-border: rgba(232, 228, 220, 0.92);
  --card-shadow: 0 1px 3px rgba(35, 33, 29, 0.04), 0 4px 12px -2px rgba(35, 33, 29, 0.03);
  --card-hover-shadow: 0 8px 24px -4px rgba(35, 33, 29, 0.08), 0 0 0 1px var(--accent);
  --demo-stage-bg: #f4f0e8;
  --fail: #e0485a;
  --ok: #537d5d;
  --radius: 12px;
  --radius-sm: 8px;
  --sans: 'Outfit', -apple-system, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Noto Sans SC', system-ui, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  color-scheme: light;
}

[data-theme="dark"] {
  --bg: #151614;
  --bg2: #1c1d1a;
  --surface: #20221e;
  --surface2: #272a24;
  --border: #2e322b;
  --border-subtle: #242721;
  --text: #f4f4f0;
  --text2: #a19f97;
  --text3: #706e66;
  --accent: #7fa889;
  --accent2: #96be9f;
  --accent-light: rgba(127, 168, 137, 0.15);
  --accent-border: rgba(127, 168, 137, 0.32);
  --accent-text: #b8dbc0;
  --accent-glow: rgba(127, 168, 137, 0.18);
  --header-bg: rgba(21, 22, 20, 0.94);
  --header-border: rgba(46, 50, 43, 0.9);
  --card-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.45);
  --card-hover-shadow: 0 14px 34px -4px rgba(0, 0, 0, 0.6), 0 0 0 1px var(--accent);
  --demo-stage-bg: #111210;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html, body, #root { min-height: 100%; }
html { background: var(--bg); transition: background-color 0.2s ease; }
body {
  margin: 0;
  font-family: var(--sans);
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  transition: background-color 0.2s ease, color 0.2s ease;
}

button, input { font: inherit; color: inherit; }
a { color: var(--accent2); text-decoration: none; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--text3); }

.app {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--bg);
  color: var(--text);
}

/* ==========================================================================
   Unified Site Header (Shared across Home & SVG Kits)
   ========================================================================== */

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  height: 64px;
  padding: 0 24px;
  background: var(--header-bg);
  border-bottom: 1px solid var(--header-border);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.site-header-left {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--text);
  white-space: nowrap;
}

.brand-logo {
  display: flex;
  align-items: center;
  color: var(--accent);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.brand:hover .brand-logo {
  transform: rotate(12deg) scale(1.06);
}

.brand-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
  letter-spacing: -0.01em;
}

.brand-badge {
  font-size: 10px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 6px;
  background: var(--bg2);
  color: var(--text3);
  border: 1px solid var(--border);
}

.header-divider {
  width: 1px;
  height: 18px;
  background: var(--border);
  margin: 0 2px;
  flex-shrink: 0;
}

/* Primary Navigation Hub */
.header-nav {
  display: flex;
  align-items: center;
  gap: 4px;
}

.nav-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text2);
  text-decoration: none;
  transition: all 0.15s ease;
  position: relative;
}

.nav-tab:hover {
  color: var(--text);
  background: var(--bg2);
}

.nav-tab.active {
  color: #ffffff;
  font-weight: 600;
  background: var(--accent);
  border: 1px solid var(--accent);
  box-shadow: 0 2px 8px var(--accent-glow);
}

.nav-tab-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: transparent;
  transition: background-color 0.15s;
}

.nav-tab.active .nav-tab-dot {
  background: #ffffff;
}


/* Breadcrumbs */
.header-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  min-width: 0;
}

.crumb-separator {
  color: var(--text3);
  opacity: 0.5;
}

.crumb-link {
  color: var(--text2);
  text-decoration: none;
}

.crumb-link:hover {
  color: var(--accent);
}

.crumb-leaf {
  color: var(--text);
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 6px;
  background: var(--surface);
  border: 1px solid var(--border);
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Header Center Search */
.site-header-center {
  flex: 1 1 320px;
  max-width: 440px;
}

.header-search-wrap {
  position: relative;
  width: 100%;
}

.header-search-wrap .search-icon {
  position: absolute;
  left: 11px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text3);
  pointer-events: none;
}

.header-search-wrap input {
  width: 100%;
  padding: 7px 28px 7px 32px;
  border-radius: 9px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  font-size: 12px;
  outline: none;
  transition: all 0.15s ease;
}

.header-search-wrap input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-glow);
}

.search-clear {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: var(--text3);
  cursor: pointer;
  font-size: 14px;
  padding: 2px 4px;
}

.search-clear:hover {
  color: var(--text);
}

/* Right Controls */
.site-header-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

/* Theme Toggle Button */
.theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text2);
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.15s ease;
}

.theme-toggle:hover {
  color: var(--text);
  border-color: var(--text3);
}

.theme-toggle-icon {
  display: flex;
  align-items: center;
  color: var(--accent);
}

.theme-toggle-label {
  font-size: 11px;
}

/* Lang Toggle */
.lang-toggle {
  display: flex;
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
  background: var(--bg2);
  padding: 2px;
  gap: 2px;
}

.lang-toggle button {
  border: 0;
  background: transparent;
  color: var(--text3);
  padding: 4px 8px;
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
  border-radius: 6px;
  transition: all 0.15s ease;
}

.lang-toggle button:hover {
  color: var(--text);
}

.lang-toggle button.active {
  background: var(--surface);
  color: var(--text);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* ==========================================================================
   Gallery Main Page Layout & Sections (Direction A · 编辑器暖白)
   ========================================================================== */

.gallery-main {
  width: min(1360px, 100%);
  margin: 0 auto;
  padding: 24px 28px 80px;
}

/* Gallery Hero: Editorial warm layout */
.gallery-hero {
  padding: 32px 0 24px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 32px;
}

.gallery-hero-main {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: flex-end;
}

.gallery-hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
  font-family: var(--mono);
  margin-bottom: 10px;
}

.hero-sage-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
}

.gallery-hero-title {
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.2;
  margin: 0 0 10px;
  color: var(--text);
}

.gallery-hero-desc {
  font-size: 14px;
  color: var(--text2);
  line-height: 1.7;
  margin: 0;
  max-width: 760px;
}

/* Hero Stats Badges Panel */
.gallery-hero-stats-panel {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-self: flex-end;
}

.hero-stat-badge {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  padding: 5px 11px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text2);
  font-size: 12px;
}

.hero-stat-badge strong {
  font-size: 14px;
  font-weight: 800;
  color: var(--text);
  font-family: var(--mono);
}

.hero-stat-badge span {
  font-size: 11px;
  color: var(--text3);
}

/* Interactive Source Anchor Pills */
.hero-stats-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
  align-items: center;
}

.source-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 8px;
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text2);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

.source-pill:hover {
  border-color: var(--accent);
  color: var(--text);
  transform: translateY(-1px);
}

.source-pill.active {
  background: var(--accent-light);
  border-color: var(--accent);
  color: var(--accent-text);
  box-shadow: 0 2px 8px var(--accent-glow);
}

.source-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.pill-count {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 999px;
  background: var(--bg2);
  color: var(--text3);
}

.source-pill.active .pill-count {
  background: var(--surface);
  color: var(--accent-text);
}

/* Search Feedback Banner */
.search-feedback-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  margin-bottom: 24px;
  background: var(--accent-light);
  border: 1px solid var(--accent-border);
  border-radius: 10px;
  font-size: 13px;
  color: var(--accent-text);
  font-weight: 500;
}

.btn-link {
  border: 0;
  background: none;
  color: var(--accent);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
}

/* Empty State */
.gallery-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 70px 20px;
  text-align: center;
  color: var(--text2);
  background: var(--surface);
  border: 1px dashed var(--border);
  border-radius: 14px;
  margin: 20px 0;
}

/* Sections Container */
.sections-container {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.gallery-source-section {
  scroll-margin-top: 84px;
  border-top: 1px solid var(--border);
  padding-top: 24px;
}

.gallery-source-section:first-child {
  border-top: none;
  padding-top: 0;
}

/* Section Header */
.section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-subtle);
}

.section-tag-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.section-badge {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 2px 7px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: var(--surface);
  font-family: var(--mono);
}

.section-count-badge {
  font-size: 11px;
  color: var(--text3);
  font-weight: 600;
  font-family: var(--mono);
}

.section-title {
  margin: 0 0 6px;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--text);
}

.section-desc {
  margin: 0;
  font-size: 13px;
  color: var(--text2);
  max-width: 720px;
  line-height: 1.6;
}

.section-header-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

/* Horizontal Scroll Controls (‹ ›) */
.row-scroll-controls {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.row-nav-btn {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text2);
  font-size: 18px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
}

.row-nav-btn:hover {
  border-color: var(--accent);
  color: var(--accent-text);
  background: var(--accent-light);
}

.row-nav-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}

/* View Mode Toggle: Row vs Grid */
.row-expand-toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--accent);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}

.row-expand-toggle-btn:hover {
  border-color: var(--accent);
  background: var(--accent-light);
  color: var(--accent-text);
}

.section-scroll-top-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text3);
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}

.section-scroll-top-btn:hover {
  border-color: var(--text2);
  color: var(--text);
  background: var(--bg2);
}

/* ==========================================================================
   Horizontal Card Row (Filmstrip) & Expanded Grid
   ========================================================================== */

.section-card-row-wrapper {
  position: relative;
  width: 100%;
}

.section-card-row {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 4px 2px 14px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: var(--accent-border) var(--border-subtle);
}

.section-card-row::-webkit-scrollbar {
  height: 6px;
}

.section-card-row::-webkit-scrollbar-track {
  background: var(--border-subtle);
  border-radius: 3px;
}

.section-card-row::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 3px;
}

.section-card-row::-webkit-scrollbar-thumb:hover {
  background: var(--accent);
}

/* Row Card: Fixed width in filmstrip */
.demo-card.row-card {
  flex: 0 0 280px;
  width: 280px;
  scroll-snap-align: start;
}

/* End of Row "View All" Action Card */
.row-expand-card {
  flex: 0 0 200px;
  width: 200px;
  min-height: 250px;
  scroll-snap-align: start;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px dashed var(--border);
  background: var(--surface2);
  cursor: pointer;
  border-radius: var(--radius);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  padding: 20px;
}

.row-expand-card:hover {
  border-color: var(--accent);
  border-style: solid;
  background: var(--accent-light);
  transform: translateY(-2px);
}

.row-expand-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: var(--text2);
}

.row-expand-card:hover .row-expand-inner {
  color: var(--accent-text);
}

.row-expand-plus {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--surface);
  border: 1px solid var(--border);
  display: grid;
  place-items: center;
  font-size: 18px;
  font-weight: 700;
  color: var(--accent);
}

.row-expand-card strong {
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
}

.row-expand-card small {
  font-size: 11px;
  color: var(--accent);
  font-family: var(--mono);
}

/* Expanded Grid Mode */
.grid,
.section-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}

/* Demo Card */
.demo-card {
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: var(--radius);
  overflow: hidden;
  cursor: pointer;
  text-align: left;
  padding: 0;
  color: inherit;
  box-shadow: var(--card-shadow);
  display: flex;
  flex-direction: column;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.demo-card:hover,
.demo-card:focus-visible {
  transform: translateY(-2px);
  border-color: var(--accent);
  box-shadow: var(--card-hover-shadow);
  outline: none;
}

.demo-stage,
.demo-stage-lg {
  width: 100%;
  overflow: hidden;
  background: var(--demo-stage-bg);
  position: relative;
}

.demo-stage {
  height: 200px;
  border-bottom: 1px solid var(--border-subtle);
}

.demo-stage-lg {
  height: 480px;
  border-radius: 12px;
  border: 1px solid var(--border);
}

.demo-stage > *,
.demo-stage-lg > * {
  width: 100%;
  height: 100%;
}

.card-meta {
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}

.card-meta-top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
}

.card-meta h3 {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--text);
}

.card-open {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.card-slug {
  margin: 0;
  color: var(--text3);
  font-size: 11px;
  font-family: var(--mono);
}

.source-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--text3);
  text-transform: uppercase;
}

.source-pill-inline {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--bg2);
  color: var(--text2);
}

.lazy-placeholder,
.fail-card {
  height: 100%;
  min-height: 180px;
  display: grid;
  place-items: center;
  color: var(--text3);
  font-size: 12px;
  padding: 16px;
  text-align: center;
}

.fail-card {
  color: #fecdd3;
  background: #2a1218;
}

.fail-card span {
  display: block;
  margin-top: 6px;
  color: var(--text3);
  font-size: 11px;
  word-break: break-word;
}

/* ==========================================================================
   Detail Modal & Code Inspector
   ========================================================================== */

.detail {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: grid;
  place-items: center;
  padding: 20px;
}

.detail-panel {
  width: min(1080px, 100%);
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.4);
}

.detail-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--border-subtle);
  padding-bottom: 14px;
}

.detail-head h2 {
  margin: 0 0 6px;
  font-size: 20px;
  font-weight: 800;
  color: var(--text);
}

.detail-head p {
  margin: 0;
  color: var(--text2);
  font-size: 13px;
}

.detail-head code {
  font-family: var(--mono);
  background: var(--bg2);
  padding: 2px 6px;
  border-radius: 4px;
}

.back {
  border: 1px solid var(--border);
  background: var(--bg2);
  color: var(--text);
  border-radius: 8px;
  padding: 6px 14px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  transition: all 0.15s ease;
}

.back:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.code-wrap {
  margin-top: 20px;
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  background: #090a10;
}

.code-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 14px;
  background: #141722;
  color: #94a3b8;
  font-size: 12px;
  border-bottom: 1px solid #232738;
}

.code-toolbar button {
  border: 0;
  background: var(--accent);
  color: #fff;
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.15s;
}

.code-toolbar button:hover {
  opacity: 0.9;
}

pre {
  margin: 0;
  padding: 16px;
  overflow: auto;
  background: #090a10;
}

code {
  font-family: var(--mono);
  font-size: 12px;
  line-height: 1.6;
  color: #e2e8f0;
}

/* Demos internal stage styling */
.anime-stage,
.curve-stage {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: var(--accent2);
}

.demo-center {
  display: grid;
  place-items: center;
  font-size: 32px;
  color: var(--accent2);
}

.demo-tile {
  min-width: 140px;
  min-height: 72px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(135deg, #312e81, #1e1b4b);
  border: 1px solid #4338ca;
  color: #fff;
  font-weight: 700;
}

.demo-btn {
  border: 0;
  background: var(--accent);
  color: #fff;
  border-radius: 999px;
  padding: 10px 16px;
  cursor: pointer;
  font-weight: 700;
}

.stagger-grid {
  display: grid;
  grid-template-columns: repeat(8, 14px);
  gap: 6px;
}

.stagger-grid i {
  width: 14px;
  height: 14px;
  border-radius: 3px;
  background: var(--accent2);
  display: block;
}

.letter-row {
  display: flex;
  gap: 2px;
  font-size: 28px;
  font-weight: 800;
}

.letter-row span {
  display: inline-block;
}

.ball {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--accent2);
}

.path-dot {
  offset-distance: 0%;
}

/* ==========================================================================
   Responsive Adaptations
   ========================================================================== */

@media (max-width: 900px) {
  .site-header {
    padding: 0 16px;
    height: auto;
    min-height: 60px;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .site-header-center {
    order: 3;
    width: 100%;
    max-width: 100%;
  }
  .gallery-hero-title {
    font-size: 24px;
  }
  .section-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

@media (max-width: 640px) {
  .brand-badge {
    display: none;
  }
  .header-divider {
    display: none;
  }
  .theme-toggle-label {
    display: none;
  }
  .gallery-main {
    padding: 16px 14px 60px;
  }
  .grid {
    grid-template-columns: 1fr;
  }
}
/* ==========================================================================
   SVG Kits - Stage Canvas Tokens (Decoupled from Global Page Theme)
   ========================================================================== */

.kit-page {
  /* Default Stage inherits active theme variables */
  --stage: var(--bg2);
  --stage-glow: var(--surface);
  --stage-ink: var(--text);
  --svg-kit-stroke: var(--stage-ink);
  min-height: 100vh;
}

/* Light Stage Override (Stage Canvas & Icons only) */
.kit-page[data-stage="light"],
[data-stage="light"] {
  --stage: #faf9f7;
  --stage-glow: #ffffff;
  --stage-ink: #1c1c1e;
  --svg-kit-stroke: var(--stage-ink);
}

/* Dark Stage Override (Stage Canvas & Icons only) */
.kit-page[data-stage="dark"],
[data-stage="dark"] {
  --stage: #151614;
  --stage-glow: #20221e;
  --stage-ink: #f4f4f0;
  --svg-kit-stroke: var(--stage-ink);
}

/* Transparent Checkerboard Stage Override */
.kit-page[data-stage="checker"],
[data-stage="checker"] {
  --stage: #ffffff;
  --stage-glow: #ffffff;
  --stage-ink: #1c1c1e;
  --svg-kit-stroke: var(--stage-ink);
}

.kit-checker,
.kit-preview.bg-checker,
.kit-icon-stage.bg-checker,
.kit-sheet-stage.bg-checker {
  background-color: #ffffff;
  background-image:
    linear-gradient(45deg, #e8e4dc 25%, transparent 25%),
    linear-gradient(-45deg, #e8e4dc 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #e8e4dc 75%),
    linear-gradient(-45deg, transparent 75%, #e8e4dc 75%);
  background-size: 16px 16px;
  background-position: 0 0, 0 8px, 8px -8px, -8px 0;
  color: var(--svg-kit-stroke);
}

/* SVG Kits Header Extension Styles */
.header-stage-box .kit-seg {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 2px;
  display: inline-flex;
  gap: 2px;
}

.header-stage-box .kit-seg button {
  border: 0;
  background: transparent;
  color: var(--text2);
  padding: 4px 8px;
  border-radius: 7px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.15s ease;
}

.header-stage-box .kit-seg button:hover {
  color: var(--text);
}

.header-stage-box .kit-seg button.active {
  background: var(--surface);
  color: var(--text);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  font-weight: 600;
}

.stage-emoji {
  font-size: 12px;
  line-height: 1;
}

.stage-label {
  font-size: 11px;
}

.nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 11px;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.18s ease;
}

.nav-btn-subtle {
  background: var(--surface);
  color: var(--text2);
  border: 1px solid var(--border);
}

.nav-btn-subtle:hover {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--bg2);
}

.nav-btn-primary {
  background: linear-gradient(135deg, var(--accent), #4338ca);
  color: #ffffff !important;
  border: 1px solid transparent;
  box-shadow: 0 2px 8px -1px rgba(79, 70, 229, 0.28);
}

.nav-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px -1px rgba(79, 70, 229, 0.38);
}

/* ==========================================================================
   Hero Section & Metadata
   ========================================================================== */

.kit-main {
  width: min(1280px, 100%);
  margin: 0 auto;
  padding: 20px 24px 64px;
}

.kit-hero {
  padding: 24px 0 20px;
}

.kit-hero-top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-bottom: 12px;
}

.kit-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--accent-glow);
  border: 1px solid rgba(99, 102, 241, 0.2);
  font-size: 12px;
  font-weight: 600;
  color: var(--accent2);
  flex-shrink: 0;
}

.kit-hero-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 6px #10b981;
}

.kit-hero-subtag {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  opacity: 0.75;
  margin-left: 2px;
}

.kit-hero-title {
  font-size: 30px;
  font-weight: 800;
  letter-spacing: -0.03em;
  margin: 0 0 10px;
  color: var(--text);
  line-height: 1.25;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.kit-hero-desc {
  font-size: 14px;
  color: var(--text2);
  line-height: 1.7;
  margin: 0;
  max-width: 820px;
}

.kit-stats-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.kit-stat-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 8px;
  background: var(--surface);
  border: 1px solid var(--border);
  font-size: 12px;
  color: var(--text2);
}

.kit-stat-pill strong {
  color: var(--text);
  font-weight: 700;
}

.kit-stat-pill.highlight {
  border-color: rgba(99, 102, 241, 0.3);
  color: var(--accent2);
  background: var(--accent-glow);
}


.kit-hero-nav {
  margin-bottom: 12px;
}

.kit-back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text2);
  padding: 5px 12px;
  border-radius: 8px;
  background: var(--surface);
  border: 1px solid var(--border);
  text-decoration: none;
  transition: all 0.15s ease;
}

.kit-back-link:hover {
  color: var(--accent);
  border-color: var(--accent);
  background: var(--bg2);
}

/* ==========================================================================
   Toolbar & Filter Controls
   ========================================================================== */

.kit-toolbar-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin: 24px 0 18px;
  flex-wrap: wrap;
}

.kit-sort-note {
  color: var(--text2);
  font-size: 12px;
}

.kit-sort-filter {
  margin-inline-start: auto;
  flex-shrink: 0;
}

.kit-kind-filter {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 3px;
  display: inline-flex;
  gap: 3px;
}

.kit-kind-filter button {
  border: 0;
  background: transparent;
  color: var(--text2);
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 7px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.15s ease;
}

.kit-kind-filter button:hover {
  color: var(--text);
}

.kit-kind-filter button.active {
  background: var(--accent);
  color: #ffffff;
  box-shadow: 0 2px 6px -1px rgba(79, 70, 229, 0.35);
}

.seg-badge {
  font-size: 11px;
  font-weight: 600;
  padding: 1px 6px;
  border-radius: 999px;
  background: var(--bg2);
  color: var(--text3);
}

.kit-kind-filter button.active .seg-badge {
  background: rgba(255, 255, 255, 0.25);
  color: #ffffff;
}

.kit-search-wrap {
  position: relative;
  flex: 1 1 240px;
  max-width: 320px;
}

.search-icon {
  position: absolute;
  left: 11px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text3);
  pointer-events: none;
}

.kit-search-input {
  width: 100%;
  padding: 7px 28px 7px 34px;
  border-radius: 9px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  font-size: 12px;
  outline: none;
  transition: all 0.15s ease;
}

.kit-search-input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-glow);
}

.search-clear {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: var(--text3);
  cursor: pointer;
  font-size: 14px;
  padding: 2px 4px;
}

.kit-filters {
  margin: 20px 0 16px;
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.kit-filters .search {
  flex: 1 1 220px;
  max-width: 340px;
}

.kit-filters .search input {
  width: 100%;
  padding: 7px 12px;
  border-radius: 9px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  outline: none;
  font-size: 12px;
  transition: all 0.15s;
}

.kit-filters .search input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-glow);
}

.kit-seg {
  display: inline-flex;
  flex-wrap: wrap;
  border: 1px solid var(--border);
  border-radius: 9px;
  overflow: hidden;
  background: var(--surface);
}

.kit-seg button {
  border: 0;
  background: transparent;
  color: var(--text2);
  padding: 6px 12px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.15s;
}

.kit-seg button + button {
  border-left: 1px solid var(--border);
}

.kit-seg button.active {
  background: var(--accent);
  color: #ffffff;
}

.kit-stroke {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: var(--surface);
  padding: 3px 8px 3px 10px;
  color: var(--text2);
  font-size: 12px;
}

.kit-stroke-picker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

.kit-stroke-title {
  font-size: 11px;
  font-weight: 600;
  color: var(--text3);
}

.kit-stroke input[type="color"] {
  width: 24px;
  height: 20px;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: transparent;
  cursor: pointer;
}

.kit-stroke-presets {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0 2px;
}

.kit-swatch {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid transparent;
  cursor: pointer;
  padding: 0;
  transition: transform 0.15s;
}

.kit-swatch:hover {
  transform: scale(1.25);
}

.kit-swatch.active {
  border-color: var(--text);
  transform: scale(1.15);
}

.kit-stroke code {
  color: var(--text3);
  font-size: 11px;
  font-family: var(--mono);
}

.kit-stroke-reset {
  border: 0;
  background: transparent;
  color: var(--accent2);
  cursor: pointer;
  font-size: 11px;
  padding: 0 4px;
}

.kit-stroke-reset:hover {
  text-decoration: underline;
}

/* ==========================================================================
   Theme Cards Grid & Visuals
   ========================================================================== */

.kit-theme-grid {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 18px;
}

.kit-theme-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 16px;
  overflow: hidden;
  color: inherit;
  box-shadow: var(--card-shadow);
  text-decoration: none;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.kit-theme-card:hover {
  transform: translateY(-3px);
  border-color: var(--accent);
  box-shadow: var(--card-hover-shadow);
}

.kit-theme-cover {
  position: relative;
  overflow: hidden;
  padding: 26px 16px 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  background: radial-gradient(circle at 50% 25%, var(--stage-glow), var(--stage) 70%);
  border-bottom: 1px solid var(--border-subtle);
  color: var(--svg-kit-stroke);
}

.kit-theme-cover-main {
  width: 96px;
  height: 96px;
  transition: transform 0.22s ease;
}

.kit-theme-card:hover .kit-theme-cover-main {
  transform: scale(1.06);
}

.kit-theme-strip {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  padding: 5px 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.45);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.6);
}

.kit-page[data-stage="dark"] .kit-theme-strip {
  background: rgba(0, 0, 0, 0.3);
  border-color: rgba(255, 255, 255, 0.08);
}

.kit-theme-strip img,
.kit-theme-strip .kit-svg {
  width: 34px;
  height: 34px;
  opacity: 0.92;
}

.kit-theme-meta {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.kit-meta-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}

.kit-theme-name {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.35;
}

.kit-meta-badges {
  display: flex;
  gap: 5px;
  align-items: center;
  flex-shrink: 0;
}

.kit-count-badge {
  font-size: 11px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--accent-glow);
  color: var(--accent2);
  border: 1px solid rgba(99, 102, 241, 0.25);
}

.kit-kind-badge {
  font-size: 11px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--bg2);
  color: var(--text2);
  border: 1px solid var(--border);
}

.kit-kind-badge.kind-illustration {
  color: #d97706;
  background: rgba(245, 158, 11, 0.08);
  border-color: rgba(245, 158, 11, 0.25);
}

.kit-theme-desc {
  margin: 0;
  color: var(--text2);
  font-size: 13px;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.kit-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px solid var(--border-subtle);
}

.source-tag {
  color: var(--text3);
  font-size: 11px;
  font-family: var(--mono);
}

.kit-explore-hint {
  font-size: 12px;
  font-weight: 600;
  color: var(--accent);
  transition: transform 0.15s;
}

.kit-theme-card:hover .kit-explore-hint {
  transform: translateX(3px);
}

/* ==========================================================================
   Icon Card & Grid
   ========================================================================== */

.kit-icon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 14px;
}

.kit-icon-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 0;
  text-align: left;
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
  box-shadow: var(--card-shadow);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.kit-icon-card:hover,
.kit-icon-card:focus-visible {
  transform: translateY(-2px);
  border-color: var(--accent);
  box-shadow: var(--card-hover-shadow);
  outline: none;
}

.kit-icon-stage {
  display: grid;
  place-items: center;
  height: 136px;
  background: var(--stage);
  color: var(--svg-kit-stroke);
  border-bottom: 1px solid var(--border-subtle);
}

.kit-icon-stage img,
.kit-icon-stage .kit-svg {
  width: 76px;
  height: 76px;
  transition: transform 0.2s ease;
}

.kit-icon-card:hover .kit-icon-stage img,
.kit-icon-card:hover .kit-icon-stage .kit-svg {
  transform: scale(1.08);
}

.kit-svg {
  display: block;
}

.kit-icon-meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px 12px 12px;
  min-width: 0;
}

.kit-icon-meta strong {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kit-icon-meta code {
  color: var(--text3);
  font-size: 11px;
  font-family: var(--mono);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.kit-empty {
  color: var(--text3);
  text-align: center;
  padding: 40px 0;
}

.kit-loading-state,
.kit-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 64px 20px;
  text-align: center;
  color: var(--text2);
}

.kit-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid var(--border);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: kit-spin 0.8s linear infinite;
  margin-bottom: 12px;
}

@keyframes kit-spin {
  to { transform: rotate(360deg); }
}

/* ==========================================================================
   Detail modal
   ========================================================================== */

.kit-detail {
  width: min(980px, 100%);
}

.detail {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.detail-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 20px;
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.4);
  max-width: 960px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  padding: 24px;
}

.detail-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  border-bottom: 1px solid var(--border-subtle);
  padding-bottom: 14px;
}

.detail-head h2 {
  margin: 0 0 4px;
  font-size: 20px;
  font-weight: 700;
  color: var(--text);
}

.detail-head p {
  margin: 0;
  color: var(--text2);
  font-size: 13px;
}

.kit-detail-nav {
  display: flex;
  gap: 6px;
}

.kit-detail-body {
  margin-top: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 22px;
}

.kit-preview {
  display: grid;
  place-items: center;
  aspect-ratio: 1 / 1;
  max-height: 420px;
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  background: var(--stage);
  color: var(--svg-kit-stroke);
}

.kit-preview-svg,
.kit-preview > img {
  width: 64%;
  height: 64%;
  display: grid;
  place-items: center;
}

.kit-preview-svg svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.kit-preview.paused *,
.kit-preview.paused *::before,
.kit-preview.paused *::after {
  animation-play-state: paused !important;
}

.kit-detail-side {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

.kit-desc {
  margin: 0;
  color: var(--text);
  line-height: 1.7;
  font-size: 14px;
}

.kit-facts {
  margin: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 14px;
  font-size: 13px;
}

.kit-facts dt {
  color: var(--text3);
}

.kit-facts dd {
  margin: 0;
  color: var(--text2);
}

.kit-toolbar,
.kit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.kit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  background: linear-gradient(135deg, var(--accent), #4338ca);
  color: #fff;
  border-radius: 8px;
  padding: 7px 14px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  transition: all 0.15s ease;
  box-shadow: 0 2px 6px -1px rgba(79, 70, 229, 0.25);
}

.kit-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px -1px rgba(79, 70, 229, 0.35);
}

.kit-btn:disabled {
  opacity: 0.5;
  cursor: default;
  transform: none;
}

.kit-btn.ghost {
  background: var(--surface);
  color: var(--text2);
  border-color: var(--border);
  box-shadow: none;
}

.kit-btn.ghost:hover {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--bg2);
}

.kit-source {
  max-height: 260px;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px;
}

.kit-source code {
  white-space: pre-wrap;
  word-break: break-all;
  font-size: 12px;
  color: var(--text);
}

/* ==========================================================================
   Admin Page
   ========================================================================== */

.kit-admin {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.kit-admin-card {
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 16px;
  padding: 18px 20px;
  box-shadow: var(--card-shadow);
}

.kit-admin-card h3 {
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
}

.kit-admin-card h4 {
  margin: 18px 0 10px;
  font-size: 13px;
  color: var(--text2);
}

.kit-admin-note {
  margin: 8px 0 0;
  color: var(--text3);
  font-size: 13px;
  line-height: 1.6;
}

.kit-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  color: var(--text3);
}

.kit-field input,
.kit-field textarea,
.kit-field select,
.kit-admin-row input,
.kit-admin-table input,
.kit-admin-table textarea,
.kit-admin-table select {
  border: 1px solid var(--border);
  background: var(--bg2);
  color: var(--text);
  border-radius: 8px;
  padding: 7px 9px;
  font: inherit;
}

.kit-field textarea,
.kit-admin-table textarea {
  min-height: 64px;
  resize: vertical;
}

.kit-admin-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.kit-span-2 {
  grid-column: 1 / -1;
}

.kit-admin-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: 8px;
  margin-bottom: 8px;
}

.kit-drop {
  display: grid;
  place-items: center;
  min-height: 72px;
  margin: 8px 0 14px;
  border: 1px dashed var(--border);
  border-radius: 10px;
  color: var(--text2);
  font-size: 13px;
  cursor: pointer;
  background: var(--bg2);
}

.kit-drop input {
  display: none;
}

.kit-admin-list {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.kit-admin-list li {
  display: flex;
  align-items: center;
  gap: 10px;
}

.kit-admin-list img,
.kit-admin-list .kit-svg {
  width: 28px;
  height: 28px;
  background: var(--stage);
  color: var(--svg-kit-stroke);
  border-radius: 6px;
}

.kit-admin-table-wrap {
  overflow: auto;
  margin: 12px 0;
}

.kit-admin-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.kit-admin-table th {
  text-align: left;
  color: var(--text3);
  font-weight: 600;
  padding: 6px;
}

.kit-admin-table td {
  padding: 6px;
  vertical-align: top;
}

.kit-admin-table input,
.kit-admin-table textarea,
.kit-admin-table select {
  width: 100%;
}

.kit-admin-status {
  white-space: pre-wrap;
  color: var(--accent2);
  background: var(--bg2);
  padding: 12px;
  border-radius: 8px;
}

.kit-warn {
  color: var(--fail);
  margin-left: 4px;
}

/* ==========================================================================
   Responsive & Accessibility
   ========================================================================== */

@media (max-width: 900px) {
  .site-header-left {
    gap: 8px;
  }
  .header-divider {
    display: none;
  }
  .crumb-current {
    max-width: 140px;
  }
  .kit-theme-grid {
    grid-template-columns: 1fr;
  }
  .kit-detail-body {
    grid-template-columns: 1fr;
  }
  .kit-preview {
    max-height: 280px;
  }
  .kit-admin-grid,
  .kit-admin-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .stage-label,
  .brand-badge {
    display: none;
  }
  .nav-btn span {
    display: none;
  }
  .crumb-current {
    max-width: 100px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kit-icon-stage img,
  .kit-theme-card,
  .kit-btn,
  .nav-btn {
    transition: none !important;
  }
}
