@property --gradient-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@property --gradient-angle-offset{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@property --gradient-percent{syntax: "<percentage>"; initial-value: 5%; inherits: false;}@property --gradient-shine{syntax: "<color>"; initial-value: white; inherits: false;}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #08090d;--bg-deep: #050609;--surface: rgba(255, 255, 255, .04);--surface-2: rgba(255, 255, 255, .07);--surface-solid: #0f1117;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--text: #eceef3;--text-strong: #ffffff;--muted: #969daa;--accent: #7c5cff;--accent-2: #22d3ee;--accent-grad: linear-gradient(120deg, #8b5cff 0%, #22d3ee 100%);--glow: rgba(124, 92, 255, .35);--shadow: 0 24px 60px -20px rgba(0, 0, 0, .7);--shadow-lift: 0 34px 80px -24px rgba(0, 0, 0, .85);--radius: 20px;--radius-sm: 14px;--maxw: 1120px;--ease: cubic-bezier(.22, 1, .36, 1);color-scheme:dark}html.light{--bg: #f5f6f9;--bg-deep: #eceef4;--surface: rgba(12, 16, 28, .035);--surface-2: rgba(12, 16, 28, .06);--surface-solid: #ffffff;--border: rgba(12, 16, 28, .1);--border-strong: rgba(12, 16, 28, .18);--text: #161922;--text-strong: #05070c;--muted: #5b6373;--glow: rgba(124, 92, 255, .22);--shadow: 0 24px 60px -28px rgba(20, 24, 40, .4);--shadow-lift: 0 34px 80px -28px rgba(20, 24, 40, .5);color-scheme:light}html{scroll-behavior:smooth}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){z-index:1}::view-transition-old(root){z-index:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-deep);color:var(--text);line-height:1.55;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;user-select:none;transition:background-color .5s var(--ease),color .5s var(--ease)}h1,h2,h3,h4{font-family:Space Grotesk,Inter,sans-serif;font-weight:600;letter-spacing:-.02em;line-height:1.05;color:var(--text-strong)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:none}.icon{width:1em;height:1em;display:inline-block;vertical-align:middle}::selection{background:var(--accent);color:#fff}#bg-canvas{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;display:block;touch-action:none}.bg-overlay{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(90% 60% at 78% 8%,transparent 0%,transparent 38%,var(--bg-deep) 100%),radial-gradient(120% 90% at 50% 120%,color-mix(in srgb,var(--accent) 16%,transparent) 0%,transparent 55%);transition:background .5s var(--ease)}.bg-grain{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.nav{position:fixed;top:1.1rem;left:50%;transform:translate(-50%);z-index:50;width:calc(100% - 2rem);max-width:640px}.nav-inner{position:relative;display:flex;align-items:center;gap:.6rem;padding:.45rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--surface-solid) 70%,transparent);border:1px solid var(--border);box-shadow:var(--shadow);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}.nav-inner:before{content:"";position:absolute;inset:-1px;border-radius:999px;padding:1px;background:linear-gradient(120deg,transparent,var(--glow),transparent);background-size:220% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:navGlow 5s linear infinite;pointer-events:none}@keyframes navGlow{0%{background-position:0% 50%}to{background-position:220% 50%}}.brand{display:flex;align-items:center;gap:.5rem;flex-shrink:0;padding-left:.25rem}.brand-img{width:2.1rem;height:2.1rem;border-radius:999px;object-fit:cover;border:1px solid var(--border-strong);background:var(--surface-2);flex-shrink:0}.brand-text{font-family:Space Grotesk,sans-serif;font-weight:600;font-size:.92rem;letter-spacing:-.02em}.brand-text .dim{color:var(--muted)}.tabs{position:relative;flex:1;display:flex;gap:.4rem;padding:0;border-radius:999px;background:transparent}.tab-indicator{display:none}.tab,.btn.shiny{--tab-animation: gradient-angle linear infinite;--tab-duration: 3s;--tab-shadow-size: 2px;--tab-trail-color: blue;--tab-blur-color: #8484ff;position:relative;z-index:1;isolation:isolate;overflow:hidden;font-weight:700;color:#fff;border-radius:999px;cursor:pointer;outline-offset:4px;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(12px);border:1px solid transparent;background:conic-gradient(from calc(var(--gradient-angle) - var(--gradient-angle-offset)),transparent,var(--tab-trail-color) var(--gradient-percent),var(--gradient-shine) calc(var(--gradient-percent) * 2),var(--tab-trail-color) calc(var(--gradient-percent) * 3),transparent calc(var(--gradient-percent) * 4)) border-box;box-shadow:inset 0 0 0 1px #1a1818;transition:--gradient-angle-offset .8s cubic-bezier(.25,1,.5,1),--gradient-percent .8s cubic-bezier(.25,1,.5,1),--gradient-shine .8s cubic-bezier(.25,1,.5,1);animation:var(--tab-animation) var(--tab-duration);animation-composition:add}.tab{flex:1;padding:.4rem .3rem;font-size:.74rem;white-space:nowrap}.tab:before,.tab:after,.tab span:before,.btn.shiny:before,.btn.shiny:after,.btn.shiny span:before{content:"";pointer-events:none;position:absolute;inset-inline-start:50%;inset-block-start:50%;translate:-50% -50%;z-index:-1}.tab:before,.btn.shiny:before{--size: calc(100% - var(--tab-shadow-size) * 3);--position: 2px;--space: calc(var(--position) * 2);width:var(--size);height:var(--size);background:radial-gradient(circle at var(--position) var(--position),white calc(var(--position) / 4),transparent 0) padding-box;background-size:var(--space) var(--space);background-repeat:space;mask-image:conic-gradient(from calc(var(--gradient-angle) + 45deg),black,transparent 10% 90%,black);border-radius:inherit;opacity:.8;z-index:-1;animation:var(--tab-animation) var(--tab-duration);animation-composition:add}.tab:after,.btn.shiny:after{--animation: shimmer-tab linear infinite;width:100%;aspect-ratio:1;background:linear-gradient(-50deg,transparent,var(--tab-trail-color),transparent);mask-image:radial-gradient(circle at bottom,transparent 40%,black);opacity:.6;animation:var(--animation) var(--tab-duration),var(--animation) calc(var(--tab-duration) / .4) reverse paused;animation-composition:add}.tab span,.btn.shiny span{z-index:1}.tab span:before,.btn.shiny span:before{--size: calc(100% + 1rem) ;width:var(--size);height:var(--size);box-shadow:inset 0 -1ex 2rem 4px var(--tab-blur-color);opacity:0;transition:opacity .8s cubic-bezier(.25,1,.5,1);animation:calc(var(--tab-duration) * 1.5) breathe-tab linear infinite}.tab:is(:hover,:focus-visible),.btn.shiny:is(:hover,:focus-visible){--gradient-percent: 20%;--gradient-angle-offset: 95deg;--gradient-shine: var(--tab-blur-color)}.tab:is(:hover,:focus-visible):after,.btn.shiny:is(:hover,:focus-visible):after{animation-play-state:running,running}.tab:is(:hover,:focus-visible) span:before,.btn.shiny:is(:hover,:focus-visible) span:before{opacity:1}.tab.is-active{font-weight:700;color:#fff}html.light .tab,html.light .btn.shiny{box-shadow:inset 0 0 0 1px #1418281f;color:#fff}.theme-toggle{flex-shrink:0;width:2.1rem;height:2.1rem;border-radius:999px;display:grid;place-content:center;color:var(--text);font-size:1rem;transition:background .3s var(--ease),transform .3s var(--ease)}.theme-toggle:hover{background:var(--surface-2);transform:rotate(15deg)}.theme-toggle .moon,html.light .theme-toggle .sun{display:none}html.light .theme-toggle .moon{display:inline-block}main{position:relative;z-index:3;max-width:var(--maxw);margin:0 auto;padding:9rem 1.5rem 4rem}.panel{display:none}.panel.is-active{display:block}.block{margin-top:clamp(4rem,9vw,7rem)}.block-head{margin-bottom:2rem}.section-title{font-size:clamp(1.6rem,4vw,2.3rem)}.section-sub{color:var(--muted);margin-top:.4rem;font-size:1rem}.hero{position:relative;min-height:min(82vh,720px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:center;gap:2rem}.hero-copy{max-width:40rem}.eyebrow{font-size:1rem;color:var(--muted);margin-bottom:1.4rem;max-width:34rem}.eyebrow strong{color:var(--text-strong);font-weight:600}.wave{display:inline-block;animation:wave 2.4s ease-in-out infinite;transform-origin:70% 70%}@keyframes wave{0%,60%,to{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}}.hero-title{font-size:clamp(2.6rem,8vw,5rem);font-weight:700;margin-bottom:1.4rem}.hero-title .line{display:block;overflow:hidden}.grad{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-points{list-style:none;color:var(--muted);font-size:clamp(1rem,2.5vw,1.2rem);margin-bottom:1.4rem;display:grid;gap:.3rem}.hero-points .spark{color:var(--text-strong);margin-right:.4rem}.hero-desc{font-size:1.1rem;color:var(--text);max-width:34rem;margin-bottom:2rem}.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2.4rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.5rem;border-radius:999px;font-weight:500;font-size:.95rem;border:1px solid transparent;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease)}.btn .icon{font-size:1.05rem}.btn-primary{background:#fff;color:#0b0d12;box-shadow:0 10px 28px -14px #00000073}.btn-primary:hover{background:#fff;color:#0b0d12;transform:translateY(-2px);box-shadow:0 16px 36px -14px #00000080}.btn-ghost{background:var(--surface);border-color:var(--border);color:var(--text);backdrop-filter:blur(8px)}.btn-ghost:hover{transform:translateY(-3px);border-color:var(--border-strong);background:var(--surface-2)}.btn-ghost .icon{transition:transform .3s var(--ease)}.btn-ghost:hover .icon{transform:translate(3px)}.hero-stack{display:flex;flex-wrap:wrap;gap:.5rem}.chip{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .8rem .35rem .6rem;border-radius:999px;font-size:.78rem;font-weight:500;color:var(--text);background:var(--surface);border:1px solid var(--border);backdrop-filter:blur(8px);transition:transform .25s var(--ease),border-color .25s var(--ease)}.chip:hover{transform:translateY(-2px);border-color:var(--border-strong)}.chip .dot{width:.55rem;height:.55rem;border-radius:999px;box-shadow:0 0 10px currentColor}.grid{display:grid;gap:1.2rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card{position:relative;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);overflow:hidden;transition:transform .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease);will-change:transform}.card:after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--card-accent, var(--accent)),transparent 45%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s var(--ease);pointer-events:none}.card:hover{transform:translateY(-6px);border-color:var(--border-strong);box-shadow:var(--shadow-lift)}.card:hover:after{opacity:1}.project{display:flex;flex-direction:column}.project-media{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--card-accent, var(--accent)) 40%,transparent),transparent 70%)}.project-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.card:hover .project-media img{transform:scale(1.06)}.project-body{padding:1.25rem 1.4rem 1.4rem;display:flex;flex-direction:column;gap:.55rem;flex:1}.project-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.views{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}.views svg{width:.95rem;height:.95rem}.project-title{font-size:1.25rem;display:flex;align-items:center;gap:.45rem}.project-title .ext{opacity:0;transform:translate(-4px,4px);color:var(--muted);transition:all .3s var(--ease)}.card:hover .project-title .ext{opacity:1;transform:translate(0)}.ext svg{width:1.05rem;height:1.05rem}.project-desc{color:var(--muted);font-size:.92rem;margin-top:auto}.soon-pill{align-self:flex-start;font-size:.68rem;color:var(--muted);border:1px dashed var(--border-strong);padding:.15rem .55rem;border-radius:999px}.carousel{width:100%;display:flex;justify-content:center}.carousel-viewport{position:relative;width:100%;max-width:1320px;height:780px;overflow:hidden;perspective:1200px}.carousel-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.carousel-card{position:absolute;top:50%;width:100%;max-width:36rem;transform:translateY(-50%);transition:transform .5s var(--ease),opacity .5s var(--ease);border-radius:var(--radius);background:var(--surface-solid);border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}.carousel-card.is-active{transform:translateY(-50%) scale(1);opacity:1;z-index:20}.carousel-card.is-next{transform:translate(40%,-50%) scale(.92);opacity:.55;z-index:10}.carousel-card.is-prev{transform:translate(-40%,-50%) scale(.92);opacity:.55;z-index:10}.carousel-card.is-hidden{transform:translateY(-50%) scale(.85);opacity:0;z-index:0;pointer-events:none}.carousel-media{position:relative;height:20rem;flex-shrink:0;background-color:#0b0d12;background-size:cover;background-position:center;display:flex;align-items:flex-end;justify-content:flex-start}.carousel-media-overlay{position:absolute;inset:0;background:linear-gradient(to top,#000000d9,#00000040 55%,#0000001a)}.carousel-media-content{position:relative;z-index:1;text-align:left;color:#fff;padding:1.5rem;width:100%}.carousel-brand{font-family:Space Grotesk,sans-serif;font-size:1.7rem;font-weight:700;letter-spacing:.04em}.carousel-media-sub{font-size:.9rem;margin-top:.35rem;opacity:.9}.carousel-body{padding:2rem 1.75rem;display:flex;flex-direction:column;gap:.6rem;flex:1}.carousel-title{font-family:Space Grotesk,sans-serif;font-size:1.35rem;font-weight:700;color:var(--text-strong)}.carousel-views{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}.carousel-views svg{width:.95rem;height:.95rem}.carousel-desc{color:var(--muted);font-size:.92rem;flex:1}.carousel-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem}.carousel-tag{font-size:.68rem;color:var(--muted);border:1px dashed var(--border-strong);padding:.15rem .55rem;border-radius:999px}.carousel-link{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;color:var(--text);font-size:.9rem;font-weight:500}.carousel-link svg{width:1rem;height:1rem;transition:transform .3s var(--ease)}.carousel-link:hover svg{transform:translate(3px,-3px)}.carousel-link.is-disabled{color:var(--muted);cursor:default}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:2.5rem;height:2.5rem;border-radius:999px;display:grid;place-content:center;background:var(--surface-2);border:1px solid var(--border);color:var(--text);z-index:30;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .3s var(--ease),transform .3s var(--ease)}.carousel-nav:hover{transform:translateY(-50%) scale(1.1);background:var(--surface-solid);border-color:var(--border-strong)}.carousel-nav svg{width:1.25rem;height:1.25rem}.carousel-prev{left:.75rem}.carousel-next{right:.75rem}.carousel-dots{position:absolute;bottom:1.25rem;left:0;right:0;display:flex;justify-content:center;gap:.5rem;z-index:30}.carousel-dot{width:.5rem;height:.5rem;border-radius:999px;background:var(--border-strong);cursor:pointer;transition:width .3s var(--ease),background .3s var(--ease)}.carousel-dot.is-active{width:1.25rem;background:var(--text)}@media(max-width:620px){.carousel-viewport{height:640px}.carousel-media{height:15rem}.carousel-nav{display:none}.carousel-card.is-next,.carousel-card.is-prev{opacity:0}}.timeline{position:relative;display:grid;gap:1rem;padding-left:1.6rem}.timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--text-strong),transparent);opacity:.5}.work{position:relative;padding:1.3rem 1.5rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);backdrop-filter:blur(12px);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;transition:border-color .3s var(--ease),transform .3s var(--ease)}.work:hover{border-color:var(--border-strong);transform:translate(4px)}.work:before{content:"";position:absolute;left:-1.6rem;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:999px;background:var(--bg-deep);border:2px solid var(--text-strong)}.work.is-current:before{background:var(--text-strong);box-shadow:0 0 0 4px color-mix(in srgb,var(--text-strong) 16%,transparent)}.work-title{font-size:1.1rem;font-weight:600;font-family:Space Grotesk,sans-serif;color:var(--text-strong)}.work-company{color:var(--muted);font-size:.92rem;margin-top:.15rem}.work-period{font-size:.85rem;color:var(--text-strong);white-space:nowrap}.work.is-current .work-period{color:var(--text-strong)}.connect-text{color:var(--muted);font-size:1.1rem;max-width:40rem;margin-bottom:2rem}.connect-text a{color:var(--text-strong);border-bottom:2px solid var(--accent);transition:color .3s var(--ease)}.connect-text a:hover{color:var(--accent)}.social{display:flex;align-items:center;gap:1rem;padding:1.2rem 1.4rem}.social-icon{width:3rem;height:3rem;border-radius:14px;display:grid;place-content:center;background:var(--surface-2);color:#fff;flex-shrink:0}.social-icon svg{width:1.5rem;height:1.5rem;display:block}a.social.card:hover,a.social.card:focus-visible{transform:none;border-color:var(--border);box-shadow:none}a.social.card:hover:after,a.social.card:focus-visible:after{opacity:0}a.social.card:hover .social-icon,a.social.card:focus-visible .social-icon{transform:none;background:var(--surface-2);color:#fff}a.social.card:hover .ext,a.social.card:focus-visible .ext{opacity:0;transform:translate(-4px,4px)}.social-meta{flex:1;min-width:0}.social-name{font-size:1.05rem;font-weight:600;font-family:Space Grotesk,sans-serif;color:var(--text-strong)}.social-handle{color:var(--muted);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social .ext{color:var(--muted);opacity:0;transform:translate(-4px,4px);transition:all .3s var(--ease)}.card:hover .social .ext{opacity:1;transform:translate(0)}.dev-state{min-height:58vh;display:grid;place-content:center;text-align:center;gap:1rem}.dev-badge{justify-self:center;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);padding:.35rem .9rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.dev-title{font-size:clamp(2.4rem,8vw,4.5rem);color:var(--text-strong)}.dev-sub{color:var(--muted)}.footer{position:relative;z-index:3;max-width:var(--maxw);margin:0 auto;padding:2.5rem 1.5rem 3rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;color:var(--muted);font-size:.85rem;border-top:1px solid var(--border)}.footer-dim{opacity:.7}.reveal{opacity:0;transform:translateY(28px);filter:blur(8px)}.anim-fallback .reveal{opacity:1;transform:none;filter:none}@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:1rem}main{padding-top:8rem}#bg-canvas{opacity:.4}.hero-title{text-shadow:0 2px 24px var(--bg-deep)}}@media(max-width:620px){.brand-text{display:none}.nav-inner{gap:.4rem}.tab{font-size:.68rem;padding:.4rem .2rem}.work{flex-direction:column;align-items:flex-start}.footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none;filter:none}}.tools-hub{padding-top:.5rem}.tools-header{margin-bottom:2.5rem}.tools-header h2{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:.5rem}.tools-sub{color:var(--muted);font-size:1.05rem;margin-bottom:1.5rem}.tools-controls{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.xsearch{position:relative;display:flex;align-items:center;height:2.6rem;width:2.6rem;border-radius:999px;border:1px solid transparent;background:var(--surface-2);overflow:hidden;cursor:pointer;transition:width .4s cubic-bezier(.22,1,.36,1),background .3s,border-color .3s}.xsearch:hover{background:var(--surface)}.xsearch.open{width:min(20rem,80vw);background:var(--surface);border-color:var(--border-strong);cursor:text}.xsearch-icon{position:absolute;left:0;top:0;width:2.6rem;height:100%;display:grid;place-content:center;background:none;border:none;color:var(--muted);cursor:pointer;z-index:2;transition:color .2s}.xsearch-icon:hover{color:var(--text)}.xsearch-input{width:100%;height:100%;padding:0 2.6rem;border:none;background:none;color:var(--text);font-family:inherit;font-size:.92rem;outline:none;opacity:0;pointer-events:none;transition:opacity .25s;user-select:text}.xsearch.open .xsearch-input{opacity:1;pointer-events:auto}.xsearch-input::placeholder{color:var(--muted)}.xsearch-input::-webkit-search-cancel-button{display:none}.xsearch-kbd{position:absolute;right:.75rem;display:none;align-items:center;height:1.3rem;padding:0 .45rem;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);font-size:.72rem;font-family:monospace;pointer-events:none}.xsearch.open:not(.has-text) .xsearch-kbd{display:flex}.xsearch-clear{position:absolute;right:0;top:0;width:2.6rem;height:100%;display:none;place-content:center;background:none;border:none;color:var(--muted);cursor:pointer;transition:color .2s}.xsearch-clear:hover{color:var(--text)}.xsearch.open.has-text .xsearch-clear{display:grid}.sortdd{position:relative}.sortdd-trigger{display:inline-flex;align-items:center;gap:.4rem;height:2.6rem;padding:0 .9rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:.85rem;font-family:inherit;cursor:pointer;transition:border-color .2s,background .2s}.sortdd-trigger:hover{border-color:var(--border-strong)}.sortdd-trigger svg{transition:transform .25s var(--ease)}.sortdd.open .sortdd-trigger svg{transform:rotate(180deg)}.sortdd-menu{position:absolute;top:calc(100% + .4rem);right:0;min-width:9rem;padding:.3rem;border-radius:12px;background:var(--surface-solid);border:1px solid var(--border);box-shadow:var(--shadow);z-index:60;display:flex;flex-direction:column;gap:.1rem;opacity:0;transform:scale(.94) translateY(-4px);transform-origin:top right;pointer-events:none;transition:opacity .18s var(--ease),transform .18s var(--ease)}.sortdd.open .sortdd-menu{opacity:1;transform:scale(1) translateY(0);pointer-events:auto}.sortdd-item{display:flex;align-items:center;padding:.5rem .7rem;border-radius:8px;background:none;border:none;color:var(--text);font-size:.85rem;font-family:inherit;text-align:left;cursor:pointer;transition:background .15s}.sortdd-item:hover{background:var(--surface-2)}.sortdd-item.is-active{color:var(--accent);font-weight:600}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.2rem;align-items:start}.tools-empty{grid-column:1 / -1;text-align:center;padding:3rem;color:var(--muted)}.tool-cat{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);overflow:hidden;transition:border-color .3s var(--ease)}.tool-cat:hover{border-color:var(--border-strong)}.tool-cat-head{display:flex;align-items:center;justify-content:space-between;gap:.9rem;padding:1.1rem 1.4rem .95rem;border-bottom:1px solid var(--border);cursor:pointer;user-select:none;transition:background .18s}.tool-cat-head:hover{background:var(--surface-2)}.tool-cat.is-collapsed .tool-cat-head{border-bottom-color:transparent}.tool-cat-title{font-size:.98rem;font-weight:600;font-family:Space Grotesk,sans-serif;color:var(--text-strong);line-height:1.1}.tool-cat-head-right{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.tool-cat-count{font-size:.76rem;color:var(--muted)}.tool-cat-chevron{color:var(--muted);transition:transform .35s var(--ease)}.tool-cat.is-collapsed .tool-cat-chevron{transform:rotate(-90deg)}.tool-list{display:grid;grid-template-rows:1fr;transition:grid-template-rows .38s var(--ease)}.tool-cat.is-collapsed .tool-list{grid-template-rows:0fr}.tool-list-inner{overflow:hidden;min-height:0}.tool-item{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:.75rem 1.4rem;border-bottom:1px solid var(--border);transition:background .18s;cursor:pointer;user-select:none}.tool-item:last-child{border-bottom:none}.tool-item:hover{background:var(--surface-2)}.tool-item-info{flex:1;min-width:0}.tool-item-title{font-size:.89rem;font-weight:500;color:var(--text-strong);display:block}.tool-item-desc{font-size:.77rem;color:var(--muted);margin-top:.1rem;display:block}.tool-item-arrow{color:var(--muted);opacity:0;transform:translate(-4px);transition:opacity .2s,transform .2s;flex-shrink:0;margin-left:.5rem}.tool-item:hover .tool-item-arrow{opacity:1;transform:translate(0)}.tool-view{display:none}.tool-view.is-active{display:block}.tool-nav{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--border)}.tool-back{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.85rem;font-weight:500;transition:color .2s,border-color .2s;padding:.4rem .9rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);cursor:pointer;user-select:none}.tool-back:hover{color:var(--text);border-color:var(--border-strong)}.tool-view-title{font-size:1.4rem;font-weight:600}.tool-body{user-select:text}.tool-section{margin-bottom:1.5rem}.tool-label{font-size:.8rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.5rem;display:block}.tool-textarea{width:100%;min-height:130px;padding:.85rem 1.1rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:.84rem;line-height:1.65;resize:vertical;outline:none;transition:border-color .2s;user-select:text}.tool-textarea:focus{border-color:var(--border-strong)}.tool-input{width:100%;padding:.72rem 1.1rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:inherit;font-size:.93rem;outline:none;transition:border-color .2s;user-select:text}.tool-input:focus{border-color:var(--border-strong)}.tool-select{padding:.55rem .9rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:inherit;font-size:.88rem;outline:none;cursor:pointer;transition:border-color .2s}.tool-select:focus{border-color:var(--border-strong)}.tool-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin:.9rem 0}.tool-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.48rem 1rem;border-radius:999px;font-size:.83rem;font-weight:500;background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;transition:all .18s var(--ease);user-select:none}.tool-btn:hover{border-color:var(--border-strong);transform:translateY(-1px)}.tool-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.tool-btn.primary:hover{background:color-mix(in srgb,var(--accent) 80%,#fff);border-color:color-mix(in srgb,var(--accent) 80%,#fff)}.tool-btn.danger{color:#ef4444;border-color:#ef44444d}.tool-btn.danger:hover{background:#ef44441a}.tool-output{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.9rem 1.1rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.84rem;color:var(--text);min-height:56px;word-break:break-all;white-space:pre-wrap;user-select:text;line-height:1.65}.tool-io{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.tool-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.7rem;margin-top:1rem}.stat-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.85rem 1rem;text-align:center}.stat-value{font-size:1.35rem;font-weight:700;font-family:Space Grotesk,sans-serif;color:var(--text-strong);display:block}.stat-label{font-size:.72rem;color:var(--muted);margin-top:.1rem;display:block}.tool-row{display:flex;align-items:center;gap:.7rem;margin-bottom:.6rem}.tool-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--text);cursor:pointer;user-select:none}.tool-checkbox input{accent-color:var(--accent);cursor:pointer}.tool-copy-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:all .15s;user-select:none;flex-shrink:0}.tool-copy-btn:hover{border-color:var(--border-strong);color:var(--text)}.tool-copy-btn.copied{color:#10b981;border-color:#10b98166}.strength-bar{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin:.6rem 0}.strength-fill{height:100%;border-radius:99px;width:0%;transition:width .35s var(--ease),background .35s}.strength-label{font-size:.82rem;color:var(--muted)}.slider-row{display:grid;grid-template-columns:110px 1fr 48px;gap:.75rem;align-items:center;margin-bottom:.75rem}.slider-row label{font-size:.87rem;color:var(--text)}input[type=range].tool-range,input[type=range].cp-val{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;cursor:pointer;background:linear-gradient(var(--accent),var(--accent)) 0 / var(--fill, 50%) 100% no-repeat,var(--surface-2);outline:none}input[type=range].tool-range::-webkit-slider-thumb,input[type=range].cp-val::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:0 2px 6px #00000059;cursor:pointer;transition:transform .15s var(--ease),box-shadow .15s}input[type=range].tool-range::-webkit-slider-thumb:hover,input[type=range].cp-val::-webkit-slider-thumb:hover{transform:scale(1.18)}input[type=range].tool-range:active::-webkit-slider-thumb{transform:scale(1.25);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 22%,transparent)}input[type=range].tool-range::-moz-range-thumb,input[type=range].cp-val::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:0 2px 6px #00000059;cursor:pointer}input[type=range].tool-range::-moz-range-track,input[type=range].cp-val::-moz-range-track{height:6px;border-radius:99px;background:transparent}.slider-val{font-size:.83rem;font-family:monospace;color:var(--muted);text-align:right}.conv-table{width:100%;border-collapse:collapse;font-size:.88rem}.conv-table th{text-align:left;padding:.5rem .8rem;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border)}.conv-table td{padding:.6rem .8rem;border-bottom:1px solid var(--border);color:var(--text);font-family:monospace}.conv-table tr:last-child td{border-bottom:none}.conv-table tr:hover td{background:var(--surface)}.codes-wrap{max-height:380px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.code-row{display:flex;align-items:center;gap:1rem;padding:.65rem 1rem;border-bottom:1px solid var(--border);transition:background .15s}.code-row:last-child{border-bottom:none}.code-row:hover{background:var(--surface-2)}.code-badge{font-family:monospace;font-size:.88rem;font-weight:600;padding:.2rem .55rem;border-radius:6px;flex-shrink:0;min-width:3.5rem;text-align:center}.code-1xx{background:#6464ff26;color:#8b8bff}.code-2xx{background:#10b98126;color:#10b981}.code-3xx{background:#f59e0b26;color:#f59e0b}.code-4xx{background:#ef444426;color:#ef4444}.code-5xx{background:#a855f726;color:#a855f7}.code-name{font-weight:500;font-size:.9rem;flex:1}.code-desc{font-size:.8rem;color:var(--muted)}.url-parts{display:grid;gap:.5rem;margin-top:.8rem}.url-part{display:grid;grid-template-columns:110px 1fr;gap:.5rem;align-items:start;padding:.6rem .8rem;background:var(--surface);border:1px solid var(--border);border-radius:10px}.url-part-key{font-size:.78rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding-top:.15rem}.url-part-val{font-family:monospace;font-size:.88rem;color:var(--text-strong);word-break:break-all;user-select:text}.color-swatch{width:100%;height:80px;border-radius:var(--radius-sm);border:1px solid var(--border);margin-bottom:.8rem;transition:background .2s}.color-formats{display:grid;gap:.5rem}.color-format-row{display:flex;align-items:center;gap:.6rem;padding:.55rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:10px}.color-format-key{font-size:.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;width:40px;flex-shrink:0}.color-format-val{font-family:monospace;font-size:.88rem;color:var(--text-strong);flex:1;user-select:text}.gradient-preview{width:100%;height:80px;border-radius:var(--radius-sm);border:1px solid var(--border);margin-bottom:.8rem}.palette-swatches{display:flex;gap:.5rem;flex-wrap:wrap;margin:.8rem 0}.palette-swatch{width:60px;text-align:center}.palette-color{width:60px;height:60px;border-radius:12px;border:1px solid var(--border);margin-bottom:.3rem;cursor:pointer;transition:transform .2s}.palette-color:hover{transform:scale(1.08)}.palette-hex{font-family:monospace;font-size:.7rem;color:var(--muted);user-select:text}.meta-output{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;font-family:monospace;font-size:.82rem;line-height:1.7;white-space:pre-wrap;user-select:text;color:var(--text)}.og-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;max-width:500px;margin-top:.8rem}.og-img-placeholder{width:100%;height:140px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.85rem;object-fit:cover}.og-body{padding:.75rem 1rem}.og-domain{font-size:.75rem;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem}.og-title{font-weight:600;font-size:.95rem;color:var(--text-strong);margin-bottom:.25rem}.og-desc{font-size:.83rem;color:var(--muted)}.morse-output{font-family:monospace;font-size:1.1rem;letter-spacing:.12em;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);word-break:break-all;user-select:text;min-height:56px}.random-list{display:grid;gap:.4rem;max-height:280px;overflow-y:auto}.random-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-family:monospace;font-size:.85rem;color:var(--text-strong);user-select:text}.easing-wrap{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:start}.easing-canvas{display:block;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);max-width:260px;width:100%;aspect-ratio:1}.easing-presets{display:flex;flex-wrap:wrap;gap:.35rem;margin:.8rem 0}.easing-preset-btn{padding:.3rem .65rem;border-radius:999px;font-size:.76rem;background:var(--surface);border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:all .15s;user-select:none}.easing-preset-btn:hover{border-color:var(--border-strong);color:var(--text)}.easing-preset-btn.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.spring-canvas{display:block;width:100%;height:180px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);margin-bottom:1.2rem}.stagger-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.4rem;margin:1.2rem 0}.stagger-box{aspect-ratio:1;border-radius:8px;background:var(--accent);opacity:.15;transform:scale(.7);transition:none}.anim-preview-wrap{height:120px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;overflow:hidden;position:relative}.anim-target{width:52px;height:52px;border-radius:14px;background:var(--accent)}.diff-output{font-family:monospace;font-size:.84rem;line-height:1.7;white-space:pre-wrap;user-select:text}.diff-add{background:#10b98126;color:#10b981;display:block;padding:0 .3rem;border-left:2px solid #10b981;margin-left:-.3rem}.diff-del{background:#ef444426;color:#ef4444;display:block;padding:0 .3rem;border-left:2px solid #ef4444;margin-left:-.3rem}.diff-same{display:block;color:var(--muted);padding:0 .3rem;margin-left:-.3rem}.jwt-part{margin-bottom:1rem}.jwt-part-title{font-size:.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.4rem}.file-drop{border:2px dashed var(--border);border-radius:var(--radius-sm);padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}.file-drop:hover,.file-drop.drag-over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}.file-drop p{color:var(--muted);font-size:.9rem;margin-top:.4rem}.subnet-results{display:grid;gap:.5rem;margin-top:.8rem}.subnet-row{display:grid;grid-template-columns:160px 1fr;gap:.5rem;padding:.55rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-size:.88rem}.subnet-key{color:var(--muted)}.subnet-val{font-family:monospace;color:var(--text-strong);user-select:text}.qs-pairs{display:grid;gap:.5rem;margin-bottom:.8rem}.qs-pair{display:grid;grid-template-columns:1fr 1fr auto;gap:.4rem;align-items:center}.utm-fields{display:grid;gap:.7rem;margin-bottom:1rem}.readability-score{font-size:3rem;font-weight:700;font-family:Space Grotesk,sans-serif;color:var(--text-strong)}.readability-label{color:var(--muted);font-size:.9rem;margin-top:.2rem}.robots-opts{display:grid;gap:.5rem;margin-bottom:1rem}.placeholder-preview{width:100%;height:120px;object-fit:contain;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-top:.8rem;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.85rem}@media(max-width:640px){.tool-io,.easing-wrap{grid-template-columns:1fr}.stagger-grid{grid-template-columns:repeat(6,1fr)}.slider-row{grid-template-columns:90px 1fr 42px}}@keyframes gradient-angle{to{--gradient-angle: 360deg}}@keyframes shimmer-tab{to{rotate:360deg}}@keyframes breathe-tab{0%,to{scale:1}50%{scale:1.2}}.tools-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;background:color-mix(in srgb,var(--bg-deep) 28%,transparent);-webkit-backdrop-filter:blur(3px) saturate(115%);backdrop-filter:blur(3px) saturate(115%)}html.light .tools-backdrop{background:color-mix(in srgb,var(--bg-deep) 32%,transparent)}.copy-btn{position:relative;width:2.2rem;height:2.2rem;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);cursor:pointer;overflow:hidden;transition:border-color .2s,color .2s,background .2s}.copy-btn:hover{color:var(--text);border-color:var(--border-strong)}.copy-btn .ico{position:absolute;width:1.05rem;height:1.05rem;transition:opacity .25s,transform .4s cubic-bezier(.34,1.56,.64,1)}.copy-btn .ico-copy{opacity:1;transform:scale(1) rotate(0)}.copy-btn .ico-check{opacity:0;transform:scale(.4) rotate(-45deg);color:#10b981}.copy-btn.copied .ico-copy{opacity:0;transform:scale(.4) rotate(45deg)}.copy-btn.copied .ico-check{opacity:1;transform:scale(1) rotate(0)}.copy-btn.copied{border-color:#10b98166}.copy-ripple{position:absolute;inset:0;border-radius:inherit;background:#10b9814d;opacity:0;pointer-events:none}.copy-btn.copied .copy-ripple{animation:copy-ripple .55s ease-out}@keyframes copy-ripple{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(2)}}.cbx{display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;user-select:none;font-size:.88rem;color:var(--text)}.cbx-input{position:absolute;width:0;height:0;opacity:0}.cbx-box{width:18px;height:18px;flex-shrink:0;border-radius:6px;border:1px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:background .25s,border-color .25s}.cbx-box svg{width:13px;height:13px;opacity:0;transform:scale(.4);transition:opacity .2s,transform .3s cubic-bezier(.34,1.56,.64,1)}.cbx.is-checked .cbx-box{background:var(--accent);border-color:var(--accent)}.cbx.is-checked .cbx-box svg{opacity:1;transform:scale(1)}.cbx-input:focus-visible+.cbx-box{outline:2px solid var(--accent);outline-offset:2px}.cbx-box.pop{animation:cbx-pop .3s}@keyframes cbx-pop{50%{transform:scale(1.18)}}.tool-preview{display:flex;align-items:center;justify-content:center;min-height:150px;padding:1.5rem;border-radius:var(--radius-sm);background:linear-gradient(var(--surface),var(--surface)),repeating-conic-gradient(rgba(255,255,255,.04) 0% 25%,transparent 0% 50%) 0 0 / 22px 22px;border:1px solid var(--border);margin-bottom:1.2rem;overflow:hidden}pre.tool-output{margin:0;overflow-x:auto;tab-size:2}.tool-view .tool-nav{flex-wrap:wrap}.cp{position:relative;display:inline-block}.cp-swatch{width:42px;height:32px;border-radius:9px;border:1px solid var(--border-strong);cursor:pointer;box-shadow:inset 0 0 0 2px #ffffff1f;transition:transform .15s var(--ease)}.cp-swatch:hover{transform:scale(1.06)}.cp-pop{position:fixed;z-index:9999;width:212px;padding:.9rem;border-radius:18px;background:var(--surface-solid);border:1px solid var(--border);box-shadow:var(--shadow-lift);display:flex;flex-direction:column;gap:.7rem;opacity:0;transform:scale(.92);transform-origin:top left;pointer-events:none;transition:opacity .18s var(--ease),transform .18s var(--ease)}.cp-pop.open{opacity:1;transform:scale(1);pointer-events:auto}.cp-hex{width:100%;padding:.45rem .6rem;border-radius:8px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-family:monospace;font-size:.85rem;text-align:center;outline:none;text-transform:uppercase}.cp-hex:focus{border-color:var(--border-strong)}.dd{position:relative;display:inline-block}.dd-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:.6rem;min-width:8rem;padding:.55rem .9rem;border-radius:10px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:inherit;font-size:.88rem;cursor:pointer;transition:border-color .2s,background .2s}.dd-trigger:hover{border-color:var(--border-strong);background:var(--surface-2)}.dd-trigger svg{color:var(--muted);flex-shrink:0;transition:transform .25s var(--ease)}.dd.open .dd-trigger svg{transform:rotate(180deg)}.dd-menu{position:absolute;top:calc(100% + .4rem);left:0;min-width:100%;max-height:260px;overflow-y:auto;padding:.3rem;border-radius:12px;background:var(--surface-solid);border:1px solid var(--border);box-shadow:var(--shadow);z-index:80;display:flex;flex-direction:column;gap:.1rem;opacity:0;transform:scale(.95) translateY(-4px);transform-origin:top left;pointer-events:none;transition:opacity .16s var(--ease),transform .16s var(--ease)}.dd.open .dd-menu{opacity:1;transform:scale(1) translateY(0);pointer-events:auto}.dd-item{padding:.5rem .7rem;border-radius:8px;background:none;border:none;color:var(--text);font-family:inherit;font-size:.85rem;text-align:left;white-space:nowrap;cursor:pointer;transition:background .15s}.dd-item:hover{background:var(--surface-2)}.dd-item.is-active{color:var(--accent);font-weight:600}
