/* Scene scroll bloccate: vedi scene.js. .cx-static = stato finale senza animazione */
.cx{position:relative;height:100vh;overflow:hidden;background:var(--color-paper);border-block:var(--rule) solid var(--color-ink)}
.cx-grid{position:absolute;inset:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:48px 48px;opacity:.6}
.cx-head{position:absolute;left:0;right:0;top:9vh;text-align:center;z-index:5;padding:0 16px}
.cx-head .cx-t{font-family:var(--font-display);font-weight:800;font-size:clamp(28px,5vw,64px);line-height:1.02;letter-spacing:-.02em;margin:0}
.cx-head .cx-t em{color:var(--color-crimson);font-style:normal}
.cx-head .cx-clock{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.cx-heads{position:relative;height:clamp(70px,12vw,140px)}
.cx-heads>*{position:absolute;inset:0}

.cx-item{position:absolute;left:50%;top:55%;z-index:3;font-size:13px;line-height:1.3;will-change:transform;pointer-events:none}
.cx-wa{background:#1f5e46;color:#e9fff4;padding:9px 12px;border-radius:14px 14px 14px 4px;max-width:210px;box-shadow:4px 4px 0 #0008}
.cx-pdf{width:74px;height:94px;background:var(--color-sand);color:var(--color-paper);border-radius:4px;padding:8px;font-family:var(--font-mono);font-size:10px;font-weight:700;box-shadow:4px 4px 0 #0008;display:flex;flex-direction:column;justify-content:flex-end;overflow-wrap:anywhere}
.cx-pdf:before{content:"";display:block;height:40px;background:repeating-linear-gradient(#0003 0 3px,transparent 3px 9px);margin-bottom:6px}
.cx-mail{background:var(--color-paper-3);color:var(--color-ink);border:1px solid var(--color-rule);padding:8px 12px;border-radius:8px;box-shadow:4px 4px 0 #0008;white-space:nowrap}
.cx-mail b{color:var(--color-crimson);margin-right:6px}
.cx-note{background:#e8c55a;color:#2b2210;width:110px;padding:10px;font-family:var(--font-mono);font-size:11px;box-shadow:4px 4px 0 #0008}
.cx-cell{background:#fff;color:#1b5e20;font-family:var(--font-mono);font-size:12px;border:1px solid #9bb;padding:5px 9px;box-shadow:4px 4px 0 #0008}

.cx-core{position:absolute;left:50%;top:58%;width:clamp(180px,24vw,300px);aspect-ratio:1;margin:calc(clamp(180px,24vw,300px)/-2) 0 0 calc(clamp(180px,24vw,300px)/-2);z-index:4}
.cx-core img{width:100%;height:100%;object-fit:contain;position:relative;z-index:2}
.cx-ring{position:absolute;inset:-10%;border-radius:50%;border:2px solid var(--color-crimson);box-shadow:0 0 60px var(--glow-crimson),inset 0 0 60px var(--glow-crimson-soft)}
.cx-ring+.cx-ring{inset:-28%;border-style:dashed;opacity:.5}

.cx-dash{position:absolute;left:0;right:0;top:34vh;margin:0 auto;z-index:6;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:min(640px,92vw)}
.cx-k{background:var(--color-paper-2);border:var(--rule) solid var(--color-ink);border-radius:var(--radius);box-shadow:var(--shadow-hard);padding:16px 18px}
.cx-k span{display:block;font-size:var(--text-sm);color:var(--color-muted)}
.cx-k b{font-family:var(--font-display);font-weight:800;font-size:clamp(30px,4vw,48px);line-height:1}
.cx-k i{font-style:normal;font-family:var(--font-mono);font-size:11px;color:#6fd3a0;float:right;margin-top:4px}
.cx-final{position:absolute;left:0;right:0;bottom:7vh;text-align:center;z-index:6;font-family:var(--font-display);font-weight:800;font-size:clamp(22px,3vw,36px);margin:0}
.cx-final em{color:var(--color-crimson);font-style:normal}
.cx-hint{position:absolute;bottom:3vh;left:50%;transform:translateX(-50%);font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);z-index:6}

@media(max-width:640px){.cx-dash{gap:10px}.cx-k{padding:12px}.cx-k i{display:none}.cx-wa{max-width:160px;font-size:12px}}
.cx-disc{position:absolute;left:16px;bottom:3vh;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--color-muted);opacity:.7;z-index:6}
.cx-static .cx-item,.cx-static .cx-core,.cx-static .cx-hint,.cx-static .cx-h1,.cx-static .cx-h2,.cx-static .au-tok,.cx-static .ge-sheet,.cx-static .ai-doc,.cx-static .ai-line{display:none}
.cx-static .ai-cloud{opacity:.4}
.cx-mono{font-family:var(--font-mono)}

/* automazioni: catena di montaggio */
.au-track{position:absolute;left:0;right:0;top:50%;height:2px;background:repeating-linear-gradient(90deg,var(--color-rule) 0 12px,transparent 12px 22px)}
.au-st{position:absolute;top:50%;width:clamp(90px,13vw,150px);aspect-ratio:1;margin:calc(clamp(90px,13vw,150px)/-2) 0 0 calc(clamp(90px,13vw,150px)/-2);border:var(--rule) solid var(--color-ink);border-radius:50%;background:var(--color-paper-2);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:clamp(14px,1.6vw,20px);z-index:2}
.au-st b{font-family:var(--font-mono);font-size:11px;color:var(--color-crimson);font-weight:400}
.au-st0{left:25%}.au-st1{left:50%}.au-st2{left:75%}
.au-tok{position:absolute;left:0;top:50%;margin-top:-18px;z-index:3;white-space:nowrap;font-size:14px}
.au-tok>span{display:block}
.au-ok{position:absolute;left:0;top:0;background:var(--color-crimson);color:#fff;padding:8px 12px;border-radius:8px;font-weight:600;box-shadow:4px 4px 0 #0008}
.au-log{position:absolute;left:50%;transform:translateX(-50%);top:66vh;width:min(520px,90vw);font-size:12px;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}
.au-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--color-rule);padding:4px 0}
.au-row em{font-style:normal;color:#6fd3a0}

/* gestionali: excel che esplode e si ricompone */
.ge-sheet,.ge-app{position:absolute;left:50%;top:60%;width:min(720px,92vw);translate:-50% -50%}
.ge-sheet{background:#f4f4f0;border:1px solid #bbb;padding:0;z-index:3}
.ge-file{position:absolute;top:-26px;left:0;font-family:var(--font-mono);font-size:12px;background:#1d6f42;color:#fff;padding:4px 10px}
.ge-grid{display:grid;grid-template-columns:repeat(8,1fr)}
.ge-c{height:34px;border:1px solid #d0d0c8;font-family:var(--font-mono);font-size:11px;color:#333;display:flex;align-items:center;padding:0 6px;background:#fff;overflow:hidden}
.ge-y{background:#ffe96b}.ge-r{background:#ffb3b3;color:#900}
.ge-app{display:grid;grid-template-columns:120px 1fr;height:min(360px,52vh);border:var(--rule) solid var(--color-ink);border-radius:var(--radius);background:var(--color-paper-2);box-shadow:var(--shadow-hard-lg);overflow:hidden;z-index:4}
.ge-app aside{border-right:1px solid var(--color-rule);padding:14px 10px;display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--color-muted)}
.ge-app aside b{font-family:var(--font-display);color:var(--color-ink);margin-bottom:8px}
.ge-app aside .on{color:var(--color-ink);border-left:3px solid var(--color-crimson);padding-left:7px}
.ge-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}
.ge-col h4{font-size:12px;color:var(--color-muted);margin:0 0 8px;font-family:var(--font-mono);font-weight:400;text-transform:uppercase;letter-spacing:.08em}
.ge-card{background:var(--color-paper-3);border:1px solid var(--color-rule);border-radius:6px;padding:9px 10px;font-size:12px;margin-bottom:8px;position:relative}
.ge-card i{display:block;height:4px;width:40%;margin-top:6px;border-radius:2px;background:var(--color-crimson)}
@media(max-width:640px){.ge-app{grid-template-columns:1fr}.ge-app aside{display:none}.ge-grid{grid-template-columns:repeat(6,1fr)}}

/* ai-locale: la rete si chiude */
.ai-cloud{position:absolute;left:50%;top:27vh;transform:translateX(-50%);width:120px;text-align:center;color:var(--color-muted);font-family:var(--font-mono);font-size:11px;z-index:2}
.ai-cloud svg{width:120px;fill:none;stroke:currentColor;stroke-width:3}
.ai-x{position:absolute;left:-10px;right:-10px;top:30px;height:4px;background:var(--color-crimson);transform:rotate(-20deg);transform-origin:left}
.ai-line{position:absolute;left:50%;top:38vh;height:18vh;border-left:2px dashed var(--color-crimson)}
.ai-doc{position:absolute;left:50%;top:60vh;background:var(--color-sand);color:var(--color-paper);font-size:11px;font-weight:700;padding:6px 9px;border-radius:4px;box-shadow:3px 3px 0 #0008;white-space:nowrap;z-index:5}
.ai-office{position:absolute;left:50%;top:70vh;width:clamp(150px,18vw,220px);aspect-ratio:1;translate:-50% -50%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3}
.ai-office img{width:80%;position:relative;z-index:2}
.ai-office small{color:var(--color-muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.ai-shield{position:absolute;inset:-22%;border-radius:50%;border:3px solid var(--color-crimson);box-shadow:0 0 80px var(--glow-crimson),inset 0 0 80px var(--glow-crimson-soft)}
.ai-chat{position:absolute;right:max(4vw,16px);top:52vh;width:min(320px,42vw);z-index:6;font-size:13px}
.ai-chat p{margin:0 0 8px;padding:10px 12px;border-radius:12px}
.ai-chat .q{background:var(--color-paper-3);border:1px solid var(--color-rule);margin-left:30px}
.ai-chat .a{background:var(--color-crimson);color:#fff}
@media(max-width:640px){.ai-chat{left:16px;right:16px;width:auto;top:auto;bottom:4vh}.ai-office{top:62vh}}

/* gestione immobili: calendario */
.im-wrap{position:absolute;left:50%;top:60%;translate:-50% -50%;width:min(900px,94vw);display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:center}
.im-cal{border:var(--rule) solid var(--color-ink);border-radius:var(--radius);background:var(--color-paper-2);padding:12px;box-shadow:var(--shadow-hard)}
.im-dow,.im-w{display:grid;grid-template-columns:repeat(7,1fr)}
.im-dow span{font-family:var(--font-mono);font-size:11px;color:var(--color-muted);text-align:center;padding-bottom:6px}
.im-w{grid-template-rows:auto 14px;row-gap:3px;border-top:1px solid var(--color-rule);padding:5px 0}
.im-d{grid-row:1;font-family:var(--font-mono);font-size:11px;color:var(--color-muted);padding-left:4px}
.im-bar{grid-row:2;height:14px;margin:0 2px;border-radius:7px}
.im-ab{background:#ff5a5f}.im-bk{background:#2f6fd6}.im-dir{background:var(--color-crimson)}
.im-leg{display:flex;gap:14px;margin-top:10px;font-size:11px}
.im-leg span{background:none;display:flex;align-items:center;gap:6px}
.im-leg span:before{content:"";width:10px;height:10px;border-radius:50%}
.im-leg .im-ab:before{background:#ff5a5f}.im-leg .im-bk:before{background:#2f6fd6}.im-leg .im-dir:before{background:var(--color-crimson)}
.im-side{display:flex;flex-direction:column;gap:12px}
@media(max-width:640px){.im-wrap{grid-template-columns:1fr;top:64%}.im-side{flex-direction:row}.im-side .cx-k{flex:1;padding:10px}.im-side .cx-k i{display:none}}
.im-dir{background:#e0463c}.im-leg .im-dir:before{background:#e0463c}
@media(max-width:640px){
 .au-st{width:66px;margin:-33px 0 0 -33px;font-size:12px}.au-st b{display:none}
 .au-tok{font-size:11px}.au-tok .cx-wa,.au-tok .cx-mail,.au-ok{padding:6px 9px}.au-tok .cx-pdf{width:auto;height:auto;padding:6px 9px}.au-tok .cx-pdf:before{display:none}
 .au-log{grid-template-columns:1fr;top:62vh;font-size:11px}
 .ai-doc{font-size:10px;padding:5px 7px}
 .im-side .cx-k b{font-size:22px;white-space:nowrap}
}
@media(max-width:640px){.cx-disc{bottom:auto;top:70px;left:0;right:0;text-align:center}.cx-head{top:96px}}
