:root{color:#202237;background:#101426;font-family:Avenir Next,Segoe UI,system-ui,sans-serif;font-synthesis:none;--ink:#202237;--ink-soft:#626578;--night:#111528;--ivory:#f5ead4;--porcelain:#fff9ec;--brass:#ba8845;--brass-light:#f1c778;--cobalt:#315fce;--cobalt-dark:#21479f;--amber:#f4b94d;--coral:#e76e56;--teal:#4daa9a;--line:rgba(93,76,52,.24);--shadow-heavy:0 28px 70px rgba(4,7,17,.42),0 4px 14px rgba(4,7,17,.24);--spring:cubic-bezier(.2,.88,.28,1.18);--glide:cubic-bezier(.34,.02,.2,1)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--night)}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#070a1652,#070a16b8),url(../assets/atelier-observatory-bg.webp) center/cover fixed,var(--night)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 48%,transparent 25%,rgba(4,7,18,.28) 75%,rgba(4,7,18,.68));z-index:0}button{font:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #8bb7ff;outline-offset:3px}.app-shell{position:relative;z-index:1;min-height:100vh;padding:max(16px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.topbar{max-width:1320px;margin:0 auto 14px;min-height:48px;display:flex;align-items:center;justify-content:space-between;color:#fff8e8}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border:1px solid rgba(244,185,77,.65);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#27345d 0 32%,#151a30 33% 53%,#b88643 55% 58%,#171c31 60%);box-shadow:0 0 22px #4671da47,inset 0 0 0 3px #ffffff0d}.brand-mark i{width:12px;height:12px;border:2px solid var(--amber);border-radius:50%;position:relative}.brand-mark i:after{content:"";position:absolute;left:4px;top:-10px;width:2px;height:28px;background:var(--amber);transform:rotate(42deg);border-radius:2px}.brand div{display:grid;line-height:1.12}.brand strong{font:650 16px/1 Fraunces,Georgia,serif;letter-spacing:.02em}.brand small{color:#c8c3b6;font-size:9px;letter-spacing:.17em;text-transform:uppercase;margin-top:6px}.order-progress{display:flex;gap:7px;padding:5px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#0a0d1b70;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.progress-dot{position:relative;width:30px;height:30px;border:0;display:grid;place-items:center;color:#aaa9b3;font-size:11px;background:transparent}.progress-glyph{width:30px;height:30px;border:1px solid rgba(255,255,255,.17);border-radius:50%;display:grid;place-items:center}button.progress-dot{padding:0;cursor:pointer;appearance:none}button.progress-dot:hover{transform:translateY(-1px);filter:brightness(1.08)}.progress-dot.done .progress-glyph{background:var(--teal);border-color:#89d8c8;color:#0b2624;box-shadow:0 0 12px #4daa9a59}.progress-dot.current .progress-glyph{border:2px solid var(--amber);background:#fff5df;color:var(--night);font-weight:800;box-shadow:0 0 0 3px #f4b94d26}.progress-dot[data-seals="1"]:after,.progress-dot[data-seals="2"]:after{content:"•";position:absolute;right:-3px;bottom:-5px;color:#f4c66e;font-size:13px;letter-spacing:-2px;text-shadow:0 1px 2px #11182b}.progress-dot[data-seals="2"]:after{content:"••";right:-5px}.game-layout{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(220px,250px) minmax(500px,1fr) 144px;gap:16px;align-items:start}.left-rail{display:grid;gap:13px}.order-card,.workshop-card,.action-dock,.play-column{border:1px solid rgba(241,199,120,.24);box-shadow:var(--shadow-heavy)}.order-card,.workshop-card{border-radius:22px;padding:19px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.order-card{color:#fff8e8;background:linear-gradient(145deg,#1d2542f2,#0f1427eb);position:relative;overflow:hidden}.order-card:after{content:"";position:absolute;width:130px;height:130px;right:-62px;top:-68px;border:1px solid rgba(244,185,77,.2);border-radius:50%;box-shadow:0 0 0 18px #f4b94d09,0 0 0 38px #f4b94d06}.order-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.eyebrow{color:var(--amber);text-transform:uppercase;font-size:9px;letter-spacing:.17em;font-weight:800}.difficulty{color:#aaaebd;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.order-card h1{font:700 clamp(27px,3vw,39px)/.98 "Fraunces",Georgia,serif;margin:12px 0 9px;max-width:210px;letter-spacing:-.02em}.order-subtitle{color:#c4c5cd;font-size:12px;line-height:1.45;margin:0 0 21px;max-width:205px}.product-name{display:flex;align-items:center;gap:13px;font-weight:700;border-top:1px solid rgba(255,255,255,.1);padding-top:15px}.product-name>span:last-child{display:grid;gap:2px;font-size:13px}.product-name small{color:#9ca0b2;text-transform:uppercase;font-size:8px;letter-spacing:.14em}.artifact{--accent:#f4b94d;position:relative;display:grid;place-items:center;width:42px;aspect-ratio:1;filter:drop-shadow(0 5px 5px rgba(12,13,23,.26))}.artifact-body{position:absolute;inset:10%;border-radius:42% 56% 45% 53%;background:linear-gradient(145deg,color-mix(in srgb,var(--accent),white 22%),var(--accent));border:2px solid #313349;box-shadow:inset 3px 3px #ffffff5c,inset -3px -4px #23233026;transition:border-radius .22s var(--spring),clip-path .22s var(--spring),background .22s ease}.artifact-body:after{content:"";position:absolute;inset:22%;border:1px solid rgba(255,255,255,.5);border-radius:50%}.artifact-crest{position:relative;z-index:3;color:#222337;font:800 16px/1 Georgia,serif}.artifact-cut,.artifact-detail{position:absolute;opacity:0;transition:opacity .18s ease,transform .22s var(--spring)}.artifact.large{width:48px}.artifact.large .artifact-crest{font-size:18px}.artifact[data-stages~=paint] .artifact-body{background:linear-gradient(145deg,color-mix(in srgb,var(--accent),white 34%),color-mix(in srgb,var(--accent),#315fce 14%));box-shadow:inset 4px 4px #ffffff73,inset -3px -4px #2323302e,0 0 0 2px color-mix(in srgb,var(--accent),transparent 70%)}.artifact[data-stages~=cut] .artifact-body{border-radius:10% 58% 12%;clip-path:polygon(0 0,100% 0,76% 50%,100% 100%,0 100%,20% 50%)}.artifact[data-stages~=cut] .artifact-cut{opacity:1;width:12px;height:12px;right:-2px;top:1px;border:2px solid var(--teal);border-radius:50%;transform:rotate(25deg)}.artifact[data-stages~=assemble] .artifact-detail{opacity:1;inset:1%;border:3px solid var(--brass-light);border-left-color:transparent;border-radius:50%;transform:rotate(35deg)}.artifact[data-stages~=pack]:after{content:"";position:absolute;inset:-4px;border:3px solid #f5dca4;border-radius:8px;box-shadow:inset 0 0 0 1px #8b6b3c,0 0 10px #f4b94d47}.artifact[data-stages~=paint] .artifact-body:before{content:"";position:absolute;inset:13%;border-radius:inherit;background:repeating-linear-gradient(135deg,rgba(255,255,255,.5) 0 3px,transparent 3px 8px);mix-blend-mode:overlay}.artifact[data-product=sun-badge] .artifact-body{clip-path:polygon(50% 0,62% 18%,82% 10%,88% 32%,100% 50%,82% 63%,90% 84%,65% 87%,50% 100%,36% 84%,12% 90%,16% 66%,0 50%,18% 36%,10% 14%,36% 18%);border-radius:0}.artifact[data-product=kite-pennant] .artifact-body{border-radius:8px}.artifact[data-product=kite-pennant][data-stages~=cut] .artifact-body{clip-path:polygon(8% 0,92% 0,92% 100%,50% 72%,8% 100%)}.artifact[data-product=wind-spinner][data-stages~=cut] .artifact-body{border-radius:0;clip-path:polygon(50% 0,62% 36%,100% 23%,70% 50%,100% 77%,62% 64%,50% 100%,38% 64%,0 77%,30% 50%,0 23%,38% 36%)}.artifact[data-product=clockwork-bird][data-stages~=cut] .artifact-body{border-radius:0;clip-path:polygon(3% 48%,31% 22%,48% 40%,65% 10%,74% 39%,100% 49%,76% 61%,68% 91%,48% 65%,30% 80%)}.artifact[data-product=clockwork-bird][data-stages~=assemble] .artifact-detail{border-radius:65% 20%;transform:rotate(-18deg)}.artifact[data-product=pocket-orbit] .artifact-body{border-radius:50%}.artifact[data-product=pocket-orbit][data-stages~=cut] .artifact-body{clip-path:none;border:7px solid var(--accent);background:transparent}.workshop-card{background:linear-gradient(150deg,#141b32f0,#1d253de6);color:#f8eedb}.workshop-heading{display:flex;justify-content:space-between;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.workshop-heading span{display:flex;align-items:center;gap:7px}.workshop-heading i{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 9px var(--amber)}.workshop-heading strong{font:700 21px/1 Fraunces,serif;color:var(--amber)}.workshop-heading small{font-size:10px;color:#9195a5}.display-rail{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:15px 0 12px;padding-bottom:7px;border-bottom:3px solid #624c32;box-shadow:0 2px #c49855}.display-plinth{min-width:0;height:38px;display:grid;place-items:end center;position:relative}.display-plinth:after{content:"";width:80%;height:5px;border-radius:50%;background:#0d1224;box-shadow:0 1px #ffffff26}.empty-pin{color:#5e6478;font-size:14px;align-self:center}.mini-artifact{--accent:#f4b94d;align-self:center;width:25px;height:25px;display:grid;place-items:center;border:2px solid #24283a;border-radius:40% 55%;background:var(--accent);color:#202237;font-size:11px;box-shadow:inset 2px 2px #fff6,0 3px 6px #00000059}.newly-mounted .mini-artifact{animation:shelf-mount .62s var(--spring) both}.installed-bench{position:absolute;right:-7px;bottom:-13px;z-index:4;width:39px;height:31px;border:1px solid #6bc4b1;border-radius:7px 7px 3px 3px;background:linear-gradient(#5a6b7f,#242e48);box-shadow:0 4px 8px #0006,0 0 12px #4daa9a3d;display:grid;place-items:center;animation:bench-install .58s var(--spring) both}.installed-bench i{position:absolute;width:24px;height:8px;top:-6px;border:2px solid #75879b;border-bottom:0;border-radius:5px 5px 0 0}.installed-bench b{color:#98ebd8;font-size:14px}.bench-install{min-height:36px;display:flex;align-items:center;gap:9px;color:#8f93a4;font-size:10px}.bench-icon{width:30px;height:30px;border:1px dashed #53596d;border-radius:8px;display:grid;place-items:center}.bench-install.active{color:#b8eee3}.bench-install.active .bench-icon{background:#274f4b;color:#7fe1ce;border:1px solid #58ae9d;box-shadow:0 0 14px #4daa9a40}.play-column{background:linear-gradient(155deg,#fffaeffa,#e6d6b7f7);border-color:#ffebc0b3;border-radius:28px;padding:15px;min-width:0;position:relative;overflow:hidden}.play-column:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.32),transparent 24% 76%,rgba(110,70,28,.06))}.recipe-header{position:relative;display:flex;align-items:center;gap:10px;color:#777080;text-transform:uppercase;font-size:8px;letter-spacing:.14em;margin:0 4px 8px}.recipe-header i{flex:1;height:1px;background:#5b49312e}.recipe{position:relative;list-style:none;display:flex;align-items:center;justify-content:center;margin:0 0 11px;padding:0;gap:6px;overflow:hidden}.recipe-step{display:grid;justify-items:center;gap:3px;min-width:50px;color:#57535f;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.recipe-icon{width:32px;height:32px;border:1px solid rgba(88,74,53,.25);background:#fffdf78c;border-radius:9px;display:grid;place-items:center;font-size:15px;box-shadow:inset 0 -3px #5f46230f}.recipe-icon.identity{width:32px;filter:none}.recipe-step.current .recipe-icon{border:2px solid var(--amber);background:#fff3d3;box-shadow:0 0 0 3px #f4b94d29,inset 0 -3px #83581914}.recipe-step.done{color:#337568}.recipe-step.done .recipe-icon{border:2px solid var(--teal);background:#dff1e9;box-shadow:inset 0 -4px #3f927b1f}.recipe-arrow{color:#b1a58e;transform:translateY(-7px)}.board-wrap{position:relative;background:linear-gradient(145deg,#c9a467,#8d6737 3%,#352b25 3.5%,#24263a 7%,#171b2d 95%);border:1px solid #d5b575;border-radius:21px;padding:9px 10px 10px;box-shadow:inset 0 0 0 3px #111426,inset 0 0 24px #0000008c,0 10px 24px #251b1238;overflow:hidden}.board-bezel,.board-footer{height:18px;display:flex;align-items:center;justify-content:space-between;color:#a2a4af;font-size:7px;letter-spacing:.16em}.board-bezel span{width:6px;height:6px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f3d399,#8d6737 55%,#3d2b17);box-shadow:0 1px 2px #000}.board-bezel strong{font-weight:600}.board-footer{color:#818596;letter-spacing:.08em;padding:2px 3px 0}.board-footer>span:first-child{display:flex;align-items:center;gap:5px}.status-led{width:5px;height:5px;border-radius:50%;background:#656b7d}.is-running .status-led{background:var(--amber);box-shadow:0 0 8px var(--amber);animation:led-pulse .6s ease infinite alternate}.is-complete .status-led{background:var(--teal);box-shadow:0 0 8px var(--teal)}.board{position:relative;width:min(64vh,100%);aspect-ratio:var(--cols)/var(--rows);margin:auto;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:repeat(var(--rows),minmax(0,1fr));gap:5px;padding:5px;border:1px solid rgba(238,209,153,.24);border-radius:13px;background:radial-gradient(circle at 50% 48%,#f6ecd8,#dac6a2);box-shadow:inset 0 5px 18px #5e442129,0 1px #ffffff40}.cell{min-width:0;min-height:0;position:relative;border-radius:11px}.cell.empty{background:linear-gradient(145deg,#ffffff21,#5d442606);border:1px solid rgba(101,78,49,.09)}.tile{border:1px solid rgba(103,79,47,.3);background:linear-gradient(145deg,#fffaf0,#e5d5b7);overflow:visible;display:grid;place-items:center;box-shadow:inset 1px 1px #ffffffbf,inset -2px -3px #5a422214}button.tile{cursor:pointer;color:inherit;padding:0}.tile.rotatable{border:2px solid #9a7440;background:radial-gradient(circle,#fff9e9 0 52%,#d0aa68 54% 60%,#76522d 63% 66%,#edd7a7 68%);box-shadow:inset 0 0 0 2px #ffffff80,0 4px #422c1440,0 7px 12px #32221224;transition:transform .15s var(--spring),box-shadow .15s ease}.tile.rotatable:before{content:"";position:absolute;inset:5%;border:1px dashed rgba(91,59,26,.5);border-radius:50%;pointer-events:none}.tile.rotatable:after{content:"↻";position:absolute;z-index:5;right:5%;top:4%;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:#252b47;color:var(--brass-light);font-size:11px;box-shadow:0 2px 4px #0000004d;pointer-events:none}.tile.rotatable:hover{transform:translateY(-2px) rotate(-.5deg)}.tile.preview{background-color:#fff2c9}.tile.preview .track-line{stroke:var(--amber);stroke-dasharray:0;filter:drop-shadow(0 0 3px rgba(244,185,77,.55))}.tile.preview-endpoint:after{content:"—";position:absolute;z-index:7;inset:-3px;border:3px solid var(--coral);border-radius:13px;background:#fff7e8b3;color:#8e3d2f;display:grid;place-items:end center;line-height:13px;font-weight:900;pointer-events:none;animation:endpoint-in .24s var(--spring)}.tile.preview-station:after{content:"●";border-color:var(--amber);color:#6d4c18;border-radius:8px}.tile.preview-destination:after{content:"→";border-color:var(--amber);color:#6d4c18;clip-path:polygon(10% 0,90% 0,100% 22%,100% 78%,90% 100%,10% 100%,0 78%,0 22%)}.tile.preview-loop:after{content:"↻";border-style:dashed;border-color:#7863a5;color:#51426f;border-radius:50%}.tile.preview-reject:after{content:"!";border-color:var(--coral);color:#8e3d2f;clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%)}.tile.active{z-index:4;box-shadow:inset 0 0 0 4px #315fce6b,0 0 16px #315fce59}.tile.attention{animation:breathe .7s ease 1}.tile.processing .station-machine{animation:machine-work .42s var(--spring)}.tile.processing .machine-core{box-shadow:0 0 0 5px #f4b94d38,0 0 17px #f4b94d8f,inset 0 2px #ffffff59}.track{position:absolute;inset:0;width:100%;height:100%;transform:rotate(var(--rotation));transform-origin:center;transition:transform .16s var(--spring);overflow:visible}.track-bed{fill:none;stroke:#806c58;stroke-width:25;stroke-linecap:round;stroke-linejoin:round}.track-line{fill:none;stroke:#29334e;stroke-width:7;stroke-linecap:round;stroke-dasharray:3 8;transition:stroke .16s ease}.running .track-line{stroke-dasharray:9 8;animation:belt .36s linear infinite}.station-machine{position:relative;z-index:3;width:54%;aspect-ratio:.9;display:grid;place-items:center;filter:drop-shadow(0 4px 3px rgba(36,27,18,.28))}.machine-cap{position:absolute;width:72%;height:18%;top:1%;border:2px solid #48516a;border-bottom-color:#9eb1c7;border-radius:7px 7px 2px 2px;background:linear-gradient(90deg,#25304c,#6c7c91,#29324d)}.machine-core{position:relative;z-index:2;width:72%;aspect-ratio:1;display:grid;place-items:center;border:2px solid #2d3247;border-radius:10px;color:#202237;background:linear-gradient(145deg,#ffffffb3,#ffffff2e),#e6b85e;font-size:clamp(12px,1.7vw,20px);box-shadow:inset 0 2px #ffffff73;transition:box-shadow .18s ease}.machine-core:after{content:"";position:absolute;inset:3px;border:1px solid rgba(38,44,64,.3);border-radius:6px}.machine-base{position:absolute;width:92%;height:20%;bottom:0;border-radius:4px 4px 8px 8px;background:linear-gradient(#566079,#242a42);border:1px solid #1b2034}.station-paint .machine-core{background:linear-gradient(145deg,#ffdda0,#df8460);border-radius:50% 50% 9px 9px}.station-cut .machine-core{background:linear-gradient(145deg,#eaf1f4,#8aa6b6);clip-path:polygon(0 0,100% 0,86% 100%,14% 100%)}.station-assemble .machine-core{background:linear-gradient(145deg,#d9c4f3,#7b65aa)}.station-pack .machine-core{background:linear-gradient(145deg,#f9e6b3,#b88c4b);border-radius:3px}.station-recycle .machine-core{background:linear-gradient(145deg,#bce3d8,#579989);border-radius:50%}.parts-tray{position:absolute;z-index:5;right:-25%;bottom:-2%;width:34%;aspect-ratio:1;border:2px solid #37594f;border-radius:5px;background:#1f3c38;display:grid;place-items:center}.parts-tray i,.recovered-offcut{width:62%;aspect-ratio:1;border:2px solid #74c8b6;border-radius:50%;display:block;opacity:.15;transform:scale(.6);transition:opacity .18s ease,transform .22s var(--spring)}.station-recycle .parts-tray.has-part i,.tile.processing .station-recycle .parts-tray i{opacity:1;transform:scale(1);box-shadow:0 0 7px #4daa9a8c}.loose-offcut{position:absolute;z-index:15;width:38%;aspect-ratio:1;display:grid;place-items:center;border:3px solid #72c7b5;border-radius:50%;background:#daf1eb;color:#27665b;font-size:10px;box-shadow:0 4px 8px #1b3d364d,0 0 10px #4daa9a73;pointer-events:none}.loose-offcut.separated{right:-34%;top:5%;animation:offcut-separate .36s var(--spring) both}.parts-tray .loose-offcut.captured{inset:13%;width:74%;border-width:2px;animation:offcut-capture .36s var(--spring) both}.source-cradle,.delivery-cradle{position:relative;z-index:2;width:62%;aspect-ratio:1;display:grid;place-items:center;border:3px solid #33415f;background:linear-gradient(145deg,#647796,#26304d);box-shadow:inset 0 0 0 3px #ffffff24,0 4px 5px #3122142e}.source-cradle{clip-path:polygon(0 16%,74% 16%,100% 50%,74% 84%,0 84%)}.source-arrow{color:#f1d49b;transform:translate(-3px);font-size:clamp(14px,2vw,22px)}.delivery-cradle{border-color:#465a70;border-radius:12px;background:linear-gradient(145deg,#293751,#11182b)}.delivery-door{position:absolute;inset:10%;border:2px solid #cba665;border-radius:8px;background:#f4b94d0f}.target-artifact{position:relative;z-index:3;width:78%;opacity:.58;filter:grayscale(.35) drop-shadow(0 0 6px rgba(244,185,77,.25))}.target-artifact .artifact-body{background:#fbe6bb29;border-color:#d2ae69;box-shadow:inset 0 0 0 2px #f4b94d26}.target-artifact .artifact-crest{color:#dbbc7d}.is-complete .target-artifact{opacity:.18}.item-at-source{position:absolute;z-index:6;width:clamp(36px,68%,54px);left:-4%;top:18%;transition:opacity .1s ease}.is-running .item-at-source{opacity:0}.moving-item{--item-x:0px;--item-y:0px;--travel-ms:0ms;position:absolute;z-index:12;left:0;top:0;width:clamp(44px,8.4%,56px);aspect-ratio:1;transform:translate(calc(var(--item-x) - 50%),calc(var(--item-y) - 50%));opacity:0;pointer-events:none;transition:transform var(--travel-ms) var(--glide),opacity 90ms ease;will-change:transform}.moving-item .artifact{width:100%}.moving-item.visible{opacity:1}.moving-item.consumed{opacity:0;transform:translate(calc(var(--item-x) - 50%),calc(var(--item-y) - 50%)) scale(.62)}.moving-item.delivered .artifact{animation:delivery-settle .52s var(--spring) both}.moving-item.rejected .artifact{animation:reject .3s ease both;filter:grayscale(.35) drop-shadow(0 5px 5px rgba(12,13,23,.26))}.feedback{position:relative;margin-top:10px;min-height:53px;border-radius:15px;padding:9px 13px;display:flex;gap:10px;align-items:center;font-size:12px;overflow:hidden}.feedback:after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:currentColor;opacity:.68}.feedback.neutral{color:#6f6b76;justify-content:center;border:1px solid rgba(94,75,48,.2);background:#fffaef70}.feedback.success{color:#245f55;background:#dceee7;border:1px solid #a8d3c7}.feedback.warning{color:#914633;background:#f8ddd4;border:1px solid #e8ae9f}.feedback.blocked{color:#595768;background:#e5dfd4;border:1px solid #c7bdad}.feedback-signal{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px #f4b94d29}.feedback-seal{width:31px;height:31px;flex:0 0 31px;border:2px solid currentColor;border-radius:50%;display:grid;place-items:center;font-weight:800}.feedback>.feedback-copy,.feedback>span:last-child:not(.success-seals){display:grid;gap:2px;min-width:0}.feedback strong{font-size:12px}.feedback small{color:#666572;font-size:10px}.feedback.warning small{overflow-wrap:anywhere}.error-comparison{flex:0 0 auto;display:flex;align-items:center;gap:4px}.error-comparison .artifact{width:31px}.error-comparison>i{font-style:normal;color:#9e6a5c}.needed-stage{width:28px;height:28px;display:grid;place-items:center;border:2px dashed #a45544;border-radius:8px;background:#ffffff59;font-weight:800}.action-dock{border-radius:22px;padding:10px;display:grid;gap:9px;color:#f8f1e2;background:linear-gradient(160deg,#1b233ef7,#0d1222f7);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.action-dock button,.transport-status{min-height:52px;border:1px solid rgba(228,201,150,.24);border-radius:13px;color:#f5ecdc;display:grid;place-items:center;gap:2px}.action-dock button{cursor:pointer;background:linear-gradient(145deg,#303956,#20273f);box-shadow:inset 0 1px #ffffff17,0 3px #0b1020;transition:transform .11s ease,box-shadow .11s ease}.action-dock button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px #ffffff12,0 1px #0b1020}.action-dock button:disabled{cursor:default;color:#656a7b;background:#202536;box-shadow:none;border-color:#ffffff0f}.action-dock .primary-action{min-height:86px;grid-template-columns:38px 1fr;padding:9px;background:linear-gradient(145deg,var(--cobalt),var(--cobalt-dark));color:#fff;border-color:#6e94f0;box-shadow:inset 0 1px #ffffff4d,0 5px #17357f,0 9px 18px #14317659}.primary-action.ready{animation:run-ready .9s ease 1 .6s}.run-icon{width:35px;height:35px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;font-size:14px;padding-left:2px}.primary-action>span:last-child{display:grid;text-align:left;justify-self:start}.primary-action small{opacity:.68;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.primary-action strong{font-size:16px;letter-spacing:.08em}.transport-status{min-height:78px;background:#222a43;color:#9aa9c9;border-style:dashed}.transport-status.moving{background:var(--cobalt);color:#fff;border-style:solid}.tool-action{grid-template-columns:26px 1fr;justify-items:start!important;padding:0 11px;font-size:11px}.tool-action>span:first-child{font-size:18px}.action-dock .continue-action{min-height:70px;display:flex;justify-content:space-between;padding:0 12px;background:linear-gradient(145deg,#53a994,#347c6c);border-color:#7ed1bd;color:#fff;box-shadow:inset 0 1px #ffffff4d,0 4px #245b50;font-size:11px;font-weight:700}.continue-action span:last-child{font-size:20px}.mode-chip{text-align:center;font-size:8px;text-transform:uppercase;letter-spacing:.14em;color:#8d93a6;padding:4px 0}.research-note{max-width:1320px;margin:10px auto 0;display:flex;justify-content:space-between;color:#b3ad9f;font-size:8px;text-transform:uppercase;letter-spacing:.12em;opacity:.8}.research-note span:first-child{color:var(--amber)}.header-tools{display:flex;align-items:center;gap:7px}.header-action{min-width:40px;height:40px;padding:0 11px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#0a0d1b94;color:#fff7e5;cursor:pointer;box-shadow:inset 0 1px #ffffff12;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-action:hover{border-color:#f4b94d8a;background:#1c223be0;transform:translateY(-1px)}.level-browser{display:flex;align-items:baseline;justify-content:center;gap:2px;min-width:58px}.level-browser strong{color:var(--amber);font:750 17px/1 Fraunces,Georgia,serif}.level-browser small{color:#aeb1bd;font-size:9px}.panel-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:#060914b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:panel-in .18s ease-out both}.game-panel{width:min(720px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;position:relative;border:1px solid rgba(241,199,120,.42);border-radius:28px;padding:26px;color:#fff7e7;background:linear-gradient(150deg,#1b223dfa,#0c1121fc);box-shadow:0 34px 90px #00000094,inset 0 1px #ffffff14}.game-panel header{padding-right:48px;margin-bottom:20px}.game-panel header>span{display:grid;gap:5px}.game-panel header strong{font:750 clamp(28px,5vw,42px)/1 "Fraunces",Georgia,serif}.game-panel header small{color:#afb2c0;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.game-panel>p{margin:14px 2px 0;color:#8f94a5;font-size:9px}.panel-close{position:absolute;right:18px;top:18px;width:44px;height:44px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:#171d35;color:#fff7e7;font-size:22px;cursor:pointer}.chapter-grid{display:grid;gap:14px}.level-chapter h3{display:flex;align-items:center;justify-content:space-between;margin:0 2px 7px;color:#aaaebe;font-size:9px;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.level-chapter h3 small{color:#73798c;font-size:8px}.level-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.level-card{min-height:92px;display:grid;align-content:space-between;gap:8px;padding:11px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:#ffffff0b;color:#f3eddf;text-align:left}button.level-card{cursor:pointer}button.level-card:hover{border-color:#f4b94d94;background:#f4b94d1a;transform:translateY(-2px)}.level-card.current{border-color:var(--amber);box-shadow:0 0 0 2px #f4b94d21}.level-card.done{background:#4daa9a1f;border-color:#64cdb859}.level-card.locked{opacity:.45}.level-card strong{color:var(--amber);font:750 17px/1 Fraunces,Georgia,serif}.level-card span{font-size:9px;line-height:1.25}.level-card small{color:#9da2b2;font-size:8px}.settings-list{display:grid;gap:10px}.setting-row{width:100%;min-height:68px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:#ffffff0b;color:#fff7e7;text-align:left;cursor:pointer}.setting-row:hover{border-color:#f4b94d80;background:#ffffff13}.setting-row span:first-child{display:grid;gap:3px}.setting-row strong{font-size:13px}.setting-row small{color:#aeb1bd;font-size:9px;line-height:1.4}.setting-row i{min-width:48px;padding:6px 9px;border-radius:999px;background:#34394c;color:#b9bdc8;font-size:9px;font-weight:800;font-style:normal;text-align:center}.setting-row[aria-pressed=true] i{background:var(--teal);color:#0a2924}.language-setting{cursor:default}.language-setting:hover{background:#ffffff0b}.language-setting select{width:min(210px,42vw);min-height:40px;padding:0 34px 0 12px;border:1px solid rgba(244,185,77,.42);border-radius:11px;color:#fff7e7;background:#171d35;font:700 11px/1 system-ui,sans-serif;color-scheme:dark;cursor:pointer}[dir=rtl] .order-card,[dir=rtl] .workshop-card,[dir=rtl] .game-panel,[dir=rtl] .feedback,[dir=rtl] .setting-row{text-align:right}[dir=rtl] .board,[dir=rtl] .recipe,[dir=rtl] .order-progress,[dir=rtl] .level-row,[dir=rtl] .action-dock,[dir=rtl] .display-rail{direction:ltr}[dir=rtl] .game-panel header{padding-right:0;padding-left:48px}[dir=rtl] .panel-close{right:auto;left:18px}.effects-reduced *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}@keyframes panel-in{0%{opacity:0}}.summary-screen{min-height:100vh;max-width:680px;margin:auto;padding:48px 24px;display:grid;place-content:center;justify-items:center;text-align:center;color:#fff6e3}.summary-mark{width:104px;height:104px;background:radial-gradient(circle,#f7d68d,#c78836);border:3px solid #fff0cd;border-radius:50%;display:grid;place-items:center;font-size:42px;box-shadow:0 0 0 9px #f4b94d1f,0 18px 45px #0000006b;margin-bottom:30px}.summary-screen h1{font:750 clamp(38px,8vw,72px)/.95 "Fraunces",serif;margin:14px 0 18px}.summary-screen p{max-width:520px;color:#c9c4b8;line-height:1.6}.summary-actions{display:flex;gap:12px;margin-top:18px}.summary-actions button{border:1px solid #c9a765;border-radius:14px;background:#212942;color:#fff5e1;min-height:52px;padding:0 18px;cursor:pointer;box-shadow:0 4px #0c1020}.capture-stage{position:relative;z-index:1;width:100vw;min-height:100vh;overflow:hidden;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(590px,1.45fr);align-items:center;gap:clamp(28px,5vw,86px);padding:clamp(44px,7vw,110px);color:#fff6e5;background:linear-gradient(90deg,#090d1cf5 0 32%,#090d1c94 58%,#090d1cd1),url(../assets/atelier-observatory-bg.webp) center/cover}.capture-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 140px #000000b8}.capture-copy{position:relative;z-index:2;max-width:520px}.capture-copy h1{margin:14px 0 18px;font:750 clamp(42px,5.4vw,82px)/.9 "Fraunces",Georgia,serif;letter-spacing:-.045em}.capture-copy h1 em{color:var(--amber);font-style:normal}.capture-copy p{max-width:420px;margin:0;color:#c7c5c2;font-size:clamp(13px,1.3vw,19px);line-height:1.5}.capture-machine{position:relative;z-index:2;min-height:clamp(360px,55vw,620px);display:grid;grid-template-columns:1fr .8fr .7fr 1.15fr;align-items:center;gap:0;padding:clamp(24px,4vw,60px);border:1px solid rgba(241,199,120,.58);border-radius:clamp(26px,3vw,44px);background:linear-gradient(145deg,#fffaeefa,#decaa6f7);box-shadow:inset 0 0 0 7px #171c31,0 28px 80px #0000007a}.capture-machine:before{content:"";position:absolute;inset:17px;border:1px solid rgba(73,55,34,.24);border-radius:calc(clamp(26px,3vw,44px) - 12px);background:radial-gradient(circle,#f9efd9,#d5be95)}.capture-object,.capture-route,.capture-station{position:relative;z-index:2}.capture-object{display:grid;justify-items:center;gap:18px;color:#6b6370;font-size:10px;font-weight:800;letter-spacing:.18em}.capture-object .capture-artifact{width:clamp(100px,10vw,168px)}.capture-object.raw .artifact-body{background:linear-gradient(145deg,#ece3cf,#afa48f);border-style:dashed;filter:saturate(.3)}.capture-object.finished .artifact{filter:drop-shadow(0 18px 14px rgba(25,30,55,.3)) drop-shadow(0 0 18px color-mix(in srgb,var(--accent),transparent 55%))}.capture-route{height:32px;display:flex;align-items:center}.capture-route i{height:14px;flex:1;background:repeating-linear-gradient(90deg,#29334e 0 14px,#d0aa68 14px 22px);border-block:3px solid #806c58}.capture-junction{width:clamp(88px,8vw,130px);aspect-ratio:1;flex:0 0 auto;border:clamp(11px,1vw,16px) solid #c49a57;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#fff6df 0 48%,#7b552b 50% 55%,#e2bc77 57%);box-shadow:0 10px 16px #492e1247,inset 0 0 0 3px #ffffffb3}.capture-junction span{width:42%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:#242c48;color:var(--brass-light);font-size:clamp(20px,2.6vw,38px)}.capture-station{display:grid;place-items:center;gap:18px;color:#6b6370;font-size:9px;font-weight:800;letter-spacing:.15em}.capture-station .station-machine{width:clamp(88px,8vw,132px)}.capture-proof{position:absolute;z-index:4;left:50%;bottom:clamp(18px,3vw,46px);transform:translate(-50%);display:flex;align-items:center;gap:10px;min-width:max-content;padding:10px 16px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#0a0f1fb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#d5d2ca;font-size:10px;text-transform:uppercase;letter-spacing:.09em}.capture-proof i{width:28px;height:1px;background:#6f7280}.capture-swatch{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.38)}.raw-swatch{background:#aaa18e}.finish-swatch{background:var(--amber);box-shadow:0 0 8px #f4b94d99}.capture-thumb{display:block;padding:4vh 4vw;background:linear-gradient(#090d1cbd,#090d1ce0),url(../assets/atelier-observatory-bg.webp) center/cover}.capture-thumb .capture-copy,.capture-thumb .capture-proof{display:none}.capture-thumb .capture-machine{width:100%;height:92vh;min-height:0;grid-template-columns:1fr .9fr .72fr 1.15fr;padding:4vh 5vw}.capture-thumb .capture-object .capture-artifact{width:min(24vh,15vw)}.capture-thumb .capture-junction{width:min(22vh,14vw)}.capture-thumb .capture-station .station-machine{width:min(21vh,13vw)}.capture-thumb .capture-object,.capture-thumb .capture-station{font-size:clamp(8px,1vw,15px)}@keyframes breathe{50%{transform:scale(1.045);box-shadow:0 0 0 8px #f4b94d2e,0 5px #422c143d}}@keyframes unlock{0%{transform:translate(18px) scale(.8);opacity:0}65%{transform:translate(-3px) scale(1.06)}to{transform:none;opacity:1}}@keyframes belt{to{stroke-dashoffset:-17}}@keyframes endpoint-in{0%{transform:scale(.82);opacity:0}}@keyframes machine-work{45%{transform:translateY(-3px) scale(1.07)}}@keyframes delivery-settle{0%{transform:scale(.8) rotate(-8deg)}55%{transform:scale(1.18) rotate(3deg)}to{transform:scale(1)}}@keyframes reject{35%{transform:translate(-4px) rotate(-4deg)}70%{transform:translate(4px) rotate(4deg)}}@keyframes run-ready{50%{transform:translateY(-2px);box-shadow:inset 0 1px #ffffff4d,0 7px #17357f,0 0 0 6px #315fce2b,0 12px 24px #14317661}}@keyframes led-pulse{to{opacity:.5}}@keyframes shelf-mount{0%{transform:translateY(18px) scale(.65);opacity:0}68%{transform:translateY(-4px) scale(1.1)}to{transform:none;opacity:1}}@keyframes bench-install{0%{transform:translateY(12px) scale(.78) rotate(12deg);opacity:0}70%{transform:translateY(-3px) scale(1.04) rotate(-2deg)}to{transform:none;opacity:1}}@keyframes offcut-separate{0%{transform:translate(-18px) scale(.3) rotate(-40deg);opacity:0}}@keyframes offcut-capture{0%{transform:translate(-24px,-12px) scale(1.25);opacity:.2}to{transform:none;opacity:1}}@media(max-width:980px){.app-shell{padding:12px}.topbar{margin-bottom:10px}.game-layout{display:flex;flex-direction:column;gap:10px}.left-rail{width:100%;grid-template-columns:minmax(0,1.45fr) minmax(220px,.8fr);gap:10px}.order-card,.workshop-card{padding:12px 15px;border-radius:17px}.order-card{display:grid;grid-template-columns:1fr auto;column-gap:12px}.order-meta,.order-subtitle{grid-column:1}.order-card h1{font-size:24px;margin:6px 0 4px;max-width:none}.order-subtitle{margin:0}.product-name{grid-column:2;grid-row:1/4;border:0;padding:0;align-self:center}.product-name>span:last-child{display:none}.mastery-targets{grid-column:1/-1;margin-top:7px}.workshop-card{align-content:center}.display-rail{margin:8px 0 4px}.bench-install{display:none}.play-column{width:100%;padding:10px;border-radius:21px}.board{width:min(70vh,100%)}.action-dock{position:sticky;z-index:30;bottom:max(7px,env(safe-area-inset-bottom));width:100%;margin-top:4px;grid-template-columns:1.5fr repeat(2,.8fr);border-radius:18px;padding:7px;box-shadow:0 16px 50px #00000080}.action-dock:has(.continue-action){grid-template-columns:1fr}.action-dock:has(.continue-action):has(.replay-level){grid-template-columns:.8fr 1.4fr}.action-dock .mode-chip{display:none}.action-dock .primary-action,.transport-status{min-height:60px}.action-dock .primary-action{grid-template-columns:32px 1fr}.run-icon{width:31px;height:31px}.tool-action{min-height:60px!important;grid-template-columns:1fr!important;justify-items:center!important;padding:0!important;gap:0!important}.tool-action span:last-child{font-size:9px}.action-dock .continue-action{grid-column:1;grid-row:1;min-height:60px}.is-complete .action-dock .primary-action,.is-complete .action-dock .transport-status,.research-note{display:none}.capture-stage{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:22px;padding:42px 24px 70px}.capture-copy{text-align:center;justify-self:center}.capture-copy h1{font-size:clamp(40px,11vw,66px)}.capture-machine{width:100%;min-height:390px;padding:24px 14px}.capture-object .capture-artifact{width:clamp(76px,18vw,120px)}}@media(max-width:560px){body{background-position:center top}.app-shell{padding:8px 6px max(4px,env(safe-area-inset-bottom))}.topbar{min-height:39px;margin:0 3px 7px}.brand{gap:8px}.brand-mark{width:34px;height:34px}.brand div{display:none}.brand strong{font-size:13px}.brand small{display:none}.order-progress{gap:2px;padding:2px}.progress-dot{width:44px;height:44px;font-size:11px}.progress-glyph{width:32px;height:32px}.header-tools{gap:3px}.header-action{min-width:44px;width:44px;height:44px;padding:0;border-radius:13px}.level-browser{gap:1px}.level-browser strong{font-size:14px}.level-browser small{font-size:7px}.panel-backdrop{padding:8px;align-items:end}.game-panel{width:100%;max-height:calc(100vh - 16px);border-radius:24px 24px 17px 17px;padding:20px 14px max(18px,env(safe-area-inset-bottom))}.game-panel header{padding-right:45px;margin-bottom:15px}.game-panel header strong{font-size:30px}.panel-close{right:12px;top:12px}.chapter-grid{gap:10px}.level-chapter h3{margin-bottom:5px;font-size:7px}.level-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.level-card{min-height:62px;padding:7px 5px;border-radius:10px}.level-card strong{font-size:15px}.level-card span{font-size:8px}.level-card small{font-size:6px}.setting-row{min-height:64px;padding:12px}.language-setting{grid-template-columns:minmax(0,1fr) minmax(120px,42%)}.language-setting select{width:100%;min-width:0}[dir=rtl] .game-panel header{padding-left:45px}[dir=rtl] .panel-close{left:12px}.progress-dot[data-seals="1"]:after,.progress-dot[data-seals="2"]:after{right:4px;bottom:3px;font-size:10px}.progress-dot[data-seals="2"]:after{right:2px}.left-rail{grid-template-columns:1fr}.order-card{min-height:68px;padding:9px 12px;grid-template-columns:1fr auto}.order-card:after{display:none}.order-meta .difficulty,.order-subtitle{display:none}.order-card h1{font-size:20px;margin:4px 0 0}.product-name .artifact{width:39px}.mastery-targets{gap:4px;margin-top:5px}.mastery-targets>span{grid-template-columns:20px 1fr;gap:4px;padding:3px 5px;border-radius:8px}.mastery-targets b{width:20px;height:20px;font-size:9px}.mastery-targets strong{font-size:7px}.mastery-targets small{font-size:6px}.workshop-card{display:block;padding:7px 11px 6px}.workshop-heading{font-size:8px}.workshop-heading strong{font-size:16px}.display-rail{margin:4px 0 0;height:27px;padding:0 0 3px}.display-plinth{height:24px}.mini-artifact{width:19px;height:19px;font-size:8px;border-width:1px}.bench-install{display:none}.play-column{padding:6px;border-radius:17px}.recipe-header{display:none}.recipe{margin:0 0 5px;gap:2px}.recipe-step{min-width:39px;font-size:7px}.recipe-step.current span:last-child{display:block}.recipe-icon{width:27px;height:27px;border-radius:7px;font-size:12px}.recipe-icon.identity{width:27px}.recipe-arrow{margin-inline:-2px}.board-wrap{padding:5px 4px 6px;border-radius:15px}.board-bezel,.board-footer{height:13px;font-size:5px}.board{width:100%;gap:3px;padding:3px;border-radius:9px}.cell{border-radius:7px}.tile.rotatable{z-index:6;transform:scale(1.24);transform-origin:center}.tile.rotatable.attention{animation-name:mobile-breathe}.tile.rotatable:after{right:0;top:0;width:16px;height:16px;font-size:9px}.tile.rotatable:before{inset:2%}.track-bed{stroke-width:23}.track-line{stroke-width:6}.machine-core{border-width:1.5px;border-radius:6px}.machine-cap{border-width:1px}.source-cradle,.delivery-cradle{border-width:2px}.item-at-source{width:clamp(36px,68%,54px);left:-4%;top:18%}.moving-item{width:44px}.feedback{min-height:42px;margin-top:5px;padding:6px 9px}.feedback small{display:block;font-size:8px;line-height:1.15}.feedback-seal{width:27px;height:27px;flex-basis:27px}.action-dock{bottom:max(5px,env(safe-area-inset-bottom));gap:4px;padding:4px;border-radius:15px}.action-dock button,.action-dock .primary-action,.transport-status{min-height:58px!important;border-radius:11px}.primary-action strong{font-size:14px}.capture-stage{padding:26px 10px 64px;gap:14px}.capture-copy p{display:none}.capture-copy h1{font-size:clamp(34px,12vw,48px);margin:8px 0 0}.capture-machine{min-height:310px;border-radius:23px;padding:18px 5px}.capture-machine:before{inset:10px;border-radius:15px}.capture-object{gap:8px;font-size:7px}.capture-object .capture-artifact{width:65px}.capture-junction{width:72px;border-width:9px}.capture-station .station-machine{width:62px}.capture-proof{bottom:15px;font-size:7px;padding:7px 10px;gap:6px}}@media(max-width:390px)and (max-height:700px){.app-shell{padding-top:5px;padding-bottom:2px}.game-layout{gap:5px}.is-complete .game-layout{gap:2px}.left-rail{gap:5px}.brand div{display:none}.topbar{min-height:31px;margin-bottom:3px}.brand-mark{width:30px;height:30px}.order-card{min-height:52px;padding:6px 10px}.order-meta{display:none}.order-card h1{font-size:18px;margin:0;align-self:center}.product-name .artifact{width:34px}.mastery-targets{position:absolute;right:44px;bottom:4px;display:flex;margin:0}.mastery-targets>span{width:auto;min-width:49px;height:23px;display:grid;grid-template-columns:18px auto;gap:2px;padding:1px 4px 1px 2px;border-radius:8px}.mastery-targets b{width:18px;height:18px;border-width:1px}.mastery-targets>span>span{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.mastery-targets strong{font-size:6px;line-height:1}.mastery-targets small{display:none}.workshop-card{padding-block:3px}.workshop-heading span{font-size:7px}.display-rail{margin-top:2px;height:22px}.display-plinth{height:19px}.mini-artifact{width:16px;height:16px}.recipe-step span:last-child,.recipe-step.current span:last-child{display:block;font-size:6px;line-height:6px}.recipe-step{min-width:31px}.recipe-icon,.recipe-icon.identity{width:25px;height:25px}.board-bezel{display:none}.board{width:calc(100% - 18px)}.feedback{min-height:36px;font-size:10px}.feedback small{display:none}.feedback.warning{align-items:flex-start}.feedback.warning small{display:block;max-width:100%;overflow:visible;font-size:7px;line-height:9px;white-space:normal;text-overflow:clip}.feedback-seal{width:24px;height:24px;flex-basis:24px}}@keyframes mobile-breathe{0%,to{transform:scale(1.24)}50%{transform:scale(1.3);box-shadow:0 0 0 8px #f4b94d2e,0 5px #422c143d}}@media(max-width:980px){.capture-recover{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr}.recovery-machine{min-height:360px;padding:28px 18px}.recovery-step .station-machine,.recovery-artifact .artifact,.recovery-step.final .artifact{width:72px}}@media(max-width:560px){.capture-recover{padding:24px 10px 54px}.recovery-machine{min-height:285px;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:3px;padding:18px 8px;border-radius:22px}.recovery-machine b{font-size:14px}.recovery-step,.recovery-artifact{gap:7px;font-size:6px}.recovery-step .station-machine,.recovery-artifact .artifact,.recovery-step.final .artifact{width:50px}.recovered-offcut{width:20px;right:-4px}}.capture-stage.capture-thumb{display:block;padding:4vh 4vw}.capture-stage.capture-thumb .capture-machine{width:100%;height:92vh;min-height:0;grid-template-columns:1fr .9fr .72fr 1.15fr;padding:4vh 5vw;border-radius:min(5vh,32px)}.capture-stage.capture-thumb .capture-machine:before{inset:min(2vh,16px);border-radius:min(3vh,22px)}.capture-stage.capture-thumb .capture-object .capture-artifact{width:min(24vh,15vw)}.capture-stage.capture-thumb .capture-junction{width:min(22vh,14vw)}.capture-stage.capture-thumb .capture-station .station-machine{width:min(21vh,13vw)}.capture-square{display:block;padding:4vw;background:linear-gradient(#090d1cc7,#090d1ce6),url(../assets/atelier-observatory-bg.webp) center/cover}.capture-square .capture-copy,.capture-square .capture-proof,.capture-square .capture-station{display:none}.capture-square .capture-machine{width:92vw;height:92vh;min-height:0;margin:auto;grid-template-columns:1fr .9fr 1fr;padding:7vw;border-radius:12vw}.capture-square .capture-object>span:first-child,.capture-square .capture-route i{display:none}.capture-square .capture-object .capture-artifact{width:24vw}.capture-square .capture-junction{width:26vw;border-width:3vw}.capture-recover{grid-template-columns:minmax(250px,.7fr) minmax(650px,1.55fr)}.recovery-machine{position:relative;z-index:2;min-height:430px;display:grid;grid-template-columns:1fr auto 1.15fr auto 1fr auto 1.15fr;align-items:center;gap:12px;padding:46px;border:1px solid rgba(241,199,120,.58);border-radius:38px;background:radial-gradient(circle,#f9efd9,#d5be95);box-shadow:inset 0 0 0 7px #171c31,0 28px 80px #0000007a;color:#5f5a65}.recovery-machine b{color:#9b8056;font-size:28px}.recovery-step,.recovery-artifact{display:grid;place-items:center;gap:15px;text-align:center;font-size:8px;font-weight:800;letter-spacing:.12em}.recovery-step .station-machine,.recovery-artifact .artifact,.recovery-step.final .artifact{width:92px}.recovery-artifact{position:relative}.recovered-offcut{position:absolute;right:-7px;top:5px;width:28px;color:#2e7367;opacity:1;transform:none;display:grid;place-items:center;font-size:11px;background:#bce3d8}.recovery-step .parts-tray{display:none}.recovery-step.final .artifact:after{border-color:#6fc1ae;box-shadow:inset 0 0 0 1px #3e7468,0 0 15px #4daa9a66}@media(max-width:980px){.capture-stage.capture-recover{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr}.capture-recover .recovery-machine{min-height:360px;padding:28px 18px}.capture-recover .recovery-step .station-machine,.capture-recover .recovery-artifact .artifact,.capture-recover .recovery-step.final .artifact{width:72px}}@media(max-width:560px){.capture-stage.capture-recover{padding:24px 10px 54px}.capture-recover .recovery-machine{min-height:285px;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:3px;padding:18px 8px;border-radius:22px}.capture-recover .recovery-machine b{font-size:14px}.capture-recover .recovery-step,.capture-recover .recovery-artifact{gap:7px;font-size:6px}.capture-recover .recovery-step .station-machine,.capture-recover .recovery-artifact .artifact,.capture-recover .recovery-step.final .artifact{width:50px}.capture-recover .recovered-offcut{width:20px;right:-4px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}@media(forced-colors:active){.tile.preview-endpoint:after,.tile.rotatable,.feedback,.primary-action{forced-color-adjust:none;border-color:CanvasText;color:CanvasText;background:Canvas}.tile.preview-destination:after{border-style:double}.tile.preview-loop:after{border-style:dashed}.tile.preview-reject:after{border-style:solid}}@media(max-width:560px){.has-advanced .order-subtitle{display:block;max-width:190px;margin-top:2px;font-size:7px;line-height:1.15}.feedback.success{flex-wrap:wrap}.feedback.success .success-seals{width:100%;margin:2px 0 0 37px}}@media(max-width:390px){.has-advanced .order-card{min-height:60px}.tile.rotatable{transform:scale(1.32)}.tile.rotatable.attention{animation-name:mobile-breathe-large}.feedback.success .performance-seal{min-width:94px;grid-template-columns:20px auto;justify-items:start;padding-inline:3px 6px}.feedback.success .performance-seal>span{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}.feedback.success .performance-seal small{display:block;font-size:6px}}@keyframes mobile-breathe-large{0%,to{transform:scale(1.32)}50%{transform:scale(1.4)}}.split-marker{position:absolute;z-index:8;width:20px;height:20px;display:grid;place-items:center;border:2px solid #23344b;border-radius:6px;background:#fff8e9;color:#23344b;font:900 9px/1 Avenir Next,Segoe UI,sans-serif;box-shadow:0 2px 5px #181d2c47;pointer-events:none}.split-marker--main{right:-9px;top:13%;clip-path:polygon(50% 0,100% 28%,88% 100%,12% 100%,0 28%)}.split-marker--main:after{content:"●"}.split-marker--offcut{right:9%;bottom:-9px;border-radius:50%;border-style:double;background:#d9f0ea;color:#286a5e}.split-marker--offcut:after{content:"○"}.offcut-item{--item-surface:#bbb19d;--item-edge:#34384e;position:relative;display:grid;place-items:center;width:42px;aspect-ratio:1;color:#202237;filter:drop-shadow(0 4px 4px rgba(24,27,42,.28));pointer-events:none}.offcut-item:before{content:"";position:absolute;inset:9%;border:2px solid var(--item-edge);background:linear-gradient(145deg,color-mix(in srgb,var(--item-surface),white 28%),var(--item-surface));box-shadow:inset 2px 2px #ffffff6b,inset -2px -3px #1f243626}.offcut-item:after{content:"★";position:relative;z-index:1;font:900 15px/1 Georgia,serif}.offcut-item--star-blank:before{border-radius:42% 56% 45% 53%}.offcut-item--star-plate:before{border-radius:10% 58% 12%;clip-path:polygon(0 0,100% 0,76% 50%,100% 100%,0 100%,20% 50%)}.offcut-item--ring-offcut:before{inset:14%;border:5px double var(--item-edge);border-radius:50%;background:transparent;box-shadow:inset 0 0 0 2px #ffffffb3,0 0 0 2px var(--item-surface)}.offcut-item--ring-offcut:after{content:"";width:24%;aspect-ratio:1;border-radius:50%;background:#fff8e9;border:1px solid var(--item-edge)}.offcut-item--star-spinner:before{border-radius:0;clip-path:polygon(50% 0,62% 36%,100% 23%,70% 50%,100% 77%,62% 64%,50% 100%,38% 64%,0 77%,30% 50%,0 23%,38% 36%)}.offcut-item--star-spinner:after{content:"✦"}.offcut-item--finish-blue-pattern{--item-surface:#d99a48;--item-edge:#273d74}.offcut-item--finish-blue-pattern:before{background:repeating-linear-gradient(135deg,#f0c477 0 4px,#5879c6 4px 7px,#e3ae59 7px 11px)}.offcut-item--finish-raw{--item-surface:#b7ae9d;--item-edge:#4c4d59;filter:grayscale(.35) drop-shadow(0 4px 4px rgba(24,27,42,.2))}.offcut-item--finish-raw:before{border-style:dashed;background:repeating-linear-gradient(45deg,#c9c0ae 0 5px,#a9a08f 5px 7px)}.offcut-item--assembled:before{outline:2px solid var(--brass-light);outline-offset:2px}.artifact>.offcut-item{width:100%;height:100%}.artifact>.offcut-item:before{inset:9%}.assemble-station{position:relative;z-index:4;width:min(86%,96px);aspect-ratio:1.35;border:2px solid #30364f;border-radius:10px;background:linear-gradient(145deg,#d9c4f3,#7b65aa);box-shadow:inset 0 2px #fff6,0 4px 5px #241b1247;pointer-events:none}.assemble-station:after{content:"A";position:absolute;inset:25% 30%;display:grid;place-items:center;border:1px solid rgba(39,39,60,.38);border-radius:6px;color:#252740;font-weight:900;background:#ffffff38}.assemble-socket{--socket-edge:#424963;position:absolute;z-index:6;width:28px;height:28px;display:grid;place-items:center;border:2px solid var(--socket-edge);background:#f9efdb;color:#303348;box-shadow:inset 0 0 0 2px #ffffffa6,0 2px 4px #14172647;transition:transform .18s var(--spring),box-shadow .18s ease,background .18s ease;pointer-events:none}.assemble-socket:after{font:900 9px/1 Avenir Next,Segoe UI,sans-serif}.assemble-socket--main{left:-12px;top:10%;clip-path:polygon(50% 0,100% 28%,88% 100%,12% 100%,0 28%)}.assemble-socket--main:after{content:"M"}.assemble-socket--aux{right:-12px;bottom:8%;border-radius:50%;border-style:double}.assemble-socket--aux:before{content:"";width:35%;aspect-ratio:1;border:1px solid currentColor;border-radius:50%;background:#f9efdb}.assemble-socket--aux:after{content:"A";position:absolute}.assemble-socket.socket-port-N{left:calc(50% - 14px);right:auto;top:-12px;bottom:auto}.assemble-socket.socket-port-E{left:auto;right:-12px;top:calc(50% - 14px);bottom:auto}.assemble-socket.socket-port-S{left:calc(50% - 14px);right:auto;top:auto;bottom:-12px}.assemble-socket.socket-port-W{left:-12px;right:auto;top:calc(50% - 14px);bottom:auto}.assemble-socket.is-held{--socket-edge:#287d6d;background:#d9f1ea;box-shadow:inset 0 0 0 2px #ffffffb8,0 0 0 3px #4daa9a38,0 0 12px #4daa9a80}.assemble-socket.is-held:after{content:"✓"}.assemble-socket.is-ready{--socket-edge:#8a5f1f;background:#ffedbd;transform:scale(1.08);box-shadow:0 0 0 4px #f4b94d3d,0 0 14px #f4b94da6}.assemble-socket.is-rejected{--socket-edge:#9b3f34;background:#f8d8cf;animation:socket-reject .26s ease both}.assemble-socket.is-rejected:after{content:"×";color:#8a3028;font-size:14px}.assemble-station.is-processing,.station-machine.station-assemble.is-processing{animation:assembly-lock .42s var(--spring) both}.station-machine.is-processing .assemble-socket{transform:scale(.8);opacity:.7}.fixed-merge,.directional-merge{position:relative;z-index:3;width:64%;aspect-ratio:1;display:grid;place-items:center;border:3px double #4c5267;clip-path:polygon(50% 0,100% 28%,100% 72%,50% 100%,0 72%,0 28%);background:#d6d1c7;color:#33384d;box-shadow:inset 0 0 0 3px #ffffff7a,0 2px 4px #231d1933;cursor:default;pointer-events:none}.fixed-merge:after,.directional-merge:after{content:"⇢";font-weight:900;transform:rotate(var(--merge-rotation,0deg))}.fixed-merge:before,.directional-merge:before{content:"FIXED";position:absolute;bottom:13%;font-size:5px;font-weight:900;letter-spacing:.08em}.offcut-destination{position:relative;z-index:3;width:72%;aspect-ratio:1;display:grid;place-items:center;color:#253348;background:#27334c;border:3px solid #52617a;pointer-events:none}.offcut-destination:after{position:relative;z-index:1;font-size:11px;font-weight:900}.offcut-destination--goal{border-radius:11px}.offcut-destination--goal:before{content:"✦";color:#d8bb7d;opacity:.72;font:900 20px/1 Georgia,serif}.offcut-destination--goal:after{content:"GOAL";position:absolute;bottom:4%;color:#dbc79c;font-size:5px;letter-spacing:.08em}.offcut-destination--parts-bin{border-color:#3d6f65;border-radius:5px 5px 12px 12px;background:linear-gradient(#294d49,#162e2e)}.offcut-destination--parts-bin:before{content:"";width:44%;aspect-ratio:1;border:4px double #79cfbd;border-radius:50%}.offcut-destination--parts-bin:after{content:"PARTS";position:absolute;bottom:5%;color:#a8e2d5;font-size:5px;letter-spacing:.06em}.offcut-destination--reject{border-color:#91544b;border-style:dashed;background:#442d30;clip-path:polygon(12% 0,88% 0,100% 12%,100% 88%,88% 100%,12% 100%,0 88%,0 12%)}.offcut-destination--reject:after{content:"×";color:#efb0a2;font-size:18px}.offcut-destination.is-accepted{border-color:#4daa9a;background:#d7efe8;box-shadow:0 0 0 4px #4daa9a38,0 0 15px #4daa9a7a;animation:destination-accept .42s var(--spring) both}.offcut-destination.is-rejected{border-color:#a74d40;background:#f3d1c8;animation:destination-reject .3s ease both}.offcut-destination .destination-item{position:absolute;z-index:4;width:82%}.offcut-destination .destination-item.rejected{filter:grayscale(.4) drop-shadow(0 3px 3px rgba(35,21,24,.28))}.assemble-socket .socket-item{width:24px}.physical-item-marker{--item-x:0px;--item-y:0px;position:absolute;z-index:13;left:0;top:0;width:clamp(38px,7.8%,52px);aspect-ratio:1;transform:translate(calc(var(--item-x) - 50%),calc(var(--item-y) - 50%));pointer-events:none}.physical-item-marker .artifact{width:100%}.physical-item-marker.stranded .artifact{filter:grayscale(.35) drop-shadow(0 4px 4px rgba(31,26,28,.32))}.physical-item-marker.scrapped .artifact{opacity:.72;transform:scale(.82) rotate(9deg)}.mastery-targets{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:13px}.mastery-targets>span{min-width:0;display:grid;grid-template-columns:25px 1fr;align-items:center;gap:6px;padding:6px;border:1px solid rgba(241,199,120,.2);border-radius:10px;background:#ffffff0b}.mastery-targets b{width:25px;height:25px;display:grid;place-items:center;border:1px solid rgba(244,185,77,.7);border-radius:50%;color:#f1c778;font-size:12px}.mastery-targets span span{min-width:0;display:grid;gap:1px}.mastery-targets strong{color:#f8ebce;font-size:8px;letter-spacing:.02em}.mastery-targets small{overflow:hidden;color:#aeb3c5;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.assembled-token.is-fixed-merge,.offcut-item--assembled.is-fixed-merge{animation:fixed-merge-settle .46s var(--spring) both}.assembled-token.is-fixed-merge:after,.offcut-item--assembled.is-fixed-merge:after{transform:rotate(22.5deg)}.success-seals{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-inline-start:auto}.performance-seal span{display:grid;gap:1px}.performance-seal small{font-size:7px;color:inherit;opacity:.76}.performance-seal{min-height:36px;display:grid;grid-template-columns:25px auto;align-items:center;column-gap:7px;padding:5px 9px 5px 6px;border:1px solid #a99776;border-radius:999px;background:#fffaefa3;color:#6c675e;font-size:9px;font-weight:800;letter-spacing:.03em;line-height:1.05}.performance-seal:before{width:25px;height:25px;display:grid;place-items:center;border:2px solid currentColor;border-radius:50%}.performance-seal--minimal:before{content:"↻"}.performance-seal--clean:before{content:"◇"}.performance-seal.is-earned{border-color:#5cae9d;background:#dcefe8;color:#24665b;box-shadow:0 0 0 2px #4daa9a1f}.performance-seal.is-unearned{opacity:.64;border-style:dashed;filter:grayscale(.45)}@keyframes socket-reject{35%{transform:translate(-3px)}70%{transform:translate(3px)}}@keyframes assembly-lock{45%{transform:scale(1.08);box-shadow:0 0 0 6px #f4b94d33,0 0 18px #f4b94d7a}}@keyframes destination-accept{0%{transform:scale(.86)}62%{transform:scale(1.12)}}@keyframes destination-reject{35%{transform:translate(-4px) rotate(-2deg)}70%{transform:translate(4px) rotate(2deg)}}@keyframes fixed-merge-settle{0%{transform:scale(.7) rotate(-20deg);opacity:.35}64%{transform:scale(1.14) rotate(5deg)}}@media(max-width:560px){.split-marker{width:16px;height:16px;border-width:1.5px;font-size:7px}.split-marker--main{right:-7px;top:8%}.split-marker--offcut{right:4%;bottom:-7px}.offcut-item{width:clamp(28px,74%,44px)}.offcut-item--ring-offcut:before{border-width:4px}.assemble-station{width:82%;min-width:34px;border-radius:6px;border-width:1.5px}.assemble-station:after{inset:23% 29%;border-radius:4px;font-size:9px}.assemble-socket{width:24px;height:24px;border-width:1.5px}.assemble-socket--main{left:-8px;top:3%}.assemble-socket--aux{right:-8px;bottom:2%}.assemble-socket:after{font-size:9px}.fixed-merge,.directional-merge{width:70%;min-width:28px;border-width:2px}.fixed-merge:before,.directional-merge:before{content:""}.offcut-destination{width:78%;min-width:31px;border-width:2px}.offcut-destination--parts-bin:before{border-width:3px}.success-seals{gap:4px}.performance-seal{min-height:31px;grid-template-columns:22px auto;column-gap:5px;padding:4px 7px 4px 5px;font-size:8px}.performance-seal:before{width:22px;height:22px}}@media(max-width:390px){.assemble-station{width:88%;min-width:32px}.assemble-socket{width:24px;height:24px}.assemble-socket--main{left:-7px}.assemble-socket--aux{right:-7px}.offcut-destination{min-width:29px}.performance-seal{min-width:28px;min-height:28px;grid-template-columns:20px;justify-items:center;padding:3px}.performance-seal:before{width:20px;height:20px}.performance-seal>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}@media(forced-colors:active){.split-marker,.offcut-item:before,.assemble-station,.assemble-socket,.fixed-merge,.directional-merge,.offcut-destination,.performance-seal{forced-color-adjust:none;border-color:CanvasText;color:CanvasText;background:Canvas;box-shadow:none}.offcut-item--ring-offcut:before,.assemble-socket--aux{border-style:double}.offcut-item--finish-raw:before,.performance-seal.is-unearned{border-style:dashed}.offcut-item--finish-blue-pattern:before{background:repeating-linear-gradient(135deg,Canvas 0 4px,CanvasText 4px 6px)}.assemble-socket.is-held,.offcut-destination.is-accepted,.performance-seal.is-earned{outline:3px double Highlight}.assemble-socket.is-rejected,.offcut-destination.is-rejected{outline:3px solid Mark}button:focus-visible{outline-color:Highlight}}.split-marker.split-port-N{left:calc(50% - 10px);right:auto;top:-9px;bottom:auto}.split-marker.split-port-E{left:auto;right:-9px;top:calc(50% - 10px);bottom:auto}.split-marker.split-port-S{left:calc(50% - 10px);right:auto;top:auto;bottom:-9px}.split-marker.split-port-W{left:-9px;right:auto;top:calc(50% - 10px);bottom:auto}@media(max-width:560px){.has-advanced .order-subtitle{font-size:9px;line-height:1.2}.assemble-socket.socket-port-N{left:calc(50% - 10px);right:auto;top:-7px;bottom:auto}.assemble-socket.socket-port-E{left:auto;right:-7px;top:calc(50% - 10px);bottom:auto}.assemble-socket.socket-port-S{left:calc(50% - 10px);right:auto;top:auto;bottom:-7px}.assemble-socket.socket-port-W{left:-7px;right:auto;top:calc(50% - 10px);bottom:auto}.split-marker.split-port-N{left:calc(50% - 8px);top:-7px}.split-marker.split-port-E{right:-7px;top:calc(50% - 8px)}.split-marker.split-port-S{left:calc(50% - 8px);bottom:-7px}.split-marker.split-port-W{left:-7px;top:calc(50% - 8px)}}@media(max-width:390px){.assemble-socket.socket-port-N{left:calc(50% - 9px)}.assemble-socket.socket-port-E{top:calc(50% - 9px)}.assemble-socket.socket-port-S{left:calc(50% - 9px)}.assemble-socket.socket-port-W{top:calc(50% - 9px)}}@media(max-width:390px)and (max-height:700px){.is-complete .workshop-card{display:none}.feedback.success{flex-wrap:nowrap}.feedback.success .feedback-copy small{display:none}.feedback.success .success-seals{width:auto;flex-wrap:nowrap;margin:0 0 0 auto}.feedback.success .performance-seal{min-width:64px;min-height:27px;grid-template-columns:18px auto;gap:3px;padding:2px 4px}.feedback.success .performance-seal:before{width:18px;height:18px}.feedback.success .performance-seal>span{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;font-size:7px;white-space:normal}.feedback.success .performance-seal small{display:none}}
