@font-face{font-family:Inter;src:url('/assets/inter-latin-wght.woff2') format('woff2');font-weight:100 900;font-display:block}
.fdo-host{--fdo-ease:cubic-bezier(.2,.8,.2,1);--fdo-k:1;position:relative;overflow:hidden;font-family:Inter,Arial,sans-serif;font-synthesis:none;font-feature-settings:'cv05','cv11','ss03';-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;pointer-events:none}
.fdo-host *,.fdo-host *::before,.fdo-host *::after{box-sizing:border-box}
.fdo-stage{position:absolute;left:0;top:0;width:1920px;height:1080px;transform-origin:0 0;transform:scale(var(--fdo-k));display:flex;padding:48px}
.fdo-stage[data-pos$=onder]{align-items:flex-end}
.fdo-stage[data-pos$=boven]{align-items:flex-start}
.fdo-stage[data-pos^=links]{justify-content:flex-start}
.fdo-stage[data-pos^=midden]{justify-content:center}
.fdo-stage[data-pos^=rechts]{justify-content:flex-end}
.fdo-sizer{transform:scale(var(--fdo-size,1))}
.fdo-stage[data-pos=linksonder] .fdo-sizer{transform-origin:0 100%}
.fdo-stage[data-pos=middenonder] .fdo-sizer{transform-origin:50% 100%}
.fdo-stage[data-pos=rechtsonder] .fdo-sizer{transform-origin:100% 100%}
.fdo-stage[data-pos=linksboven] .fdo-sizer{transform-origin:0 0}
.fdo-stage[data-pos=middenboven] .fdo-sizer{transform-origin:50% 0}
.fdo-stage[data-pos=rechtsboven] .fdo-sizer{transform-origin:100% 0}
.fdo-stage[data-pos$=onder]{--fdo-dir:1}
.fdo-stage[data-pos$=boven]{--fdo-dir:-1}

