:root{--wall:#0d423f;--wall-2:#09322f;--wall-3:#0f4f4a;--gauze:#f4f8f5;--gauze-2:#e6efea;--gauze-3:#d5e4dd;--steel-hi:#fdffff;--steel:#d3e0e4;--steel-lo:#9db1b8;--steel-edge:#7e959d;--scrub:#17857a;--scrub-deep:#0d5f57;--scrub-soft:#bfe8df;--vital:#35c98a;--vital-bright:#5ce6a1;--alarm:#ff6f61;--amber:#ffc65c;--ink:#16302f;--ink-soft:#4a6b68;--muted:#7d9995;--monitor:#06161f;--font-display:"Baloo 2", "Trebuchet MS", system-ui, sans-serif;--font-mono:"DM Mono", ui-monospace, "SFMono-Regular", monospace;--r-lg:22px;--r-md:15px;--r-sm:10px;--shadow-panel:0 22px 44px -22px #00181699, 0 3px 0 #ffffff80 inset;--shadow-toy:0 4px 0 var(--steel-edge), 0 10px 18px -8px #001e1c8c}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{font-family:var(--font-display);color:var(--ink);background:radial-gradient(120% 80% at 50% -10%, #fff6d638, transparent 60%), radial-gradient(90% 60% at 50% 120%, #00000052, transparent 70%), repeating-linear-gradient(0deg, #ffffff09 0 1px, transparent 1px 58px), repeating-linear-gradient(90deg, #ffffff09 0 1px, transparent 1px 58px), linear-gradient(180deg, var(--wall-3), var(--wall) 45%, var(--wall-2));-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.sh-theatre{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;height:100vh;padding:12px 14px 14px;display:grid}.sh-head{border-radius:var(--r-lg);background:linear-gradient(180deg, var(--steel-hi), var(--steel) 55%, #bccdd3);box-shadow:var(--shadow-panel);border-bottom:3px solid var(--steel-edge);grid-template-columns:minmax(200px,1fr) minmax(320px,520px) minmax(200px,1fr);align-items:center;gap:16px;padding:10px 16px;display:grid}.sh-brand{align-items:center;gap:12px;min-width:0;display:flex}.sh-brand-mark svg{filter:drop-shadow(0 3px #00282440);width:44px;height:44px;display:block}.sh-brand-text h1{letter-spacing:-.5px;color:var(--scrub-deep);margin:0;font-size:27px;font-weight:800;line-height:1}.sh-brand-text p{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:2px 0 0;font-size:10.5px}.sh-monitor{border-radius:var(--r-md);background:linear-gradient(#2b3d45,#16252c);grid-template-columns:minmax(120px,1fr) auto;align-items:stretch;gap:10px;padding:7px;display:grid;box-shadow:inset 0 2px #ffffff47,0 10px 20px -12px #000c}.sh-monitor-screen{background:radial-gradient(120% 130% at 50% 0%, #0d2431, var(--monitor));border-radius:9px;min-height:58px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #0a1a22}.sh-monitor-screen canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.sh-monitor-glass{pointer-events:none;background:linear-gradient(105deg,#ffffff24 0 22%,#0000 42%),repeating-linear-gradient(0deg,#00000029 0 1px,#0000 1px 3px);position:absolute;inset:0}.sh-readouts{grid-template-rows:auto auto;grid-template-columns:repeat(3,auto);align-content:center;gap:2px 12px;padding-right:4px;display:grid}.sh-readout{flex-direction:column;align-items:flex-start;line-height:1;display:flex}.sh-readout b{font-family:var(--font-mono);color:var(--vital-bright);text-shadow:0 0 10px #5ce6a180;font-size:19px;transition:transform .16s cubic-bezier(.2,1.7,.5,1)}.sh-readout b.is-bump{animation:.42s cubic-bezier(.2,1.7,.4,1) bump}@keyframes bump{0%{transform:scale(1)}38%{color:#fff;transform:scale(1.5)}to{transform:scale(1)}}.sh-readout span{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#7d9aa3;margin-top:3px;font-size:8.5px}.sh-status{font-family:var(--font-mono);letter-spacing:.18em;color:var(--vital-bright);background:#35c98a29;border-radius:99px;grid-column:1/-1;justify-self:start;margin-top:4px;padding:3px 9px 2px;font-size:10px;box-shadow:inset 0 0 0 1px #5ce6a166}.sh-status[data-mood=critical]{color:#ff9d92;background:#ff6f6133;box-shadow:inset 0 0 0 1px #ff6f6180}.sh-status[data-mood=tense]{color:var(--amber);background:#ffc65c2e;box-shadow:inset 0 0 0 1px #ffc65c73}.sh-status.is-beat{animation:.4s ease-out beat}@keyframes beat{0%{transform:scale(1)}22%{transform:scale(1.09)}to{transform:scale(1)}}.sh-head-ctl{justify-content:flex-end;gap:8px;display:flex}.sh-toggle{background:linear-gradient(180deg, #fff, var(--gauze-2));box-shadow:0 3px 0 var(--steel-edge), 0 8px 14px -8px #001e1c80;border-radius:13px;align-items:center;gap:8px;padding:7px 12px 7px 9px;transition:transform .12s,box-shadow .12s;display:flex}.sh-toggle:hover{transform:translateY(-1px)}.sh-toggle:active{box-shadow:0 0 0 var(--steel-edge);transform:translateY(3px)}.sh-toggle-led{background:#b8c9cd;border-radius:50%;width:11px;height:11px;transition:all .2s;box-shadow:inset 0 0 0 2px #00000014}.sh-toggle.is-on .sh-toggle-led{background:var(--vital-bright);box-shadow:0 0 0 2px #0000000f inset, 0 0 10px var(--vital-bright)}.sh-toggle-text{text-align:left;flex-direction:column;line-height:1.05;display:flex}.sh-toggle-text b{color:var(--scrub-deep);font-size:13.5px;font-weight:700}.sh-toggle-text i{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:8.5px;font-style:normal}.sh-body{grid-template-columns:234px minmax(0,1fr) 308px;gap:12px;min-height:0;display:grid}.sh-tray{border-radius:var(--r-lg);box-shadow:var(--shadow-panel);border-bottom:4px solid var(--steel-edge);background:linear-gradient(#eef5f6 0%,#dae6ea 26%,#c6d6db 68%,#b0c4ca 100%);flex-direction:column;min-height:0;padding:0 8px 8px;display:flex;position:relative}.sh-tray-lip{border-radius:var(--r-lg) var(--r-lg) 6px 6px;background:linear-gradient(#fff,#cfdde2);justify-content:space-between;align-items:baseline;margin:0 -8px 8px;padding:9px 14px 8px;display:flex;box-shadow:0 2px 5px -1px #001e1c40}.sh-tray-lip span{letter-spacing:.02em;color:var(--scrub-deep);text-transform:uppercase;font-size:14px;font-weight:800}.sh-tray-lip i{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--scrub);background:#17857a21;border-radius:99px;padding:2px 6px;font-size:8.5px;font-style:normal}.sh-slots{flex-direction:column;gap:6px;min-height:0;padding-bottom:4px;display:flex;overflow-y:auto}.sh-slot{text-align:left;border-radius:14px;grid-template-columns:46px 1fr auto;align-items:center;gap:10px;padding:6px 9px 6px 6px;transition:background .16s,transform .16s cubic-bezier(.2,1.5,.4,1);display:grid;position:relative}.sh-slot-well{background:linear-gradient(#a9bcc2,#cfdde1);border-radius:12px;width:46px;height:46px;position:absolute;top:50%;left:6px;transform:translateY(-50%);box-shadow:inset 0 2px 5px #001e1c59,inset 0 -1px #ffffffb3}.sh-slot-tool{filter:drop-shadow(0 3px 2px #001e1c4d);place-items:center;width:46px;height:46px;transition:transform .22s cubic-bezier(.2,1.7,.4,1);display:grid;position:relative;transform:rotate(-7deg)}.sh-slot-tool svg{width:36px;height:36px;display:block}.sh-slot:hover{background:#ffffff8c}.sh-slot:hover .sh-slot-tool{transform:rotate(3deg)translateY(-5px)scale(1.1)}.sh-slot:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffffd9 48%,#0000 60%);border-radius:14px;position:absolute;inset:0}.sh-slot:hover:after{animation:.62s ease-out glint}@keyframes glint{0%{opacity:0;transform:translate(-40%)}40%{opacity:.9}to{opacity:0;transform:translate(45%)}}.sh-slot.is-held{box-shadow:0 0 0 2px var(--scrub) inset;background:#17857a24}.sh-slot.is-held .sh-slot-tool{opacity:.14;transform:rotate(-24deg)scale(.8)}.sh-slot-label{flex-direction:column;min-width:0;line-height:1.08;display:flex}.sh-slot-label b{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:700;overflow:hidden}.sh-slot-label i{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:8.5px;font-style:normal}.sh-slot-key{font-family:var(--font-mono);text-align:center;min-width:19px;color:var(--ink-soft);background:#fffc;border-radius:6px;padding:2px 4px 1px;font-size:10px;box-shadow:0 1px #00282433,inset 0 0 0 1px #00282414}.sh-tray-foot{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#5f7a80;text-align:center;border-top:1px dashed #00322e38;margin-top:8px;padding-top:8px;font-size:9px}.sh-kbd{background:#ffffffd9;border-radius:5px;padding:1px 5px;display:inline-block;box-shadow:0 1px #00282440}.sh-drawer{z-index:30;border-radius:var(--r-md);background:linear-gradient(180deg, #fff, var(--gauze-2));width:272px;box-shadow:0 4px 0 var(--steel-edge), 0 26px 40px -18px #001916b3;transform-origin:0;padding:8px;position:absolute;top:58px;left:calc(100% + 10px)}.sh-drawer.is-in{animation:.32s cubic-bezier(.2,1.5,.4,1) drawer}@keyframes drawer{0%{opacity:0;transform:translate(-18px)scaleX(.86)}to{opacity:1;transform:none}}.sh-drawer-lip{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:0 4px 7px;font-size:9px}.sh-drawer-items{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.sh-drawer[data-kind=films] .sh-drawer-items{grid-template-columns:repeat(2,1fr)}.sh-decal{aspect-ratio:1;background:linear-gradient(180deg, #fff, var(--gauze));box-shadow:0 2px 0 var(--gauze-3), 0 0 0 1px #00282412 inset;border-radius:11px;padding:3px;transition:transform .16s cubic-bezier(.2,1.8,.4,1)}.sh-decal svg{filter:drop-shadow(0 2px 2px #001e1c38);width:100%;height:100%;display:block}.sh-decal:hover{transform:translateY(-3px)scale(1.14)rotate(-6deg)}.sh-film{aspect-ratio:4/3;box-shadow:0 2px 0 var(--gauze-3), 0 0 0 2px #fff inset;background-position:50%;background-size:cover;border-radius:9px;transition:transform .16s}.sh-film:hover{transform:translateY(-3px)scale(1.05)}.sh-field{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.sh-lamp{pointer-events:none;z-index:3;width:min(330px,46%);position:absolute;top:-16px;left:50%;transform:translate(-50%)rotate(-2.5deg)}.sh-lamp-head{z-index:2;position:relative}.sh-lamp-head svg{filter:drop-shadow(0 10px 14px #0016148c);width:100%;height:auto;display:block}.sh-lamp-cone{z-index:1;opacity:.78;background:radial-gradient(36% 26% at 50% 3%,#fff4cdb3,#fff0be00 72%),conic-gradient(from 208deg at 50% 0,#0000 0deg,#fff3ca05 8deg,#fff3ca4d 34deg,#fff8dc61 72deg,#fff3ca4d 110deg,#fff3ca05 136deg,#0000 144deg);width:165%;height:560px;transition:opacity .4s;position:absolute;top:62%;left:50%;transform:translate(-50%);-webkit-mask-image:radial-gradient(70% 62% at 50% 0,#000 0%,#0006 48%,#0000 80%);mask-image:radial-gradient(70% 62% at 50% 0,#000 0%,#0006 48%,#0000 80%)}.sh-lamp.is-flash .sh-lamp-cone{animation:.9s ease-out lampflash}@keyframes lampflash{0%{opacity:.85}18%{opacity:1.6}to{opacity:.85}}.sh-drape{z-index:2;background:repeating-linear-gradient(45deg,#ffffff21 0 7px,#0000 7px 14px),repeating-linear-gradient(-45deg,#0a46400d 0 7px,#0000 7px 14px),linear-gradient(#b5dbcf,#9bc9bb 52%,#7fb2a3);border-radius:26px;flex:1;min-height:0;margin-top:82px;padding:17px;position:relative;box-shadow:0 26px 50px -24px #001412d9,inset 0 2px #ffffff8c}.sh-clip{background:linear-gradient(180deg, var(--steel-hi), var(--steel-lo));z-index:4;border-radius:5px;width:30px;height:15px;position:absolute;box-shadow:0 2px 4px #001e1c66}.sh-clip:after{content:"";background:#00282429;border-radius:3px;position:absolute;inset:4px 5px}.sh-clip-tl{top:-7px;left:22px;transform:rotate(-8deg)}.sh-clip-tr{top:-7px;right:22px;transform:rotate(7deg)}.sh-clip-bl{bottom:-7px;left:22px;transform:rotate(6deg)}.sh-clip-br{bottom:-7px;right:22px;transform:rotate(-6deg)}.sh-fenestration{background:#f2f7f4;border-radius:16px;height:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 6px #ffffffeb,inset 0 0 0 8px #0c504a24,inset 0 10px 26px -8px #001e1c59}.sh-fenestration:after{content:"";pointer-events:none;z-index:4;border:2px dashed #17857a4d;border-radius:13px;position:absolute;inset:4px}.sh-fenestration.is-xray:before{content:"";z-index:9;pointer-events:none;background:#fff;animation:.7s ease-out forwards xray;position:absolute;inset:0}@keyframes xray{0%{opacity:0}12%{opacity:.95}to{opacity:0}}#sh-stage{position:absolute;inset:0}#sh-stage>*{width:100%;height:100%;display:block}.sh-arm{z-index:5;cursor:none;background:radial-gradient(80% 60%,#35c98a12,#0000 70%);animation:1.6s ease-in-out infinite armpulse;position:absolute;inset:0;box-shadow:inset 0 0 0 3px #35c98a8c}@keyframes armpulse{0%,to{box-shadow:inset 0 0 0 3px #35c98a66}50%{box-shadow:inset 0 0 0 6px #35c98abf}}.sh-fx{z-index:6;pointer-events:none;position:absolute;inset:0;overflow:hidden}.sh-hint{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#ffffff1a;border-radius:99px;align-items:center;gap:9px;margin-top:10px;padding:8px 14px;display:flex;box-shadow:inset 0 0 0 1px #ffffff29}.sh-hint p{color:#d8ece6;margin:0;font-size:13.5px;font-weight:600}.sh-hint-dot{background:var(--vital-bright);width:8px;height:8px;box-shadow:0 0 10px var(--vital-bright);border-radius:50%;flex:none}.sh-hint.is-new p{animation:.36s cubic-bezier(.2,1.5,.4,1) hintin}@keyframes hintin{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.sh-chart{border-radius:var(--r-lg);background:linear-gradient(180deg, #fff, var(--gauze) 40%, var(--gauze-2));min-height:0;box-shadow:var(--shadow-panel);border-bottom:4px solid var(--gauze-3);flex-direction:column;gap:7px;padding:10px;display:flex}.sh-chart-head{border-bottom:2px dashed var(--gauze-3);justify-content:space-between;align-items:flex-start;gap:8px;padding-bottom:6px;display:flex}.sh-chart-kicker{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:8.5px;display:block}.sh-chart-head b{color:var(--scrub-deep);margin-top:2px;font-size:17px;font-weight:700;line-height:1.15;display:block}.sh-chart-badge{font-family:var(--font-mono);letter-spacing:.12em;background:var(--scrub);color:#eafff9;border-radius:7px;flex:none;padding:4px 8px 3px;font-size:9.5px}.sh-chart-empty{text-align:center;flex:1;grid-template-columns:1fr;align-content:center;justify-items:center;gap:11px;padding:12px 6px;display:grid}.sh-chart-body{flex-direction:column;flex:1;gap:7px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.sh-chart-body.is-in{animation:.34s cubic-bezier(.2,1.4,.4,1) chartin}@keyframes chartin{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.sh-card{border-radius:var(--r-md);box-shadow:0 2px 0 var(--gauze-3), 0 0 0 1px #00322e0d inset;background:#fff;padding:8px 10px 9px}.sh-card h3{color:var(--scrub-deep);align-items:baseline;gap:6px;margin:0 0 6px;font-size:12.5px;font-weight:700;display:flex}.sh-card h3 i{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:8.5px;font-style:normal}.sh-vials{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.sh-vial{border-radius:9px;justify-items:center;gap:2px;padding:3px 0 2px;transition:transform .16s cubic-bezier(.2,1.8,.4,1);display:grid;position:relative}.sh-vial:hover{background:var(--gauze);transform:translateY(-4px)}.sh-vial-cap{background:linear-gradient(180deg, var(--steel-hi), var(--steel-lo));border-radius:3px 3px 1px 1px;width:13px;height:5px}.sh-vial-body{width:18px;height:26px;box-shadow:0 0 0 1.5px var(--gauze-3) inset, 0 2px 4px -2px #00282466;background:#ffffffe6;border-radius:3px 3px 8px 8px;position:relative;overflow:hidden}.sh-vial-fluid{border-radius:2px 2px 6px 6px;position:absolute;inset:38% 2px 2px}.sh-vial-body:after{content:"";background:#ffffffbf;border-radius:2px;width:3px;height:16px;position:absolute;top:4px;left:3px}.sh-vial-name{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:6.5px;overflow:hidden}.sh-vial.is-shot .sh-vial-fluid{animation:.42s ease-in plunge}@keyframes plunge{0%{inset:38% 2px 2px}55%{inset:82% 2px 2px}to{inset:38% 2px 2px}}.sh-vial.is-shot{animation:.42s cubic-bezier(.2,1.6,.4,1) vialkick}@keyframes vialkick{0%{transform:translateY(0)}35%{transform:translateY(-9px)rotate(-7deg)}to{transform:translateY(0)}}.sh-drip{grid-template-columns:30px 14px 1fr;align-items:stretch;gap:8px;height:60px;display:grid}.sh-drip-bag{box-shadow:0 0 0 1.5px var(--gauze-3) inset;background:#8ecdf029;border-radius:7px 7px 12px 12px;align-items:flex-end;display:flex;position:relative;overflow:hidden}.sh-drip-fluid{background:linear-gradient(#b6e2f7,#7fc4e8);width:100%;height:100%;transition:height .14s ease-out}.sh-drip-tube{justify-content:center;display:flex;position:relative}.sh-drip-tube:before{content:"";background:linear-gradient(180deg, var(--gauze-3), #d5e4dd66);border-radius:2px;width:3px;height:100%}.sh-droplet{background:#7fc4e8;border-radius:50% 50% 60% 60%;width:6px;height:8px;animation:1.9s linear infinite drip;position:absolute;top:0}@keyframes drip{0%{opacity:0;transform:translateY(0)scale(.6)}12%{opacity:1}88%{opacity:1}to{opacity:0;transform:translateY(50px)scale(1)}}.sh-drip-ctl{flex-direction:column;justify-content:center;gap:6px;display:flex}.sh-gauges{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sh-gauge{justify-items:center;gap:3px;display:grid}.sh-gauge-wide{grid-template-columns:1fr auto;align-items:center;gap:9px}.sh-dial{width:100%;max-width:66px}.sh-dial svg{width:100%;display:block;overflow:visible}.sh-dial-arc{fill:none;stroke:var(--gauze-3);stroke-width:6px;stroke-linecap:round}.sh-dial-needle{stroke:var(--scrub);stroke-width:3.4px;stroke-linecap:round;transform-origin:30px 34px;transition:transform .1s ease-out}.sh-gauge output,.sh-drip-ctl output{font-family:var(--font-mono);color:var(--scrub-deep);background:var(--gauze);text-align:center;border-radius:6px;min-width:44px;padding:2px 7px 1px;font-size:11px}input[type=range]{appearance:none;cursor:grab;background:0 0;width:100%;height:20px;margin:0}input[type=range]:active{cursor:grabbing}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(180deg, var(--gauze-3), #c3d6cf);border-radius:99px;height:8px;box-shadow:inset 0 1px 2px #00282440}input[type=range]::-webkit-slider-thumb{appearance:none;background:radial-gradient(circle at 34% 30%, var(--steel-hi), var(--steel) 55%, var(--steel-lo));width:19px;height:19px;box-shadow:0 2px 0 var(--steel-edge), 0 3px 6px -2px #001e1c99;border-radius:50%;margin-top:-5.5px;transition:transform .12s cubic-bezier(.2,1.8,.4,1)}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.16)}input[type=range]:active::-webkit-slider-thumb{background:radial-gradient(circle at 34% 30%, #fff, var(--scrub-soft) 60%, var(--scrub));transform:scale(.94)}input[type=range]::-moz-range-track{background:var(--gauze-3);border-radius:99px;height:8px}input[type=range]::-moz-range-thumb{background:radial-gradient(circle at 34% 30%, var(--steel-hi), var(--steel) 55%, var(--steel-lo));width:18px;height:18px;box-shadow:0 2px 0 var(--steel-edge);border:0;border-radius:50%}.sh-log{border-radius:var(--r-md);background:linear-gradient(#fffdf4,#fdf6e3);flex:none;padding:8px 10px 9px;box-shadow:0 2px #eadfc0,inset 0 0 0 1px #78642814}.sh-log-lip{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#a4956b;margin-bottom:5px;font-size:8.5px}.sh-log ul{flex-direction:column;gap:3px;max-height:74px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.sh-log li{font-family:var(--font-mono);color:#6c6244;white-space:nowrap;text-overflow:ellipsis;gap:7px;font-size:10px;animation:.3s ease-out logline;display:flex;overflow:hidden}.sh-log li span{color:#bcae82;flex:none}@keyframes logline{0%{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}.sh-rail{border-radius:var(--r-lg);background:linear-gradient(180deg, var(--steel-hi), var(--steel) 55%, #b6c8ce);box-shadow:var(--shadow-panel);border-bottom:4px solid var(--steel-edge);grid-auto-columns:1fr;grid-auto-flow:column;gap:9px;padding:9px 11px;display:grid}.sh-rail.is-shake{animation:.42s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}.sh-proc{text-align:left;background:linear-gradient(180deg, #fff, var(--gauze-2));box-shadow:0 3px 0 var(--steel-edge), 0 9px 16px -10px #001e1c99;border-radius:14px;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:8px 10px;transition:transform .12s cubic-bezier(.2,1.6,.4,1),box-shadow .12s,filter .16s;display:grid;position:relative}.sh-proc:hover:not(:disabled){box-shadow:0 5px 0 var(--steel-edge), 0 14px 22px -12px #001e1cb3;transform:translateY(-2px)}.sh-proc:active:not(:disabled){box-shadow:0 0 0 var(--steel-edge);transform:translateY(3px)}.sh-proc:disabled{filter:grayscale(.75);opacity:.45;cursor:not-allowed;box-shadow:0 3px #7e959d80}.sh-proc-icon{place-items:center;width:34px;height:34px;display:grid}.sh-proc-icon svg{width:30px;height:30px;transition:transform .2s cubic-bezier(.2,1.7,.4,1);display:block}.sh-proc:hover:not(:disabled) .sh-proc-icon svg{transform:rotate(-8deg)scale(1.12)}.sh-proc-label{flex-direction:column;min-width:0;line-height:1.05;display:flex}.sh-proc-label b{color:var(--ink);white-space:nowrap;font-size:15px;font-weight:700}.sh-proc-label i{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:8.5px;font-style:normal;overflow:hidden}.sh-proc[data-tone=danger]{background:linear-gradient(#fff2ef,#ffdcd6);box-shadow:0 3px #d98c81,0 9px 16px -10px #5a140c99}.sh-proc[data-tone=danger] .sh-proc-label b{color:#a83c2e}.sh-proc[data-tone=danger]:hover:not(:disabled){box-shadow:0 5px #d98c81,0 14px 22px -12px #5a140cb3}.sh-proc[data-tone=primary]{background:linear-gradient(#35c98a,#17857a);box-shadow:0 3px #0b4f49,0 9px 18px -10px #003c32cc}.sh-proc[data-tone=primary] .sh-proc-label b{color:#fff}.sh-proc[data-tone=primary] .sh-proc-label i{color:#ffffffbf}.sh-proc[data-tone=primary] .sh-slot-key{background:#ffffffd9}.sh-proc[data-tone=primary]:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 38%,#fff6 50%,#0000 62%);border-radius:14px;animation:3.4s ease-in-out infinite sweep;position:absolute;inset:0}@keyframes sweep{0%,62%{opacity:0;transform:translate(-38%)}72%{opacity:1}90%,to{opacity:0;transform:translate(38%)}}.sh-hand{z-index:90;pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.sh-hand>svg,.sh-hand-decal,.sh-hand-film{filter:drop-shadow(0 6px 6px #00191673);width:62px;height:62px;transition:transform .14s cubic-bezier(.2,1.7,.4,1);display:block;position:absolute;top:11px;left:15px;transform:rotate(9deg)}.sh-hand-decal svg{width:100%;height:100%;display:block}.sh-hand-film{background-position:50%;background-size:cover;border-radius:8px;box-shadow:0 0 0 3px #fff}.sh-hand.is-press>svg,.sh-hand.is-press .sh-hand-decal,.sh-hand.is-press .sh-hand-film{transform:rotate(2deg)scale(.86)}.sh-hand:before{content:"";border:2px solid #35c98ae6;border-radius:50%;width:26px;height:26px;animation:1.4s ease-in-out infinite crosshair;position:absolute;top:-13px;left:-13px;box-shadow:0 0 12px #35c98a99}.sh-hand:after{content:"";background:#fff;border-radius:50%;width:3px;height:3px;position:absolute;top:-1.5px;left:-1.5px}@keyframes crosshair{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.45;transform:scale(1.28)}}.sh-ring{border:3px solid var(--vital-bright);border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;animation:.7s cubic-bezier(.15,.8,.3,1) forwards ring;position:absolute}@keyframes ring{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(11)}}.sh-spark{border-radius:50%;width:8px;height:8px;margin:-4px 0 0 -4px;animation:.8s cubic-bezier(.2,.7,.3,1) forwards spark;position:absolute}@keyframes spark{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--dx), var(--dy)) scale(.1);opacity:0}}.sh-confetti{pointer-events:none;font-size:22px;line-height:1;animation:1.7s cubic-bezier(.2,.7,.35,1) forwards confetti;position:absolute}@keyframes confetti{0%{opacity:0;transform:translate(0)rotate(0)}12%{opacity:1}55%{transform:translate(calc(var(--dx) * .75), var(--dy)) rotate(var(--rot));opacity:1}to{transform:translate(var(--dx), 120px) rotate(var(--rot));opacity:0}}.sh-droplet-fly{z-index:95;pointer-events:none;border-radius:50% 50% 60% 60%;width:12px;height:14px;margin:-7px 0 0 -6px;animation:.6s cubic-bezier(.4,0,.5,1) forwards fly;position:fixed}@keyframes fly{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--tx), var(--ty)) scale(.3);opacity:0}}.sh-toasts{z-index:120;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:112px;right:18px}.sh-toast{max-width:320px;color:var(--ink);background:linear-gradient(180deg, #fff, var(--gauze-2));box-shadow:0 3px 0 var(--gauze-3), 0 18px 30px -14px #001916b3;border-left:5px solid var(--scrub);border-radius:13px;padding:10px 15px;font-size:13.5px;font-weight:600;animation:.34s cubic-bezier(.2,1.5,.4,1) toastin}.sh-toast.is-good{border-left-color:var(--vital)}.sh-toast.is-warn{border-left-color:var(--alarm)}.sh-toast.is-out{animation:.4s ease-in forwards toastout}@keyframes toastin{0%{opacity:0;transform:translate(30px)scale(.9)}to{opacity:1;transform:none}}@keyframes toastout{to{opacity:0;transform:translate(24px)scale(.94)}}.sh-trace{z-index:200;cursor:none;touch-action:none;position:fixed;inset:0}.sh-trace-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(70% 60%,#041e1c73,#031614db);position:absolute;inset:0}.sh-trace[data-dev=out] .sh-trace-scrim{background:radial-gradient(70% 60%,#3c0a0673,#1e0503e6)}.sh-trace.is-in{animation:.28s ease-out tracein}.sh-trace.is-out{animation:.22s ease-in forwards traceout}@keyframes tracein{0%{opacity:0}to{opacity:1}}@keyframes traceout{to{opacity:0}}.sh-trace.sh-nudge .sh-node-a{animation:.4s ease-in-out nudge}@keyframes nudge{0%,to{transform-box:fill-box}}.sh-trace-svg{width:100%;height:100%;position:absolute;inset:0}.sh-band{fill:#35c98a1a;stroke:#35c98a73;stroke-width:2px;stroke-dasharray:7 8;transition:fill .16s,stroke .16s}.sh-trace[data-dev=out] .sh-band{fill:#ff6f6124;stroke:#ff6f61b3}.sh-guide{stroke:#ffffff8c;stroke-width:2.5px;stroke-dasharray:13 11;stroke-linecap:round;animation:.9s linear infinite march}@keyframes march{to{stroke-dashoffset:-24px}}.sh-done{stroke:var(--vital-bright);stroke-width:6px;stroke-linecap:round;filter:drop-shadow(0 0 8px #5ce6a1d9)}.sh-trace[data-kind=suture] .sh-done{stroke:#ffe6a8;filter:drop-shadow(0 0 8px #ffd67acc)}.sh-stitch{stroke:#ffd76a;stroke-width:4px;stroke-linecap:round;filter:drop-shadow(0 0 5px #ffc65cb3);animation:.3s cubic-bezier(.2,1.7,.4,1) stitchin}@keyframes stitchin{0%{opacity:0;stroke-width:11px}to{opacity:1;stroke-width:4px}}.sh-node-ring{fill:none;stroke:var(--vital-bright);stroke-width:2.5px}.sh-node-a .sh-node-ring{transform-origin:50%;animation:1.3s ease-in-out infinite nodepulse}@keyframes nodepulse{0%,to{r:15;opacity:.95}50%{r:21;opacity:.35}}.sh-node-dot{fill:var(--vital-bright)}.sh-node-label{fill:#cdf6e4;letter-spacing:.18em;font-family:DM Mono,monospace;font-size:10px}.sh-trace.is-tracing .sh-node-label{opacity:0;transition:opacity .2s}.sh-tip-icon{filter:drop-shadow(0 5px 7px #0000008c);pointer-events:none;transition:transform 80ms linear}.sh-tip-cross{stroke:#ffffffe6;stroke-width:1.6px;stroke-linecap:round}.sh-tip-ring{fill:none;stroke:#fff;stroke-width:2px}.sh-tip-dot{fill:#fff}.sh-trace[data-dev=out] .sh-tip-ring,.sh-trace[data-dev=out] .sh-tip-cross{stroke:var(--alarm)}.sh-ghost{fill:none;stroke:#ff6f6159;stroke-width:2px;opacity:0;transition:opacity .2s}.sh-trace[data-dev=out] .sh-ghost{opacity:1}.sh-trace-hud{cursor:auto;background:linear-gradient(#0c2826f0,#061a19f0);border-radius:18px;grid-template-columns:minmax(200px,300px) minmax(240px,340px) auto;align-items:center;gap:18px;padding:14px 18px;display:grid;position:absolute;bottom:5vh;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #5ce6a140,0 26px 50px -20px #000c}.sh-trace-titles b{letter-spacing:.04em;color:var(--vital-bright);font-size:19px;font-weight:800;display:block}.sh-trace[data-kind=suture] .sh-trace-titles b{color:#ffd76a}.sh-trace-titles span{color:#9dc0b7;margin-top:3px;font-size:12.5px;line-height:1.35;display:block}.sh-meter label{font-family:var(--font-mono);letter-spacing:.2em;color:#7fa79c;margin-bottom:4px;font-size:8.5px;display:block}.sh-meter-track{background:#ffffff17;border-radius:99px;height:10px;overflow:hidden}.sh-meter-track i{background:linear-gradient(90deg, var(--vital), var(--vital-bright));border-radius:99px;width:100%;height:100%;transition:width 90ms linear,background .2s;display:block}.sh-meter-track[data-level=warn] i{background:linear-gradient(90deg, #e8a33d, var(--amber))}.sh-meter-track[data-level=bad] i{background:linear-gradient(90deg, #d9412f, var(--alarm))}.sh-trace-nums{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:9px;display:grid}.sh-trace-nums div{flex-direction:column;display:flex}.sh-trace-nums b{font-family:var(--font-mono);color:#eafff8;font-size:15px}.sh-trace-nums span{font-family:var(--font-mono);letter-spacing:.14em;color:#6e938a;margin-top:2px;font-size:7.5px}.sh-abort{color:#ffd2cc;background:#ff6f6129;border-radius:11px;align-self:center;padding:9px 14px;font-size:12.5px;font-weight:700;transition:background .15s;box-shadow:inset 0 0 0 1px #ff6f6166}.sh-abort:hover{background:#ff6f614d}.sh-stamp{letter-spacing:.06em;pointer-events:none;border-radius:12px;padding:12px 26px;font-size:34px;font-weight:800;animation:.42s cubic-bezier(.2,1.8,.35,1) stamp;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%)rotate(-9deg)}.sh-stamp.is-ok{color:#7df3c0;background:#062822b3;box-shadow:0 0 0 5px #7df3c0d9,0 0 40px #35c98a80}.sh-stamp.is-bad{color:#ff9d92;background:#2e0a08b3;box-shadow:0 0 0 5px #ff6f61d9,0 0 40px #ff6f6159}@keyframes stamp{0%{opacity:0;transform:translate(-50%,-50%)rotate(-9deg)scale(3.2)}60%{opacity:1}75%{transform:translate(-50%,-50%)rotate(-9deg)scale(.92)}to{opacity:1;transform:translate(-50%,-50%)rotate(-9deg)scale(1)}}.sh-boot{z-index:300;background:linear-gradient(180deg, var(--wall-3), var(--wall-2));place-items:center;transition:opacity .6s,visibility .6s;display:grid;position:fixed;inset:0}.sh-boot.is-done{opacity:0;visibility:hidden}.sh-boot-inner{text-align:center;justify-items:center;gap:10px;display:grid}.sh-boot-lamp{background:radial-gradient(circle at 50% 40%,#fff9df,#ffd76a 45%,#ffc65c00 72%);border-radius:50%;width:120px;height:120px;animation:1.8s ease-in-out infinite bootlamp}@keyframes bootlamp{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}.sh-boot-inner b{color:var(--scrub-soft);font-size:28px;font-weight:800}.sh-boot-inner span{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#6f958e;font-size:11px}@media (height<=780px){.sh-brand-text h1{font-size:22px}.sh-slot{padding:4px 8px 4px 5px}.sh-slot-well,.sh-slot-tool{width:40px;height:40px}.sh-slot{grid-template-columns:40px 1fr auto}.sh-drip{height:62px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}:focus-visible{outline:3px solid var(--vital-bright);outline-offset:2px;border-radius:8px}.sh-empty-art{filter:drop-shadow(0 6px 10px #00282417);width:178px;height:auto}.sh-chart-empty p{color:var(--scrub-deep);max-width:none;margin:0;font-size:15px;font-weight:700}.sh-prep{counter-reset:prep;flex-direction:column;gap:7px;width:100%;margin:0;padding:0;list-style:none;display:flex}.sh-prep li{text-align:left;color:var(--ink-soft);box-shadow:0 2px 0 var(--gauze-3);background:#fff;border-radius:11px;grid-template-columns:21px 1fr;align-items:center;gap:9px;padding:7px 9px;font-size:12.5px;line-height:1.25;display:grid}.sh-prep li b{width:21px;height:21px;font-family:var(--font-mono);color:#eafff9;background:var(--scrub);border-radius:50%;place-items:center;font-size:11px;display:grid}.sh-prep-note{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:#17857a17;border-radius:9px;padding:6px 10px;font-size:9px}.sh-trace-titles i{font-family:var(--font-mono);letter-spacing:.24em;color:#6e938a;margin-bottom:3px;font-size:8.5px;font-style:normal;display:block}.sh-proc.is-kick .sh-proc-icon svg{animation:.55s cubic-bezier(.25,1.3,.35,1) proc-spin-ccw}.sh-proc.is-kick-cw .sh-proc-icon svg{animation:.55s cubic-bezier(.25,1.3,.35,1) proc-spin-cw}@keyframes proc-spin-ccw{0%{transform:rotate(0)scale(1.2)}to{transform:rotate(-360deg)scale(1)}}@keyframes proc-spin-cw{0%{transform:rotate(0)scale(1.2)}to{transform:rotate(360deg)scale(1)}}.sh-sweep{pointer-events:none;background:linear-gradient(90deg,#0000,#5ce6a16b,#0000);width:30%;position:absolute;top:0;bottom:0}.sh-sweep.is-left{animation:.55s cubic-bezier(.3,.7,.3,1) forwards sweep-left}.sh-sweep.is-right{animation:.55s cubic-bezier(.3,.7,.3,1) forwards sweep-right}@keyframes sweep-left{0%{transform:translate(340%)}to{transform:translate(-110%)}}@keyframes sweep-right{0%{transform:translate(-110%)}to{transform:translate(340%)}}
