.pneu-main{min-height:100vh}.pneu-intro{padding-bottom:1.4rem}.pneu-intro h1{margin:.3rem 0}.pneu-lead{max-width:850px;color:var(--muted);font-size:1.05rem}.pneu-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.85fr);gap:1.25rem;align-items:start}.pneu-machine-panel,.diag{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:1rem}.panel-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.panel-heading h2{margin:.2rem 0 0}.eyebrow{font:700 .74rem monospace;letter-spacing:.1em;color:var(--amber)}.tower{display:flex;flex-direction:column;gap:4px;background:#172026;border:1px solid #43515a;padding:7px;border-radius:8px}.tower i{width:18px;height:11px;border-radius:3px;opacity:.22}.tower .red{background:#ee3e38}.tower .amber{background:#f5ad22}.tower .green{background:#39d276}.tower i.active{opacity:1;box-shadow:0 0 13px currentColor}.pneu-stage{position:relative;min-height:430px;overflow:hidden;border:1px solid var(--line-strong);border-radius:14px;background:linear-gradient(180deg,#0c151a,#17242a);isolation:isolate}.pneu-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(245,166,35,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(245,166,35,.08) 1px,transparent 1px);background-size:38px 38px;opacity:.55}html[data-theme="light"] .pneu-stage{background:linear-gradient(180deg,#e8eef1,#b7c4ca)}.pressure-line{position:absolute;left:5%;right:5%;top:34px;height:12px;border-radius:8px;background:#22343c;border:2px solid #607680}.pressure-line span{position:absolute;top:-24px;color:#9fb1b9;font:700 .68rem monospace}.pressure-line b{display:block;height:100%;width:0;background:repeating-linear-gradient(90deg,#36afd0 0 14px,#75ddf2 14px 23px);transition:width .4s}.cylinder-unit{position:absolute;left:7%;right:7%;top:105px;height:160px}.cylinder-body{position:absolute;left:10%;right:22%;top:30px;height:66px;border:5px solid #75858c;background:#d8e0e3;border-radius:9px;overflow:visible}.piston{position:absolute;left:12px;top:5px;bottom:5px;width:12px;background:#9a5b0b;transition:left .85s cubic-bezier(.4,0,.2,1)}.rod{position:absolute;left:22px;top:24px;width:55%;height:12px;background:linear-gradient(#e8eef1,#89969c);transition:left .85s cubic-bezier(.4,0,.2,1),width .85s}.pneu-stage.extended .piston{left:calc(100% - 26px)}.pneu-stage.extended .rod{left:calc(100% - 20px);width:32%}.sensor{position:absolute;top:105px;width:20px;height:34px;border-radius:4px;background:#32424a;border:2px solid #81919a}.sensor span{position:absolute;width:8px;height:8px;border-radius:50%;background:#374149;left:4px;top:5px}.sensor.active span{background:#42e17d;box-shadow:0 0 10px #42e17d}.sensor small{position:absolute;top:38px;left:-8px;color:var(--muted-2);font:700 .65rem monospace}.retract-sensor{left:13%}.extend-sensor{right:20%}.workpiece{position:absolute;right:4%;top:8px;width:74px;height:110px;border:3px solid #9a5b0b;background:linear-gradient(145deg,#f6bd50,#c97d10);border-radius:6px;color:#241503;display:grid;place-items:center;font:800 .7rem monospace;transition:transform .2s}.pneu-stage.extended .workpiece{transform:translateX(7px)}.valve-unit{position:absolute;left:12%;bottom:42px;width:280px;height:105px}.valve-title{color:#aebdc4;font:700 .67rem monospace;margin-bottom:6px}.valve-body{position:absolute;left:48px;top:28px;width:178px;height:58px;border:3px solid #8b979d;background:#dce3e6}.valve-body:before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:2px solid #8b979d}.valve-spool{position:absolute;inset:7px 91px 7px 7px;background:#b06a11;transition:transform .35s,width .35s}.valve-spool.right{transform:translateX(86px)}.coil{position:absolute;top:42px;width:42px;height:34px;border:2px solid #8b979d;border-radius:5px;display:grid;place-items:center;color:#c6d1d6;font:800 .7rem monospace;background:#26343b}.coil.y1{left:0}.coil.y2{right:0}.coil.active{background:#bc7211;color:#fff;box-shadow:0 0 14px rgba(245,166,35,.65)}.port{position:absolute;color:#1d2b31;font:800 .62rem monospace}.p1{left:82px;bottom:-18px}.a{left:38px;top:-18px}.b{right:38px;top:-18px}.r1{left:20px;bottom:-18px}.r2{right:20px;bottom:-18px}.pressure-gauge{position:absolute;right:8%;bottom:45px}.gauge-face{width:92px;height:92px;border-radius:50%;background:#e7edef;border:7px solid #45555e;color:#172229;display:grid;place-items:center;position:relative}.gauge-face:before{content:"";position:absolute;inset:7px;border-radius:50%;border:1px dashed #819199}.gauge-face i{position:absolute;left:44px;top:19px;width:3px;height:31px;background:#ba2e29;transform-origin:bottom;transform:rotate(-120deg);transition:transform .45s}.gauge-face strong{margin-top:20px;font:800 .83rem monospace}.gauge-face small{font-size:.6rem}.stage-label{position:absolute;left:18px;bottom:14px;color:rgba(245,166,35,.8);font:700 .67rem monospace;letter-spacing:.08em}.mode-row{display:flex;gap:.55rem;margin-top:1rem}.mode{border:1px solid var(--line-strong);background:var(--surface-strong);color:var(--paper);padding:.55rem 1rem;border-radius:8px;cursor:pointer;font-weight:800}.mode.active{border-color:var(--amber);color:var(--amber)}.pneu-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-top:.7rem}.control{min-height:70px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-strong);color:var(--paper);display:grid;grid-template-columns:22px 1fr;grid-template-rows:1fr 1fr;align-items:center;text-align:left;padding:.6rem;cursor:pointer}.control span{grid-row:1/3;width:17px;height:17px;border-radius:50%;background:#37444b}.control.start span{background:#25aa5c}.control.stop span{background:#dc3c36}.control.reset span{background:#e4a21e}.control.emergency span{width:24px;height:24px;background:#e7332d;border:4px solid #f2c824}.control small{color:var(--muted-2);font-family:monospace}.manual-controls{display:none;gap:.55rem;margin-top:.7rem}.manual-controls.visible{display:flex;flex-wrap:wrap}.manual-controls button{border:1px solid var(--line-strong);background:transparent;color:var(--paper);padding:.6rem .8rem;border-radius:8px;cursor:pointer}.pneu-diagnostics{display:grid;gap:1rem}.diag h3{margin:0 0 .75rem;font-size:1rem}.hmi{background:#071116;color:#eaf3f5;border-color:#42545d}.hmi-top,.status-line{display:flex;justify-content:space-between}.hmi-top{padding-bottom:.55rem;border-bottom:1px solid #31454d;color:#7bd0e2;font:700 .69rem monospace}.status-line{padding:.7rem 0}.status-line span{color:#9cb0b9}.status-line strong{color:#58df8d;font:800 .8rem monospace}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.metrics div{background:#0e1b21;border:1px solid #20343c;border-radius:6px;padding:.55rem}.metrics span{display:block;color:#7f969f;font-size:.68rem}.metrics strong{color:#f4b248;font:800 .86rem monospace}.hmi-message{margin-top:.65rem;min-height:58px;padding:.6rem;border-left:3px solid #39a9c8;background:#0b171d;color:#c6d5da;font-size:.78rem}.io-list{display:grid;gap:.42rem}.io-list>div{display:grid;grid-template-columns:12px 46px 1fr;gap:.45rem;align-items:center;font-size:.78rem}.io-list i{width:10px;height:10px;border-radius:50%;background:#29343a;border:1px solid #66757d}.io-list>div.active i{background:#42df7b;box-shadow:0 0 9px #42df7b}.io-list>div.active i.out{background:#ffb429;box-shadow:0 0 9px #ffb429}.io-list code{color:var(--amber)}.io-list hr{width:100%;border:0;border-top:1px solid var(--line)}.sequence{list-style:none;padding:0;margin:0;display:grid;gap:.4rem;counter-reset:step}.sequence li{border:1px solid var(--line);border-radius:7px;padding:.5rem .65rem;color:var(--muted);font:700 .7rem monospace}.sequence li.active{border-color:var(--amber);color:var(--amber);background:rgba(245,166,35,.08)}.rung{display:flex;align-items:center;gap:.45rem;padding:.65rem;background:rgba(0,0,0,.16);border-radius:7px;color:var(--muted-2);font:700 .58rem monospace;overflow:hidden}.rung b,.rung em{border:1px solid currentColor;padding:.25rem}.rung em{border-radius:50%;margin-left:auto}.rung.active{color:#40d97a;text-shadow:0 0 7px rgba(64,217,122,.5)}.ladder p{font-size:.77rem;color:var(--muted);margin:.7rem 0 0}@media(max-width:1050px){.pneu-layout{grid-template-columns:1fr}.pneu-diagnostics{grid-template-columns:repeat(2,1fr)}}@media(max-width:740px){.pneu-diagnostics{grid-template-columns:1fr}.pneu-controls{grid-template-columns:1fr 1fr}.pneu-stage{min-height:390px}.pressure-gauge{transform:scale(.78);transform-origin:right bottom}.valve-unit{left:5%;transform:scale(.84);transform-origin:left bottom}}@media(max-width:480px){.pneu-machine-panel{padding:.6rem}.pneu-stage{min-height:360px}.cylinder-unit{left:1%;right:1%;transform:scale(.83);transform-origin:center top}.valve-unit{left:1%;transform:scale(.72)}.pressure-gauge{display:none}.control{min-height:64px;padding:.45rem}.panel-heading h2{font-size:1.05rem}}