.fdo-card{position:relative;display:flex;align-items:center;gap:22px;padding:12px 44px 12px 14px;border:1px solid rgba(255,255,255,.11);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0) 46%),rgba(11,11,13,.93);box-shadow:0 28px 64px -14px rgba(0,0,0,.62),0 1px 0 rgba(255,255,255,.07) inset;color:#ededf0;will-change:transform,opacity}
.fdo-card[hidden]{display:none!important}
.fdo-mark{position:relative;flex:none;width:160px;height:160px}
.fdo-spot{position:absolute;inset:6px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.11),rgba(255,255,255,.035) 55%,rgba(255,255,255,0))}
.fdo-mark>img,.fdo-mark>video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0}
.fdo-card[data-mode=poster] .fdo-poster,.fdo-card[data-mode=intro] .fdo-intro,.fdo-card[data-mode=loop] .fdo-loop{opacity:1}
.fdo-flare{position:absolute;left:-18px;right:-18px;top:calc(50% + 2px);height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.95) 50%,rgba(255,255,255,0));opacity:0;transform:scaleX(.2)}
.fdo-divider{flex:none;width:1px;height:108px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.2) 50%,rgba(255,255,255,0))}
.fdo-copy{display:grid;justify-items:start;gap:0;min-width:330px}
.fdo-eyebrow{display:flex;align-items:center;gap:12px;margin:0;font-size:13px;font-weight:600;line-height:1.3;letter-spacing:.26em;text-transform:uppercase;color:#c2c2cb;white-space:nowrap}
.fdo-eyebrow i{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.4)}
.fdo-code{position:relative;margin:10px 0 12px -2px;padding:.04em .04em .1em;overflow:hidden;font-size:var(--fdo-code-size,66px);font-weight:700;line-height:1;letter-spacing:-.01em;white-space:nowrap}
.fdo-letters,.fdo-shine{display:block}
.fdo-card.is-placeholder .fdo-letters{opacity:.4}
.fdo-ch{display:inline-block;background:linear-gradient(180deg,#f8f8fa 16%,#9b9ba5 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.fdo-shine{position:absolute;inset:.04em .04em .1em;background:linear-gradient(100deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.95) 50%,rgba(255,255,255,0) 60%) 100% 0/260% 100% no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0}
.fdo-line{display:flex;align-items:center;gap:10px;margin:0;font-size:19px;font-weight:500;line-height:1.35;color:#b9b9c2;white-space:nowrap}
.fdo-line img{width:21px;height:21px;filter:invert(.94);opacity:.9}
.fdo-line i{width:4px;height:4px;margin:0 4px;border-radius:50%;background:rgba(255,255,255,.35)}
.fdo-line strong{font-weight:620;color:#f5f5f7}

.fdo-card[data-phase=in]{animation:fdo-card-in .56s var(--fdo-ease) both}
.fdo-card[data-phase=in] .fdo-divider{animation:fdo-grow .7s var(--fdo-ease) .28s both}
.fdo-card[data-phase=in] .fdo-eyebrow{animation:fdo-rise .45s var(--fdo-ease) .36s both}
.fdo-card[data-phase=in] .fdo-ch{animation:fdo-letter .55s var(--fdo-ease) both;animation-delay:calc(.5s + var(--fdo-i,0) * 45ms)}
.fdo-card[data-phase=in] .fdo-line{animation:fdo-rise .5s var(--fdo-ease) .92s both}
.fdo-card[data-phase=in][data-mode=poster] .fdo-poster{animation:fdo-logo-in .9s var(--fdo-ease) .1s both}
.fdo-card.is-landed .fdo-flare{animation:fdo-flare .9s ease-out both}
.fdo-card.is-shine .fdo-shine{animation:fdo-shine 1.5s ease-in-out both}
.fdo-card[data-phase=out]{animation:fdo-card-out .38s ease-in .12s both}
.fdo-card[data-phase=out] .fdo-copy{animation:fdo-fade .22s ease-in both}
@keyframes fdo-card-in{from{opacity:0;transform:translateY(calc(var(--fdo-dir,1) * 30px)) scale(.965)}to{opacity:1;transform:none}}
@keyframes fdo-card-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(calc(var(--fdo-dir,1) * 22px)) scale(.98)}}
@keyframes fdo-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes fdo-letter{from{opacity:0;transform:translateY(105%)}to{opacity:1;transform:none}}
@keyframes fdo-grow{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:none}}
@keyframes fdo-fade{to{opacity:0}}
@keyframes fdo-logo-in{from{opacity:0;transform:scale(.7) rotate(-14deg)}to{opacity:1;transform:none}}
@keyframes fdo-flare{0%{opacity:0;transform:scaleX(.2)}30%{opacity:.9}100%{opacity:0;transform:scaleX(1.15)}}
@keyframes fdo-shine{0%{opacity:1;background-position:100% 0}88%{opacity:1}100%{opacity:0;background-position:0 0}}
@media(prefers-reduced-motion:reduce){.fdo-card,.fdo-card *{animation:none!important}}

html.fdo-page,html.fdo-page body{margin:0;width:100%;height:100%;overflow:hidden;background:transparent}
html.fdo-page .fdo-host{position:fixed;inset:0}

.maker{padding-block:56px 96px}
.maker-header .header-inner{justify-content:space-between}
.maker-intro{max-width:720px}
.maker-intro h1{font-size:clamp(40px,4.4vw,60px);font-weight:680;line-height:1.04;letter-spacing:-.05em;margin:16px 0 18px}
.maker-intro h1 span{background:linear-gradient(180deg,#f5f5f7 10%,#8e8e98 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.maker-intro>p:last-child{font-size:15px;line-height:1.75;max-width:600px}
.maker-grid{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:28px;align-items:start;margin-top:44px}
.maker-form{display:grid;gap:22px;padding:26px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01))}
.maker-field{display:grid;gap:10px;margin:0;padding:0;border:0;min-width:0}
.maker-field>label,.maker-field>legend{padding:0;margin-bottom:10px;font-size:13px;font-weight:600;color:var(--text)}
.maker-field>label{margin-bottom:0}
.maker-code{width:100%;min-width:0;height:52px;padding:0 16px;border:1px solid var(--border-strong);border-radius:12px;background:var(--bg);color:var(--white);font-size:20px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}
.maker-code::placeholder{color:#55555e}
.maker-code:focus{outline:none;border-color:var(--text)}
.maker-hint{font-size:12px;line-height:1.6;color:var(--subtle)}
.maker-hint.is-warn{color:#e6c07a}
.maker-positions{position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:0;width:100%;aspect-ratio:16 / 7;padding:8px;border:1px solid var(--border-strong);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0)),var(--bg)}
.maker-positions label{position:relative;display:flex;padding:4px;cursor:pointer}
.maker-positions label:nth-child(-n+3){align-items:flex-start}
.maker-positions label:nth-child(n+4){align-items:flex-end}
.maker-positions label:nth-child(3n+1){justify-content:flex-start}
.maker-positions label:nth-child(3n+2){justify-content:center}
.maker-positions label:nth-child(3n){justify-content:flex-end}
.maker-positions input{position:absolute;opacity:0;pointer-events:none}
.maker-positions span{display:block;width:44px;height:16px;border-radius:5px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);transition:background-color .12s,border-color .12s}
.maker-positions label:hover span{border-color:rgba(255,255,255,.4)}
.maker-positions input:checked+span{background:var(--white);border-color:var(--white)}
.maker-positions input:focus-visible+span{outline:2px solid var(--white);outline-offset:3px}
.maker-segment{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border:1px solid var(--border-strong);border-radius:12px;background:var(--bg)}
.maker-segment label{position:relative;cursor:pointer}
.maker-segment input{position:absolute;opacity:0;pointer-events:none}
.maker-segment span{display:flex;align-items:center;justify-content:center;height:36px;padding:0 6px;border-radius:8px;font-size:12.5px;font-weight:550;color:var(--muted);white-space:nowrap;transition:background-color .12s,color .12s}
.maker-segment label:hover span{color:var(--white)}
.maker-segment input:checked+span{background:var(--white);color:var(--ink)}
.maker-segment input:focus-visible+span{outline:2px solid var(--white);outline-offset:2px}
.maker-url-row{display:flex;gap:8px}
.maker-url{flex:1;min-width:0;height:46px;padding:0 12px;border:1px solid var(--border-strong);border-radius:11px;background:var(--bg);color:var(--muted);font-size:12.5px;text-overflow:ellipsis}
.maker-url:focus{outline:none;border-color:var(--text);color:var(--text)}
.maker-url-row .button{flex:none;min-width:128px}
.maker-copy-status:empty{display:none}
.maker-copy-status{color:var(--ok-text)}
.maker-preview{display:grid;gap:12px;min-width:0}
.maker-screen{position:relative;aspect-ratio:16 / 9;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#000 url('/assets/los-santos-street.webp') 50% 50%/cover no-repeat}
.maker-screen .fdo-host{position:absolute;inset:0}
.maker-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12.5px;color:var(--subtle)}
.maker-preview-bar .text-link{padding:6px 0}
.maker-credit{font-size:11px;color:var(--subtle)}
.maker-steps{margin-top:72px}
.maker-steps h2{font-size:28px;letter-spacing:-.04em}
.maker-tip{margin-top:16px;font-size:12.5px;color:var(--subtle)}
@media(max-width:1000px){.maker-grid{grid-template-columns:1fr}.maker-preview{order:-1}}
@media(max-width:650px){.maker{padding-block:36px 72px}.maker-form{padding:20px}.maker-back span{display:none}}
@media(max-width:400px){.maker-segment span{font-size:11.5px;padding:0 2px}.maker-url-row{flex-direction:column}.maker-url-row .maker-url{flex:none}.maker-url-row .button{width:100%}}
