/* SCENE30: one continuous, responsive space. No rectangular background picture. */
.oc-login-page{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100dvh;overflow:hidden;background:#040910;color:#e4edf9;padding:0 max(32px,calc((100vw - 1440px)/2));font-family:inherit}
.oc-login-page::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 31% 64%,#17364b70,transparent 48%),radial-gradient(ellipse at 67% 13%,#14273838,transparent 42%)}
.oc-login-page::after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;opacity:.5;background:radial-gradient(circle at 12% 48%,#a8d9f1 0 1px,transparent 1.4px),radial-gradient(circle at 4% 72%,#8cacd0 0 .7px,transparent 1px),radial-gradient(circle at 54% 24%,#8cacd0 0 .8px,transparent 1px),radial-gradient(circle at 48% 83%,#a8d9f1 0 1px,transparent 1.4px),radial-gradient(circle at 85% 83%,#8cacd0 0 .7px,transparent 1px)}
.oc-login-top,.oc-login-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:2}
.oc-login-top{min-height:120px;padding:28px 0}
.oc-login-brand{display:flex;align-items:center;gap:16px}
.oc-login-brand>.oculus-emblem{width:47px;height:47px;flex:0 0 47px}
.oc-login-brand>span:last-child{font-size:28px;letter-spacing:.22em;line-height:1.2;font-weight:500}
.oc-login-brand small{display:block;margin-top:7px;font-size:9px;letter-spacing:.45em;color:#88a5bc}
.oc-login-department,.oc-login-eyebrow,.oc-login-caption{text-transform:uppercase;font-size:10px;line-height:1.6;letter-spacing:.18em;color:#8ea9bf;font-weight:600}
.oc-login-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(350px,1fr);align-items:center;gap:64px;flex:1}
.oc-login-hero{position:relative;min-width:0;min-height:710px;padding:25px 0 450px;isolation:isolate}
.oc-login-hero h1{position:relative;z-index:1;font-size:clamp(44px,4.4vw,68px);font-weight:600;line-height:1.1;letter-spacing:-.055em;margin:22px 0 22px}
.oc-login-hero h1 em{font-style:normal;color:#b3d6f0}
.oc-login-hero>p:not(.oc-login-scene-caption){position:relative;z-index:1;color:#98adc1;font-size:16px;line-height:1.75;margin:0;max-width:390px}
.oc-login-art{position:absolute;left:-54px;bottom:26px;width:calc(100% + 70px);aspect-ratio:1000/620;pointer-events:none;z-index:0}
.oc-login-world{position:absolute;inset:0;transform-origin:50% 56.5%}
.oc-login-world::before{content:"";position:absolute;inset:-20% -12%;background:radial-gradient(ellipse at 50% 59%,#247aa430,transparent 49%);pointer-events:none}
.oc-login-orbits{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.oc-login-sun,.oc-login-planet{position:absolute;aspect-ratio:1;transform:translate(-50%,-50%)}
.oc-login-planet-image{display:block;width:100%;height:100%;object-fit:contain;mask-image:radial-gradient(circle closest-side,#000 87%,#000d 91%,transparent 100%);-webkit-mask-image:radial-gradient(circle closest-side,#000 87%,#000d 91%,transparent 100%)}
.oc-login-sun{left:50%;top:56.5%;width:23%;filter:drop-shadow(0 0 26px #6ecfff26)}
.oc-login-sun>.oc-login-planet-image{filter:brightness(.65) saturate(.8)}
.oc-login-core{position:absolute;width:58%;height:58%;left:21%;top:21%;opacity:.95;filter:drop-shadow(0 0 13px #b4dbff26)}
.oc-login-planet{width:11%;filter:drop-shadow(0 0 12px #619bbb18)}
.oc-planet-sr{left:19.5%;top:48.4%}.oc-planet-vsr{left:50%;top:20.2%;width:9.5%}.oc-planet-sa{left:81%;top:48.4%}.oc-planet-vsa{left:72%;top:79.2%;width:12.5%}.oc-planet-rpa{left:29%;top:79.2%;width:12.5%}
.oc-login-planet>span{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);width:max-content;text-align:center;padding-bottom:8px;line-height:1.3}
.oc-login-planet b{display:block;color:#c4dcee;font-size:12px;letter-spacing:.12em;font-weight:500}
.oc-login-planet small{display:block;color:#728fa5;font-size:10px;margin-top:3px}
.oc-planet-vsa>span,.oc-planet-rpa>span{bottom:auto;top:100%;padding-top:5px;padding-bottom:0}
.oc-login-hero>.oc-login-scene-caption{position:absolute;bottom:0;left:0;margin:0;color:#a0bbce;font-size:11px;letter-spacing:.03em}
.oc-login-scene-caption span{color:#617d93;margin-left:6px}
.oc-login-pane{position:relative;z-index:2;width:100%;max-width:440px;justify-self:end;padding:0}
.oc-login-form{position:relative;margin:0;padding:38px;border:1px solid #233646;border-radius:22px;background:linear-gradient(150deg,#0c1723ed,#08131fef);box-shadow:0 24px 80px #0003,inset 0 1px #d4e9ff06}
.oc-login-form h2{margin:20px 0 12px;color:#e8eff9;font-size:30px;line-height:1.2;letter-spacing:-.045em;font-weight:600}
.oc-login-form>p{font-size:13px;color:#93adc3;line-height:1.6;margin:0 0 32px}
.oc-login-form>label{display:block;margin:21px 0 9px;font-size:12px;color:#b2c3d5;font-weight:500}
.oc-login-field{display:flex;align-items:center;gap:12px;min-height:54px;border:1px solid #29394b;border-radius:11px;background:#060f19;padding:0 14px;transition:border-color 220ms,box-shadow 220ms}
.oc-login-field>.ui-icon{width:18px;height:18px;color:#85a7c2;flex:none}
.oc-login-field:focus-within{border-color:#91b9d9;box-shadow:0 0 0 3px #8abce014}
#login-form.oc-login-form .oc-login-field input{min-width:0;width:100%;border:0;background:transparent;border-radius:0;box-shadow:none;padding:12px 0;color:#e0e9f4;outline:0;font-size:16px}
.oc-login-field input::placeholder{color:#698097;opacity:1}
.oc-login-field button{display:grid;place-items:center;flex:none;width:28px;height:40px;padding:0;border:0;background:transparent;color:#9fbbd2;cursor:pointer}
.oc-login-field button svg{width:18px;height:18px}
.oc-login-submit{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:53px;margin-top:27px;border:1px solid #c1def4;border-radius:10px;padding:13px 17px;background:#bbdcf5;color:#0b2032;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer;transition:background 220ms,box-shadow 220ms,transform 220ms}
.oc-login-submit:hover:not(:disabled){background:#d3e9fa;box-shadow:0 3px 26px #9dc5e31f}.oc-login-submit:active:not(:disabled){transform:translateY(1px)}
.oc-login-submit:disabled{cursor:wait;opacity:.75}.oc-login-submit.is-granted{background:#bce0d5;border-color:#c5e7dc}
.oc-login-form #login-status:empty{display:none}.oc-login-form #login-status{font-size:12px;line-height:1.6;margin:12px 0 0;overflow-wrap:anywhere}
.oc-login-messenger{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;color:#a5c9e3;border:1px solid #293b4e;border-radius:10px;padding:12px;margin-top:14px;font-size:12px;font-weight:500;transition:background 220ms,border-color 220ms}
.oc-login-messenger:hover{background:#18304770;border-color:#729dbb;color:#d3e8f7}
.oc-login-documents{display:grid;gap:14px;margin-top:25px;padding-top:24px;border-top:1px solid #1d2c3a;font-size:11px;line-height:1.6}
.oc-login-documents a{color:#8da5ba;text-decoration:none}.oc-login-documents a:hover{color:#d0e5f5}
.oc-login-page :is(a,button):focus-visible{outline:2px solid #badbf5;outline-offset:4px}
.oc-login-bottom{min-height:76px;padding:22px 0;color:#6c869d;font-size:10px;letter-spacing:.04em}
/* Messenger replaces the top search. Its unread badge continues to use the same ID. */
.command-topbar{gap:24px}.oc-top-messenger{display:flex;align-items:center;gap:12px;flex:0 1 310px;min-width:190px;max-width:360px;min-height:46px;padding:8px 15px;border:1px solid #2d4359;border-radius:11px;background:#122132;text-decoration:none;color:#c3dcef;font-size:13px;font-weight:600;transition:background 220ms,border-color 220ms}
.oc-top-messenger:hover{background:#1b3046;border-color:#6b99bd;color:#e0f1ff}.oc-top-messenger .oc-message-icon{width:25px;height:25px;flex:none;color:#8ebee2}
.oc-top-messenger small{display:block;font-size:9px;font-weight:400;margin-top:3px;color:#8ea7c0}
.oc-top-messenger .oc-message-arrow{margin-left:auto;color:#a4c8e6;font-size:18px}.oc-top-messenger b{margin-left:auto;border-radius:20px;padding:3px 7px;background:#bbd9f0;color:#112638;font-size:11px;line-height:1.2}
.oc-top-messenger b:not([hidden])+.oc-message-arrow{margin-left:2px}
.top-user-summary{flex:0 0 auto;gap:9px}.top-user-copy{min-width:0}
.command-topbar .top-user-award{flex:0 0 44px;width:44px;max-width:44px;height:44px;position:relative;padding:5px;margin-left:4px;display:grid;place-items:center;overflow:visible;border:1px solid #354454;border-radius:12px;background:#13212e;color:#7790a6;cursor:pointer;transition:background 220ms,border-color 220ms}
.command-topbar .top-user-award.has-award{border-color:#725f3e;background:linear-gradient(150deg,#302d2470,#152230)}
.command-topbar .top-user-award:hover{border-color:#9ab9d0;background:#24374a}.top-user-award>svg{width:27px;height:32px}.command-topbar .top-user-award-new{top:-5px;right:-4px;font-size:6px;letter-spacing:.02em}
.oc-top-messenger:focus-visible,.top-user-award:focus-visible{outline:2px solid #b8d7ee;outline-offset:4px}
@media(min-width:1680px){.oc-login-hero{min-height:750px}.oc-login-art{width:calc(100% + 110px);left:-75px;bottom:25px}.oc-login-main{gap:90px}}
@media(max-width:1250px){.oc-login-main{gap:32px;grid-template-columns:minmax(0,1.4fr) minmax(330px,1fr)}.oc-login-form{padding:30px}.oc-login-hero{min-height:650px}.oc-login-art{left:-26px;width:calc(100% + 40px);bottom:48px}.oc-login-hero h1{font-size:52px}.oc-login-top{min-height:106px}.command-topbar{flex-wrap:wrap;gap:14px}.oc-top-messenger{flex:0 1 240px}.command-topbar .topbar-actions{flex:1;justify-content:flex-end;gap:12px}}
@media(min-width:761px) and (max-height:820px){.oc-login-top{min-height:90px;padding:20px 0}.oc-login-main{min-height:605px}.oc-login-hero{min-height:610px;padding-top:10px}.oc-login-hero h1{font-size:52px;margin:16px 0}.oc-login-hero>p:not(.oc-login-scene-caption){font-size:14px}.oc-login-art{width:calc(100% + 30px);left:-25px;max-width:790px;bottom:20px}.oc-login-pane{max-width:430px}.oc-login-form{padding:27px 32px}.oc-login-form>p{margin-bottom:24px}.oc-login-form h2{margin-top:14px}.oc-login-bottom{min-height:56px;padding:16px 0}.oc-login-hero>.oc-login-scene-caption{font-size:10px}}
@media(max-width:800px){.command-topbar .oc-top-messenger{flex:1 1 100%;max-width:none;min-height:48px}.command-topbar .topbar-actions{flex:1 1 100%;flex-wrap:wrap;justify-content:space-between}.top-user-summary{margin-left:auto}.command-topbar .top-user-award{flex-basis:40px;width:40px;height:40px}.command-topbar .top-work-controls{flex:1 1 190px}.command-topbar .oculus-auto-refresh{flex-basis:100px}}
@media(max-width:760px){.oc-login-page{padding:0 24px}.oc-login-top{min-height:100px;padding:25px 0}.oc-login-department{display:none}.oc-login-brand>span:last-child{font-size:24px}.oc-login-brand>.oculus-emblem{width:42px;height:42px;flex-basis:42px}.oc-login-main{display:flex;flex-direction:column;align-items:stretch;gap:28px;min-height:0}.oc-login-hero{min-height:0;padding:22px 0 0}.oc-login-eyebrow{font-size:9px}.oc-login-hero h1{font-size:clamp(40px,9vw,60px);margin:16px 0}.oc-login-hero>p:not(.oc-login-scene-caption){font-size:13px;line-height:1.7}.oc-login-art{position:relative;left:-20px;bottom:auto;width:calc(100% + 40px);max-width:none;margin:20px 0 30px}.oc-login-planet b{font-size:10px}.oc-login-planet small{font-size:8px}.oc-login-planet>span{padding-bottom:4px}.oc-login-hero>.oc-login-scene-caption{position:static;text-align:center;font-size:9px;line-height:1.7}.oc-login-scene-caption span{display:block;margin:0}.oc-login-pane{align-self:center;max-width:460px}.oc-login-form{padding:29px 26px;border-radius:19px}.oc-login-form h2{font-size:28px}.oc-login-bottom{align-items:flex-start;flex-direction:column;gap:8px;margin-top:16px;font-size:9px;padding:25px 0}.oc-login-bottom>span:first-child{display:none}}
@media(max-width:360px){.oc-login-page{padding:0 18px}.oc-login-form{padding:25px 20px}.oc-login-brand>span:last-child{font-size:22px}.oc-login-scene-caption span{font-size:8px}}
@media(prefers-reduced-motion:no-preference){.oc-login-world{animation:oc-login-drift 18s ease-in-out infinite alternate}.oc-login-form{animation:oc-login-appear 700ms cubic-bezier(.2,.7,.2,1) both}.oc-login-hero h1{animation:oc-login-appear 850ms cubic-bezier(.2,.7,.2,1) both}@keyframes oc-login-drift{from{transform:translateY(0)}to{transform:translateY(-5px)}}@keyframes oc-login-appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){.oc-login-page *{animation:none!important;transition:none!important}}
@media(max-width:760px){.oc-login-world{animation:none}}
