/* Connection is required before the proposal becomes available. */
[hidden]{display:none!important}
html{max-width:100%;overflow-x:clip}
body.gate-locked{height:100svh;height:100dvh;overflow:hidden;overscroll-behavior:none}
.gate-locked .topbar nav,.gate-locked .nav-cta,.gate-locked .scroll-progress{display:none}
.gate-locked .topbar{height:80px;border-bottom:0;background:transparent;pointer-events:none}
.gate-locked .topbar .brand-logo{pointer-events:auto}
.gate-unlocked .topbar{position:sticky;top:0;height:78px;background:#09090ded;backdrop-filter:blur(14px)}
.intro{height:100svh;height:100dvh;min-height:0;max-width:100%;padding:94px 5% 20px;display:flex;flex-direction:column;gap:16px;background:#08080b;overflow:hidden}
.intro-top{position:relative;inset:auto;flex-shrink:0;width:100%;gap:15px;z-index:2}
.intro-top .eyebrow,.intro-top .edition{font-size:10px;letter-spacing:.13em}
.intro-heading{position:relative;padding:0;width:100%;flex-shrink:0;z-index:3;pointer-events:none}
.intro-heading .eyebrow{display:none}
.intro-heading h1{font-size:clamp(37px,4.3vw,66px);line-height:1.06;letter-spacing:-.055em;margin:0 0 12px;max-width:none}
.intro-heading h1 em{color:#c9a9ff}
.intro-heading p:not(.eyebrow){font-size:15px;line-height:1.55;max-width:560px;color:#b6aec4}
.charge-scene{flex:1;min-height:0;width:100%;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden;isolation:isolate}
.charge-stage{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:2.1;max-width:100%;flex-shrink:0;isolation:isolate;overflow:hidden;touch-action:none}
.car-art{position:absolute;width:106%;height:auto;max-width:none;right:-10%;top:-16%;object-fit:contain;pointer-events:none;user-select:none;z-index:1;transition:filter .4s}
.scene-shade{position:absolute;inset:0;background:linear-gradient(0deg,#08080b 0%,transparent 18%,transparent 80%,#08080b 99%);z-index:2;pointer-events:none}
.station-art{position:absolute;left:0;top:1%;height:94%;width:auto;max-width:none;object-fit:contain;z-index:3;pointer-events:none;user-select:none;filter:drop-shadow(15px 15px 25px #000b)}
.station-prompt{position:absolute;display:flex;align-items:center;gap:9px;z-index:7;padding:9px 12px;background:#1a1025ee;border:1px solid #9569bf;border-radius:9px;pointer-events:none;color:#ddc7f7;box-shadow:0 0 22px #9f65ed22;transition:opacity .2s;max-width:210px}
.station-prompt>i,.port b i{font-style:normal;display:grid;place-items:center;flex-shrink:0;width:23px;height:23px;background:#cba5fa;color:#1a0b2b;border-radius:50%;font-size:10px;letter-spacing:0}
.station-prompt strong{display:block;font-size:11px;letter-spacing:.09em;font-weight:600;line-height:1.4}
.station-prompt span{font-size:11px;color:#ad98c2;display:block;margin-top:2px;line-height:1.4}
.station-prompt>b{font-size:21px;line-height:1;font-weight:400;color:#cfa5ff;margin-left:4px}
.station-floor-label{position:absolute;bottom:0;left:4%;font-size:8px;letter-spacing:.19em;color:#94839f;z-index:7}
.charging-cable{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:4;pointer-events:none}
.charging-cable path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.cable-shadow{stroke:#0009;stroke-width:16;transform:translate(3px,4px)}
.cable-body{stroke:#17151c;stroke-width:12}
.cable-highlight{stroke:#665b72;stroke-width:3;transform:translate(-1px,-2px)}
.cable-energy{stroke:#cfa5ff;stroke-width:2;opacity:0;stroke-dasharray:8 29;transition:opacity .3s}
.plug{position:absolute;left:0;top:0;width:16%;height:auto;aspect-ratio:4/3;padding:0;border:0;background:none;z-index:8;touch-action:none;cursor:grab;transform-origin:center;transition:filter .2s;filter:brightness(1.2) drop-shadow(0 0 15px #bc83ff66);user-select:none;-webkit-user-select:none}
.plug img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.plug:hover,.plug:focus-visible{filter:brightness(1.5) drop-shadow(0 0 22px #c192ff99)}
.plug:focus-visible{outline:2px solid #d7b9ff;outline-offset:3px;border-radius:12px}
.plug.dragging{cursor:grabbing;filter:brightness(1.4) drop-shadow(0 0 23px #c89bff77);z-index:9}
.plug.connected{cursor:default;transition:none;filter:brightness(1.3) drop-shadow(0 0 10px #b688f566)}
.port{width:clamp(35px,4.4vw,62px);height:clamp(35px,4.4vw,62px);left:0;top:0;border:2px solid #d4aeff;background:#b17fea20;z-index:6;box-shadow:0 0 35px #aa75ff88;touch-action:manipulation}
.port:before,.port:after{inset:-7px}
.port>span{width:8px;height:8px;background:#e8d4ff}
.port b{display:flex;align-items:center;gap:7px;top:-52px;font-size:10px;letter-spacing:.075em;border-color:#8c619f;background:#1b1027ef;padding:6px 10px;border-radius:8px}
.port b i{width:20px;height:20px;font-size:9px}
.port.ready{background:#d1a7ff88;box-shadow:0 0 34px 10px #bb84f799;border-color:#f0dfff}
.charge-stage.drag-active .station-prompt,.charge-stage.connected .station-prompt{opacity:0}
.charge-stage.connected .port{background:#d9b2ff88}
.charge-stage.connected .car-art{filter:brightness(1.13)}
.charge-stage.connected .cable-energy{opacity:.9;animation:cable-flow .65s linear infinite}
.intro-bottom{position:relative;inset:auto;padding:13px 0 0;border-top:1px solid #ffffff20;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-shrink:0;z-index:10}
.intro-bottom .charge-status{position:relative;inset:auto;width:min(450px,55%);max-width:100%;display:flex;gap:9px;align-items:center;flex-wrap:wrap;background:none;border:0;padding:0;box-shadow:none;backdrop-filter:none;border-radius:0;font-size:12px;color:#d8c8e8;min-width:0}
#charge-status-text{flex:1;min-width:0;line-height:1.5}
.charge-status strong{font-size:12px;flex-shrink:0}
.charge-meter{margin-top:1px;height:2px;background:#302636}
.intro-bottom #keyboard-instructions{font-size:10px;text-align:right;line-height:1.6;color:#9f8fac;max-width:360px}
#keyboard-instructions span{display:block}
.gate-opening #proposta{animation:proposal-enter .6s ease both}
@keyframes proposal-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes cable-flow{to{stroke-dashoffset:-37}}
@media(min-width:1051px) and (min-height:790px){.intro-heading{display:grid;grid-template-columns:1.25fr 1fr;gap:35px;align-items:end}.intro-heading h1{margin:0}.intro-heading p:not(.eyebrow){max-width:415px;padding-bottom:4px;margin-left:auto}}
@media(max-width:760px){
 .gate-locked .topbar{height:61px}.intro{padding:70px 5% 14px;gap:12px}.intro-top .eyebrow{font-size:8px;letter-spacing:.09em}.intro-top .tiny-bolt{font-size:16px;margin-right:4px}.intro-top .edition{display:none}
 .intro-heading h1{font-size:clamp(34px,8.9vw,55px);line-height:1.04;margin:0 0 10px;letter-spacing:-.05em}.intro-heading h1 em{display:block}.intro-heading p:not(.eyebrow){font-size:12px;line-height:1.55;max-width:390px}
 .charge-stage{aspect-ratio:.98}.car-art{width:143%;right:-28%;top:-16%;height:auto}.station-art{height:78%;max-width:none;left:-8%;top:auto;bottom:4%}.plug{width:32%;min-height:60px}
 .station-prompt{padding:7px 8px;gap:6px;border-radius:7px;max-width:180px}.station-prompt>i{width:19px;height:19px;font-size:9px}.station-prompt strong{font-size:8px;letter-spacing:.06em}.station-prompt span{font-size:9px}.station-prompt>b{font-size:18px;margin-left:0}
 .port{width:37px;height:37px}.port b{font-size:8px;top:-43px;padding:5px 7px;gap:5px;letter-spacing:.035em}.port b i{width:17px;height:17px;font-size:8px}.port:before,.port:after{inset:-5px}.port>span{width:6px;height:6px}
 .station-floor-label{font-size:6px;letter-spacing:.12em;bottom:0;left:3%}.cable-body{stroke-width:9}.cable-shadow{stroke-width:13}.cable-highlight{stroke-width:2}.cable-energy{stroke-width:1.5}
 .intro-bottom{display:flex;flex-direction:column;gap:9px;padding-top:11px}.intro-bottom .charge-status{width:100%;font-size:11px;gap:7px}.charge-status strong{font-size:11px}.intro-bottom #keyboard-instructions{font-size:9px;text-align:center;max-width:none;line-height:1.45}#keyboard-instructions span+span{font-size:8px;color:#796c84;margin-top:2px}
 .gate-unlocked .topbar{height:65px}
}
@media(max-width:760px) and (max-height:700px){.intro{padding-top:64px;gap:8px}.intro-heading h1{font-size:31px;margin-bottom:7px}.intro-heading h1 em{display:inline}.intro-heading p:not(.eyebrow){font-size:11px}.intro-top .eyebrow{font-size:7px}.intro-bottom{gap:6px;padding-top:8px}.station-prompt span{display:none}}
@media(max-height:540px) and (min-width:600px){.gate-locked .topbar{height:48px}.intro{padding-top:54px;padding-bottom:10px;gap:7px}.intro-top{display:none}.intro-heading h1{font-size:30px;margin:0}.intro-heading h1 em{display:inline}.intro-heading p:not(.eyebrow){font-size:11px;max-width:380px}.intro-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.intro-bottom{padding-top:8px;gap:20px;flex-direction:row}.intro-bottom .charge-status{width:55%;font-size:10px}.intro-bottom #keyboard-instructions{font-size:8px;text-align:right}.station-prompt span{display:none}.station-prompt{padding:5px 8px}.station-prompt strong{font-size:8px}.port{width:30px;height:30px}.port b{top:-36px;font-size:8px;padding:4px 6px}.station-floor-label{display:none}}
@media(prefers-reduced-motion:reduce){.gate-opening #proposta,.charge-stage.connected .cable-energy{animation:none}}
@media print{body.gate-locked:before{content:'Conecte o carregador na apresentação para abrir a proposta.';display:block;padding:30px;color:#111}.gate-unlocked .topbar{display:none!important}}
