/* Procedural atmosphere: gradients and canvas only, no background images. */
.project-row{display:flex;align-items:center;gap:12px;margin:10px 0}.project-row .project-item{flex:1;min-width:0;margin:0;overflow-wrap:anywhere}.project-download{flex-shrink:0;font-size:12px;text-decoration:none;border:1px solid var(--line);border-radius:10px;padding:11px 13px}.project-download:hover{background:var(--hover)}#projects-root{overflow-wrap:anywhere}@media(max-width:460px){.project-row{align-items:stretch;flex-direction:column;gap:6px}.project-download{text-align:center}}
:root{
 --ink:#f4efff;--muted:#bcb1ce;--accent:#d4b8ff;--line:rgba(231,214,255,.16);
 --glass:rgba(67,47,85,.40);--panel:rgba(34,22,49,.55);--field:rgba(25,16,40,.48);
 --hover:rgba(91,60,124,.45);--shadow:0 28px 90px rgba(5,3,15,.25);
 --particle:196,166,244;
}
:root[data-theme=light]{
 --ink:#302341;--muted:#71637f;--accent:#73509c;--line:rgba(104,76,140,.18);
 --glass:rgba(255,255,255,.48);--panel:rgba(255,255,255,.56);--field:rgba(250,247,255,.72);
 --hover:rgba(235,221,255,.74);--shadow:0 28px 90px rgba(89,64,125,.12);
 --particle:119,83,168;
}
:root[data-theme]{background:#15101f;color:var(--ink);min-height:100%;font-family:'Segoe UI',system-ui,sans-serif}
:root[data-theme=light]{background:#ede8f5}
:root[data-theme] body{min-height:100vh;background:transparent;color:var(--ink);isolation:isolate}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
 background:radial-gradient(ellipse at 78% 10%,rgba(139,85,183,.49),transparent 57%),radial-gradient(ellipse at 8% 66%,rgba(70,48,99,.51),transparent 54%),radial-gradient(ellipse at 76% 95%,rgba(43,73,92,.34),transparent 52%),linear-gradient(135deg,#100e19 0%,#271831 47%,#171522 100%)}
[data-theme=light] body::before{background:radial-gradient(ellipse at 78% 10%,rgba(197,165,237,.50),transparent 57%),radial-gradient(ellipse at 8% 66%,rgba(218,198,238,.61),transparent 54%),radial-gradient(ellipse at 76% 95%,rgba(183,217,226,.47),transparent 52%),linear-gradient(135deg,#f8f5fc 0%,#ebe2f2 47%,#f1f6f9 100%)}
#atmosphere{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:.75}
:root[data-theme] header.topbar{position:relative;top:auto;max-width:1320px;width:calc(100% - 64px);min-height:74px;margin:28px auto 0;padding:18px 24px;border:1px solid var(--line);border-radius:22px;background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 8px 36px #0903140a}
:root[data-theme] .brand{color:var(--ink);gap:12px}
:root[data-theme] .brand span{font-weight:600;letter-spacing:2.3px}
:root[data-theme] main:not(.auth-main){max-width:1180px;width:calc(100% - 96px);margin:42px auto 48px;padding:32px;border:1px solid var(--line);border-radius:28px;background:var(--glass);box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
:root[data-theme] .card,:root[data-theme] .app-card,:root[data-theme] .admin-box,:root[data-theme] .auth-panel,:root[data-theme] dialog{background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.035);border-radius:20px}
:root[data-theme] .tools{gap:18px}
:root[data-theme] .card{padding:29px;min-height:249px;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;position:relative;overflow:hidden}
:root[data-theme] .card::after{content:"";position:absolute;top:-60px;right:-50px;width:155px;height:155px;border-radius:50%;background:radial-gradient(circle,rgba(166,119,221,.12),transparent 68%);pointer-events:none}
:root[data-theme] .card:hover,:root[data-theme] .app-card:hover{transform:translateY(-4px);background:var(--hover);border-color:rgba(199,164,241,.42);box-shadow:0 12px 32px #13082012}
:root[data-theme] .card h2{font-size:23px;letter-spacing:-.5px;margin-top:22px}
:root[data-theme] .card p,:root[data-theme] .hint,:root[data-theme] footer,:root[data-theme] .app-card small,:root[data-theme] dialog p,:root[data-theme] dialog li,:root[data-theme] dialog small,:root[data-theme] .auth-panel p,:root[data-theme] .inline-note,:root[data-theme] .admin-heading p,:root[data-theme] .user-row p,:root[data-theme] .invite-row p,:root[data-theme] .audit-line{color:var(--muted)}
:root[data-theme] .eyebrow,:root[data-theme] .action,:root[data-theme] #notice,:root[data-theme] #results a{color:var(--accent)}
:root[data-theme] .action{font-weight:500;margin-top:27px}
:root[data-theme] .symbol{height:47px;width:47px;border:1px solid var(--line);border-radius:14px}
:root[data-theme] .lilac{background:#ac7bed24;color:#d1afff}
:root[data-theme] .blue{background:#73adcf22;color:#a4d0ef}
:root[data-theme] .orange{background:#dfa77c20;color:#efc0a2}
:root[data-theme=light] .lilac{background:#9b68d522;color:#8351ac}
:root[data-theme=light] .blue{background:#5598be1a;color:#397a9f}
:root[data-theme=light] .orange{background:#cf9b7620;color:#9f6b43}
:root[data-theme] button,:root[data-theme] input,:root[data-theme] textarea,:root[data-theme] select{color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:11px}
:root[data-theme] button:hover{background:var(--hover)}
:root[data-theme] input,:root[data-theme] textarea,:root[data-theme] select{padding:13px 14px;transition:border-color .2s,box-shadow .2s}
:root[data-theme] input::placeholder,:root[data-theme] textarea::placeholder{color:var(--muted);opacity:.8}
:root[data-theme] input:focus,:root[data-theme] textarea:focus,:root[data-theme] select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(168,128,219,.15)}
:root[data-theme] :focus-visible{outline:2px solid var(--accent);outline-offset:4px}
:root[data-theme] .primary,:root[data-theme] #run{background:linear-gradient(120deg,#9970c3,#73549e);color:#fff;border-color:#cda5f347;box-shadow:0 6px 24px #9264bb20}
:root[data-theme] .primary:hover,:root[data-theme] #run:hover{background:linear-gradient(120deg,#ab81d4,#8563af)}
:root[data-theme] .topbar .icon-button{width:35px;height:35px;border-radius:11px;color:var(--accent);background:var(--field)}
:root[data-theme] .perf-stat{background:var(--field);border-radius:6px;min-width:49px}
:root[data-theme] .perf-stat>span{color:var(--muted)}
:root[data-theme] .perf-stat meter::-webkit-meter-bar{background:rgba(145,113,175,.15)}
:root[data-theme] #state{color:#a7dfc9;background:#6cbf9d12;border:1px solid #8fdbb52b;border-radius:8px}
:root[data-theme=light] #state{color:#38745e;background:#4e997d0c;border-color:#4e997d30}
:root[data-theme] footer{border-color:var(--line);margin-top:34px;padding-top:20px}
:root[data-theme] .apps-section{margin-top:36px}
:root[data-theme] .section-heading h2{font-size:26px;letter-spacing:-.7px;margin-top:6px}
:root[data-theme] .app-card{padding:20px 24px;transition:transform .2s,background .2s}
:root[data-theme] .auth-main{max-width:500px;padding:0;width:calc(100% - 40px);margin:62px auto 50px}
:root[data-theme] .auth-panel{padding:36px 38px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:var(--shadow);border-radius:26px;background:var(--glass)}
:root[data-theme] .auth-panel h1{font-size:34px;letter-spacing:-1px;margin:16px 0 10px}
:root[data-theme] .auth-panel .primary{padding:14px;margin-top:26px;font-size:13px;font-weight:600}
:root[data-theme] .auth-panel .hint{font-size:11px;margin-bottom:0}
:root[data-theme] .auth-panel .eyebrow{color:var(--accent);font-size:10px}
:root[data-theme] .user-row,:root[data-theme] .invite-row,:root[data-theme] .audit-line{border-color:var(--line)}
:root[data-theme] .admin-box{padding:26px}
:root[data-theme] .mfa-secret{background:var(--field)}
:root[data-theme] dialog{background:var(--glass);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:var(--shadow);padding:30px}
:root[data-theme] dialog::backdrop{background:#100a1e77;backdrop-filter:blur(6px)}
:root[data-theme] a:not(.card):not(.brand){color:var(--accent)}
:root[data-theme=light] select option{background:#faf7ff;color:#302341}
:root[data-theme=dark] select option{background:#251b34;color:#f4efff}
@media(min-width:1500px){:root[data-theme] main:not(.auth-main){margin-top:64px}}
@media(max-width:850px){:root[data-theme] header.topbar{width:calc(100% - 32px);margin-top:16px;padding:16px}:root[data-theme] main:not(.auth-main){width:calc(100% - 32px);padding:22px;margin-top:24px}.header-tools{gap:6px}:root[data-theme] .card{padding:23px}}
@media(max-width:700px){:root[data-theme] .tools{grid-template-columns:1fr}:root[data-theme] .card{min-height:215px}:root[data-theme] .auth-main{margin-top:34px}:root[data-theme] .auth-panel{padding:28px}.section-heading{align-items:center}.section-heading>button{max-width:130px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}:root[data-theme] .card:hover,:root[data-theme] .app-card:hover{transform:none}}
