:root{font-family:Arial,Helvetica,sans-serif;color:#e8e8d8;background:#172b2a;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.file-button{cursor:pointer;border:1px solid #637674;background:transparent;color:inherit;padding:12px 15px;border-radius:4px}button:hover,.file-button:hover{background:#ffffff12;border-color:#c9df70}button:disabled{opacity:.4;cursor:default}:focus-visible{outline:3px solid #d5ef72;outline-offset:3px}header{height:90px;padding:0 3.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #435754}.brand{display:flex;gap:16px;align-items:center;font-size:11px;letter-spacing:2px}.brand small{display:block;letter-spacing:1px;color:#a4b5ad;margin-top:7px}.logo{border:1px solid #cddd8c;border-radius:50%;padding:12px 8px;font-size:22px;letter-spacing:-2px;color:#d1e985}main{display:grid;grid-template-columns:minmax(0,1fr) 360px;max-width:1600px;margin:auto}.workbench{padding:42px 4vw 24px;border-right:1px solid #435754}.eyebrow{font-size:10px;letter-spacing:2.5px;color:#cadd86}h1{font-size:clamp(38px,4.5vw,68px);line-height:1.02;letter-spacing:-2px;font-weight:400;margin:20px 0}h1 em{font-family:Georgia,serif;color:#d4e989;font-weight:400}.intro>p:last-child{color:#aebfb6;font-size:14px;line-height:1.6}.intro{position:relative;z-index:1}.apparatus{height:290px;position:relative;max-width:650px;margin:0 auto 20px;background-image:radial-gradient(#576b5d55 1px,transparent 1px);background-size:19px 19px}.diagram-label{font-family:monospace;letter-spacing:2px;position:absolute;top:8px;font-size:11px}.diagram-label span{color:#7b9587;font-size:9px;margin-left:15px}.wheel{position:absolute;border:2px solid #a4b59b;border-radius:50%;display:grid;place-items:center;background:#203631;box-shadow:0 0 0 7px #172b2a,0 0 0 8px #617a65}.wheel:before,.wheel:after{content:"";position:absolute;width:75%;height:2px;background:#8caa75;transform:rotate(45deg)}.wheel:after{transform:rotate(-45deg)}.wheel b{z-index:1;background:#cfe493;color:#263d31;border-radius:50%;padding:12px;font:12px monospace}.wheel-a{width:145px;height:145px;left:12%;top:80px}.wheel-b{width:100px;height:100px;left:39%;top:44px}.pipe{position:absolute;height:75px;border:2px solid #708566;border-radius:15px;width:45%;left:24%;top:105px}.pipe-b{top:140px;width:30%;height:75px;left:43%}.vessel{position:absolute;width:85px;height:150px;top:65px;right:10%;border:2px solid #b7c994;border-radius:36px 36px 8px 8px;overflow:hidden;background:#203631}.vessel span{position:absolute;top:65px;width:100%;text-align:center;font:12px monospace;line-height:1.6}.pressure{position:absolute;bottom:0;width:100%;background:#bedb6d44}.spring{position:absolute;top:190px;left:43%;font-size:44px;color:#a3b880;letter-spacing:-8px}.state-badge{position:absolute;right:8%;bottom:36px;color:#cfe493;font:11px monospace;letter-spacing:2px}.diagram-note{position:absolute;bottom:0;font:10px monospace;color:#97a99a}.strained .vessel{border-color:#f1c778}.failed .vessel{border-color:#f0886b}.failed .state-badge{color:#f0886b}.transport{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.transport button{font-size:12px}.transport small{opacity:.6;margin-left:6px}.transport output{font:12px monospace;margin-left:auto}.primary{background:#d1e885;color:#1b352b;border-color:#d1e885}.primary:hover{background:#e0f29f}.controls{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:30px}.controls label span{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase}.controls output{color:#d3e596}.controls input{width:100%;accent-color:#d0e884;margin:18px 0}.controls small{color:#a7b6ab;font-size:11px;line-height:1.6}.status{margin-top:25px;color:#d0dfba;font-size:12px;line-height:1.5;min-height:36px}aside{padding:32px 26px;background:#1e3330}.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px}h2{font-weight:400;font-size:19px;letter-spacing:-.5px;margin:0}.section-title span{font:9px monospace;color:#a6bc94}.muted{color:#acbdb0;font-size:12px;line-height:1.6}.rules{margin:25px 0 32px}.rule{display:flex;gap:15px;border-top:1px solid #4a6052;padding:15px 0}.rule-number{font:12px monospace;color:#afc68d;padding-top:7px}.rule>div:last-child{flex:1}.rule label{font-size:11px;color:#bbccbd}.rule input{width:44px;border:0;border-bottom:1px solid #728b61;background:transparent;color:#d4e995;padding:4px;text-align:center}.rule select{width:100%;margin-top:9px;background:#182e29;color:#e0e7cc;border:1px solid #52694e;padding:7px;font-size:12px;border-radius:3px}.rule small{display:block;color:#d2b681;font-size:10px;margin-top:8px}.cells{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:19px}.cell{border:1px solid #4b6654;border-radius:4px;overflow:hidden}.cell button{border:0;padding:10px;text-align:left;width:100%;border-radius:0}.cell button span{font:9px monospace;color:#a8be8e}.cell strong{font-size:11px;display:block;font-weight:400;margin:5px 0}.cell svg{display:block;width:100%;height:22px;stroke:#c4d98b;fill:none;stroke-width:1}.import-label{display:block;cursor:pointer;padding:5px 10px;font-size:9px;background:#ffffff08;color:#b0c299}.import-label input,.file-button input{position:absolute;width:1px;height:1px;opacity:0}.import-label:focus-within,.file-button:focus-within{outline:3px solid #d0e884}.tiny{font-size:10px}.lower{grid-column:1/-1;border-top:1px solid #435754;display:grid;grid-template-columns:1.3fr 1fr;gap:55px;padding:30px 4vw}.lower p{color:#afc0b2;font-size:12px;line-height:1.6;max-width:590px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.actions button,.file-button{font-size:11px;padding:10px}.event-log{border-left:1px solid #4d6251;padding-left:30px}.event-log h3{font:10px monospace;letter-spacing:2px;color:#c7d897}.event-log p{font:11px monospace;margin:10px 0}.event-log time{display:inline-block;width:48px;color:#d1deab}.event-log span{color:#8caa78}footer{padding:20px 3.5vw;border-top:1px solid #435754;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#a7b9a8}details{max-width:480px}summary{cursor:pointer}details p{line-height:1.5}details button{padding:7px;font-size:11px}@media(max-width:1000px){main{grid-template-columns:1fr 310px}.workbench{padding:30px 25px}.wheel-a{left:3%}.wheel-b{left:39%;width:80px;height:80px}.vessel{right:0}.controls{gap:12px}.transport output{display:none}}@media(max-width:760px){header{height:76px;padding:12px 20px}.brand{font-size:8px;letter-spacing:1px}.brand small{font-size:8px}header button{font-size:10px;padding:9px}main{display:block}.workbench{border-right:0}.intro h1{font-size:48px}.apparatus{max-width:500px;height:280px;margin-top:20px}.controls{gap:15px}.controls label span,.controls small{font-size:10px}.lower{display:block;padding:28px 25px}.event-log{border-left:0;border-top:1px solid #50644f;margin-top:25px;padding:20px 0 0}aside{border-top:1px solid #435754;padding:28px 25px}.cells{grid-template-columns:repeat(3,1fr)}footer{flex-direction:column;padding:22px 25px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
