/* Shared visual identities for the workspace and its public entry surfaces. */
body[data-styl]{isolation:isolate;--identity-bg:#101214;--identity-surface:#191f26f2;--identity-accent:#438fff;--identity-ink:#fff;--identity-radius:24px;--identity-font:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
body[data-styl="astra"]{--identity-bg:#050a0e;--identity-surface:#0d151deb;--identity-accent:#f5f7fa;--identity-ink:#081018}
body[data-styl="uni"]{--identity-bg:#09131e;--identity-surface:#102032ed;--identity-accent:#269bff;--identity-radius:12px}
body[data-styl="oldschool"]{--identity-bg:#0b1711;--identity-surface:#12241aef;--identity-accent:#8bcea4;--identity-ink:#0b1711;--identity-radius:8px;--identity-font:Consolas,'Courier New',monospace}
body[data-styl="moderna"]{--identity-bg:#101525;--identity-surface:#1b2538ec;--identity-accent:#abc4ff;--identity-ink:#101525;--identity-radius:30px}
body[data-styl="evido"]{--identity-bg:#0b1719;--identity-surface:#15282bed;--identity-accent:#55c8ae;--identity-ink:#082019}
body[data-styl="rubric"]{--identity-bg:#151b0e;--identity-surface:#202a16f2;--identity-accent:#d1ed69;--identity-ink:#1c240b;--identity-radius:10px}
body[data-styl="papir"]{--identity-bg:#1c1a17;--identity-surface:#29241eef;--identity-accent:#dbc296;--identity-ink:#241d14;--identity-radius:10px;--identity-font:Georgia,'Times New Roman',serif}
body[data-styl="mekky"]{--identity-bg:#151b23;--identity-surface:#25303bea;--identity-accent:#aacfe2;--identity-ink:#182631;--identity-radius:36px}
body[data-styl="kontrast"]{--identity-bg:#080808;--identity-surface:#111;--identity-accent:#fff;--identity-ink:#000;--identity-radius:8px}
body[data-styl][data-pozadi]::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none}
body[data-styl="uni"][data-pozadi="mrizka"]::before{background:radial-gradient(ellipse at 85% 10%,#1687f82e,transparent 65%),linear-gradient(#3989bc10 1px,transparent 1px),linear-gradient(90deg,#3989bc10 1px,transparent 1px);background-size:auto,48px 48px,48px 48px;opacity:1}
body[data-styl="oldschool"][data-pozadi="mrizka"]::before{background:radial-gradient(ellipse at 50% 0,#39775229,transparent 70%),repeating-linear-gradient(0deg,transparent 0 3px,#71ad7910 3px 4px),radial-gradient(#8bbc791f 1px,transparent 1px);background-size:auto,auto,24px 24px;opacity:1}
body[data-styl="moderna"][data-pozadi="prechod"]::before{background:radial-gradient(ellipse 55% 90% at 110% 0,#718ed642,transparent 75%),linear-gradient(125deg,transparent 40%,#647bc51a 40.1%,transparent 73%),radial-gradient(ellipse at 0 100%,#859acf20,transparent 60%)}
body[data-styl="evido"][data-pozadi="vlny"]::before{background:repeating-radial-gradient(ellipse at 100% 110%,transparent 0 95px,#5eaeae16 96px 97px,transparent 98px 170px),radial-gradient(ellipse at 90% 100%,#1b887a27,transparent 70%)}
body[data-styl="rubric"][data-pozadi="prechod"]::before{background:linear-gradient(115deg,transparent 68%,#b8e74412 68.1% 76%,transparent 76.1%),linear-gradient(25deg,transparent 84%,#b8e74417 84.1%),radial-gradient(ellipse at 100% 100%,#667c182b,transparent 60%)}
body[data-styl="papir"][data-pozadi="prechod"]::before{background:repeating-linear-gradient(0deg,transparent 0 35px,#d9b9850c 35px 36px),linear-gradient(90deg,transparent 8%,#c58c6330 8% 8.1%,transparent 8.1%),radial-gradient(ellipse at 50% 0,#ae88501c,transparent 80%)}
body[data-styl="mekky"][data-pozadi="vlny"]::before{background:radial-gradient(ellipse 65% 70% at 0 20%,#73a4a637,transparent 75%),radial-gradient(ellipse 50% 60% at 90% 90%,#8c9dc837,transparent 70%),radial-gradient(ellipse at 100% 0,#b4cfe414,transparent 70%)}
body[data-styl="kontrast"][data-pozadi]::before,body[data-styl][data-pozadi="zadne"]::before{content:none}
body[data-styl="astra"][data-pozadi="zare"]::before{background:none}
#astraSky{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
/* Public pages use the same preset without importing workspace layout rules. */
body.public-site{background:var(--identity-bg);--bg:var(--identity-bg);--surface:var(--identity-surface);--blue:var(--identity-accent);--blue-text:var(--identity-accent);--font:var(--identity-font)}
.public-site .top{background:color-mix(in srgb,var(--identity-bg) 90%,transparent)}
.public-site :is(.demo,.plan){background:var(--identity-surface);border-radius:var(--identity-radius)}
.public-site .button.primary,.public-site .brand-mark{background:var(--identity-accent);color:var(--identity-ink)}
.public-site .button.primary{border-radius:var(--identity-radius);border-color:#ffffff25;box-shadow:none}
.public-site .top-nav{border-radius:var(--identity-radius)}
.public-site[data-styl="astra"] .button.primary{border-radius:999px}
.public-site[data-styl="oldschool"] .hero h1{letter-spacing:-.045em;font-size:clamp(36px,5vw,70px)}
.public-site[data-styl="kontrast"] :is(.demo,.top-nav,.plan){border:2px solid #fff}
.public-site[data-styl="papir"] .hero h1{font-weight:400}
.public-site[data-styl="rubric"] .hero h1{font-weight:800}
/* Keep form text on opaque enough surfaces, even over the star field. */
body[data-styl] #authScreen{background:transparent;--accent:var(--identity-accent)}
body:has(#authScreen:not(.hidden)){background-color:var(--identity-bg)}
body[data-styl] #authScreen :is(.auth-card,.pick-card){background:var(--identity-surface);border-radius:var(--identity-radius);box-shadow:inset 0 1px 0 #ffffff0d,0 20px 60px #0003}
body[data-styl] #authScreen .primary{background:var(--identity-accent);color:var(--identity-ink);border-radius:var(--identity-radius)}
body[data-styl="astra"] #authScreen .primary{border-radius:999px}
body[data-styl] #authScreen :is(.stage-title,.pick-title){font-family:var(--identity-font)}
body[data-styl="kontrast"] #authScreen :is(.auth-card,.pick-card,input){border:2px solid #fff}

/* The same restrained depth on sign-in and in the daily workspace. */
body[data-theme="dark"]:not([data-styl="oldschool"]):not([data-styl="kontrast"]) #authScreen .auth-card {
  border-color:color-mix(in srgb,var(--identity-accent) 24%,var(--border));
  background-image:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--identity-accent) 8%,transparent),transparent 70%);
  box-shadow:inset 0 1px 0 #ffffff10,0 28px 80px #0003;
}
body:not([data-styl="oldschool"]):not([data-styl="kontrast"]) #authScreen .auth-card:focus-within {
  border-color:color-mix(in srgb,var(--identity-accent) 48%,var(--border));
}
body[data-theme="dark"]:not([data-styl="oldschool"]):not([data-styl="kontrast"]) #app .nav-item.active {
  box-shadow:inset 0 1px 0 #ffffff0d;
}
@media(prefers-reduced-motion:no-preference){
  body:not([data-animace="klidne"]) #authScreen .auth-card{transition:border-color .35s ease,box-shadow .35s ease}
  body:not([data-animace="klidne"]):not([data-styl="oldschool"]):not([data-styl="kontrast"]) .auth-stage.stage-in{animation:evido-product-arrive .65s cubic-bezier(.22,1,.36,1) both}
  body:not([data-animace="klidne"]) #app .btn.primary{transition:background-color .2s,color .2s,box-shadow .3s,transform .2s}
  body:not([data-animace="klidne"]) #app .btn.primary:hover{box-shadow:0 5px 20px color-mix(in srgb,var(--accent) 14%,transparent)}
}
@keyframes evido-product-arrive{from{opacity:.25;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
