:root{color-scheme:dark;--bg:#0b1018;--panel:#111923;--line:#253342;--text:#e1eaf2;--muted:#94a7b9;--accent:#60dfbc}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 'Segoe UI',system-ui,sans-serif}header{height:78px;padding:0 30px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px}.brand strong{font-size:27px;letter-spacing:-1px}.brand strong span{color:var(--accent)}.mark{width:38px;height:38px;background:var(--accent);color:#0a241d;border-radius:11px;font-size:32px;line-height:31px;text-align:center}.brand small{margin-left:20px;font-size:11px;letter-spacing:2px;color:var(--muted)}.runtime{font:11px monospace;color:var(--muted);letter-spacing:1px}.runtime span{color:var(--accent);padding:0 8px}main{display:grid;grid-template-columns:292px minmax(0,1fr);max-width:1800px;margin:auto}aside{padding:28px 23px;border-right:1px solid var(--line);background:#0e151f}.eyebrow{font:11px monospace;letter-spacing:1.6px;color:var(--accent)}h1{font-size:25px;font-weight:600;margin:7px 0 9px;letter-spacing:-.7px}.intro{color:var(--muted);margin:0 0 22px;font-size:13px}.materials{display:grid;grid-template-columns:1fr 1fr;gap:8px}button,select,input{font:inherit}button{border:1px solid var(--line);background:#151f2b;color:var(--text);padding:9px 12px;border-radius:7px;cursor:pointer;transition:background .15s,border-color .15s}button:hover{background:#243445;border-color:#638092}button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button.selected{border-color:var(--accent);background:#17372f;color:#baf7e6}.material{text-align:left;display:flex;align-items:center;gap:9px}.swatch{width:9px;height:9px;border-radius:50%;display:inline-block}.properties{margin:17px 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.properties>span{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;line-height:2}.properties b{font-weight:500;color:var(--text)}summary{cursor:pointer;color:var(--muted);font-size:13px}label{display:block;margin:18px 0 0;font-size:13px}label output,label>span{float:right;color:var(--muted);font-size:12px}input[type=range]{display:block;width:100%;accent-color:var(--accent);margin:10px 0 0}input[type=number],select{width:100%;padding:8px 10px;margin-top:6px;border:1px solid var(--line);border-radius:6px;background:#101923;color:var(--text)}.wide{width:100%;margin-top:14px}.section{margin:27px 0 12px}.tools{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tools button{font-size:12px;padding:10px 5px}.workspace{padding:27px 30px}.toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:21px}h2{font-size:23px;margin:3px 0 0;font-weight:500;letter-spacing:-.5px}.actions{display:flex;gap:8px}.actions button{font-size:13px}#pause{background:#c1f1e3;color:#102b24;border-color:#c1f1e3;min-width:94px}.tank{position:relative;border:1px solid #2b3e51;border-radius:12px;overflow:hidden;aspect-ratio:1.8/1.1;background:#080f18;box-shadow:0 18px 60px #0003}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.tank-top,.tank-bottom{position:absolute;left:18px;right:18px;display:flex;justify-content:space-between;font:10px monospace;letter-spacing:1px;pointer-events:none;color:#8babc2}.tank-top{top:16px}.tank-bottom{bottom:14px}#toolLabel{color:#cae4ed}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);padding:22px 0;margin-bottom:18px;gap:15px}.metrics>div{border-right:1px solid var(--line);padding-left:12px}.metrics>div:first-child{padding-left:0}.metrics>div:last-child{border:0}.metrics span{display:block;font:10px monospace;color:var(--muted);letter-spacing:.7px}.metrics strong{display:block;margin-top:5px;font-size:25px;font-weight:400;font-variant-numeric:tabular-nums}.metrics small{font-size:13px;color:var(--muted)}.experiments{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.experiments>span{color:var(--muted);font-size:13px;margin-right:8px}.experiments button{font-size:12px}.notes{margin-top:26px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);max-width:1000px;font-size:13px}.notes p{line-height:1.7}.notes a{color:var(--accent)}@media(min-width:1600px){.workspace{padding:30px 50px}}@media(max-width:1000px){main{grid-template-columns:245px minmax(0,1fr)}aside{padding:22px 16px}.workspace{padding:22px 18px}.brand small{display:none}.toolbar{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:1fr 1fr}.metrics>div:nth-child(2){border:0}.metrics>div:nth-child(3){padding-left:0}}@media(max-width:640px){header{height:64px;padding:0 17px}.runtime{font-size:9px;letter-spacing:0}main{display:flex;flex-direction:column}.workspace{order:0}aside{order:1;border-right:0;border-top:1px solid var(--line)}.toolbar{flex-direction:row;align-items:center}.actions{flex-wrap:wrap;justify-content:flex-end}.actions button{padding:7px;font-size:11px}h2{font-size:18px}.tank{border-radius:7px}.tank-top,.tank-bottom{left:10px;right:10px;font-size:8px}.metrics strong{font-size:22px}}

.hint{margin:10px 0 0;font-size:12px}

.material{min-width:0;font-size:12px;padding:9px 7px;gap:6px;overflow-wrap:anywhere}.swatch{flex-shrink:0}.materials h3{grid-column:1/-1;margin:12px 0 -2px;font:11px monospace;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-weight:400}.materials h3:first-child{margin-top:2px}

.vessels{margin:18px 0;padding:18px;border:1px solid #29414a;border-radius:12px;background:#101d25}.vessels p{font-size:12px;color:#96afb8;margin:8px 0 14px}.vessel-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.vessels #containerLabel{font-size:12px;color:#96afb8;margin-left:12px}.vessel-buttons .selected{border-color:#69e8bc;background:#1a3c38;color:#a4f7da}

dialog{background:#101d25;color:#e1eded;border:1px solid #355662;border-radius:16px;width:min(620px,90vw);max-height:90vh;padding:24px}dialog::backdrop{background:#000a}dialog p{color:#a5bdc7;font-size:13px;line-height:1.5}#sharePreview{width:100%;border-radius:8px}#sharePreview:not([src]){display:none}.shareActions{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.shareActions a,#sharedNotice a{color:#89e8c8;padding:10px}#shareUrl{width:100%;box-sizing:border-box}body.shared aside,body.shared .experiments,body.shared .vessels:not(#sharedNotice){display:none}body.shared main{grid-template-columns:1fr}body.shared #canvas{pointer-events:none}body.shared .toolbar .actions>button:not(#saveShare){display:none}[hidden]{display:none!important}
