/* Elo Remote / Dar Play. Shared by landing, authentication and public pages. */
:root{--bg:#0c0c12;--panel:#1a1923;--ink:#faf7f0;--muted:#b7b1c6;--line:#36323f;--blue:#8f8cff;--green:#ff785e;--coral:#ff785e;--electric:#5755f2;--lilac:#c5b3ff;color-scheme:dark}
body{background:var(--bg);color:var(--ink)}
.site-header{min-height:100px;border-bottom:1px solid #24212e;padding-block:24px}
.brand{gap:10px}.brand img{width:40px;height:40px}.wordmark{font-size:36px;line-height:1;font-weight:850;letter-spacing:-2px}.wordmark small{font-size:12px;font-weight:400;letter-spacing:0;margin-left:9px}
.site-header nav>a:first-child,.back-link{color:var(--muted)}
.button{border-radius:9px;box-shadow:none}.primary{background:var(--coral);color:#24141a}.primary:hover{background:#ff947e}.outline{border-color:#62586e}.outline:hover{background:#292333}.text-link{color:var(--ink)}.small{font-size:13px}
.eyebrow{color:var(--lilac);letter-spacing:1px;font-size:11px}.status-dot{background:var(--coral)}
.lead,.intro,.fineprint,.safe-note,.auth-switch,.account-email,.field-hint,.security-row p,.empty-devices p{color:var(--muted)}
.site-footer{color:#b3a5c2}.site-footer a:hover{color:var(--coral)}
.play-main{max-width:1320px;margin:auto}.play-hero{position:relative;isolation:isolate;text-align:center;padding:55px 30px 48px;background:radial-gradient(ellipse at 90% 95%,#5755f230,transparent 45%),radial-gradient(ellipse at 5% 85%,#ff785e1f,transparent 40%)}
.play-hero .eyebrow{justify-content:center;letter-spacing:.3px;text-transform:none}
.play-hero h1{font-size:clamp(52px,7vw,88px);line-height:1.05;font-weight:800;letter-spacing:-4.5px;margin:25px 0 30px}
.play-word{display:inline-flex;align-items:center;gap:16px;background:var(--coral);color:#24141a;padding:0 18px 9px;border-radius:17px;transform:rotate(-5deg);animation:play-word-in .9s cubic-bezier(.2,.8,.2,1) both}.play-word>span{font-size:.65em;transition:transform .3s}.play-hero:hover .play-word>span{transform:translate(3px,-3px)}
.play-lead{font-size:18px;line-height:1.7;color:var(--muted);margin:0}.play-hero .hero-actions{justify-content:center;margin:29px 0 20px}.play-platforms{font-size:10px;letter-spacing:1.5px;color:#b7aac9;margin:25px 0 0}.play-platforms>span{padding:0 12px;color:var(--coral)}
.play-spark,.play-plus{position:absolute;z-index:-1;user-select:none;pointer-events:none}.play-spark{font-size:110px;left:10%;top:100px;color:var(--lilac);animation:play-spin 18s linear infinite}.play-plus{right:12%;top:65%;font-size:70px;line-height:1;color:var(--coral);transform:rotate(15deg)}
.play-demo{padding:25px 54px 45px;background:#11101a}.demo-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px}.demo-heading h2{font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0}.motion-toggle{border:0;background:none;color:var(--muted);font-size:11px;padding:8px}
.demo-devices{display:grid;grid-template-columns:1.12fr 90px 1fr;align-items:center;max-width:1020px;margin:auto}.demo-device{border:1px solid #54465f;border-radius:12px;overflow:hidden;background:#231d2e;min-width:0;transition:transform .7s cubic-bezier(.2,.7,.2,1),border-color .4s}.origin-device{transform:rotate(-3deg)}.destination-device{transform:rotate(3deg)}
.device-caption{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px 16px;font-size:12px;color:#eee5ff}.demo-presence{font-size:10px;color:#baebbd}.device-note{padding:12px 16px;margin:0;font-size:11px;color:#c5b9d8;background:#231d2e}
.racing-scene{position:relative;min-height:250px;overflow:hidden;background:#8d8bfa;isolation:isolate}.race-sun{width:105px;height:105px;background:#ff9b69;border-radius:50%;position:absolute;top:20px;right:36px}.race-mountain{position:absolute;width:240px;height:180px;background:#5e49a0;clip-path:polygon(50% 0,100% 100%,0 100%);bottom:25px;left:-40px}.race-mountain.second{left:auto;right:-60px;background:#6658bf;width:260px}.race-road{position:absolute;background:#303cb2;width:100%;height:160px;bottom:-20px;clip-path:polygon(49% 0,58% 0,100% 100%,0 100%)}.race-lane{position:absolute;bottom:-40px;left:53%;width:5px;height:140px;background:repeating-linear-gradient(to bottom,#e8d7ff 0px,#e8d7ff 13px,transparent 13px,transparent 25px);transform:rotate(-5deg);animation:play-road .8s linear infinite}.race-car{position:absolute;bottom:18px;left:44%;width:60px;height:30px;background:#f3b7fb;border:3px solid #342459;border-radius:14px 14px 4px 4px;box-shadow:inset 0 -6px #9653b7,8px 5px 0 -4px #20142f,-8px 5px 0 -4px #20142f;animation:play-car 1.2s ease-in-out infinite alternate}.race-title{position:absolute;left:20px;top:24px;font:900 40px/.9 'Arial Black',Arial,sans-serif;letter-spacing:-2px;color:#fff0e1;transform:rotate(-7deg)}
.demo-bridge{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--coral)}.demo-bridge b{font-size:23px;letter-spacing:-1.5px}.demo-bridge>span{width:2px;height:32px;background:var(--coral);opacity:.6}
.destination-content{min-height:250px;padding:27px 24px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px;background:#29203d;transition:background .5s}.controller-symbol{font-size:26px;line-height:1;background:var(--lilac);color:#372051;border-radius:20px 20px 12px 12px;padding:9px 16px;transform:rotate(12deg)}.destination-content h3{font-size:27px;line-height:1.1;letter-spacing:-1px;margin:0}.demo-connected .demo-device{transform:rotate(0);border-color:var(--coral)}.demo-connected .destination-content{background:#49316f}
.play-band{display:flex;flex-wrap:wrap;justify-content:space-around;gap:20px;background:var(--electric);color:#fff4f0;padding:32px;font-size:clamp(21px,2.7vw,32px);font-weight:650;letter-spacing:-.8px}.play-band>span:last-child{color:#ffd4b7}
.play-explain{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:48px 54px}.play-explain h2{font-size:35px;line-height:1.2;letter-spacing:-1.2px;margin:0}.play-explain h2>span{color:var(--lilac)}.play-explain p{font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 16px}.play-explain .text-link{font-size:13px}
.play-features{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:0 54px;padding:30px 0 40px;border-top:1px solid var(--line)}.play-features article>span{font-size:10px;letter-spacing:1px;color:var(--lilac)}.play-features h2{font-size:18px;font-weight:600;margin:12px 0 8px}.play-features p{font-size:13px;color:var(--muted);margin:0}
.auth-layout{background:var(--bg);border-radius:16px}.auth-story{background:#171320;border-color:var(--line)}.auth-story h1{font-size:54px;font-weight:750;line-height:1.04;letter-spacing:-2px}.auth-story h1 em{color:var(--coral)}.auth-story>p:not(.eyebrow),.story-note{color:var(--muted)}.play-lettermark{display:flex;align-items:center;gap:8px;margin:38px 0}.play-lettermark b{font:800 72px/.9 'Arial Black',sans-serif;background:var(--electric);color:#f6e9ff;padding:6px 16px 15px;border-radius:16px;transform:rotate(-12deg)}.play-lettermark b+b{background:var(--coral);color:#2b1a27;transform:rotate(15deg)}.play-lettermark i{font-size:60px;font-style:normal;line-height:1;color:var(--lilac);margin-left:10px}
.auth-panel{background:var(--panel)}.auth-content .eyebrow{color:var(--lilac);font-size:10px}.auth-content h2{font-weight:700}.field{color:#e1d8eb}.field input{background:#100e18;border-color:#625171;color:var(--ink)}.field input:focus{border-color:var(--lilac);box-shadow:0 0 0 3px #c5b3ff1f}.field input::placeholder{color:#a99ab9}.password-toggle{color:var(--muted)}.underlined,.secondary-action,.form-options{color:var(--lilac)}.safe-note{line-height:1.7}.form-message{color:#ffd4cc;background:#502735;border-color:#956173}.form-message.success{color:#cdebd4;background:#20382c;border-color:#52785e}.form-message.neutral{color:#e0d4ff;background:#302344;border-color:#745b97}.success-mark{color:var(--lilac);border-color:#8262ac}.notice-icon{color:var(--lilac)}
.account-sidebar{background:#171320}.profile-avatar{color:var(--coral);background:#382333;border-color:#6d4260}.account-menu>span{background:#30243e;border-color:#655078;color:#e0cfff}.account-menu a{color:var(--muted)}.plan-card{background:#211b30;border-color:#655078}.plan-card p{color:var(--muted)}.badge{background:#302642;border-color:#6b5087;color:#e6d5ff}.badge .status-dot{background:#b6e9c1}.empty-devices{border-color:#655078}.empty-devices .device-icon{color:var(--lilac)}
.document-content{color:#d0c8da}.document-content code{color:#e2d2f7}.document-content a{color:#ff9c85}.document-date{color:var(--muted)}.offer-notice{background:#261c30;border-color:#78508c}.offer-notice strong{color:var(--lilac)}.pricing-card.featured{border-color:var(--coral)}.skip-link{color:#24141a}.business-details{background:var(--panel)}
.motion-paused *,.motion-paused *:before{animation-play-state:paused!important}
@keyframes play-word-in{from{transform:rotate(-12deg) translateY(15px);opacity:.4}to{transform:rotate(-5deg);opacity:1}}@keyframes play-spin{to{transform:rotate(360deg)}}@keyframes play-road{to{background-position:0 25px}}@keyframes play-car{to{transform:translateY(-3px) rotate(2deg)}}
@media(max-width:1080px){.demo-devices{grid-template-columns:1.12fr 65px 1fr}.play-spark{left:6%;font-size:85px}.play-plus{right:7%}.play-demo,.play-explain{padding-inline:32px}.play-features{margin-inline:32px}.destination-content{padding:22px 16px}.destination-content h3{font-size:25px}.device-note{font-size:10px}}
@media(max-width:760px){.site-header{min-height:85px}.wordmark{font-size:30px}.wordmark small{font-size:11px}.play-hero{padding:35px 22px 36px}.play-hero h1{font-size:clamp(45px,9vw,68px);letter-spacing:-2.8px}.play-word{gap:7px;padding:0 10px 6px;border-radius:12px}.play-lead{font-size:16px}.play-platforms{font-size:9px;letter-spacing:.7px}.play-platforms>span{padding:0 5px}.play-spark{left:3%;top:62px;font-size:38px}.play-plus{right:4%;font-size:36px}.play-demo{padding:20px 24px 30px}.demo-devices{grid-template-columns:1fr;gap:12px}.demo-device{transform:none}.demo-bridge{flex-direction:row;justify-content:center}.demo-bridge>span{width:35px;height:2px}.racing-scene{min-height:220px}.destination-content{min-height:205px;padding:22px}.destination-content h3{font-size:26px}.device-note{font-size:11px}.play-band{font-size:20px;padding:24px;gap:15px}.play-explain{grid-template-columns:1fr;padding:32px 24px;gap:22px}.play-explain h2{font-size:29px}.play-features{grid-template-columns:1fr;gap:27px;margin:0 24px}.auth-layout{border-radius:13px}.auth-panel{padding:32px 25px}.site-footer{font-size:12px}.site-header nav{gap:16px}}
/* The left display is a local endless racer; the right display is its controller. */
.racing-scene{height:300px;min-height:300px;background:#8d8bfa}
#race-canvas{display:block;width:100%;height:300px}
.race-hud{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none;color:#fff6ec;text-shadow:0 1px 3px #241a3b;font-size:10px;letter-spacing:.7px}
.race-hud b{font-size:12px;font-variant-numeric:tabular-nums}.race-hud>span{background:#241a3bc9;padding:5px 8px;border-radius:5px}
.race-start-hint{position:absolute;bottom:62px;left:16px;right:16px;text-align:center;color:#fff2e8;background:#281a44e8;padding:9px 12px;border-radius:7px;font-size:11px;pointer-events:none}
.destination-content.game-controls{min-height:300px;padding:22px 24px;gap:15px;align-items:center}
.game-controller-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%}.game-controller-heading h3{font-size:23px}.game-controller-heading .controller-symbol{font-size:17px;padding:8px 12px;border-radius:13px 13px 8px 8px;flex-shrink:0}
.race-dpad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);gap:5px;user-select:none;-webkit-user-select:none}
.dpad-key,.dpad-play{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #9d86be;background:#44305f;color:#f7edff;border-radius:8px;font-size:23px;line-height:1;font-weight:650;touch-action:none;transition:background .12s,transform .12s;-webkit-touch-callout:none}
.dpad-key:hover{background:#60457f}.dpad-key[aria-pressed=true]{background:var(--lilac);color:#2b1b42;border-color:var(--lilac);transform:scale(.92)}
.dpad-up{grid-area:1/2}.dpad-left{grid-area:2/1}.dpad-play{grid-area:2/2;background:var(--coral);color:#24141a;border-color:var(--coral);font-size:15px}.dpad-play:hover{background:#ff947e}.dpad-right{grid-area:2/3}.dpad-down{grid-area:3/2}
#race-instructions{font-size:11px;line-height:1.8;color:#e0d1f1;text-align:center;margin:0}#race-feedback{min-height:42px;line-height:1.6}
@media(max-width:1080px){.destination-content.game-controls{padding:20px 16px}.game-controller-heading{gap:12px}.game-controller-heading h3{font-size:21px}.game-controller-heading .controller-symbol{font-size:14px;padding:7px 10px}}
@media(max-width:760px){.destination-content.game-controls{display:grid;grid-template-columns:minmax(0,1fr) 142px;padding:18px;min-height:190px;gap:12px}.game-controller-heading{grid-column:1;grid-row:1;display:block}.game-controller-heading h3{font-size:21px}.game-controller-heading .controller-symbol{display:none}.race-dpad{grid-column:2;grid-row:1/3;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px)}.dpad-key,.dpad-play{width:44px;height:44px}#race-instructions{grid-column:1;grid-row:2;text-align:left;font-size:10px;line-height:1.7}.racing-scene,#race-canvas{height:250px;min-height:250px}.race-hud{font-size:9px;letter-spacing:.4px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
