/* Единый стиль для главной, кабинета и страниц аккаунта. Публичные профили не меняем. */
body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-header{height:82px;min-height:82px;display:flex;align-items:center;gap:50px;padding:0 max(36px,calc((100vw - 1360px)/2));background:#090512;color:#f5efff;border-bottom:1px solid rgba(222,195,255,.08)}
body:is([data-route="login"],[data-route="dashboard"],[data-route="notFound"]) .header-cta{display:inline-flex;align-items:center}
body:is([data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) #app-main{min-height:calc(100dvh - 82px)}
#page-login:not([hidden]),#page-register:not([hidden]),#page-dashboard:not([hidden]),#page-not-found:not([hidden]){min-height:calc(100dvh - 82px);display:flex;align-items:center;padding:64px max(36px,calc((100vw - 1360px)/2));background:linear-gradient(90deg,rgba(8,4,18,.48),rgba(8,4,18,.35)),var(--veyra-waves, url('/assets/veyra-waves.webp')) center bottom/cover no-repeat,#090512;color:#f5efff}
.v-platform-layout{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px, .85fr);gap:clamp(48px,8vw,130px);align-items:center;max-width:1360px;margin:auto}.v-auth-layout .narrow-card{max-width:500px}.v-dashboard-layout{align-items:start}.v-dashboard-layout .dashboard-card{width:100%;max-width:720px}
#page-login .eyebrow,#page-register .eyebrow,#page-dashboard .eyebrow,#page-not-found .eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 26px;padding:9px 12px;border:1px solid rgba(198,153,255,.24);border-radius:100px;background:rgba(163,89,255,.07);color:#d9b9fc;font-size:11px;letter-spacing:.13em}
#page-login .eyebrow:before,#page-register .eyebrow:before,#page-dashboard .eyebrow:before,#page-not-found .eyebrow:before{content:"◆";font-size:10px;color:#d9acff}
#page-login h1,#page-register h1,#page-dashboard h1,#page-not-found h1{font:800 clamp(48px,5vw,68px)/1.05 Manrope,system-ui,sans-serif;letter-spacing:-.055em;margin:0 0 22px;color:#f8f1ff;overflow-wrap:normal}
#page-dashboard h1{font-size:clamp(42px,4.1vw,58px)}
#page-login .lead,#page-register .lead,#page-dashboard .lead{color:#d5c9df;line-height:1.6}#page-login .app-note,#page-register .app-note,#page-dashboard .app-note{color:#c7b8d2}
#page-login .app-button,#page-register .app-button,#page-dashboard .app-button{min-height:52px;border-radius:11px}
#page-login .app-button.primary,#page-register .app-button.primary,#page-dashboard .app-button.primary{border:1px solid rgba(226,177,255,.55);color:#1e092e;background:linear-gradient(110deg,#e2a7ff,#c895ff 70%,#b97afa);box-shadow:0 12px 36px rgba(169,60,244,.18)}
#page-login .app-button.secondary,#page-register .app-button.secondary,#page-dashboard .app-button.secondary{background:rgba(24,14,35,.72);color:#f1e7f8;border-color:rgba(206,176,236,.28)}
#page-login .text-link,#page-register .text-link,#page-not-found .text-link{color:#dfb5ff;text-decoration:none}#page-login .auth-feedback,#page-register .auth-feedback{margin-top:18px;max-width:420px}
#page-dashboard .dashboard-account{background:rgba(24,15,36,.68);border:1px solid rgba(206,176,236,.16);border-radius:14px;padding:18px 20px;margin:0 0 16px}#page-dashboard .dashboard-account .lead{font-size:15px;margin:0}#page-dashboard .dashboard-account .app-button{min-height:44px}
#page-dashboard .dashboard-profile,#page-dashboard .profile-form{background:linear-gradient(140deg,rgba(41,25,55,.92),rgba(22,13,32,.92));border:1px solid rgba(208,168,239,.23);box-shadow:0 16px 55px rgba(0,0,0,.2);border-radius:16px;padding:26px;margin:0 0 24px;max-width:none}
#page-dashboard .profile-form{gap:12px}#page-dashboard .dashboard-label{color:#c4b0d3}#page-dashboard .profile-address{color:#e5c2ff}#page-dashboard .dashboard-profile-status{color:#c6b7d0}#page-dashboard .username-row{background:#20152c;border-color:#5d4770}#page-dashboard .username-row input{color:#f6efff}#page-dashboard .dashboard-help{max-width:650px;text-shadow:0 1px 6px #07030f,0 1px 10px #07030f}#page-dashboard #profile-feedback{text-shadow:0 1px 6px #07030f,0 1px 10px #07030f}
.v-side-art{position:relative;min-height:480px;border:1px solid rgba(215,174,255,.25);border-radius:18px;overflow:hidden;background:linear-gradient(180deg,rgba(11,5,22,.05),rgba(12,6,22,.50)),var(--veyra-waves, url('/assets/veyra-waves.webp')) 84% 58%/auto 130% no-repeat,#11091e;box-shadow:0 32px 100px rgba(0,0,0,.35),0 0 50px rgba(139,53,208,.12)}.v-side-art:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 55% 35%,rgba(196,125,255,.14),transparent 38%);pointer-events:none}.v-side-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;padding:32px;z-index:1}.v-side-eyebrow{font-size:10px;letter-spacing:.13em;color:#d1acee;font-weight:700}.v-side-eyebrow span{margin-right:6px}.v-side-symbol{margin:auto;display:grid;place-items:center;width:138px;height:138px;border:1px solid rgba(213,172,255,.25);border-radius:50%;background:rgba(31,14,48,.42);box-shadow:0 0 55px rgba(174,75,255,.18)}.v-side-symbol svg{width:62px;height:62px;color:#d7a9ff;filter:drop-shadow(0 0 20px rgba(194,116,255,.65))}.v-side-bottom strong{display:block;color:#f7efff;font-size:32px;line-height:1.15;letter-spacing:-.04em}.v-side-bottom strong span{color:#d69eff}.v-side-bottom small{display:block;margin-top:12px;color:#d4c3e3;font-size:13px}.v-dashboard-layout .v-side-art{min-height:390px}.v-dashboard-layout .v-side-symbol{width:100px;height:100px}.v-dashboard-layout .v-side-symbol svg{width:46px;height:46px}.v-dashboard-layout .v-side-bottom strong{font-size:27px}
/* Только палитра панели редактора. Структура, размеры и пользовательское оформление профилей не меняются. */
body[data-route="editor"] #page-editor{--ui-bg:#140e1e;--ui-fg:#f4edfa;--ui-mut:#c5b7cf;--ui-line:#413249;--ui-in:#271b31;color-scheme:dark}
body[data-route="editor"] #panel input[type="range"]{accent-color:#c28aff}
body[data-route="editor"] #panel .editor-save-actions #profile-save{background:#b477e7;color:#1c0b27}
/* Мягкий вход, похожий на появление иконок при разблокировке, и реакция на наведение. */
@media(prefers-reduced-motion:no-preference){
 @keyframes v-enter{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
 body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-header .app-brand,body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-header .app-nav,body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-header .header-cta{animation:v-enter .6s cubic-bezier(.22,1,.36,1) backwards}
 body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-nav a{animation:v-enter .6s .08s cubic-bezier(.22,1,.36,1) backwards}
 body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-nav a:nth-child(2){animation-delay:.12s}
 body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-nav a:nth-child(3){animation-delay:.16s}
 body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-nav a:nth-child(4){animation-delay:.20s}
 body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-nav a:nth-child(5){animation-delay:.24s}
 body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-header .app-nav{animation-delay:.05s}body:is([data-route="home"],[data-route="login"],[data-route="dashboard"],[data-route="notFound"]) .app-header .header-cta{animation-delay:.10s}
 #page-home:not([hidden]) .v-hero-copy>*{animation:v-enter .65s cubic-bezier(.22,1,.36,1) backwards}#page-home:not([hidden]) .v-hero-copy h1{animation-delay:.07s}#page-home:not([hidden]) .v-lead{animation-delay:.13s}#page-home:not([hidden]) .v-actions{animation-delay:.19s}#page-home:not([hidden]) .v-hint{animation-delay:.25s}#page-home:not([hidden]) .v-demo{animation:v-enter .75s .16s cubic-bezier(.22,1,.36,1) backwards}#page-home:not([hidden]) .v-home-foot{animation:v-enter .7s .24s cubic-bezier(.22,1,.36,1) backwards}
 #page-login:not([hidden]) .app-card,#page-register:not([hidden]) .app-card,#page-dashboard:not([hidden]) .app-card,#page-not-found:not([hidden]) .app-card{animation:v-enter .7s .05s cubic-bezier(.22,1,.36,1) backwards}
 #page-login:not([hidden]) .v-side-art,#page-register:not([hidden]) .v-side-art,#page-dashboard:not([hidden]) .v-side-art{animation:v-enter .75s .16s cubic-bezier(.22,1,.36,1) backwards}
 body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-nav a,body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .header-cta,#page-home .v-primary,#page-home .v-secondary,#page-login .app-button,#page-register .app-button,#page-dashboard .app-button,#page-login .text-link,#page-register .text-link,#page-dashboard .profile-address{transition:transform .22s cubic-bezier(.22,1,.36,1),background-color .22s,border-color .22s,box-shadow .22s,color .22s}
 @media(hover:hover){body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-nav a:hover,body:is([data-route="home"],[data-route="login"],[data-route="dashboard"],[data-route="notFound"]) .header-cta:hover,#page-home .v-primary:hover,#page-home .v-secondary:hover,#page-login .app-button:hover:not(:disabled),#page-register .app-button:hover:not(:disabled),#page-dashboard .app-button:hover:not(:disabled){transform:translateY(-3px);border-color:rgba(215,166,255,.7);box-shadow:0 10px 24px rgba(151,74,226,.18)}#page-login .text-link:hover,#page-register .text-link:hover,#page-dashboard .profile-address:hover{color:white;transform:translateX(3px)}}
}
@media(max-width:1000px){body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-header{padding:0 24px;gap:24px}.v-platform-layout{gap:35px}.v-side-art{min-height:420px}.v-dashboard-layout .v-side-art{min-height:365px}}
@media(max-width:740px){body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-header{height:auto;min-height:70px;display:flex;flex-wrap:wrap;padding:13px 16px;gap:10px}body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-brand{display:inline-flex}body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-nav{order:3;width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-top:3px}body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-nav::-webkit-scrollbar{display:none}body:is([data-route="home"],[data-route="login"],[data-route="register"],[data-route="dashboard"],[data-route="notFound"]) .app-nav a{padding:10px 6px;font-size:12px}body:is([data-route="home"],[data-route="login"],[data-route="dashboard"],[data-route="notFound"]) .header-cta{margin-left:auto;min-height:42px;padding:10px 12px}
 #page-login:not([hidden]),#page-register:not([hidden]),#page-dashboard:not([hidden]),#page-not-found:not([hidden]){min-height:calc(100dvh - 118px);align-items:flex-start;padding:56px 20px 72px;background:linear-gradient(180deg,rgba(7,4,18,.2),rgba(7,4,18,.5)),var(--veyra-waves, url('/assets/veyra-waves.webp')) 75% bottom/auto 100% no-repeat,#090512}.v-platform-layout{grid-template-columns:1fr;gap:38px}.v-auth-layout .narrow-card{max-width:none}#page-login h1,#page-register h1,#page-dashboard h1,#page-not-found h1{font-size:clamp(38px,10vw,50px)}#page-login .lead,#page-register .lead{font-size:16px}#page-dashboard .dashboard-account{align-items:center;padding:16px;gap:10px}#page-dashboard .dashboard-account .lead{font-size:14px}#page-dashboard .dashboard-profile,#page-dashboard .profile-form{padding:20px}#page-dashboard .dashboard-profile-actions{display:grid}.v-side-art{min-height:280px}.v-dashboard-layout .v-side-art{min-height:280px}.v-side-inner{padding:24px}.v-side-symbol{width:90px;height:90px}.v-side-symbol svg{width:42px;height:42px}.v-side-bottom strong,.v-dashboard-layout .v-side-bottom strong{font-size:23px}.v-side-bottom small{font-size:12px}.v-dashboard-layout .v-side-symbol{width:90px;height:90px}
}
@media(max-width:380px){body:is([data-route="home"],[data-route="login"],[data-route="dashboard"],[data-route="notFound"]) .header-cta{display:none}}
