/* Shared Qol AI identity: university navy, sand and ivory. */
:root{--bg:#F7F5EF;--surface:#fff;--soft:#F0E9E0;--ink:#12364C;--muted:#667786;--line:#E2E6E8;--purple:#0B4B73;--purple-soft:#E8F0F5;--accent:#0B4B73;--preview:#EEF2F4;--shadow:0 24px 80px #0B4B7316}
[data-theme=dark]{--bg:#101D27;--surface:#192B38;--soft:#233846;--ink:#F7F5EF;--muted:#ADBCC5;--line:#304853;--purple:#C69F7A;--purple-soft:#263C48;--accent:#C69F7A;--preview:#172A36;--shadow:0 24px 80px #0005}
.primary-button{background:linear-gradient(115deg,#0B4B73,#123C58);color:#fff;box-shadow:0 6px 20px #0B4B7322}.primary-button:hover:not(:disabled){background:linear-gradient(115deg,#155F8B,#0B4B73)}
.brand-mark{position:relative!important;display:inline-block!important;width:32px!important;height:32px!important;transform:none!important;border-radius:11px;background:linear-gradient(140deg,#C69F7A,#0B4B73 60%,#C69F7A);box-shadow:inset 0 1px 0 #ffffff66,0 5px 16px #0B4B7325;flex-shrink:0}
.brand-mark i{display:none!important}.brand-mark::before{content:'';position:absolute;width:14px;height:14px;border:2px solid #fff;border-radius:50%;left:7px;top:6px}.brand-mark::after{content:'';position:absolute;width:9px;height:3px;background:#fff;transform:rotate(45deg);left:18px;top:21px;border-radius:2px}
.plan-card.featured{background:linear-gradient(145deg,#12364C,#0B2940);color:#fff;border-color:#3C5B70}.plan-card.featured .recommended{color:#E5C6A9}.plan-card.featured .primary-button{background:#C69F7A;color:#173346}
.studio-public-links{display:flex;flex-wrap:wrap;gap:10px 14px;margin-bottom:18px;font-size:12px;color:var(--muted)}.studio-public-links a:hover{color:var(--accent)}
.studio-home-link{display:inline-flex;align-items:center;gap:5px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;font-size:12px;color:var(--muted)}.studio-home-link:hover{background:var(--soft);color:var(--ink)}
.topbar-actions{gap:10px}.topbar-actions>.modern-select .modern-select-trigger{min-height:38px;padding:7px 10px;font-size:12px;width:70px}.topbar-actions>.modern-select .modern-select-list{min-width:110px;right:0;left:auto}.account-button{min-width:42px;max-width:100px;width:auto;padding:0 13px}
.auth-dialog{width:1040px;max-height:94dvh;border:1px solid var(--line);border-radius:28px;overflow:auto;background:var(--surface)}.auth-layout{grid-template-columns:1fr 1fr;min-height:670px}.auth-dialog::backdrop{background:#071521a8;backdrop-filter:blur(14px)}
.auth-dialog[open]{animation:auth-in .36s cubic-bezier(.2,.8,.2,1)}.auth-dialog.is-closing{animation:auth-out .18s ease forwards}
.welcome-screen{background:radial-gradient(ellipse at 50% 45%,#174365 0,transparent 65%),linear-gradient(155deg,#102D43,#081A2A);color:#fff;border-right:1px solid #ffffff0d;padding:36px;overflow:hidden}.welcome-edition{color:#C8D4DD}.welcome-copy{position:relative;text-align:left;padding:6px 0 16px}.welcome-copy h1{font-size:44px;line-height:1.08;letter-spacing:-1.6px;color:#fff}.welcome-copy p{color:#C0CCD5;max-width:350px;margin:18px 0 0;font-size:14px}.welcome-top .brand{font-size:23px}.welcome-visual{min-height:285px;margin:28px -15px 12px;perspective:800px}.welcome-tag{background:#ffffff0c;border:1px solid #ffffff25;backdrop-filter:blur(12px);color:#E4EAF0;transform:none;right:16px;bottom:15px;font-size:11px}
.auth-orbit{position:absolute;width:330px;height:185px;border:1px solid #C69F7A36;border-radius:50%;transform:rotate(-25deg)}.auth-orbit-two{width:230px;height:300px;transform:rotate(35deg);border-color:#C69F7A25}.auth-object{display:flex;align-items:center;gap:17px;position:relative;transform:rotate(-18deg) rotateY(-15deg);animation:object-float 7s ease-in-out infinite}.auth-object span{display:block;width:53px;height:145px;border-radius:50px;background:linear-gradient(100deg,#E8CBB0,#C69F7A 55%,#886443);box-shadow:inset 5px 2px 9px #ffffff66,inset -8px -7px 14px #63412188,12px 18px 28px #06152155}.auth-object span:nth-child(2){height:216px;background:linear-gradient(100deg,#6895B3,#0B4B73 55%,#08314C)}.auth-object span:nth-child(3){height:112px;background:linear-gradient(100deg,#F1DDC8,#D5B596 55%,#977451)}.auth-object-shadow{position:absolute;bottom:36px;width:190px;height:24px;border-radius:50%;background:#0005;filter:blur(15px)}
.auth-panel{padding:35px 40px;background:var(--surface)}.auth-top{margin-bottom:32px;min-height:38px}.auth-step-brand{display:flex;align-items:center;gap:9px;font-size:20px}.auth-step-brand .brand-mark{width:29px!important;height:29px!important;transform:scale(.88)!important;transform-origin:left center;margin-right:-3px}.auth-preferences{top:30px;right:78px;gap:4px}.auth-dialog .modal-close{position:absolute;display:grid;top:32px;right:26px;width:34px;height:34px;min-width:34px;background:var(--soft);border-radius:10px}.auth-tabs{margin-bottom:30px;gap:26px}.auth-tabs .active::after{background:var(--accent)}.auth-heading{text-align:left;margin-bottom:24px}.auth-heading h2{font-size:33px;margin:0;letter-spacing:-1.2px}.auth-heading p{font-size:13px;max-width:340px;line-height:1.65}.auth-panel .field>span:first-child{font-size:12px;font-weight:550}.auth-panel .field input{min-height:50px;border-radius:12px;border:1px solid var(--line);background:var(--bg)}.auth-panel .field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.auth-panel .password-input input{padding-right:45px}.auth-panel .field{margin-bottom:16px}.auth-submit{min-height:52px;border-radius:13px;margin-top:16px}.auth-local-note{font-size:11px;line-height:1.65}.auth-switch{color:var(--accent)}.auth-back{display:none}
@keyframes auth-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}@keyframes auth-out{to{opacity:0;transform:translateY(10px) scale(.99)}}@keyframes object-float{0%,100%{transform:translateY(0) rotate(-18deg) rotateY(-15deg)}50%{transform:translateY(-10px) rotate(-15deg) rotateY(-10deg)}}
@media(min-width:701px){html[data-auth-state=guest] .mobile-dock{display:none}}
@media(max-width:700px){html[data-auth-state=guest] .mobile-dock{display:flex}.topbar{padding-inline:16px}.topbar-actions{gap:6px}.studio-home-link{padding:7px 9px}.studio-home-link span{display:none}.topbar-actions>.modern-select .modern-select-trigger{width:60px;padding:7px;font-size:11px}.mobile-brand{font-size:19px}.mobile-brand .brand-mark{width:27px!important;height:27px!important;transform:scale(.85)!important;margin-right:-3px}.auth-dialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border:0;border-radius:0;margin:0}.auth-dialog::backdrop{background:var(--bg)}.auth-layout{display:block;min-height:100%;height:auto}.auth-panel{min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 25px calc(28px + env(safe-area-inset-bottom));background:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--accent) 10%,transparent),transparent 45%),var(--bg)}.auth-top{margin-bottom:38px;padding-right:130px}.auth-step-brand{font-size:21px}.auth-back{display:none}.auth-preferences{top:calc(23px + env(safe-area-inset-top));right:60px;gap:1px}.auth-preferences .modern-select-trigger{max-width:95px;font-size:11px}.auth-preferences .icon-button{width:31px;min-width:31px}.auth-dialog .modal-close{position:absolute;display:grid;top:calc(26px + env(safe-area-inset-top));right:18px;width:32px;height:32px;min-width:32px}.auth-heading h2{font-size:34px}.auth-heading{margin-bottom:28px}.auth-heading p{max-width:310px}.auth-tabs{margin-bottom:27px}.auth-panel .field input{min-height:54px;background:var(--surface)}.auth-local-note{margin-top:21px}.welcome-screen{display:none}}
@media(max-width:370px){.topbar{padding-inline:12px}.mobile-brand{font-size:17px;gap:4px}.studio-home-link{padding:7px}.topbar-actions{gap:3px}.auth-panel{padding-inline:20px}.auth-top{padding-right:0}.auth-step-brand{font-size:18px}.auth-step-brand .brand-mark{display:none!important}.auth-heading h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.welcome-visual canvas[data-hand-scene]{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.welcome-visual .welcome-tag{z-index:3}.welcome-visual:has(canvas[data-hand-scene][data-scene-ready="true"]) .auth-object,.welcome-visual:has(canvas[data-hand-scene][data-scene-ready="true"]) .auth-object-shadow{opacity:0}

.brand-mark{background:url("brand-qol.svg") center/contain no-repeat!important;box-shadow:none!important}.brand-mark::before,.brand-mark::after{content:none!important}
@view-transition{navigation:auto}::view-transition-old(root){animation:auth-out .18s ease both}::view-transition-new(root){animation:auth-in .3s ease both}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}}

.registration-consent{display:flex;align-items:flex-start;gap:10px;margin:16px 0 8px;font-size:12px;line-height:1.65;color:var(--muted)}.registration-consent input{width:18px;height:18px;flex:0 0 18px;margin:3px 0 0;accent-color:var(--accent)}.registration-consent button{padding:0;color:var(--accent);font:inherit;text-align:left;text-decoration:underline;text-underline-offset:3px}.registration-consent input[aria-invalid=true]{outline:2px solid var(--danger);outline-offset:3px}

[data-theme=dark] .primary-button{background:linear-gradient(115deg,#C69F7A,#D3B18F);color:#142C3E}[data-theme=dark] .primary-button:hover:not(:disabled){background:#DFC2A6}.auth-hand-render{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2;filter:drop-shadow(0 20px 30px #04131c66);animation:render-float 8s ease-in-out infinite}.welcome-visual:has(.auth-hand-render) .auth-object,.welcome-visual:has(.auth-hand-render) .auth-object-shadow{display:none}@keyframes render-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
