.sound-settings{display:grid;gap:16px;margin:24px 0;text-align:left;min-width:0}.sound-settings label{display:flex;justify-content:space-between;align-items:center;gap:16px;color:#d5e5df}.sound-settings input{accent-color:#9de5bf}.sound-settings input[type=checkbox]{width:20px;height:20px;cursor:pointer}.sound-settings input[type=range]{width:100%;min-width:0;cursor:pointer}.sound-settings output{color:#92a9ac;font-variant-numeric:tabular-nums}.sound-settings button:disabled,.sound-settings input:disabled{opacity:.4;cursor:default}.music-settings{border-top:1px solid #536c7066;padding-top:20px}.music-track{margin:0!important;font-size:12px!important;color:#92a9ac!important}#settings-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}:root{color-scheme:dark;--bg:#101819;--panel:#1b282a;--edge:#334447;--txt:#edf2e9;--dim:#a2b3b3;--accent:#b7e98c;--danger:#ff9688;font-family:Inter,Segoe UI,system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:radial-gradient(ellipse at 12% 0%,#2b434355,transparent 60%),var(--bg);color:var(--txt);min-height:100dvh}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{transition:background .15s,border-color .15s,transform .15s}button:active{transform:translateY(1px)}[hidden]{display:none!important}.app{max-width:1020px;padding:24px 32px 40px;margin:auto}.app-header{display:flex;align-items:center;gap:18px;height:64px;margin-bottom:32px}.brand{display:flex;align-items:center;gap:9px;color:var(--txt);font-size:30px;letter-spacing:-1.5px;font-weight:750;text-decoration:none}.brand-dot{color:var(--accent);margin-left:-9px}.brand-mark{display:grid;grid-template-columns:repeat(2,8px);gap:3px;transform:rotate(-8deg);margin-right:4px}.brand-mark i{height:8px;background:var(--accent);border-radius:2px}.brand-mark i:nth-child(2){background:#edc47b}.brand-mark i:nth-child(3){opacity:.4}.header-tools{margin-left:auto;display:flex;align-items:center;gap:8px}.nav-button,.help-button,.quiet{border:0;background:transparent;color:var(--dim);min-height:44px;padding:8px 12px;font-size:13px}.round-toggle{border:1px solid var(--edge);border-radius:50%;width:44px;padding:0;font-size:20px}.round-toggle[aria-pressed=false]{opacity:.45}.round-toggle[aria-pressed=true]{color:var(--txt);border-color:#4c6265}#marks{font-size:15px;font-weight:750;letter-spacing:.5px}#marks[aria-pressed=true]{color:var(--bg);background:var(--accent);border-color:var(--accent)}.nav-button:hover,.quiet:hover{color:var(--txt)}#home{padding-left:0;font-size:24px}#home span{font-size:12px;margin-left:5px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--dim);font-weight:650;margin:0 0 10px}h1{font-size:38px;letter-spacing:-1.3px;font-weight:580;margin:0;line-height:1.15}h2{font-size:14px;font-weight:600;margin:0}.home-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0 30px}.chapters{display:grid;grid-template-columns:1fr 1fr;gap:18px}.chapter-card{position:relative;text-align:left;display:flex;flex-direction:column;border:1px solid var(--edge);border-radius:23px;padding:24px;background:radial-gradient(ellipse at 90% 0%,color-mix(in srgb,var(--chapter) 12%,transparent),transparent 65%),#192628;min-height:276px;overflow:hidden}.chapter-card:hover{border-color:var(--chapter);transform:translateY(-2px)}.chapter-top{display:flex;justify-content:space-between;align-items:center}.chapter-top .eyebrow{color:var(--chapter)}.chapter-arrow{color:var(--chapter);font-size:22px}.chapter-art{display:flex;align-items:center;height:72px;margin:6px 0 12px;color:var(--chapter)}.chapter-art svg{width:52px;height:52px;filter:drop-shadow(0 8px 15px #0004)}.chapter-name{font-size:25px;letter-spacing:-.6px;font-weight:600}.chapter-subtitle{font-size:12px;color:var(--dim);margin-top:7px}.chapter-progress{display:flex;align-items:center;gap:16px;margin-top:23px;color:var(--dim);font-size:11px}.progress-track{height:3px;background:#ffffff12;flex:1;border-radius:3px;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--chapter)}.subtitle{font-size:14px;color:var(--dim);margin:12px 0 28px}.chapter-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.level-card{position:relative;text-align:left;display:flex;flex-direction:column;gap:18px;padding:22px;border:1px solid var(--edge);background:var(--panel);border-radius:16px;min-height:146px}.level-card:hover{border-color:var(--accent)}.level-number{font-size:29px;font-weight:400;letter-spacing:-1px;color:var(--dim)}.level-name{font-size:13px;padding-right:16px}.level-check{position:absolute;right:20px;top:27px;color:var(--dim)}.level-card.solved .level-check,.level-card.solved .level-number{color:var(--accent)}.level-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 24px;gap:16px}.level-heading h1{font-size:28px;letter-spacing:-.8px}.help-button{border:1px solid var(--edge);border-radius:50%;width:40px;min-height:40px;font-size:17px}.play-layout{display:grid;grid-template-columns:minmax(0,560px) minmax(190px,250px);gap:0 30px;justify-content:space-between}.board-panel{min-width:0}.delivery-bar{display:flex;align-items:center;gap:15px;margin-bottom:18px;min-height:64px}.source-preview{padding-right:15px;border-right:1px solid var(--edge);flex-shrink:0}.source-preview .eyebrow{font-size:8px;letter-spacing:1px}.source-preview>div{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--dim)}.orders{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;flex:1}.station-order{display:flex;align-items:center;gap:7px}.station-letter{font-size:10px;color:#9cdbf7}.target-list{display:flex;gap:5px;flex-wrap:wrap}.ord{position:relative;border:1px solid #456064;border-radius:8px;padding:4px;background:#101b1d;line-height:0}.ord svg{width:38px;height:38px}.ord.got{border-color:var(--accent)}.ord.got svg{opacity:.4}.delivery-check{display:none}.ord.got .delivery-check{display:grid;place-items:center;position:absolute;right:-3px;bottom:-3px;background:var(--accent);color:var(--bg);font-size:11px;line-height:16px;border-radius:50%;width:16px;height:16px}.board-frame{background:#0b1315;border:1px solid #3d5558;border-radius:18px;padding:11px;box-shadow:0 16px 42px #0003}.board-frame.art{background:none;border-radius:0;padding:0;box-shadow:none;border:var(--band,14px) solid transparent;border-image:var(--board-frame) var(--board-slice) round}.art #grid{gap:0;background:var(--board-tile) 0 0/calc(100%/var(--cols)) calc(100%/var(--rows)) repeat}.art .cell{background:none;border:0;border-radius:0}.art .cell.empty{background:none}.art .cell.wall{background:var(--board-blocked) 0 0/100% 100% no-repeat;box-shadow:none}.art .cell.pave{background:#0f1a1c66;box-shadow:inset 0 0 0 2px #2c3a3c99}.art .cell.snk{background:#79c9ee26;box-shadow:inset 0 0 0 2px #79c9ee66}.art .cell.belt{background-image:none}.board-surface{position:relative}#grid{display:grid;gap:5px}.cell{position:relative;aspect-ratio:1;min-width:0;padding:0;border:1px solid #40545770;background:#243638;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}.cell.empty{background:radial-gradient(circle,#59707560 .8px,transparent 1px) center/12px 12px,#1d2c2e}.cell.wall{background:repeating-linear-gradient(-45deg,#0e1719 0,#0e1719 5px,#1a2527 5px,#1a2527 7px);border-color:#172325;box-shadow:inset 0 0 0 4px #101819;cursor:not-allowed}.cell.pave{background:#182326;box-shadow:inset 0 0 0 3px #2c3a3c}.cell.src{background:#2b3831;border-color:#88a67670}.cell.snk{background:#26373e;border-color:#79c9ee80}.cell>svg{width:42%;height:42%;max-width:38px;max-height:38px}.tile-tag{position:absolute;bottom:4px;left:6px;font-size:9px;font-weight:700;letter-spacing:1px;color:var(--dim)}.snk .tile-tag{color:#9cdbf7}.src .tile-tag{color:var(--accent)}.chev{position:absolute;width:0;height:0;z-index:1;opacity:.8}.chev.alt{opacity:.35}.chev.d0{right:4px;top:50%;margin-top:-4px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid var(--accent)}.chev.d1{bottom:4px;left:50%;margin-left:-4px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--accent)}.chev.d2{left:4px;top:50%;margin-top:-4px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-right:5px solid var(--accent)}.chev.d3{top:4px;left:50%;margin-left:-4px;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:5px solid var(--accent)}.board-meta{display:flex;justify-content:space-between;gap:14px;margin:13px 2px 0;font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums}.board-meta #ops{margin-left:auto}.board-meta .over{color:var(--txt)}.level-brief{margin:9px 0 0;font-size:13px;line-height:1.55;color:var(--dim);max-width:52ch}.result{border:1px solid #3c5a44;background:#1a2a22;border-radius:14px;padding:13px 15px;margin:0 0 12px}.result-title{margin:0;font-size:18px;font-weight:600;color:var(--accent)}.result-stats{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;margin-top:9px;font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums}.chip{border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600;letter-spacing:.2px;background:#2b3d33;color:var(--dim)}.chip.under{background:var(--accent);color:var(--bg)}.chip.at{background:#3f6b4c;color:#e6f7dc}.result-best{width:100%;color:#7f9490}.level-best{font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums;min-height:15px}.level-best .chip{padding:2px 7px;font-size:10px}.toolkit{padding:18px;background:#192628;border:1px solid var(--edge);border-radius:17px;align-self:start}.toolkit-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:14px}.toolkit-heading span{font-size:9px;color:var(--dim)}.tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.tool{position:relative;min-height:68px;background:#142123;border:1px solid #33494b;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 3px;gap:6px}.tool.on{background:#b7e98c13;border-color:var(--accent)}.tool:hover{border-color:#90ab93}.tool.out{opacity:.45}.tool-name{font-size:9px;white-space:nowrap;color:var(--dim)}.tool.on .tool-name{color:var(--accent)}.stock{position:absolute;right:5px;top:4px;font-size:9px;color:var(--dim)}.tool-help{border-top:1px solid var(--edge);margin-top:13px;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px}.tool-help strong{font-size:11px;color:var(--accent);font-weight:500}.operator-preview{display:flex;align-items:center;gap:8px;color:var(--dim)}.play-actions{grid-column:1;min-width:0}.transport{display:flex;gap:10px}.primary,.secondary{border-radius:12px;min-height:50px;padding:12px 22px;border:1px solid var(--edge);font-size:14px;font-weight:600}.primary{background:var(--accent);border-color:var(--accent);color:#213324;flex:1}.primary:hover{background:#cef4aa}.secondary{background:transparent;color:var(--dim)}.status{font-size:12px;line-height:1.6;color:var(--dim);min-height:24px;margin:12px 0}.status:empty{min-height:0;margin:10px 0}.status.err{color:var(--danger)}.status.win{color:var(--accent);font-size:18px;font-weight:600}.next-level{width:100%;margin-bottom:10px}dialog{background:#1b2a2c;color:var(--txt);border:1px solid var(--edge);border-radius:20px;max-width:420px;width:calc(100% - 32px);padding:28px}dialog::backdrop{background:#050e11bb;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}dialog p{font-size:13px;line-height:1.7;color:var(--dim)}dialog h2{font-size:22px;margin-top:10px}dialog h3{font-size:14px}dialog form{float:right}.help-close{font-size:24px;min-height:30px;padding:0}#packages{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.package{position:absolute;top:0;left:0;will-change:transform;pointer-events:none}.package>.item{width:100%;height:100%;filter:drop-shadow(0 3px 3px #0006)}.cell svg,.cell span{pointer-events:none}#grid.can-drag{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair}#grid.can-drag .cell{touch-action:none}.cell.belt{background-image:repeating-linear-gradient(0deg,transparent 0 10px,#50696b14 10px 12px)}@media (max-width:700px){.app{max-width:500px;padding:12px 16px max(24px,env(safe-area-inset-bottom))}.app-header{height:48px;margin-bottom:24px}.brand{font-size:26px}.home-heading{margin:12px 0 22px}h1{font-size:30px}.home-heading .eyebrow{font-size:9px}.chapters{grid-template-columns:1fr;gap:12px}.chapter-card{min-height:170px;padding:20px 22px;display:grid;grid-template-columns:1fr 66px}.chapter-top{grid-column:1/-1}.chapter-top .eyebrow{font-size:9px}.chapter-art{grid-column:2;grid-row:2/4;height:auto;margin:0;justify-content:flex-end}.chapter-art svg{width:42px;height:42px}.chapter-name{grid-column:1;grid-row:2;font-size:22px;margin-top:14px}.chapter-subtitle{grid-column:1;grid-row:3;font-size:11px;margin-top:5px}.chapter-progress{grid-column:1/-1;margin-top:17px}.chapter-levels{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:24px}.level-card{min-height:128px;padding:19px;gap:14px}.level-name{font-size:12px}.level-heading{margin-bottom:16px}.level-heading h1{font-size:25px}.eyebrow{font-size:9px}.play-layout{display:flex;flex-direction:column;gap:12px}.delivery-bar{margin-bottom:12px;gap:10px;min-height:50px}.source-preview{padding-right:10px}.source-preview .eyebrow{font-size:7px}.source-preview svg{width:28px;height:28px}.orders{gap:8px}.ord{padding:3px;border-radius:6px}.ord svg{width:29px;height:29px}.station-order,.target-list{gap:4px}.board-frame{padding:8px;border-radius:14px}#grid{gap:4px}.cell{border-radius:6px}.board-meta{font-size:10px;margin-top:10px}.toolkit{width:100%;padding:11px;border-radius:12px}.toolkit-heading{display:none}.tray{display:flex;overflow-x:auto;gap:6px;padding-bottom:3px;scrollbar-width:thin;scrollbar-color:var(--edge) transparent}.tool{flex:0 0 64px;min-height:60px}.tool-help{margin-top:6px;padding-top:7px;min-height:30px}.tool-help .operator-preview svg{width:22px;height:22px}.play-actions{width:100%}.status:empty{margin:0}.status{margin:0 0 10px}.primary,.secondary{min-height:48px;padding:11px 20px}.tile-tag{font-size:7px;bottom:2px;left:4px}.nav-button{padding:6px 10px}.app-header:has(#home:not([hidden])){margin-bottom:20px}.subtitle{font-size:12px}.chapter-card:hover{transform:none}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media (min-width:701px){.play-layout{grid-template-columns:minmax(0,min(560px,calc(100dvh - 392px))) minmax(190px,250px);justify-content:center;align-content:start;grid-template-rows:auto 1fr}.app-header{margin-bottom:24px}}.tool-help:empty{display:none}@media (min-width:701px){.play-layout>.board-panel{grid-column:1;grid-row:1 / span 2}.play-layout>.toolkit{grid-column:2;grid-row:1}.play-layout>.play-actions{grid-column:2;grid-row:2;align-self:start;margin-top:14px}.play-layout>.play-actions .transport{flex-wrap:wrap}.play-layout>.play-actions .transport>button{flex:1 1 100%}.play-layout>.play-actions .transport>#run{order:-1}}:root{--aim-ink:var(--accent);--aim-pad:7%;--aim:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M22 3H78L97 22V78L78 97H22L3 78V22Z' fill='%23fff' fill-opacity='.09' stroke='%23fff' stroke-width='6' stroke-linejoin='round'/%3E%3C/svg%3E") }.cell:after{content:"";position:absolute;inset:var(--aim-pad);background:var(--aim-ink);-webkit-mask:var(--aim) center/100% 100% no-repeat;mask:var(--aim) center/100% 100% no-repeat;opacity:0;transition:opacity .12s ease}.cell.wall:after,.cell.snk:after,.running .cell:after{content:none}@media (hover:hover){.cell:hover:after{opacity:.9}}.cell:active:after{opacity:1;transition:none}.cell>svg.item{width:var(--pkg,70%);height:var(--pkg,70%);max-width:none;max-height:none}.art .cell.src{background:none}.cell>svg.steel-belt{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;pointer-events:none}.tool>svg.steel-belt{width:32px;height:28px;pointer-events:none}.precision-steel .cell.belt:after{content:none}.cell>svg.dye-panel{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none}.tool>svg.dye-panel{width:28px;height:28px}.cell>svg.turn-panel{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none}.tool>svg.turn-panel{width:28px;height:28px}.cell.cw:after,.cell.ccw:after{content:none}.turn-light{filter:var(--turn-glow)}.dye-confirm{opacity:0;filter:var(--dye-glow)}.direction-marker{filter:drop-shadow(0 0 2px #fff5f5cc) drop-shadow(0 0 5px #ffffff66);transition:opacity .16s}.steel-belt .terminal-light{filter:drop-shadow(0 0 1.5px #ffffff80)}.precision-steel .cell.neon-dye:after{content:none}.cell>svg.station-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;pointer-events:none}.precision-steel .cell.src:after{content:none}.precision-steel .cell.src>svg.item{position:relative;filter:drop-shadow(0 3px 2px #000a)}.precision-steel .cell.src.launched>svg.item{visibility:hidden}.art .precision-steel .cell.delivery-dock{background:none;box-shadow:none;border-color:transparent}.station-target{position:absolute;top:15%;right:15%;bottom:15%;left:15%;pointer-events:none;opacity:.38}.station-target>.item{display:block;width:100%;height:100%}.station-art .socket-rim{filter:drop-shadow(0 0 1.4px #ff2348a0) drop-shadow(0 0 3.5px #ff073a50)}.delivery-dock.delivered .station-target{opacity:1;transform:scale(.97);animation:dock-settle .32s ease-out}.delivery-dock.delivered .socket-rim{stroke:#65ed9d;filter:drop-shadow(0 0 1.4px #38dd81a0) drop-shadow(0 0 3.5px #20cd6850);animation:dock-confirm .65s ease-out}@keyframes dock-settle{0%{transform:scale(1)}to{transform:scale(.97)}}@keyframes dock-confirm{30%{stroke:#c1ffda;stroke-width:2.2;filter:drop-shadow(0 0 3px #38dd81) drop-shadow(0 0 6px #20cd6890)}}@media (prefers-reduced-motion:reduce){.delivery-dock.delivered .station-target,.delivery-dock.delivered .socket-rim{animation:none}}.app.mobile-game{max-width:clamp(320px,calc(83.333dvh - 216px),440px);padding:12px 16px max(16px,env(safe-area-inset-bottom))}.mobile-game .app-header{height:44px;margin-bottom:12px;gap:10px}.mobile-game #home{white-space:nowrap}.mobile-game .app-header:has(#home:not([hidden])){margin-bottom:12px}.mobile-game .brand{font-size:26px}.mobile-level .level-heading{margin-bottom:12px}.mobile-level .level-heading h1{font-size:22px}.mobile-level .level-brief,.mobile-level .delivery-bar,.mobile-level .board-meta{display:none}.mobile-level .play-layout{display:flex;flex-direction:column;gap:10px}.mobile-level .board-panel,.mobile-level .toolkit,.mobile-level .play-actions{width:100%}.mobile-level .toolkit{padding:8px;border-radius:12px}.mobile-level .toolkit-heading,.mobile-level .tool-help{display:none}.mobile-level .tray{display:flex;gap:6px;overflow-x:auto}.mobile-level .tray:not(.compact){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}.mobile-level .tray:not(.compact) .tool{min-height:54px;padding:5px 3px;gap:4px}.mobile-game:has(.tray:not(.compact)){max-width:clamp(320px,calc(83.333dvh - 268px),440px);padding-top:8px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.mobile-game:has(.tray:not(.compact)) .app-header{margin-bottom:8px}.mobile-level:has(.tray:not(.compact)) .level-heading{margin-bottom:8px}.mobile-level:has(.tray:not(.compact)) .play-layout{gap:8px}.mobile-level .tool{flex:1;min-height:56px}.mobile-level .play-actions{margin-top:0;display:flex;flex-wrap:wrap;gap:8px}.mobile-level .transport{flex-wrap:nowrap;flex:2;order:1}.mobile-level .next-level{flex:1;order:2;width:auto;margin:0;min-height:42px;padding:8px 10px;white-space:nowrap}.mobile-level .transport>button{flex:1;min-height:42px;padding:8px 10px;white-space:nowrap}.mobile-level .status{flex-basis:100%}.mobile-level .status:empty{display:none;margin:0}.precision-steel .cell.src{cursor:pointer}#grid.can-erase,#grid.can-erase .cell{cursor:crosshair}.board-frame.art.clean-frame{position:relative;isolation:isolate;border-image:none;background:none}.board-frame.art:is([data-skin^=violet],[data-skin^=grey]) #grid{background:var(--map-background)}.board-frame.art:is([data-skin^=violet],[data-skin^=grey]) .cell:not(.wall){background-image:var(--board-tile);background-size:100% 100%;background-repeat:no-repeat}.art .cell.wall.copper-varied{background:none}.copper-texture{display:none}.art .copper-texture{display:block;position:absolute;top:0;right:0;bottom:0;left:0;background:var(--board-blocked) center/100% 100% no-repeat;pointer-events:none}.map-frame-art{position:absolute;left:calc(0px - var(--band));top:calc(0px - var(--band));width:calc(100% + var(--band) + var(--band));height:calc(100% + var(--band) + var(--band));pointer-events:none;z-index:-1}.launch-rim{opacity:0;filter:drop-shadow(0 0 2px #38dd8190) drop-shadow(0 0 5px #20cd6850)}.precision-steel .cell.src.replenished>svg.item{animation:package-ready .32s cubic-bezier(.2,.8,.3,1) both}@keyframes package-ready{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}#grid.can-hold,#grid.can-hold .cell{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.operator-menu{position:fixed;z-index:30;left:8px;top:8px;width:min(240px,calc(100vw - 16px));max-height:50dvh;overflow:auto;padding:10px;border:1px solid #607675;border-radius:14px;background:#152125f5;box-shadow:0 10px 30px #0008;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.operator-menu-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:12px;color:#d6e0df}.operator-menu-heading>button{border:0;background:transparent;font-size:22px;min-width:36px;min-height:36px;padding:0;color:#c1d0ce}.operator-menu-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.operator-menu .tool{min-height:64px}.operator-menu .tool:disabled{opacity:.3;cursor:default}body{background:radial-gradient(ellipse at 50% 0%,#1b363d65,transparent 65%),#101819}.app{position:relative;z-index:1}#home-atmosphere{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;background:#0b1a1f}#home-atmosphere>svg{display:block;width:100%;height:100%}.app:not(.mobile-game){width:100%;max-width:440px;min-height:100dvh;padding:max(20px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom))}.app-header{position:relative;display:grid;grid-template-columns:94px minmax(0,1fr) 44px;gap:6px;justify-content:center;height:48px;margin-bottom:32px}.app-header .brand{grid-column:2;justify-self:center;display:inline-flex;align-items:center;gap:5px;font-size:25px;font-weight:650;letter-spacing:-1px}.brand img{display:block;width:42px;height:42px;object-fit:contain}.header-navigation{display:flex;gap:6px;grid-column:1}#back,#home,#settings{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #395052;border-radius:13px;background:#1a292c;color:#e1edeb}#settings{grid-column:3}.app.mobile-game .app-header{gap:6px}@media (max-width:360px){.app-header .brand{font-size:22px}.app-header .brand img{width:32px;height:32px}}.app[data-screen=home] .app-header{position:absolute;top:max(16px,env(safe-area-inset-top));left:24px;right:24px;margin:0}.app[data-screen=home] .app-header .brand{display:none}.app[data-screen=home]{padding-top:max(52px,env(safe-area-inset-top));padding-bottom:max(88px,env(safe-area-inset-bottom))}.home-identity{text-align:center;padding:2px 0 30px}.home-identity h1,.home-identity p{text-shadow:0 2px 12px #000,0 0 30px #07141b}.home-identity>img{display:block;width:156px;height:156px;margin:0 auto -8px}.home-identity h1{font-size:42px;font-weight:650;letter-spacing:-1.8px;margin:0}.home-identity p{margin:10px 0 0;color:#92a9ac;font-size:12px;letter-spacing:.08em}.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mode-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:173px;padding:19px 17px 15px;border:1px solid #607d86;border-radius:19px;text-align:left;background:linear-gradient(145deg,#253c45f5,#12232bf7 65%,#1b3039fa);box-shadow:inset 0 2px 1px #bbd6dc28,inset 0 -2px 1px #0009,0 0 0 2px #081218b3,0 7px 16px #0006;overflow:hidden;isolation:isolate}.mode-card:before{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:linear-gradient(132deg,transparent 38%,#aac9d008 39%,#a7c2ca06 57%,transparent 58%);pointer-events:none}.mode-card .mode-icon{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--mode) 35%,transparent))}.mode-card.available{border-color:#71e8bd;background:radial-gradient(ellipse at 5% 0%,#467f6745,transparent 80%),linear-gradient(145deg,#244b43fa,#102b2dfb 72%);box-shadow:inset 0 1px 2px #b4ffe778,inset 0 0 14px #39eaa918,0 0 0 2px #071811b3,0 0 14px #35efac26,0 8px 18px #0007}.mode-card.available:hover{border-color:#adffe0;box-shadow:inset 0 1px 2px #b4ffe778,inset 0 0 20px #39eaa928,0 0 18px #35efac42,0 8px 18px #0007}.mode-card.available:active{transform:translateY(2px) scale(.99)}.mode-card:disabled{opacity:1;cursor:default}.mode-card:disabled:active{transform:none}.mode-icon{width:34px;height:34px;margin-bottom:17px;color:var(--mode)}.mode-name{font-size:18px;letter-spacing:-.4px;font-weight:600;color:#e4eeee}.mode-hint{font-size:10px;color:#9eb5b6;margin-top:5px}.forthcoming .mode-name{color:#d1e1e5}.forthcoming .mode-icon{opacity:.75}.forthcoming .mode-hint{color:#91adb6}.mode-ghost{position:absolute;z-index:-1;right:-18px;bottom:18px;width:104px;height:104px;color:var(--mode);opacity:.065;transform:rotate(-12deg)}.mode-progress{display:flex;width:100%;justify-content:space-between;align-items:center;margin-top:17px;font-size:10px;color:#a5d1c1}.mode-progress>span:last-child{font-size:19px;line-height:10px;color:#d9f7ec}.mode-track{display:block;height:2px;width:100%;background:#638f852c;margin-top:9px}.mode-track i{display:block;height:100%;background:#79c9a5}.resume-button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:48px;margin-top:18px;padding:10px 16px;color:#c5d8d6;font-size:12px;background:linear-gradient(135deg,#243b43f7,#11232bf7);border:1px solid #607c85;border-radius:13px;box-shadow:inset 0 1px #b1d6db30,inset 0 -1px #0008,0 4px 12px #0006}:is(#chapter-screen,#introduction-screen)>.eyebrow{color:#88afaa;font-size:9px;letter-spacing:.18em;margin:0 0 9px}#chapter-title,#introduction-screen>h1{font-size:32px;letter-spacing:-.9px;margin:0}#chapter-subtitle,#introduction-screen>.subtitle{color:#92aaad;font-size:12px;margin:10px 0 0}.app[data-screen=introduction] #introduction-screen>:is(h1,.eyebrow),.app[data-screen=chapter] #chapter-screen>:is(h1,p){text-shadow:0 2px 10px #000,0 0 18px #071117}.introduction-chapters{display:flex;flex-direction:row;align-items:stretch;gap:16px;margin-top:27px;padding:3px 2px 16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:2px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#b88a68 #13262b}.introduction-chapters>.intro-chapter{flex:0 0 min(280px,calc(100% - 32px));width:auto;scroll-snap-align:start}.introduction-chapters:focus-visible{outline:1px solid #b88a68;outline-offset:5px}.intro-chapter{--chapter-cut: polygon(17px 0, calc(100% - 17px) 0,100% 17px,100% calc(100% - 17px) , calc(100% - 17px) 100%,17px 100%,0 calc(100% - 17px) ,0 17px);position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;width:min(100%,280px);min-height:350px;padding:38px 24px 30px;text-align:center;border:0;border-radius:0;clip-path:var(--chapter-cut);background:linear-gradient(135deg,#b49a84,#3e5256 35%,#718388 75%,#846951)}.intro-chapter:before{content:"";position:absolute;z-index:-1;top:2px;right:2px;bottom:2px;left:2px;clip-path:var(--chapter-cut);background:radial-gradient(circle,#99cbc414 .6px,transparent .9px) 0 0 / 9px 9px,linear-gradient(145deg,#233339,#0b171f 65%,#19292f);box-shadow:inset 0 0 0 1px #7ba7ac38}.intro-chapter.available{background:linear-gradient(140deg,#e2b58d,#976747 25%,#54666a 60%,#d9a377)}.intro-chapter.available:before{background:radial-gradient(ellipse at 50% 12%,#34605355,transparent 65%),radial-gradient(circle,#91d7c216 .6px,transparent .9px) 0 0 / 9px 9px,linear-gradient(145deg,#152f32,#0c1b20 75%)}.intro-chapter.available:hover{filter:brightness(1.12)}.intro-chapter:disabled{opacity:1;cursor:default}.intro-chapter:disabled:active{transform:none}.intro-chapter-number{position:absolute;top:17px;left:20px;font:500 11px/1 ui-monospace,monospace;color:#ccab89;letter-spacing:.1em}.intro-chapter-details{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0}.intro-chapter-title{font-size:24px;font-weight:600;letter-spacing:-.5px}.intro-chapter-art{display:grid;place-items:center;width:100%}.intro-operator-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%;max-width:210px;padding:7px;border:1px solid #577075;background:#071418;box-shadow:0 8px 16px #0008,inset 0 0 0 3px #15292d}.intro-operator-grid>span{display:block;aspect-ratio:1}.intro-operator-grid svg{display:block;width:100%;height:100%}.intro-locked-art{width:108px;color:#8195b2;filter:drop-shadow(0 0 9px #758ba73b)}.intro-locked-art svg{width:100%;display:block}.intro-chapter:nth-child(2):before{background:radial-gradient(ellipse at 50% 30%,#66547c40,transparent 70%),linear-gradient(140deg,#20232e,#111921)}.intro-chapter:nth-child(3) .intro-locked-art{color:#92a8ae}.intro-chapter .mode-track{width:85%;margin-top:10px}.intro-chapter-subtitle{margin-top:7px;font-size:11px;color:#a3bab5;line-height:1.5}.intro-chapter-progress{margin-top:18px;color:#a3d3bd;font-size:10px}.intro-chapter-arrow{position:absolute;bottom:18px;right:20px;color:#a7dbca;font-size:22px}.intro-chapter.forthcoming :is(.intro-chapter-number,.intro-chapter-arrow){color:#758f93}.intro-chapter.forthcoming .intro-chapter-title{color:#adc0c2}.chapter-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:27px}.level-card{display:grid;grid-template-columns:1fr auto;grid-template-rows:20px 40px 1fr;align-items:center;gap:8px 4px;min-width:0;min-height:150px;padding:12px 10px;border-radius:15px;border:1px solid #354b4f;background:linear-gradient(115deg,#213236,#19292c)}.level-card:hover{border-color:#729990;background:#243a3b}.level-card.solved{border-color:#477466}.level-number{color:#8aa5a5;font-size:17px;letter-spacing:-.4px}.level-name{font-size:12px;line-height:1.4;font-weight:500}.level-package{display:flex;align-items:center;justify-content:center}.level-check{position:static;color:#9eb7b6;font-size:17px}.level-card.solved .level-check{color:#84d6b1}.level-card .level-number{grid-column:1;grid-row:1}.level-card .level-check{grid-column:2;grid-row:1;justify-self:end}.level-card .level-package{grid-column:1/-1;grid-row:2}.level-card .level-package svg{width:40px;height:40px}.level-card .level-name{grid-column:1/-1;grid-row:3;padding:0;text-align:center;font-size:12px;line-height:1.3;overflow-wrap:anywhere}.app.mobile-game .app-header{height:44px;margin-bottom:14px}.mobile-level .level-heading{align-items:center}.mobile-level .level-heading .eyebrow{color:#85a6a4;font-size:8px;letter-spacing:.11em}.mobile-level .level-heading h1{font-size:21px;line-height:1.2;letter-spacing:-.5px}.mobile-level .toolkit{border-color:#344b4d;background:#19292c}.mobile-level .tool{border-radius:9px}.mobile-level .tool.on{border-color:#92c7b6;background:#2e4a43}.mobile-level .secondary{background:#203338;border-color:#3c565b;border-radius:11px;font-size:12px}.mobile-level #clear{width:100%;min-height:44px}#grid.precision-steel .cell.belt,#grid.precision-steel .cell.belt>svg.steel-belt{overflow:visible}.game-dialog{width:min(320px,calc(100vw - 40px));max-height:calc(100dvh - 40px);padding:28px 24px 24px;border:1px solid #53706e;border-radius:24px;background:linear-gradient(145deg,#253b3e,#142528 80%);color:#e6f0ed;text-align:center;box-shadow:inset 0 1px #c3e5da2b,0 24px 80px #0009}.game-dialog::backdrop{background:#051113b8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.game-dialog[open]{animation:dialog-arrive .2s cubic-bezier(.2,.8,.2,1)}.game-dialog h2{margin:0 0 24px;font-size:24px;line-height:1.25;letter-spacing:-.5px}.game-dialog p{color:#9bb4b1;font-size:13px;margin:0 0 24px}.game-dialog form{float:none;margin:0}.game-dialog button{min-height:48px;padding:12px;border-radius:12px;font-size:14px}.dialog-primary{width:100%;color:#102c23;background:#a0dfc3;border:1px solid #b9efd7;font-weight:650}.dialog-primary:hover{background:#b6ecd4}.dialog-primary span{margin-left:12px}.complete-emblem{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 24px}.complete-secondary{display:flex;gap:10px;margin-top:12px}.dialog-secondary{flex:1;background:#243a3e;border:1px solid #4c6869;color:#d8e9e3}.dialog-secondary:hover{background:#2f494b}.complete-dialog{--panel-cut: 19px;--panel-shape: polygon(var(--panel-cut) 0, calc(100% - var(--panel-cut)) 0, 100% var(--panel-cut), 100% calc(100% - var(--panel-cut)), calc(100% - var(--panel-cut)) 100%, var(--panel-cut) 100%, 0 calc(100% - var(--panel-cut)), 0 var(--panel-cut));isolation:isolate;width:min(350px,calc(100vw - 32px));padding:44px 22px 30px;border:0;border-radius:0;clip-path:var(--panel-shape);background:linear-gradient(135deg,#88b9b4,#233e43 30%,#425d60 66%,#80aaa3)}.complete-dialog:before,.complete-dialog:after{content:"";position:absolute;pointer-events:none;clip-path:var(--panel-shape)}.complete-dialog:before{top:2px;right:2px;bottom:2px;left:2px;z-index:-2;background:linear-gradient(145deg,#0b191c,#283f43 50%,#081316)}.complete-dialog:after{top:5px;right:5px;bottom:5px;left:5px;z-index:-1;background:radial-gradient(circle,#75acac25 .55px,transparent .8px) 0 0 / 8px 8px,linear-gradient(125deg,#a7d7d406,transparent 42%),radial-gradient(ellipse at 50% 0,#234c4c,#12282e 58%,#0c1d23)}.complete-dialog h2{margin-bottom:25px;font-size:clamp(21px,6vw,26px)}.complete-dock{position:relative;display:block;width:112px;height:112px;clip-path:polygon(20% 0,80% 0,100% 20%,100% 80%,80% 100%,20% 100%,0 80%,0 20%)}.complete-dock .station-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.complete-dock .socket-rim{stroke:#6cf4a7;stroke-width:2;filter:drop-shadow(0 0 2px #4fee9ebb) drop-shadow(0 0 5px #2ada7c66)}.complete-dock .item{position:absolute;width:64%;height:64%;left:18%;top:18%}.complete-dialog button{display:inline-flex;align-items:center;justify-content:center;gap:10px}.complete-dialog .dialog-primary,.complete-dialog .dialog-secondary,.complete-dialog #complete-close{position:relative;isolation:isolate;border:0;border-radius:0;--button-shape: polygon(9px 0, calc(100% - 9px) 0, 100% 9px, 100% calc(100% - 9px) , calc(100% - 9px) 100%, 9px 100%, 0 calc(100% - 9px) , 0 9px);clip-path:var(--button-shape);background:linear-gradient(140deg,#779591,#334a50 45%,#526b70);color:#e1efeb;min-height:50px}.complete-dialog .dialog-primary:before,.complete-dialog .dialog-secondary:before,.complete-dialog #complete-close:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;z-index:-1;clip-path:var(--button-shape);background:radial-gradient(circle,#9ad8ce1b .5px,transparent .8px) 0 0 / 8px 8px,linear-gradient(145deg,#243c42,#12242c 70%);box-shadow:inset 0 0 0 1px #050f15,inset 0 2px 5px #84b4b321}.complete-dialog .dialog-primary{background:linear-gradient(135deg,#b2ffda,#50b68a 38%,#203d3a 76%,#8ef5c6);color:#f2fff8}.complete-dialog .dialog-primary:before{background:radial-gradient(circle,#a2dfc122 .5px,transparent .8px) 0 0 / 8px 8px,linear-gradient(145deg,#27584c,#112f2f 75%);box-shadow:inset 0 0 0 1px #14352b,inset 0 0 9px #5df7a72d}.complete-dialog .dialog-primary:hover,.complete-dialog .dialog-secondary:hover,.complete-dialog #complete-close:hover{filter:brightness(1.18)}.complete-dialog button:focus-visible{outline:none;box-shadow:inset 0 0 0 3px #d9ffeb}.complete-dialog #complete-close{position:absolute;right:12px;top:12px;padding:0;width:44px;height:44px;min-height:44px;color:#d8e9e3}.panel-screw{position:absolute;width:8px;height:8px;border-radius:50%;border:1px solid #507272;background:#091a20;box-shadow:0 1px 1px #91bdb440;pointer-events:none}.panel-screw:after{content:"";position:absolute;width:4px;height:1px;background:#617e7d;top:2.5px;left:1px;transform:rotate(-40deg)}.screw-top{top:20px;left:20px}.screw-left{bottom:17px;left:20px}.screw-right{bottom:17px;right:20px}@media (prefers-reduced-motion: reduce){.game-dialog[open]{animation:none}}@keyframes dialog-arrive{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}@media (max-width: 359px){.app:not(.mobile-game){padding-left:18px;padding-right:18px}.mode-card{padding:16px 13px 13px}.mode-name{font-size:16px}.chapter-levels{gap:8px}.level-card{padding:12px 8px}.level-card .level-name{font-size:11px}}@media (max-height: 720px){.app[data-screen=home]{padding-top:38px;padding-bottom:48px}.home-identity{padding-bottom:22px}.home-identity>img{width:120px;height:120px}.home-identity h1{font-size:36px}.mode-card{min-height:154px;padding-top:15px}.mode-icon{margin-bottom:12px}.mode-progress{margin-top:13px}}:root{--menu-ivory: #f1e4d2;--menu-copper: #d59b74;--menu-type: "Bahnschrift", "Aptos", "Trebuchet MS", sans-serif}.app :is(.mode-card,.resume-button,.level-card,.intro-chapter,:where(#back,#home,#settings)){--menu-cut: 12px;--menu-shape: polygon(var(--menu-cut) 0,calc(100% - var(--menu-cut)) 0,100% var(--menu-cut),100% calc(100% - var(--menu-cut)),calc(100% - var(--menu-cut)) 100%,var(--menu-cut) 100%,0 calc(100% - var(--menu-cut)),0 var(--menu-cut));--menu-fill: linear-gradient(132deg,transparent 38%,#b2ced008 39%,#b2ced005 57%,transparent 58%),linear-gradient(145deg,#21343c,#0e2028 72%);--menu-edge: #506b70;position:relative;isolation:isolate;border:0;border-radius:0;clip-path:var(--menu-shape);--menu-frame: linear-gradient(135deg,#f1c49e,#ae734d) top left / 24px 24px no-repeat, linear-gradient(225deg,#f1c49e,#ae734d) top right / 24px 24px no-repeat, linear-gradient(45deg,#ce8b61,#ecc19c) bottom left / 24px 24px no-repeat, linear-gradient(315deg,#ce8b61,#ecc19c) bottom right / 24px 24px no-repeat, var(--menu-edge);background:var(--menu-frame);box-shadow:none}.app :is(.mode-card,.resume-button,.level-card,.intro-chapter,:where(#back,#home,#settings)):before{content:"";position:absolute;z-index:-1;top:2px;right:2px;bottom:2px;left:2px;clip-path:var(--menu-shape);background:var(--menu-fill);box-shadow:inset 0 0 0 1px #08141b,inset 0 1px #c6ddda20;pointer-events:none}.app .mode-card.available{--menu-edge: #79c9ae;--menu-fill: linear-gradient(132deg,transparent 38%,#b4d5c80a 39%,transparent 65%),radial-gradient(ellipse at 5% 0,#336e5866,transparent 80%),linear-gradient(145deg,#1d413a,#0d2528 75%)}.mode-card{min-height:183px;padding:20px 15px 18px}.app :is(.mode-card.available,.level-card,.intro-chapter.available,.resume-button):hover{background:var(--menu-frame);box-shadow:none}.mode-card.available:hover,.level-card:hover,.intro-chapter.available:hover,.resume-button:hover{filter:brightness(1.1)}.mode-icon{margin-bottom:20px}.mode-ghost{display:none}.mode-name,.forthcoming .mode-name{color:var(--menu-ivory);font-family:var(--menu-type);font-size:18px;font-weight:600;letter-spacing:-.25px;text-shadow:0 1px 2px #0009}.mode-name:after,.intro-chapter-title:after{content:"";display:block;width:30px;height:2px;margin-top:10px;background:var(--menu-copper);box-shadow:0 1px #0007}.mode-hint{margin-top:11px}.mode-progress,.intro-chapter-progress{font-family:ui-monospace,Cascadia Code,monospace;color:#9cddbe}.mode-progress{margin-top:14px}.resume-button{color:var(--menu-ivory);font-family:var(--menu-type);font-size:13px;min-height:52px}.home-identity h1,.app-header .brand{color:var(--menu-ivory)}:is(#chapter-title,#introduction-screen>h1,.intro-chapter-title,.level-name,.level-heading h1){color:var(--menu-ivory);font-family:var(--menu-type);text-shadow:0 2px 8px #000b}.level-name{font-size:13px;font-weight:500}.level-heading :is(h1,.eyebrow){text-shadow:0 2px 6px #000,0 0 12px #071419}.app .intro-chapter{--menu-cut: 17px}.intro-chapter-title:after{margin:10px auto 0}.intro-chapter-subtitle{margin-top:10px}.intro-chapter.forthcoming .intro-chapter-title{color:#d4ccbf}.app .intro-chapter.available{--menu-edge: #74a899}.app .level-card{--menu-cut: 10px;--menu-fill: linear-gradient(115deg,#20353b,#12252c)}.app .level-card.solved{--menu-edge: #6da28a}.level-number{color:#cda27e;font-family:ui-monospace,monospace;font-size:14px}#back,#home,#settings{--menu-cut: 8px;color:var(--menu-ivory);background-size:14px 14px,14px 14px,14px 14px,14px 14px,auto}:is(.mode-card,.resume-button,.level-card,.intro-chapter,#back,#home,#settings):focus-visible{outline:none;box-shadow:inset 0 0 0 3px #c9f5df}@media (max-width:360px){.mode-card{padding-left:13px;padding-right:13px}.mode-name{font-size:17px}}#complete-dialog,#complete-dialog button{--completion-frame: linear-gradient(135deg,#f1c49e,#ae734d) top left / var(--completion-cap-size) var(--completion-cap-size) no-repeat, linear-gradient(225deg,#f1c49e,#ae734d) top right / var(--completion-cap-size) var(--completion-cap-size) no-repeat, linear-gradient(45deg,#ce8b61,#ecc19c) bottom left / var(--completion-cap-size) var(--completion-cap-size) no-repeat, linear-gradient(315deg,#ce8b61,#ecc19c) bottom right / var(--completion-cap-size) var(--completion-cap-size) no-repeat, var(--completion-edge)}#complete-dialog{--panel-cut: 16px;--completion-edge: #536c70;--completion-cap-size: 24px;width:min(300px,calc(100vw - 32px));padding:32px 18px 24px;background:var(--completion-frame)}#complete-dialog:after{background:radial-gradient(circle,#8ac5bf14 .5px,transparent .8px) 0 0 / 8px 8px,linear-gradient(135deg,#1c3439,#0e2028 75%)}#complete-dialog .complete-emblem{margin-bottom:14px}#complete-dialog .complete-dock{width:84px;height:84px}#complete-dialog h2{margin:0 0 18px;font:600 23px/1.2 var(--menu-type);letter-spacing:-.5px;color:var(--menu-ivory);text-shadow:0 2px 6px #0008}#complete-dialog button{min-height:44px;padding:10px 8px;gap:7px;color:var(--menu-ivory);font-family:var(--menu-type);font-size:13px}#complete-dialog .complete-secondary{gap:8px;margin-top:9px}#complete-dialog :is(.dialog-primary,.dialog-secondary,#complete-close){--completion-cap-size: 14px;background:var(--completion-frame)}#complete-dialog .dialog-primary{--completion-edge: #88d8b2}#complete-dialog .dialog-secondary:before{background:linear-gradient(145deg,#21363c,#10232a)}#complete-dialog #complete-close{top:7px;right:7px;width:44px;height:44px;padding:0}#complete-dialog .panel-screw{width:6px;height:6px;border-color:#866f58;opacity:.65}#complete-dialog .panel-screw:after{width:3px;top:2px;background:#b19a80}#complete-dialog .screw-top{top:14px;left:15px}#complete-dialog :is(.screw-left,.screw-right){bottom:9px}.app .level-card{grid-template-rows:24px 52px minmax(32px,1fr);gap:6px 4px;min-height:154px;padding-block:10px}.app .level-card .level-number{font-size:15px;color:#99b2b3}.app .level-card .level-package{position:relative;height:52px}.app .level-card .level-package .level-socket{position:absolute;width:52px;height:52px;color:#344c50}.level-set{position:relative;display:flex;align-items:center;justify-content:center}.app .level-card .level-set svg{display:block;width:40px;height:40px}.app .level-card .level-check{position:relative;isolation:isolate;display:grid;place-items:center;inset:auto;width:24px;height:24px;color:#eff7f5;clip-path:polygon(5px 0,19px 0,24px 5px,24px 19px,19px 24px,5px 24px,0 19px,0 5px);background:linear-gradient(135deg,#4d7376,#122b31 45%,#4c676a)}.level-check:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;z-index:-1;clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px),0 4px);background:linear-gradient(135deg,#142a2d,#061216);box-shadow:inset 0 0 0 1px #0008}.level-check svg{display:block;width:15px;height:15px}.app .level-card.solved{--menu-edge: #528a77;--menu-fill: radial-gradient(ellipse at 50% 44%,#15523e33,transparent 72%),linear-gradient(115deg,#183333,#10262a)}.app .level-card.solved .level-number{color:#9ce5ba}.app .level-card.solved .level-check{color:#39f398}.level-card.solved .level-check:before{background:radial-gradient(ellipse,#18583c88,#061714 75%)}.level-card.solved .level-check svg{filter:drop-shadow(0 0 2px #28ed87) drop-shadow(0 0 4px #24d880a0)}.app .level-card.solved .level-package .level-socket{color:#86f5c9;filter:drop-shadow(0 0 3px #3dd99c99)}.app .level-card.next{--menu-edge: #edb58b;--menu-fill: radial-gradient(ellipse at 50% 0,#bd825b18,transparent 65%),linear-gradient(115deg,#20353b,#12252c)}.app .level-card.next:before{box-shadow:inset 0 0 0 1px #d69a6960,inset 0 0 12px #d69a6917}.app .level-card.next .level-number{color:#f1d3ac}.level-card.next .level-check svg{filter:drop-shadow(0 0 2px #f0fff966)}.app .level-card.locked{--menu-edge: #394950;--menu-frame: linear-gradient(135deg,#819095,#3e4d53) top left / 24px 24px no-repeat, linear-gradient(225deg,#819095,#3e4d53) top right / 24px 24px no-repeat, linear-gradient(45deg,#495b61,#68777c) bottom left / 24px 24px no-repeat, linear-gradient(315deg,#495b61,#68777c) bottom right / 24px 24px no-repeat,var(--menu-edge);--menu-fill: linear-gradient(115deg,#19282e,#111f25);opacity:1;cursor:not-allowed}.app .level-card.locked:hover{filter:none}.app .level-card.locked:active{transform:none}.app .level-card.locked .level-name{color:#9caeb5;text-shadow:none}.app .level-card.locked .level-number{color:#92a3aa}.app .level-card.locked .level-set{filter:grayscale(1);opacity:.4}.app .level-card.locked .level-check{background:none;clip-path:none;color:#83969d}.level-card.locked .level-check:before{display:none}.level-card.locked .level-check svg{width:18px;height:18px}.cell>svg.shape-panel{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none}.shape-light{filter:drop-shadow(0 0 1.2px #ecf5f4b0) drop-shadow(0 0 2.8px #cfebe655)}.chapter-shape-art{width:100%;max-width:210px}.chapter-shape-art .intro-operator-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-width:180px;margin:auto}#introduction-screen{--carousel-gutter: 24px}.introduction-chapters{--carousel-card: min(280px, calc(100vw - 80px) );position:relative;width:calc(100% + var(--carousel-gutter) * 2);margin-inline:calc(var(--carousel-gutter) * -1);padding:8px var(--carousel-inset,40px);gap:16px;scroll-padding-inline:0;scrollbar-width:none}.introduction-chapters::-webkit-scrollbar{display:none}.chapter-slide{flex:0 0 var(--carousel-card);display:flex;scroll-snap-align:center;min-width:0}.chapter-slide .intro-chapter{width:100%;min-width:0;height:100%;transform:scale(.9);opacity:.5;transition:transform .22s ease,opacity .22s ease}.chapter-slide.is-current .intro-chapter{transform:scale(1);opacity:1}.chapter-slide .intro-chapter.available:hover{filter:none}.chapter-slide .intro-chapter[aria-disabled=true]{cursor:default}.intro-operator-grid img{display:block;width:100%;height:100%;object-fit:contain}.intro-route-preview{gap:0}.chapter-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;width:min(100%,296px);margin:8px auto 0}.chapter-carousel-controls button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--menu-copper)}.chapter-carousel-controls button:hover{color:var(--menu-ivory)}#chapter-position{color:var(--menu-ivory);font:500 12px/1.4 var(--menu-type);letter-spacing:.03em;text-align:center}@media (max-width:359px){#introduction-screen{--carousel-gutter: 18px}}@media (prefers-reduced-motion:reduce){.chapter-slide .intro-chapter{transition:none}}.mobile-level .toolkit,.operator-menu{--control-shape: polygon(9px 0, calc(100% - 9px) 0, 100% 9px, 100% calc(100% - 9px) , calc(100% - 9px) 100%, 9px 100%, 0 calc(100% - 9px) , 0 9px);position:relative;isolation:isolate;padding:10px;border:0;border-radius:0;clip-path:var(--control-shape);background:linear-gradient(125deg,#cb9979,#644b3d 30%,#98745e 65%,#bd8a69)}.mobile-level .toolkit:before,.operator-menu:before{content:"";position:absolute;z-index:-1;top:2px;right:2px;bottom:2px;left:2px;clip-path:var(--control-shape);background:linear-gradient(140deg,#1e3033,#0b181b 50%,#162629);box-shadow:inset 0 0 0 1px #46534e,inset 0 2px 5px #000b;pointer-events:none}.mobile-level #tray{gap:7px;padding:0;overflow:visible}:is(.mobile-level .toolkit,.operator-menu) .tool{isolation:isolate;flex:1 1 0;min-width:0;min-height:86px;padding:14px 5px;gap:0;border:0;border-radius:0;clip-path:var(--control-shape);background:linear-gradient(135deg,#65736e,#283b3d 40%,#4c5d5a 80%,#78847b);transition:background .15s}:is(.mobile-level .toolkit,.operator-menu) .tool:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;z-index:-1;clip-path:var(--control-shape);background:linear-gradient(145deg,#223638,#101f23 55%,#15282b);box-shadow:inset 0 0 0 1px #071113,inset 0 2px 8px #0009;pointer-events:none}:is(.mobile-level .toolkit,.operator-menu) .tool:after{content:"";position:absolute;top:8px;left:8px;width:5px;height:5px;border-radius:50%;background:linear-gradient(135deg,#ac846b 35%,#141c1c 40%,#141c1c 60%,#ac846b 65%);box-shadow:0 0 0 1px #050b0d,0 1px 0 1px #78807840;pointer-events:none}:is(.mobile-level .toolkit,.operator-menu) .tool.on{background:#96ebc2}:is(.mobile-level .toolkit,.operator-menu) .tool.on:before{background:radial-gradient(ellipse at 50% 0,#365b4e,#152b29 80%);box-shadow:inset 0 0 0 1px #253e36,inset 0 0 14px #7bf4b338}:is(.mobile-level .toolkit,.operator-menu) .tool.out{opacity:1}:is(.toolkit,.operator-menu) .tool-art{display:grid;place-items:center;width:54px;height:54px;max-width:100%;pointer-events:none}:is(.toolkit,.operator-menu) .tool-art>svg{display:block;width:100%;height:100%;max-width:none;max-height:none}:is(.toolkit,.operator-menu) :is([data-focus=tool-era],[data-tool=era]) .tool-art{padding:2px;color:#b5cbca}:is(.mobile-level .toolkit,.operator-menu) .stock{top:6px;right:8px;padding:0;border:0;background:none;color:#9df1b9;font:600 12px/1.1 ui-monospace,Cascadia Code,monospace;font-variant-numeric:tabular-nums;text-align:center;text-shadow:0 0 6px #72fda587,0 0 12px #72fda533;box-shadow:none}:is(.mobile-level .toolkit,.operator-menu) .out .stock{color:#6f8180;text-shadow:none}.mobile-level #tray:not(.compact) .tool{min-height:80px;padding:17px 4px}.mobile-level #tray:not(.compact) .stock{top:4px;font-size:11px}.mobile-level #tray:not(.compact) .tool-art{width:44px;height:44px}.mobile-level .toolkit .play-actions{margin:8px 0 0;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.mobile-level .toolkit .play-actions .status{grid-column:1 / -1}.mobile-level #erase-slot{display:flex;min-width:0}.mobile-level #erase-slot .tool{width:100%;min-height:44px;padding:4px}.mobile-level #erase-slot .tool-art{width:34px;height:34px}.mobile-level #erase-slot .tool:after{display:none}.mobile-level .toolkit #clear{flex:1;width:auto}.mobile-level #clear{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px;border:0;border-radius:0;clip-path:var(--control-shape);color:#b7ccca;background:linear-gradient(120deg,#ac8064,#51483d 45%,#94715a)}.mobile-level #clear:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;z-index:-1;clip-path:var(--control-shape);background:linear-gradient(125deg,#213437,#102126);box-shadow:inset 0 0 0 1px #394b48}#clear svg{width:24px;height:24px}.operator-menu{position:fixed;max-width:calc(100vw - 16px);max-height:min(60dvh,400px);overflow:auto;-webkit-backdrop-filter:none;backdrop-filter:none}#operator-menu .stock{font-size:10px}.operator-menu-tools{gap:7px}.operator-menu .tool:disabled{opacity:.45}:is(.mobile-level .toolkit,.operator-menu) .tool:focus-visible,.mobile-level #clear:focus-visible{outline:none;background:#e3fff1}@media (hover: hover){:is(.mobile-level .toolkit,.operator-menu) .tool:hover:not(:disabled):not(.on){background:#b0bdac}.mobile-level #clear:hover{color:#e2ece6;background:#d4a37e}}.app.mobile-game{max-width:clamp(320px,calc(83.333dvh - 244px),440px)}.app.mobile-game:has(.tray:not(.compact)){max-width:clamp(320px,calc(83.333dvh - 302px),440px)}@media (prefers-reduced-motion: reduce){:is(.mobile-level .toolkit,.operator-menu) .tool{transition:none}}#first-level-guide,#barrier-hint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none}#grid.barrier-intro .cell.wall{box-shadow:inset 0 0 0 2px #9bf1c5b0,inset 0 0 18px #72ffc624;animation:copper-block-hint 1.8s ease-in-out infinite}@keyframes copper-block-hint{50%{filter:brightness(1.2);box-shadow:inset 0 0 0 2px #b6ffcf,inset 0 0 22px #72ffc646}}@media (prefers-reduced-motion: reduce){#grid.barrier-intro .cell.wall{animation:none}}.guide-card{position:absolute;top:2%;left:3%;width:94%;padding:10px 12px;border:1px solid #4c7d7470;border-radius:3px;background:linear-gradient(125deg,#173438f5,#101f25f5);box-shadow:inset 0 1px #9ad6c517,0 5px 14px #0004;text-align:center}.guide-step{display:block;color:#83cbb1;font-size:8px;letter-spacing:.13em;margin-bottom:5px}.guide-title{display:block;color:#f0f7f5;font-size:clamp(14px,4vw,17px);font-weight:600}.guide-card p{margin:6px 0 0;color:#bacfca;font-size:clamp(10px,2.8vw,12px);line-height:1.45}.guide-card p strong{color:#e7fff4;font-weight:600}.guided-level #grid .cell{transition:filter .18s,box-shadow .18s}.guided-level #grid .cell:not(.guide-target){filter:brightness(.4)}.guided-level #grid .cell:disabled{opacity:1;cursor:default}.guided-level #grid .guide-path{box-shadow:inset 0 0 0 1.5px #9bf1c5b0,inset 0 0 16px #6eedaa23}.guide-built #grid .cell:after{content:none}.guide-built #grid .cell.guide-hold-target:after{content:"";opacity:1}.guide-built #grid .cell:focus-visible{outline:1px solid #e2eee9;outline-offset:-3px}.guided-level .toolkit .tool.guide-tool{border-color:#a6f4ca;box-shadow:inset 0 0 12px #72ffc624,0 0 10px #60dda444;animation:guide-tool-pulse 1.5s ease-in-out infinite}.guided-level .toolkit .tool:disabled{opacity:.3;cursor:default}.guide-drag{position:absolute;left:20%;top:33.333%;width:60%;height:16.667%}#first-level-guide:not([data-step=drag]) .guide-drag,#first-level-guide.drawing .guide-drag{display:none}#guide-tool-arrow{position:fixed;width:36px;height:56px;z-index:60;pointer-events:none;filter:drop-shadow(0 0 7px #64f7aa88)}#guide-tool-arrow[data-target=tile]{transform:rotate(180deg)}#guide-tool-arrow[data-target=menu]{transform:rotate(90deg)}#guide-tool-arrow svg{display:block;width:100%;height:100%;animation:guide-point 1s ease-in-out infinite}@keyframes guide-point{50%{transform:translateY(-7px)}}#guide-touch{position:fixed;width:18px;height:18px;z-index:60;pointer-events:none;filter:drop-shadow(0 0 3px #64f7aa66)}.guide-touch-ring{position:absolute;top:0;right:0;bottom:0;left:0;width:18px;height:18px;border:2px solid #aaffcf;border-radius:50%;animation:guide-tap-ring 1.5s ease-out infinite}.guide-touch-ring.echo{animation-delay:-.75s}#guide-touch[data-gesture=hold] .guide-touch-ring{animation:guide-hold-ring 1.8s ease-in-out infinite}#guide-touch[data-gesture=hold] .guide-touch-ring.echo{animation-delay:-.9s}@keyframes guide-tap-ring{0%,15%{opacity:0;transform:scale(.6)}25%{opacity:.8}65%,to{opacity:0;transform:scale(1.6)}}@keyframes guide-hold-ring{0%,to{opacity:.4;transform:scale(.85)}65%{opacity:1;transform:scale(1.25)}}.guide-track{position:absolute;left:16.667%;right:16.667%;top:50%;border-top:1px dashed #cbffe5aa}.guide-track:after{content:"";position:absolute;right:-1px;top:-4px;width:7px;height:7px;border-top:1px solid #cbffe5;border-right:1px solid #cbffe5;transform:rotate(45deg)}.guide-drag-finger{position:absolute;left:16.667%;top:50%;width:26px;height:32px;color:#d0ffea;transform:translate(-45%,-8%);filter:drop-shadow(0 2px 3px #000);animation:guide-drag-demo 2.2s ease-in-out infinite}.guide-drag-finger svg{display:block;width:100%;height:100%}@keyframes guide-drag-demo{0%,15%{left:16.667%;opacity:0}25%{left:16.667%;opacity:1}75%,85%{left:83.333%;opacity:1}to{left:83.333%;opacity:0}}@keyframes guide-tool-pulse{50%{box-shadow:inset 0 0 16px #72ffc646,0 0 12px #60dda477}}@media (prefers-reduced-motion: reduce){.guided-level .toolkit .tool.guide-tool,.guide-drag-finger,#guide-tool-arrow svg{animation:none}.guided-level #grid .cell{transition:none}#guide-touch .guide-touch-ring{animation:none}.guide-touch-ring.echo{display:none}.guide-drag-finger{left:16.667%;opacity:1}}.failure-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none}.failure-anchor{position:absolute;aspect-ratio:1;transform:translate(-50%,-50%)}.failure-carrier{position:relative;width:100%;height:100%}.failure-carrier>.item{display:block;width:100%;height:100%;filter:drop-shadow(0 3px 3px #0006)}[data-kind=impact] .failure-carrier{animation:failure-recoil 1.9s linear both}@keyframes failure-recoil{0%{transform:translate(0)}10%{transform:translate(var(--dx),var(--dy));animation-timing-function:ease-out}28%{transform:translate(calc(var(--dx) * -.25),calc(var(--dy) * -.25));animation-timing-function:ease-in}46%{transform:translate(var(--dx),var(--dy));animation-timing-function:ease-out}58%{transform:translate(calc(var(--dx) * .4),calc(var(--dy) * .4));animation-timing-function:ease-in}70%{transform:translate(var(--dx),var(--dy));animation-timing-function:ease-out}78%{transform:translate(calc(var(--dx) * .75),calc(var(--dy) * .75));animation-timing-function:ease-in}86%,94%{transform:translate(var(--dx),var(--dy));opacity:1}to{transform:translate(var(--dx),var(--dy));opacity:0}}.failure-shield{position:absolute;aspect-ratio:1;transform:translate(-50%,-50%) rotate(var(--impact-angle));filter:drop-shadow(0 0 3px #ffb04c)}.failure-shield svg{display:block;width:100%;height:100%;overflow:visible;stroke:#ffc778;stroke-width:1.5;stroke-linecap:round;animation:shield-contacts 1.9s linear both}.failure-shield .shield-echo{stroke-width:.7;opacity:.45}.failure-shield circle{fill:#ffe0a3;stroke:none}@keyframes shield-contacts{0%,6%{opacity:0}10%{opacity:1}28%,42%{opacity:.04}46%{opacity:.8}58%,66%{opacity:.04}70%{opacity:.55}78%,82%{opacity:.04}86%{opacity:.3}to{opacity:0}}[data-kind=shutdown] .failure-carrier{animation:failure-catch 1s both}[data-kind=rejected] .failure-carrier{animation:station-reject-package 1.25s ease-in-out both}@keyframes station-reject-package{0%,12%{transform:translate(0);opacity:1}55%,78%{transform:translate(var(--dx),var(--dy));opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.94);opacity:0}}#grid .station-rejected .socket-rim{animation:station-reject-light 1.25s ease-out both}@keyframes station-reject-light{0%,to{stroke:#ff2348}20%,55%{stroke:#ff566d;stroke-width:2.8;filter:drop-shadow(0 0 3px #ff173d) drop-shadow(0 0 7px #ff073aaa)}}@keyframes failure-catch{0%{transform:translate(0)}48%,70%{transform:translate(var(--dx),var(--dy));opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.88);opacity:0}}.failure-ring{position:absolute;top:-18%;right:-18%;bottom:-18%;left:-18%;width:136%;height:136%;overflow:visible;fill:none;stroke:#ffc16d;stroke-width:1.8;filter:drop-shadow(0 0 4px #ffa52f);animation:failure-ring 1s both}.failure-ring .ring-echo{stroke-width:.7;opacity:.45}@keyframes failure-ring{0%{opacity:0;transform:scale(.75)}35%,65%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.12)}}#grid .cell.route-error{box-shadow:inset 0 0 0 2px #f2b265b0,inset 0 0 15px #e89e3535}#grid .cell.loop-error{box-shadow:inset 0 0 0 2px #f2b265b0;animation:failure-loop 1.1s ease-in-out}@keyframes failure-loop{50%{filter:brightness(1.4);box-shadow:inset 0 0 0 2px #ffd391,inset 0 0 18px #e89e3555}}@media (prefers-reduced-motion: reduce){.failure-carrier,.failure-ring,.failure-shield svg,#grid .cell.loop-error,#grid .station-rejected .socket-rim{animation:none!important}}.collision-dialog.complete-dialog{width:min(260px,calc(100vw - 40px));padding:34px 20px 22px;background:linear-gradient(135deg,#d6ad7e,#665345 40%,#354c50 70%,#c48d5b)}.collision-emblem{position:relative;width:72px;height:72px;margin:0 auto 10px}.collision-emblem>svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.collision-emblem>.item{width:64%;height:64%;left:12%;top:18%}.collision-dialog[data-kind=shutdown] .collision-emblem>.item{left:18%}.collision-dialog[data-kind=rejected] .collision-emblem>.item{left:18%}.rejected-emblem{filter:drop-shadow(0 0 3px #ff234844)}.loop-emblem{filter:drop-shadow(0 0 4px #ffb04c55)}.collision-dialog h2{margin-bottom:8px;font-size:22px}.collision-dialog p{margin:0;font-size:12px;line-height:1.5}#collision-close{position:absolute;top:8px;right:8px;width:32px;height:32px;min-height:32px;padding:0}#collision-close:before{top:1px;right:1px;bottom:1px;left:1px}.colour-unlock.complete-dialog{width:min(360px,calc(100vw - 32px));padding:42px 20px 24px;background:linear-gradient(135deg,#d6ad7e,#665345 40%,#354c50 70%,#c48d5b)}.colour-unlock h2{font-size:23px;margin:10px 0 12px}.colour-unlock p{margin:0;font-size:13px;line-height:1.5}.colour-unlock p strong{color:#effaf3}#unlock-close{position:absolute;top:8px;right:8px;width:32px;height:32px;min-height:32px;padding:0}#unlock-close:before{top:1px;right:1px;bottom:1px;left:1px}.unlock-demo{--demo-duration: 7s;overflow:hidden;padding:24px 0 12px}.unlock-track{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.unlock-dye{aspect-ratio:1}.unlock-dye>svg{display:block;width:100%;height:100%}.unlock-dye :is(.dye-confirm,.shape-confirm){animation:unlock-activation var(--demo-duration) ease-in-out var(--activation-delay,0s) infinite}.unlock-dye .dye-surface{animation:unlock-paint-glow var(--demo-duration) ease-in-out var(--activation-delay,0s) infinite}.unlock-dye .shape-light{animation:unlock-shape-glow var(--demo-duration) ease-in-out var(--activation-delay,0s) infinite}@keyframes unlock-activation{0%,10%,18%,to{opacity:0}12%{opacity:1}}@keyframes unlock-paint-glow{0%,10%,18%,to{filter:saturate(1) drop-shadow(0 0 0px transparent)}12%{filter:saturate(2) drop-shadow(0 0 4px var(--demo-ink))}}@keyframes unlock-shape-glow{0%,10%,18%,to{stroke:#ecf5f4;filter:drop-shadow(0 0 1.2px #ecf5f4b0) drop-shadow(0 0 2.8px #cfebe655)}12%{stroke:#fff;filter:drop-shadow(0 0 3px #f2fff8) drop-shadow(0 0 6px #e2fff0a0)}}@media (prefers-reduced-motion:reduce){.unlock-dye :is(.dye-confirm,.shape-confirm,.dye-surface,.shape-light){animation:none}}.unlock-carrier{position:absolute;width:25%;aspect-ratio:1;top:0;left:0;animation:dye-demo-travel var(--demo-duration) linear infinite}.unlock-set{position:absolute;top:15%;right:15%;bottom:15%;left:15%;opacity:0}.unlock-set>svg{display:block;width:100%;height:100%}@keyframes dye-demo-travel{0%{transform:translate(-100%);opacity:0}5%{opacity:1}10%{transform:translate(0)}30%{transform:translate(100%)}50%{transform:translate(200%)}70%,82%{transform:translate(300%);opacity:1}94%,to{transform:translate(400%);opacity:0}}.unlock-set-0{animation:demo-neutral var(--demo-duration) steps(1,end) infinite}.unlock-set-1{animation:demo-red var(--demo-duration) steps(1,end) infinite}.unlock-set-2{animation:demo-yellow var(--demo-duration) steps(1,end) infinite}.unlock-set-3{animation:demo-blue var(--demo-duration) steps(1,end) infinite}.unlock-set-4{animation:demo-violet var(--demo-duration) steps(1,end) infinite}@keyframes demo-neutral{0%{opacity:1}10%,to{opacity:0}}@keyframes demo-red{0%{opacity:0}10%{opacity:1}30%,to{opacity:0}}@keyframes demo-yellow{0%{opacity:0}30%{opacity:1}50%,to{opacity:0}}@keyframes demo-blue{0%{opacity:0}50%{opacity:1}70%,to{opacity:0}}@keyframes demo-violet{0%{opacity:0}70%{opacity:1}94%,to{opacity:0}}.unlock-static{display:none;position:absolute;top:0;right:0;bottom:0;left:0;grid-template-columns:repeat(4,minmax(0,1fr))}.unlock-static>div{padding:15%}.unlock-static svg{display:block;width:100%;height:100%}@media (prefers-reduced-motion: reduce){.unlock-carrier{display:none;animation:none}.unlock-static{display:grid}.unlock-set{animation:none}}.turn-unlock-demo{--demo-duration: 6s}.turn-unlock-demo :is(.unlock-track,.unlock-static){grid-template-columns:repeat(3,minmax(0,1fr))}.turn-demo-carrier{position:absolute;width:calc(100% / 3);aspect-ratio:1;top:0;left:0;animation:turn-demo-travel var(--demo-duration) linear infinite}.turn-demo-set{position:absolute;top:15%;right:15%;bottom:15%;left:15%}.turn-demo-set>svg{display:block;width:100%;height:100%}.turn-demo-set .package-contents{animation:turn-demo-contents var(--demo-duration) ease-in-out infinite}.turn-demo-set .package-quarter{animation:turn-demo-quarter var(--demo-duration) ease-in-out infinite}@keyframes turn-demo-travel{0%{transform:translate(0);opacity:0}5%,15%{transform:translate(0);opacity:1}35%,60%{transform:translate(100%);opacity:1}80%,94%{transform:translate(200%);opacity:1}to{transform:translate(200%);opacity:0}}@keyframes turn-demo-contents{0%,35%{transform:rotate(0)}55%,to{transform:rotate(var(--turn-angle))}}@keyframes turn-demo-quarter{0%,35%{transform:rotate(0)}55%,to{transform:rotate(var(--counter-angle))}}@media (prefers-reduced-motion: reduce){.turn-demo-carrier{display:none;animation:none}.turn-demo-set :is(.package-contents,.package-quarter){animation:none}}@media (prefers-reduced-motion: reduce){.shape-unlock-demo .unlock-static{position:static;grid-column:1/-1;margin-top:6px}}.cell>svg.mirror-panel{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none}.mirror-light{filter:drop-shadow(0 0 1.3px #ed35d2bb) drop-shadow(0 0 3px #ed35d250)}.precision-steel .cell.mlr:after,.precision-steel .cell.mtb:after{content:none}.mirror-chapter-art{display:flex;gap:10px;width:100%;padding:14px 8px;align-items:center}.mirror-chapter-art>div{width:50%}.mirror-chapter-art svg{width:100%;height:auto;display:block}.mirror-demo{--mirror-duration:4s;margin:28px auto 12px;width:100%}.mirror-demo-track{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.mirror-demo-floor{aspect-ratio:1}.mirror-demo svg{width:100%;height:100%;display:block}.mirror-demo-carrier{position:absolute;width:calc(100% / 3);aspect-ratio:1;left:0;top:0;display:none}.mirror-demo-result{position:absolute;top:15%;right:15%;bottom:15%;left:15%}.mirror-demo-static{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.mirror-demo-static>span{padding:15%}.mirror-demo.animated .mirror-demo-static{display:none}.mirror-demo.animated .mirror-demo-carrier{display:block;animation:mirror-travel var(--mirror-duration) linear infinite,mirror-carrier-light var(--mirror-duration) linear infinite}.mirror-demo.animated .mirror-demo-result .package-quarter{animation:mirror-slide var(--mirror-duration) linear infinite}.mirror-demo.animated .mirror-confirm{animation:mirror-flash var(--mirror-duration) ease-in-out infinite}@keyframes mirror-travel{0%,16%{transform:translate(0)}64%,to{transform:translate(200%)}}@keyframes mirror-carrier-light{0%{opacity:0}8%,80%{opacity:1}92%,to{opacity:0}}@keyframes mirror-slide{0%,29.2%{transform:translate(0);animation-timing-function:cubic-bezier(.4,0,.2,1)}40%,to{transform:translate(var(--mirror-x),var(--mirror-y))}}@keyframes mirror-flash{0%,29.2%,75%,to{opacity:0}40%,55%{opacity:1}}@media (prefers-reduced-motion:reduce){.mirror-demo.animated .mirror-demo-carrier{display:none;animation:none}.mirror-demo.animated .mirror-demo-static{display:grid}.mirror-demo.animated .package-quarter,.mirror-demo.animated .mirror-confirm{animation:none}}.laser-layer{position:absolute;pointer-events:none;z-index:9}.laser-circuit{color:var(--laser-tone)}.laser-beam{position:absolute;height:2px;margin-top:-1px;background:#fff9f4;box-shadow:0 0 3px 1px var(--laser-tone),0 0 10px 3px color-mix(in srgb,var(--laser-tone) 60%,transparent);transform-origin:left center;clip-path:inset(-20px -20px -20px 0);transition:clip-path .32s ease-in,opacity .35s}.laser-circuit.inactive .laser-beam{clip-path:inset(-20px 100% -20px 0);opacity:0}.laser-emitter{position:absolute}.laser-emitter-art{width:100%;height:100%;display:block;overflow:visible}.laser-lens{filter:drop-shadow(0 0 3px var(--laser-tone));transition:stroke .25s,filter .25s}.inactive .laser-lens{stroke:#384547;filter:none}.cell>svg.deactivation-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none}.deactivation-ring,.circuit-marker{filter:drop-shadow(0 0 1.4px var(--laser-tone));transition:opacity .25s}.deactivation-field .station-target{top:22%!important;right:22%!important;bottom:22%!important;left:22%!important;width:56%!important;height:56%!important;opacity:.68}.deactivation-field.delivered .deactivation-ring{opacity:.45;animation:deactivation-confirm .7s ease-out}.deactivation-field.delivered .circuit-marker,.inactive .circuit-marker{opacity:.4;filter:none}@keyframes deactivation-confirm{0%{opacity:1}30%,60%{opacity:1;stroke:#62f0a4;stroke-width:3;filter:drop-shadow(0 0 5px #50ff90)}to{opacity:.45;stroke:var(--laser-tone);stroke-width:1.6}}.failure-scene[data-kind=laser] .failure-carrier{animation:laser-strike 1.1s ease-out both}@keyframes laser-strike{0%{transform:translate(0)}35%{transform:translate(var(--dx),var(--dy));filter:drop-shadow(0 0 9px #ff3055)}65%{transform:translate(var(--dx),var(--dy));opacity:1}to{transform:translate(var(--dx),var(--dy));opacity:0}}.laser-demo{position:relative;width:100%;max-width:300px;aspect-ratio:3/2;margin:20px auto;color:var(--laser-tone)}.laser-demo-floor{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(3,1fr)}.laser-demo-floor img{display:block;width:100%}.laser-demo-in,.laser-demo-field,.laser-demo-cross{position:absolute;width:33.333%;height:50%;top:50%}.laser-demo-in{left:0}.laser-demo-field{left:33.333%}.laser-demo-cross{top:0;left:66.666%}.laser-demo svg{width:100%;height:100%;display:block}.laser-demo-field>svg{position:absolute;top:0;right:0;bottom:0;left:0}.laser-demo-beam{position:absolute;top:25%;left:0;right:0;height:2px;background:#fff9f4;box-shadow:0 0 4px 2px var(--laser-tone);transform-origin:left}.laser-demo-emitter{position:absolute;left:-5%;top:0;width:10%;height:50%}.laser-demo-package{position:absolute;top:58%;left:5%;width:23%;aspect-ratio:1}.laser-demo.animated .laser-demo-package{animation:laser-delivery 5s infinite ease-in-out}.laser-demo.animated .deactivation-ring{animation:laser-field 5s infinite}.laser-demo.animated .laser-demo-beam{animation:laser-disable 5s infinite}.laser-demo.animated .laser-lens{animation:laser-lens-off 5s infinite}@keyframes laser-lens-off{0%,42%,to{stroke:var(--laser-tone);filter:drop-shadow(0 0 3px var(--laser-tone))}51%,94%{stroke:#384547;filter:none}}@keyframes laser-delivery{0%,12%{transform:translate(0);opacity:1}42%,52%{transform:translate(145%);opacity:1}62%,to{transform:translate(145%);opacity:0}}@keyframes laser-field{0%,41%,to{stroke:var(--laser-tone);opacity:1}45%,56%{stroke:#62f0a4;opacity:1}65%,94%{stroke:var(--laser-tone);opacity:.45}}@keyframes laser-disable{0%,42%,to{transform:scaleX(1);opacity:1}51%,94%{transform:scaleX(0);opacity:0}}@media (prefers-reduced-motion:reduce){.laser-demo.animated *,.deactivation-field.delivered .deactivation-ring{animation:none!important}.laser-demo-package{left:38%}.laser-demo.animated .laser-demo-beam{opacity:0}.laser-demo.animated .deactivation-ring{opacity:.45}.laser-demo.animated .laser-lens{stroke:#384547;filter:none}.laser-beam,.laser-lens{transition:none}}.cell>svg.fixed-operator-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;z-index:4;pointer-events:none}.cell.fixed-operator{cursor:default}.portal-layer{position:absolute;inset:calc(0px - var(--band));pointer-events:none;z-index:8}.portal-mount{position:absolute;pointer-events:none;display:block}.portal-mount>.border-portal-art{width:100%;height:100%;display:block;overflow:visible}.portal-energy{animation:portal-breathe 3.8s ease-in-out infinite}.portal-stars{animation:portal-stars 3s ease-in-out infinite alternate}@keyframes portal-breathe{0%,to{opacity:.78}50%{opacity:1}}@keyframes portal-stars{0%{opacity:.4}to{opacity:1}}.portal-chapter-art{display:block;width:100%;max-width:260px;filter:drop-shadow(0 8px 10px #0005)}.route-unlock-demo{position:relative;margin:20px auto 5px;max-width:280px}.route-unlock-demo>svg{width:100%;height:auto}.fixed-unlock-track{position:relative;display:flex;margin:24px 0 10px}.fixed-unlock-track>div{position:relative;width:33.333%;aspect-ratio:1}.fixed-unlock-track>div>svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.portal-demo-set{position:absolute;top:56%;left:65%;width:18%;animation:portal-demo 4s linear infinite}@keyframes portal-demo{0%,15%{transform:translate(-120%);opacity:1}40%{transform:translate(80%) scale(.8);opacity:0}41%{transform:translate(-320%) scale(.8);opacity:0}70%,to{transform:translate(-150%);opacity:1}}@media (prefers-reduced-motion:reduce){.portal-energy,.portal-stars,.portal-demo-set{animation:none}.portal-demo-set{left:45%}}.cell>svg.multiplier-panel{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none}.multiplier-demo{position:relative;width:100%;aspect-ratio:1.3;margin:12px auto}.multiply-machine{position:absolute;width:42%;left:29%;top:24%}.multiply-machine>svg,.multiply-input>svg,.multiply-copy>svg{width:100%;height:auto;display:block}.multiply-input,.multiply-copy{position:absolute;width:19%;left:40.5%;top:39%}.multiply-input{left:1%}.multiply-copy.copy-0{left:80%}.multiply-copy.copy-1{top:75%}.multiply-copy.copy-2{top:0}.fork-demo{--fork-duration:4s;position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));width:100%;max-width:252px;aspect-ratio:1;margin:18px auto 0}.fork-floor{min-width:0;aspect-ratio:1}.fork-floor>svg,.fork-set>svg{display:block;width:100%;height:100%}.fork-left{grid-area:2/1}.fork-centre{grid-area:2/2}.fork-right{grid-area:2/3}.fork-down{grid-area:3/2}.fork-up{grid-area:1/2}.fork-carrier{position:absolute;width:calc(100% / 3);aspect-ratio:1;top:calc(100% / 3);pointer-events:none}.fork-set{position:absolute;top:15%;right:15%;bottom:15%;left:15%}.fork-original{left:0;animation:fork-forward var(--fork-duration) linear infinite,fork-original-light var(--fork-duration) linear infinite}.fork-branch{left:calc(100% / 3);animation:fork-branch-travel var(--fork-duration) linear infinite,fork-copy-light var(--fork-duration) linear infinite}.fork-branch-down{--fork-y:100%}.fork-branch-up{--fork-y:-100%}.fork-demo .multiplier-confirm{animation:fork-flash var(--fork-duration) ease-in-out infinite}@keyframes fork-forward{0%,16%{transform:translate(0)}64%,to{transform:translate(200%)}}@keyframes fork-branch-travel{0%,40%{transform:translateY(0)}64%,to{transform:translateY(var(--fork-y))}}@keyframes fork-original-light{0%{opacity:0}8%,80%{opacity:1}92%,to{opacity:0}}@keyframes fork-copy-light{0%,39.999%{opacity:0}40%,80%{opacity:1}92%,to{opacity:0}}@keyframes fork-flash{0%,38%,75%,to{opacity:0}45%,58%{opacity:1}}@media (prefers-reduced-motion:reduce){.fork-carrier,.fork-demo .multiplier-confirm{animation:none}.fork-original{transform:translate(200%)}.fork-branch{transform:translateY(var(--fork-y))}.fork-demo .multiplier-confirm{opacity:0}}.app .mode-card.available[data-mode=daily]{--menu-edge:#cdb077;--menu-fill:radial-gradient(ellipse at 5% 0,#81644333,transparent 80%),linear-gradient(145deg,#263638,#11242c 75%)}#daily-info{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-5px 0 12px;color:var(--menu-ivory);font:500 11px/1.4 var(--menu-type);text-shadow:0 2px 6px #000,0 0 10px #071419}#daily-complete{color:#b0b9b5;font-size:10px}.daily-solved .board-panel{filter:grayscale(1) brightness(.62);transition:filter .45s ease}.daily-solved .toolkit{display:none}.daily-solved #grid .cell{cursor:default}@media (prefers-reduced-motion:reduce){.daily-solved .board-panel{transition:none}}#arcade-screen{max-width:490px;margin:30px auto 0;padding-bottom:24px}.arcade-rules{color:#b9caca;font-size:14px;line-height:1.7;margin:12px 0 26px}#arcade-challenges{display:grid;gap:16px}.arcade-card{position:relative;display:grid;grid-template-columns:44px 1fr 24px;gap:14px;align-items:center;width:100%;padding:24px 18px;border:1px solid #b88c70;border-radius:4px;background:linear-gradient(135deg,#223a40,#0e2027);box-shadow:inset 0 0 0 4px #15272c,0 8px 24px #0004;text-align:left;color:#f1e9da;cursor:pointer}.arcade-card:hover,.arcade-card:focus-visible{border-color:#d2b0fa;background:linear-gradient(135deg,#2e3b47,#14242c)}.arcade-card-number{font:600 25px monospace;color:#c7a5ec}.arcade-card strong{display:block;font-size:20px;margin-bottom:7px}.arcade-card small{color:#b2c0c4;font-size:12px}.arcade-card.solved .arcade-card-number,.arcade-card.solved .arcade-card-check{color:#8ee3ba}#arcade-info{max-width:490px;width:100%;margin:0 auto 12px;color:#cfb4ef}.arcade-readout{display:flex;align-items:center;justify-content:space-between;gap:10px;font:600 12px monospace;min-height:30px}#arcade-steps{display:flex;gap:7px;align-items:center}#arcade-steps i{width:7px;height:7px;border:1px solid #a992c3;transform:rotate(45deg);margin-left:2px}#arcade-steps i.passed{background:#87dfb6;border-color:#87dfb6}#arcade-steps i.current{background:#c7a5ec;box-shadow:0 0 8px #b092d477}#arcade-countdown{font-variant-numeric:tabular-nums}.arcade-time-track{height:3px;background:#293b40;overflow:hidden}.arcade-time-track i{display:block;height:100%;width:100%;background:#c2a0e6;transition:width .1s linear}#arcade-info.urgent{color:#ff957f}#arcade-info.urgent .arcade-time-track i{background:#ff957f}@media (prefers-reduced-motion:reduce){.arcade-time-track i{transition:none}}.junction-rotor{transform-box:view-box;transform-origin:50% 50%}.junction-current{filter:drop-shadow(0 0 1px #e4efed66)}.junction-next{filter:drop-shadow(0 0 1.2px #ffb744b3) drop-shadow(0 0 3px #ffb74440)}.cell.junction>svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.junction-demo{position:relative;width:100%;aspect-ratio:3/2;margin:20px auto 0;max-width:280px}.junction-demo>div:not(.junction-demo-set){position:absolute;width:33.333%;height:50%}.junction-demo svg{width:100%;height:100%}.junction-demo-in{left:0;top:0}.junction-demo-machine{left:33.333%;top:0}.junction-demo-out{left:66.666%;top:0}.junction-demo-down{left:33.333%;top:50%}.junction-demo-set{position:absolute;width:23.333%;height:35%;left:5%;top:7.5%;pointer-events:none}.junction-demo-machine .junction-rotor{animation:junction-demo-turn 6s infinite}.junction-demo-first{animation:junction-demo-first 6s infinite linear}.junction-demo-second{animation:junction-demo-second 6s infinite linear}@keyframes junction-demo-first{0%,5%{transform:translate(0);opacity:0}8%{opacity:1}20%{transform:translate(142.857%)}35%,40%{transform:translate(285.714%);opacity:1}44%,to{transform:translate(285.714%);opacity:0}}@keyframes junction-demo-second{0%,48%{transform:translate(0);opacity:0}51%{opacity:1}63%{transform:translate(142.857%)}78%,83%{transform:translate(142.857%,142.857%);opacity:1}87%,to{transform:translate(142.857%,142.857%);opacity:0}}@keyframes junction-demo-turn{0%,33%{transform:rotate(0)}38%,76%{transform:rotate(90deg)}81%,97%{transform:rotate(180deg)}to{transform:rotate(180deg)}}@media (prefers-reduced-motion:reduce){.junction-demo .junction-rotor,.junction-demo-set{animation:none}.junction-demo-first{transform:translate(285.714%)}.junction-demo-second{transform:translate(142.857%,142.857%)}}.cell>svg.assembly-panel{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none}.assembly-light{filter:drop-shadow(0 0 1.2px #ffe0a573) drop-shadow(0 0 3.5px #ffdc9124)}.assembly-demo{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));width:min(100%,250px);aspect-ratio:3/4;margin:16px auto 8px;--assembly-duration:6.4s}.assembly-demo-floor{min-width:0}.assembly-demo-floor>svg,.assembly-carrier svg{width:100%;height:100%;display:block}.assembly-carrier{position:absolute;left:0;top:0;width:33.333333%;aspect-ratio:1;pointer-events:none;animation-duration:var(--assembly-duration);animation-timing-function:linear;animation-iteration-count:infinite}.assembly-carrier>div{position:absolute;top:15%;right:15%;bottom:15%;left:15%}.assembly-demo-whole{animation-name:assembly-whole}.assembly-demo-left{animation-name:assembly-left}.assembly-demo-right{animation-name:assembly-right}.assembly-demo-joined{animation-name:assembly-joined}@keyframes assembly-whole{0%{opacity:0;transform:translate(100%)}6.25%{opacity:1;transform:translate(100%)}18.749%{opacity:1;transform:translate(100%,99.992%)}18.75%,to{opacity:0;transform:translate(100%,100%)}}@keyframes assembly-left{0%,18.749%{opacity:0;transform:translate(100%,100%)}18.75%{opacity:1;transform:translate(100%,100%)}31.25%{transform:translateY(100%)}43.75%{transform:translateY(200%)}56.249%{opacity:1;transform:translate(99.992%,200%)}56.25%,to{opacity:0;transform:translate(100%,200%)}}@keyframes assembly-right{0%,18.749%{opacity:0;transform:translate(100%,100%)}18.75%{opacity:1;transform:translate(100%,100%)}31.25%{transform:translate(200%,100%)}43.75%{transform:translate(200%,200%)}56.249%{opacity:1;transform:translate(100.008%,200%)}56.25%,to{opacity:0;transform:translate(100%,200%)}}@keyframes assembly-joined{0%,56.249%{opacity:0;transform:translate(100%,200%)}56.25%{opacity:1;transform:translate(100%,200%)}68.75%,81.25%{opacity:1;transform:translate(100%,300%)}87.5%,to{opacity:0;transform:translate(100%,300%)}}.assembly-demo-left .package-fragments,.assembly-demo-right .package-fragments{animation:assembly-cut-housing var(--assembly-duration) linear infinite}.assembly-demo-joined .package-shell,.assembly-demo-joined .package-rim{animation:assembly-new-housing var(--assembly-duration) linear infinite}@keyframes assembly-cut-housing{0%,53.125%{opacity:1}56.25%,to{opacity:0}}@keyframes assembly-new-housing{0%,56.25%{opacity:0}59.375%,to{opacity:1}}.assembly-demo-split .assembly-confirm{animation:assembly-split-flash var(--assembly-duration) ease-in-out infinite}.assembly-demo-merge .assembly-confirm{animation:assembly-merge-flash var(--assembly-duration) ease-in-out infinite}@keyframes assembly-split-flash{0%,18.75%,31.25%,to{opacity:0}22%{opacity:1}}@keyframes assembly-merge-flash{0%,56.25%,68.75%,to{opacity:0}59.5%{opacity:1}}@media (prefers-reduced-motion:reduce){.assembly-demo *{animation:none!important}.assembly-demo-whole{transform:translate(100%)}.assembly-demo-left{transform:translateY(100%)}.assembly-demo-right{transform:translate(200%,100%)}.assembly-demo-joined{transform:translate(100%,300%)}}.socket-panel .socket-stored,.socket-panel .socket-incoming{filter:drop-shadow(0 0 1px #fff2)}.socket-demo{width:100%;margin:26px auto 14px;max-width:330px}.socket-demo>svg{width:100%;display:block;overflow:visible}.socket-demo-set{transform-box:view-box}.socket-demo .socket-demo-set>svg{overflow:visible}.turntable-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.turntable-platform{position:absolute;transform-origin:center;will-change:transform;pointer-events:none}.turntable-frame-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}.turntable-seam{opacity:0;filter:drop-shadow(0 0 1.5px #a8eeb8) drop-shadow(0 0 3px #a8eeb8)}.art .cell.turntable-cell,.board-frame .cell.turntable-cell{background-image:none!important;background-color:#51452d}.cell.turntable-cell>svg.turntable-floor{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;z-index:0;pointer-events:none}.cell.turntable-cell>svg:not(.turntable-floor){position:absolute;top:4%;right:4%;bottom:4%;left:4%;width:92%;height:92%;max-width:none;max-height:none;z-index:1;transform-origin:center}.turntable-platform>.turntable-clone{position:absolute;width:50%;height:50%;margin:0;border:0;pointer-events:none;opacity:0;border-radius:0}.board-surface:has(.turntable-layer)>#packages{z-index:4}.turntable-demo{width:100%;max-width:290px;aspect-ratio:350/370;margin:12px auto 0;position:relative}.turntable-demo>svg{display:block;width:100%;height:100%;overflow:visible}.turntable-demo :is(.tt-demo-scene,.tt-demo-deck,.turntable-seam,.tt-demo-set){animation-duration:var(--tt-demo-cycle);animation-iteration-count:infinite;animation-timing-function:linear}.turntable-demo .tt-demo-deck{transform-origin:200px 150px}.turntable-demo .tt-demo-set{transform:translate(115px,65px)}@media (prefers-reduced-motion:reduce){.turntable-demo :is(.tt-demo-scene,.tt-demo-deck,.turntable-seam,.tt-demo-set){animation:none!important}}.dev-preview .board-frame{position:relative}.dev-preview .cell.turntable-cell>svg.item{inset:auto;width:66%;height:66%;z-index:3}.intro-chapter-art{min-height:160px}.chapter-board-scene{display:block;width:100%;max-width:210px;height:auto;filter:drop-shadow(0 6px 8px #0005)}.sleepy-socket .station-target{top:19%;right:19%;bottom:19%;left:19%}.sleepy-face{opacity:0;filter:drop-shadow(0 0 1.5px #6bffc888);transform-origin:50px 56px}.sleepy-open-eyes{transform-origin:50px 48px}.sleepy-right-eye{transform-origin:65px 48px}.sleepy-happy-eyes,.sleepy-smile,.sleepy-wink-eye{opacity:0}.sleepy-smile{transform-origin:50px 66px}.sleepy-indicator{transition:fill .4s ease,filter .4s ease}.sleepy-socket.delivered.robot-awake .station-target{opacity:0;transform:scale(.12);animation:sleepy-absorb .42s cubic-bezier(.4,0,.2,1) both}.sleepy-socket.robot-awake .sleepy-indicator{fill:#a5ffda;filter:drop-shadow(0 0 1.5px #6bffc8)}.sleepy-socket.robot-awake .sleepy-face{animation:sleepy-wake 1.7s .35s both}.sleepy-socket.robot-awake .sleepy-open-eyes{animation:sleepy-blink 1.35s .35s both}.sleepy-socket.robot-awake .sleepy-happy-eyes{animation:sleepy-happy .35s 1.25s both}.sleepy-socket.robot-awake .sleepy-smile{animation:sleepy-smile .4s 1.3s both}.sleepy-socket.robot-awake[data-reaction=wink] .sleepy-face{animation:sleepy-wink-tilt 1.75s .35s cubic-bezier(.4,0,.2,1) both}.sleepy-socket.robot-awake[data-reaction=wink] .sleepy-open-eyes{animation:sleepy-open .26s .35s both}.sleepy-socket.robot-awake[data-reaction=wink] .sleepy-happy-eyes{animation:none}.sleepy-socket.robot-awake[data-reaction=wink] .sleepy-right-eye{animation:sleepy-one-blink .65s .85s cubic-bezier(.4,0,.2,1) both}.sleepy-socket.robot-awake[data-reaction=wink] .sleepy-wink-eye{animation:sleepy-wink .65s .85s cubic-bezier(.4,0,.2,1) both}.sleepy-socket.robot-awake[data-reaction=bob] .sleepy-face{animation:sleepy-double-bob 1.75s .35s ease-in-out both}.sleepy-socket.robot-awake[data-reaction=bob] .sleepy-open-eyes{animation:sleepy-bob-eyes .65s .35s both}.sleepy-socket.robot-awake[data-reaction=bob] .sleepy-happy-eyes{animation:sleepy-happy .24s .82s both}.sleepy-socket.robot-awake:is([data-reaction=wink],[data-reaction=bob]) .sleepy-smile{animation:sleepy-smile .35s .7s both}@keyframes sleepy-absorb{0%{opacity:1;transform:scale(1)}65%{opacity:.8}to{opacity:0;transform:scale(.12)}}@keyframes sleepy-wake{0%{opacity:0;transform:translateY(2px)}25%{opacity:1;transform:translateY(0)}65%{transform:translateY(0)}80%{transform:translateY(-1px)}to{opacity:1;transform:translateY(0)}}@keyframes sleepy-blink{0%{opacity:1;transform:scaleY(.12)}25%,43%{opacity:1;transform:scaleY(1)}50%{opacity:1;transform:scaleY(.08)}59%,68%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@keyframes sleepy-happy{0%{opacity:0}to{opacity:1}}@keyframes sleepy-smile{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes sleepy-open{0%{transform:scaleY(.12)}to{transform:scaleY(1)}}@keyframes sleepy-wink-tilt{0%{opacity:0;transform:translateY(2px) rotate(0)}16%{opacity:1;transform:translateY(0) rotate(0)}40%,68%{opacity:1;transform:translate(1px,-1px) rotate(-5deg)}to{opacity:1;transform:translate(0) rotate(0)}}@keyframes sleepy-one-blink{0%,to{opacity:1;transform:scaleY(1)}25%,68%{opacity:0;transform:scaleY(.08)}}@keyframes sleepy-wink{0%,to{opacity:0}25%,68%{opacity:1}}@keyframes sleepy-double-bob{0%{opacity:0;transform:translateY(2px)}18%,30%,56%,82%,to{opacity:1;transform:translateY(0)}43%{opacity:1;transform:translateY(-4px)}69%{opacity:1;transform:translateY(-2.5px)}}@keyframes sleepy-bob-eyes{0%{opacity:1;transform:scaleY(.12)}35%,72%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(.2)}}@media (prefers-reduced-motion:reduce){.sleepy-socket.robot-awake *{animation:none!important}.sleepy-socket.robot-awake .sleepy-face,.sleepy-socket.robot-awake .sleepy-happy-eyes,.sleepy-socket.robot-awake .sleepy-smile{opacity:1}.sleepy-socket.robot-awake .sleepy-open-eyes,.sleepy-socket.robot-awake .sleepy-wink-eye{opacity:0}.sleepy-indicator{transition:none}}
