/* EGO tool identity layer: distinct accents, soft ambient backgrounds and clear interaction states. */
html[data-ego-tool="passguard"]{--tool-rgb:16,185,129;--tool-accent:#34d399}
html[data-ego-tool="textcleaner"]{--tool-rgb:59,130,246;--tool-accent:#60a5fa}
html[data-ego-tool="qrcode-express"]{--tool-rgb:168,85,247;--tool-accent:#c4b5fd}
html[data-ego-tool="medconvertgg"]{--tool-rgb:249,115,22;--tool-accent:#fb923c}
html[data-ego-tool="snapcompress"]{--tool-rgb:6,182,212;--tool-accent:#22d3ee}
html[data-ego-tool="json-studio"]{--tool-rgb:20,184,166;--tool-accent:#5eead4}
html[data-ego-tool="contrast-lab"]{--tool-rgb:139,92,246;--tool-accent:#a78bfa}
html[data-ego-tool="meta-preview"]{--tool-rgb:236,72,153;--tool-accent:#f472b6}
html[data-ego-tool="csv-studio"]{--tool-rgb:34,197,94;--tool-accent:#4ade80}
html[data-ego-tool="markdown-studio"]{--tool-rgb:99,102,241;--tool-accent:#818cf8}

/* CSV's grid echoes the table icon; Markdown's ruled paper echoes its document mark. */
html[data-ego-tool="csv-studio"] body{background-image:radial-gradient(ellipse 65% 42% at 10% 0%,rgba(34,197,94,.2),transparent 72%),radial-gradient(ellipse 48% 36% at 96% 18%,rgba(16,185,129,.1),transparent 75%),repeating-linear-gradient(0deg,transparent 0 47px,rgba(74,222,128,.045) 48px 49px),repeating-linear-gradient(90deg,transparent 0 47px,rgba(74,222,128,.045) 48px 49px),linear-gradient(180deg,#09150f,#070d11 80%)}
html[data-ego-tool="markdown-studio"] body{background-image:radial-gradient(ellipse 62% 40% at 86% 0%,rgba(99,102,241,.2),transparent 74%),radial-gradient(ellipse 45% 34% at 0% 60%,rgba(129,140,248,.11),transparent 76%),repeating-linear-gradient(0deg,transparent 0 31px,rgba(165,180,252,.045) 32px 33px),linear-gradient(90deg,rgba(99,102,241,.055) 0 3px,transparent 3px 100%),linear-gradient(180deg,#0c0d20,#080b17 82%)}

html[data-ego-tool] body{isolation:isolate;background-image:radial-gradient(ellipse 70% 42% at 8% 0%,rgba(var(--tool-rgb),.16),transparent 75%),radial-gradient(ellipse 52% 40% at 100% 22%,rgba(var(--tool-rgb),.1),transparent 72%),linear-gradient(180deg,#0a1020,#070b14 78%);background-attachment:fixed}
html[data-ego-tool] body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.23;background-image:radial-gradient(rgba(var(--tool-rgb),.46) .7px,transparent .8px);background-size:28px 28px;mask-image:linear-gradient(135deg,#000,transparent 62%);animation:egoToolDrift 28s linear infinite}
.brand-mark.tool-logo,.mc-logo.tool-logo{width:46px;height:46px;display:grid;place-items:center;overflow:visible;object-fit:contain;background:transparent!important;box-shadow:none!important;border-radius:0!important}
.brand-mark.tool-logo>.ego-logo,.mc-logo.tool-logo>.ego-logo{width:100%;height:100%}
@keyframes egoToolDrift{to{background-position:56px 56px}}
html[data-ego-tool] :is(.btn,.button,button,[role="button"],input[type="submit"]){transition:transform .2s ease,box-shadow .22s ease,border-color .2s ease,background-color .2s ease,filter .2s ease}
html[data-ego-tool] :is(.btn.primary,.btn-primary,.button-primary,.primary-button,[data-primary="true"]){background-image:linear-gradient(135deg,rgba(var(--tool-rgb),.96),color-mix(in srgb,var(--tool-accent),#4338ca 38%));box-shadow:0 8px 26px rgba(var(--tool-rgb),.2)}
html[data-ego-tool] :is(.btn,.button,button,[role="button"],input[type="submit"]):not(:disabled):not([aria-disabled="true"]):hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 8px 24px rgba(var(--tool-rgb),.16)}
html[data-ego-tool] :is(.btn,.button,button,[role="button"],input[type="submit"]):not(:disabled):active{transform:translateY(0) scale(.98)}
html[data-ego-tool] :is(input,select,textarea,[contenteditable="true"]):focus{border-color:var(--tool-accent)!important;box-shadow:0 0 0 3px rgba(var(--tool-rgb),.2)!important}
html[data-ego-tool] :focus-visible{outline-color:var(--tool-accent)}
html[data-ego-tool] :is(.panel,.card,.tool-card,.glass,.glass-card,.guide,.output){border-color:rgba(var(--tool-rgb),.2);transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease}
html[data-ego-tool] :is(.panel,.card,.tool-card,.glass-card,.guide):hover{border-color:rgba(var(--tool-rgb),.36)}
[data-ego-logo]{display:inline-grid;place-items:center;vertical-align:middle;isolation:isolate}
[data-ego-logo]>.ego-logo{display:block;transform-origin:center;animation:egoLogoFloat 4.5s ease-in-out infinite;transition:transform .25s ease,filter .25s ease}
[data-ego-logo]:hover>.ego-logo{animation-play-state:paused;transform:translateY(-2px) rotate(-4deg) scale(1.08);filter:drop-shadow(0 5px 12px rgba(var(--tool-rgb,99,102,241),.38))}
@keyframes egoLogoFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(1deg)}}
@media(prefers-reduced-motion:reduce){html[data-ego-tool] body::before{animation:none}[data-ego-logo]>.ego-logo{animation:none!important}html[data-ego-tool] :is(.btn,.button,button,[role="button"]){transition:none!important}}
