:root{font-family:ui-rounded,"Trebuchet MS",Arial,"Microsoft YaHei",sans-serif;color:#173c49;background:#0c2939;font-synthesis:none;--navy:#133b4b;--deep:#092c3b;--teal:#078c92;--cream:#fff5d9;--gold:#f6bb48;--ink:#183f4b;--shadow:0 6px 0 #071e2c,0 14px 28px #02182366}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(ellipse at 15% 0,#245d69 0,transparent 55%),radial-gradient(ellipse at 100% 100%,#173950 0,transparent 60%),#0c2939}button,a,input,select{font:inherit}button,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #37d6d9;outline-offset:4px}button{border:0}.icon{display:inline-block;width:25px;height:25px;flex:none;vertical-align:middle}.brand-mark{width:32px;height:32px;flex:none}.topbar{height:64px;display:flex;align-items:center;gap:18px;padding:8px 22px;background:linear-gradient(#fff8e5,#f4e2b7);border-bottom:3px solid #c69b55;box-shadow:0 3px 16px #051d3240;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:9px;font-weight:900;text-decoration:none;font-size:20px;color:#173b48;flex:none}.game-name{background:transparent;color:#47606a;font-size:14px;font-weight:bold;padding:8px 12px;border-left:1px solid #d6bc88;max-width:300px;text-align:left;min-height:44px}.header-actions{display:flex;align-items:center;gap:8px;margin-left:auto;min-width:0}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;background:#fff9e8;color:#244b54;border:1px solid #ddc99b;border-radius:13px;box-shadow:0 3px 0 #c7ad77;flex:none}.icon-button:hover{background:#fff;transform:translateY(-1px)}.icon-button:active{transform:translateY(2px);box-shadow:0 1px 0 #c7ad77}.language-select{width:65px;min-height:44px;border:1px solid #d2bc8c;border-radius:12px;padding:0 7px;color:#234755;background:#fff8e7;font-weight:bold}.profile-button{display:flex;align-items:center;gap:7px;padding:0 12px;border-radius:13px;background:linear-gradient(#1c5967,#113c4d);color:#fff7df;min-height:44px;box-shadow:0 3px 0 #092634;max-width:160px}.profile-button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:bold}.profile-button .icon{width:22px;height:22px}#app{height:calc(100dvh - 64px);min-height:0;position:relative}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:15px;min-height:46px;padding:10px 21px;line-height:1.2;font-weight:900;text-decoration:none;border:2px solid #fff7d978;box-shadow:0 4px 0 #076267,0 5px 12px #0a324b22;background:linear-gradient(#23b8b5,#078c92);color:#fff;transition:transform .12s,filter .12s}.button:hover{filter:brightness(1.08);transform:translateY(-1px)}.button:active{transform:translateY(3px);box-shadow:0 1px 0 #076267}.button:disabled{opacity:.55;filter:none;transform:none}.button.gold{color:#624318;background:linear-gradient(#ffe39b,#f4b641);box-shadow:0 4px 0 #ba7b2c,0 5px 12px #0a324b22;border-color:#fff1c5}.button.secondary{background:#fff9e9;color:#315564;box-shadow:0 3px 0 #d5bf8d;border-color:#e4d1a8}.button.subtle{background:transparent;color:#dbe7e8;box-shadow:none;border-color:#72919a55}.button.small{min-height:44px;padding:8px 13px;font-size:14px;border-radius:12px}.button.wide{width:100%}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:bold;color:#e2b674;display:flex;align-items:center;gap:7px}.eyebrow .icon{width:18px;height:18px}.menu-shell{height:100%;min-height:0;display:flex;flex-direction:column;padding:28px max(24px,calc((100vw - 1340px)/2));overflow-y:auto;background-image:linear-gradient(135deg,#ffffff03 25%,transparent 25%,transparent 75%,#ffffff03 75%);background-size:36px 36px}.menu-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px;color:#fff5d9}.menu-heading h1{font-size:clamp(26px,3.4vw,43px);line-height:1.1;margin:8px 0 10px;letter-spacing:-.025em}.menu-heading p{font-size:16px;line-height:1.5;max-width:700px;color:#bed1d5;margin:0}.story-card{position:relative;border-radius:27px;border:3px solid #f0c477;background:var(--cream);box-shadow:var(--shadow);display:grid;grid-template-columns:1.15fr 1fr;overflow:hidden;flex:none;min-height:310px}.story-picture{position:relative;min-height:310px;overflow:hidden;background:#8a5b2e}.story-picture img{width:100%;height:100%;object-fit:cover;display:block}.story-picture:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#092936b3,transparent 65%)}.story-badge{position:absolute;z-index:1;bottom:20px;left:20px;display:flex;gap:7px;align-items:center;background:#fff0c9ed;color:#173c49;border:2px solid #d8ad5c;padding:8px 13px;border-radius:12px;font-size:13px;font-weight:bold}.story-info{padding:27px 30px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.story-info .eyebrow{color:#a67833}.story-info h2{font-size:clamp(25px,3vw,38px);line-height:1.07;letter-spacing:-.035em;margin:10px 0 16px;color:#163e4b}.story-info p{font-size:16px;line-height:1.55;color:#557075;margin:0 0 20px;max-width:480px}.story-info .button{margin-top:8px}.story-progress{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:bold;color:#658080;width:100%;margin:5px 0 14px}.progress-track{background:#dfd3b4;border-radius:12px;height:8px;flex:1;max-width:160px;overflow:hidden}.progress-track span{display:block;height:100%;border-radius:12px;background:linear-gradient(90deg,#19bdb3,#07878e)}.menu-bottom{color:#9db9c2;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px;padding:0 4px 15px}.menu-bottom button{background:none;color:inherit;text-decoration:underline;min-height:44px}.doors-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;padding:0 4px 14px}.door-card{min-height:194px;border-radius:20px;padding:14px 12px 13px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(#fff9e9,#f3dfb1);color:#254752;border:2px solid #eac478;box-shadow:0 5px 0 #9a7242,0 10px 20px #0002;text-align:center}.door-card:hover:not(:disabled){transform:translateY(-3px);border-color:#fff0b9}.door-card:disabled{background:linear-gradient(#244855,#173543);color:#819ba4;border-color:#385a65;box-shadow:0 4px 0 #0c2330}.door-card.done{border-color:#57c4ae;background:linear-gradient(#e4f9de,#cae8c5)}.door-card.current{box-shadow:0 5px 0 #9a7242,0 0 0 3px #e5b25344}.door-mini{width:68px;height:88px;border:5px solid #9d6839;border-radius:22px 22px 4px 4px;position:relative;background:repeating-linear-gradient(90deg,#a96431 0 14px,#b8783a 15px 17px);box-shadow:inset 0 0 0 2px #d7a05c,3px 3px 0 #c8a46a}.door-mini:before{content:"";position:absolute;left:3px;right:3px;top:22px;height:7px;border:1px solid #705949;background:linear-gradient(#c4c7c2,#7a8b89);box-shadow:0 31px 0 -1px #85938f}.door-mini:after{content:"";position:absolute;right:7px;top:47px;width:6px;height:10px;background:#ffe6a0;box-shadow:0 1px 2px #40301d;border-radius:3px}.door-card:disabled .door-mini{filter:grayscale(.8) brightness(.7)}.door-number{position:absolute;top:10px;left:10px;background:#fff6dc;color:#734d24;border:1px solid #d5b679;min-width:29px;height:29px;padding:5px;border-radius:10px;font-size:13px;font-weight:900}.door-card:disabled .door-number{background:#274b58;color:#b5c7c8;border-color:#466776}.door-card h2{font-size:14px;line-height:1.15;min-height:32px;display:flex;align-items:center;justify-content:center;margin:0}.door-status{font-size:11px;display:flex;align-items:center;justify-content:center;gap:4px;line-height:1.2}.door-status .icon{width:14px;height:14px}.more-card{border-style:dashed;background:#183e4c;color:#e9d79e;border-color:#9c955e;gap:8px}.more-card>.icon{width:42px;height:42px}.more-card span{font-size:13px;font-weight:900;max-width:150px}.more-card small{font-size:11px;color:#aac4c8;max-width:150px}.more-card.requested{border-color:#4bb8a1;background:#153f46;color:#b8e4cc}.room-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;overflow:hidden;background:#102b3c}.room-ribbon{height:65px;display:flex;align-items:center;gap:14px;padding:8px 19px;background:linear-gradient(#153e4c,#0f303f);border-bottom:1px solid #36606a;color:#fff2d2}.room-heading{min-width:0;flex:1}.room-heading small{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#b2c8c9;display:block;margin-bottom:3px}.room-heading h1{font-size:20px;line-height:1.2;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-tools{display:flex;gap:7px}.room-tools .icon-button{background:#214a57;color:#efdfad;border-color:#3d6370;box-shadow:0 3px 0 #0a2431}.room-tools .icon-button:hover{background:#2b5967}.room-progress{font-size:12px;font-weight:bold;display:flex;align-items:center;gap:9px;color:#d8e6e2;white-space:nowrap}.tiny-progress{display:flex;gap:3px}.tiny-progress i{width:7px;height:14px;border-radius:3px;background:#32525b}.tiny-progress i.done{background:#55cdb7}.tiny-progress i.current{background:#f9c45e}.scene-viewport{min-height:0;min-width:0;overflow:hidden;position:relative;display:grid;place-items:center;background:radial-gradient(ellipse,#35515b44,#071e2b);isolation:isolate}.scene-frame{position:relative;flex:none;box-shadow:0 0 60px #0005;user-select:none;-webkit-user-select:none;touch-action:manipulation}.scene-image{width:100%;height:100%;display:block;pointer-events:none;user-select:none;object-fit:fill}.scene-effects{position:absolute;inset:0;pointer-events:none;overflow:hidden;mix-blend-mode:screen}.lantern-glow{position:absolute;width:15%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#ffd87b42,transparent 70%);transform:translate(-50%,-50%);animation:lantern 3.1s ease-in-out infinite}.dust{position:absolute;width:3px;height:3px;background:#fff3bc66;border-radius:50%;animation:dust 8s ease-in-out infinite}.hotspot-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.hotspot{fill:transparent;stroke:transparent;stroke-width:.002;cursor:pointer;outline:none;pointer-events:all;transition:fill .18s,stroke .18s}.hotspot:hover,.hotspot:focus-visible{fill:#ffda6e17;stroke:#ffe198;filter:drop-shadow(0 0 .003px #f9ca67)}.hotspot:focus-visible{stroke-width:.004}.scene-label{pointer-events:none;position:absolute;z-index:2;left:50%;bottom:12px;transform:translateX(-50%);color:#fff5d8;background:#082c3ce8;border:1px solid #d9b86d80;border-radius:11px;padding:8px 13px;white-space:nowrap;font-size:13px;font-weight:bold;box-shadow:0 3px 12px #0004}.scene-state{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:3;color:#fff3d3;border:1px solid #e8c66e;background:#103c45eb;padding:9px 15px;border-radius:12px;font-size:14px;display:flex;align-items:center;gap:8px;box-shadow:0 4px 15px #0003;pointer-events:none;max-width:90%;text-align:center}.scene-state .icon{width:19px;height:19px}.scene-action{position:absolute;bottom:15px;right:16px;z-index:3}.scene-load-error{position:absolute;inset:0;background:#123747f5;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff0c8;gap:12px}.inventory-bar{display:flex;align-items:center;gap:13px;min-height:76px;padding:9px 20px;background:linear-gradient(#fff7df,#eedab0);border-top:3px solid #bc9053;box-shadow:0 -3px 20px #0003;color:#254957}.inventory-label{font-size:12px;font-weight:bold;display:flex;align-items:center;gap:7px;white-space:nowrap}.inventory-label .icon{width:22px;height:22px}.inventory-items{display:flex;align-items:center;gap:7px;min-width:0;overflow-x:auto;scrollbar-width:thin;flex:1;padding:2px 2px 5px}.inventory-empty{font-size:12px;color:#8b8f80}.inventory-item{min-height:49px;min-width:64px;display:flex;align-items:center;gap:7px;border-radius:13px;background:linear-gradient(#fffefa,#f2e4bc);border:1px solid #d7bb78;box-shadow:0 3px 0 #ccb179;padding:8px 12px;font-size:13px;font-weight:bold;color:#3e594f;white-space:nowrap}.inventory-item .icon{color:#a37328;width:27px;height:27px}.room-caption{font-size:12px;color:#5b7473;max-width:290px;line-height:1.35}.connection{position:fixed;bottom:13px;left:50%;transform:translateX(-50%);z-index:30;border:1px solid #ddb56d;background:#fff5dbeF;color:#664e29;box-shadow:0 4px 20px #061b3b33;padding:8px 14px;border-radius:11px;max-width:calc(100vw - 28px);font-size:12px;text-align:center;pointer-events:none}.connection.offline{background:#fff1ce;color:#805a2d}.toast{position:fixed;z-index:100;bottom:95px;left:50%;transform:translateX(-50%);max-width:min(560px,calc(100vw - 28px));border:2px solid #d3b473;padding:12px 18px;border-radius:15px;color:#153f4b;background:#fff5dceF;box-shadow:0 5px 25px #051d3b44;font-weight:bold;font-size:14px;text-align:center;pointer-events:none}.toast.error{border-color:#d79775;background:#fff0e1;color:#8a4c37}.boot{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff1ce;text-align:center;padding:24px}.boot h1{font-size:26px;margin:18px 0 8px}.boot p{color:#a9c1c7}.boot-door{width:56px;height:72px;border:4px solid #e9bb61;border-radius:18px 18px 4px 4px;box-shadow:inset 0 0 0 5px #125464;animation:lantern 2s ease-in-out infinite}dialog{border:2px solid #e7bf75;border-radius:24px;padding:0;margin:auto;background:var(--cream);color:#254854;width:min(820px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:hidden;box-shadow:0 12px 0 #0a2432aa,0 24px 90px #021822aa}dialog::backdrop{background:#031e2cbb;backdrop-filter:blur(5px)}#modal-content{display:flex;flex-direction:column;max-height:calc(100dvh - 28px);min-height:0}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px 14px;border-bottom:1px solid #e1cda0;background:linear-gradient(#fffbe9,#f9e9bd);flex:none}.modal-head h2{font-size:22px;line-height:1.15;margin:0;display:flex;align-items:center;gap:9px}.modal-head h2>.icon{color:#a87c32}.modal-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:19px 23px 23px;font-size:16px;line-height:1.5;scrollbar-width:thin}.modal-body>p{margin:0 0 16px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;align-items:center;padding:14px 21px 18px;border-top:1px solid #e3cfa3;flex:none;background:#fff6de;flex-wrap:wrap}.modal-footer .button{min-height:46px}.modal-footer .footer-feedback{flex:1;font-size:13px;line-height:1.3;color:#996642;min-width:130px}.clue-strip{padding:13px 16px;background:#f0e5c5;border-left:4px solid #cb9a46;border-radius:6px 13px 13px 6px;font-size:14px;line-height:1.5;color:#536357;white-space:pre-line;margin:0 0 18px}.puzzle-content{display:flex;align-items:center;flex-direction:column;gap:15px;padding:4px 0}.puzzle-note{font-size:14px;color:#6d7c72;text-align:center;margin:0 0 3px;max-width:560px}.dials{display:flex;justify-content:center;gap:12px;width:100%;padding:8px}.dial{display:flex;align-items:center;flex-direction:column;gap:8px;flex:0 1 125px}.dial-value{width:100%;aspect-ratio:.95;min-height:70px;max-height:112px;background:linear-gradient(100deg,#ba7c31,#ffe7a4 15%,#fff3c6 45%,#e5bd6d 80%,#a26e2d);border:3px solid #bf9347;border-radius:15px;color:#226079;box-shadow:0 5px 0 #805729;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:10px 6px}.dial-value .icon{width:37px;height:37px}.dial-value span{font-size:12px;font-weight:bold;text-align:center}.dial .dial-label{font-size:11px;color:#8d805f;font-weight:bold}.dial .icon-button{width:100%;background:#fff9e6}.balance-stage{display:flex;align-items:center;justify-content:center;width:100%;gap:20px;padding:12px}.balance-scale{width:130px;height:130px;border:8px solid #bc9044;background:radial-gradient(#fff8dc,#f1d598);box-shadow:inset 0 0 0 3px #fff3be,0 5px 0 #936c32;border-radius:50%;position:relative;display:grid;place-items:center;font-size:28px;font-weight:900;color:#32656d}.balance-scale:after{content:"";position:absolute;width:44px;height:4px;border-radius:5px;background:#b55b32;left:calc(50% - 2px);top:calc(50% - 2px);transform:rotate(var(--angle,0deg));transform-origin:2px 2px;transition:transform .2s}.scale-target{font-size:13px;font-weight:bold;color:#977040}.weight-list{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.weight-bag{width:85px;min-height:90px;border:3px solid #c19d59;background:linear-gradient(#edcc81,#cf9f4e);color:#685126;border-radius:24px 24px 18px 18px;position:relative;box-shadow:0 4px 0 #8c682f;font-size:26px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-direction:column}.weight-bag:before{content:"";height:10px;width:40px;position:absolute;top:-9px;left:calc(50% - 20px);border-radius:6px;background:#936b34;border:2px solid #d2af6d}.weight-bag span{font-size:12px}.weight-bag.selected{border-color:#128f8f;box-shadow:0 4px 0 #07646d,0 0 0 4px #19a59b2e;background:linear-gradient(#e7e3a6,#d0cd79)}.slide-board{display:grid;grid-template-columns:repeat(4,1fr);width:min(320px,100%);aspect-ratio:4/5;background:#856546;border:7px solid #987340;border-radius:13px;position:relative;gap:4px;padding:5px;box-shadow:inset 0 0 0 3px #c5a16b,0 5px 0 #60492c}.slide-cell{background:#ceac74;border-radius:5px;min-width:0;min-height:0;position:relative;box-shadow:inset 0 0 0 1px #785f3c33}.slide-cell.exit{background:repeating-linear-gradient(135deg,#5dada8 0 6px,#8dc3af 7px 13px);outline:2px dashed #def2cf;outline-offset:-4px}.slide-cell.occupied{background:linear-gradient(130deg,#b9763a,#e9b16c);border:2px solid #805025;box-shadow:inset 0 0 0 3px #eac485,0 2px 0 #513823;color:#754b21;font-size:16px;font-weight:bold}.slide-cell.occupied:before{content:"";position:absolute;left:15%;right:15%;top:45%;height:4px;transform:rotate(40deg);background:#8e6034;box-shadow:0 0 0 1px #e0b578}.slide-cell.occupied.selected{outline:3px solid #38dbca;z-index:1}.move-controls{display:flex;gap:10px;align-items:center}.move-controls .button{min-width:100px}.pipes-board{display:grid;grid-template-columns:repeat(3,1fr);width:min(330px,100%);border:7px solid #a57b3e;border-radius:17px;gap:4px;padding:5px;background:#a87943;box-shadow:0 4px 0 #75552c}.pipe-cell{background:linear-gradient(135deg,#f9e9c4,#dfc393);border:1px solid #c29f66;border-radius:6px;padding:0;aspect-ratio:1;min-height:44px;overflow:hidden}.pipe-cell>svg{display:block;width:100%;height:100%}.pipe-water{stroke-dasharray:8 16;animation:water 2s linear infinite}.pipes-labels{display:flex;justify-content:space-between;width:min(330px,100%);font-size:12px;font-weight:bold;color:#23858c}.shadows-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;width:min(520px,100%)}.shadow-panel{padding:10px;background:#f1dfaf;border:2px solid #d1b174;border-radius:17px;text-align:center;min-width:0}.shadow-panel span{font-size:12px;font-weight:bold;color:#8f7444;display:block;margin-bottom:7px}.shadow-panel svg{display:block;width:100%;aspect-ratio:1;background:radial-gradient(#fff5cc,#e9c982);border-radius:50%}.plate-controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.patrol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:min(380px,100%);padding:8px;border:4px solid #b9965a;background:#17404c;border-radius:16px;position:relative}.patrol-cell{height:58px;border:1px solid #46717d;border-radius:8px;background:#2c5a67;color:#bcd6d5;display:flex;align-items:center;justify-content:center;font-size:12px;position:relative}.patrol-cell.blocked{background:repeating-linear-gradient(135deg,#8b6c3c,#8b6c3c 7px,#b78b47 8px,#b78b47 11px);color:#ffe8a0}.patrol-cell.chosen{border:3px solid #50dbbe;background:#107f80;color:#f0ffec;box-shadow:0 0 10px #3ee8bd55}.patrol-cell .icon{width:22px;height:22px}.patrol-legend{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;font-size:12px;color:#6c796b}.port-options{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.port-options .button{flex-direction:column;min-width:92px;min-height:82px;padding:9px;font-size:12px}.sequence-slots{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;min-height:56px;align-items:center}.sequence-slot{display:flex;align-items:center;justify-content:center;min-width:65px;min-height:48px;background:#e8d8ad;color:#74684c;border:2px dashed #b6a16b;border-radius:10px;font-size:12px;padding:8px;gap:5px}.sequence-slot.filled{border-style:solid;border-color:#3faca0;background:#daeee0;color:#286a68}.rigging-board{position:relative;width:min(520px,100%);aspect-ratio:1.45;background:linear-gradient(135deg,#e9c78b,#c49b5f);border:5px solid #aa7a39;border-radius:18px;overflow:hidden;box-shadow:0 4px 0 #805d34}.rigging-board>svg{position:absolute;width:100%;height:100%;inset:0}.rig-node{position:absolute;transform:translate(-50%,-50%);border:3px solid #b68734;border-radius:50%;width:49px;height:49px;background:radial-gradient(#fff3c0,#d8ad55);box-shadow:0 3px 0 #805d2c;color:#775529;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:bold;z-index:1}.rig-node.selected{border-color:#087d85;background:#65c4b3;color:#073e4a}.rig-label{position:absolute;transform:translateX(-50%);font-size:11px;color:#533f24;white-space:nowrap;font-weight:bold;background:#f7e7bfcc;padding:2px 5px;border-radius:5px;max-width:100px;overflow:hidden;text-overflow:ellipsis}.launch-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.launch-list .button{font-size:13px;justify-content:flex-start;min-height:62px;text-align:left}.launch-list .button.selected{background:linear-gradient(#a0d8bd,#70bfa7);box-shadow:0 3px 0 #347b70;color:#174c4c}.step-number{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#fff8db;color:#665537;flex:none}.journal-entry{border-left:3px solid #c39d55;padding:0 0 18px 16px;margin:0 0 6px}.journal-entry h3{margin:0 0 7px;font-size:15px;color:#9b702c}.journal-entry p{margin:0;font-size:15px;line-height:1.55;color:#4c6468}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:61px;border-bottom:1px solid #e7d5ae;padding:12px 2px}.settings-row input[type=checkbox]{width:44px;height:25px;accent-color:#078b8c}.profile-art{display:flex;gap:17px;align-items:center;padding:10px 0 18px}.profile-avatar{display:grid;place-items:center;width:72px;height:72px;flex:none;background:linear-gradient(#39b8af,#117e88);border:3px solid #e8c375;border-radius:23px;color:#fff0bd;box-shadow:0 4px 0 #145769}.profile-avatar .icon{width:44px;height:44px}.profile-art h3{font-size:23px;margin:0 0 5px}.profile-art p{font-size:13px;color:#789086;margin:0}.profile-stat{background:#f1e3bf;border:1px solid #d9bd80;border-radius:15px;padding:15px 18px;display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:18px}.profile-stat strong{font-size:25px;color:#087f85}.name-label{display:flex;flex-direction:column;font-size:13px;font-weight:bold;gap:6px}.name-label input{border:2px solid #d2bb85;border-radius:12px;padding:11px 13px;background:#fffcf2;color:#315360;min-height:46px}.intro-picture{height:180px;object-fit:cover;width:100%;border-radius:15px;border:2px solid #d2ad64;margin-bottom:14px}.success-emblem{display:grid;place-items:center;margin:0 auto 18px;width:84px;height:84px;border-radius:50%;background:linear-gradient(#ffe09b,#efb342);border:5px solid #fff1c9;box-shadow:0 5px 0 #b98b42;color:#825521}.success-emblem .icon{width:47px;height:47px}.success-copy{text-align:center;line-height:1.65}.success-copy .eyebrow{justify-content:center;color:#af7a2e;margin:0 0 10px}.success-copy h3{font-size:24px;line-height:1.15;margin:0 0 12px}.success-copy p{margin:0 0 12px}.detail-picture{width:100%;height:200px;border-radius:15px;overflow:hidden;position:relative;background:#0d3344;border:2px solid #cfad69;margin-bottom:16px}.detail-picture img{width:100%;height:100%;object-fit:cover;display:block}.detail-picture.grate img{object-position:76% 87%;transform:scale(2.2);transform-origin:76% 87%}.detail-picture.hook img{object-position:16% 68%;transform:scale(2.3);transform-origin:16% 68%}.zoom-dialog{width:min(1300px,calc(100vw - 20px))}.zoom-stage{position:relative;width:100%;aspect-ratio:16/9}.zoom-stage img{width:100%;height:100%;display:block}.zoom-stage svg{position:absolute;inset:0;width:100%;height:100%}.zoom-stage .hotspot{stroke-width:.003}.door-animation{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}.door-animation .door-portal{position:absolute;inset:0;width:100%;height:100%}.door-slab{position:absolute;inset:0;background-size:100% 100%;backface-visibility:hidden;will-change:transform;transform-style:preserve-3d}.opening-mode .hotspot-map{pointer-events:none}.opening-mode .hotspot{pointer-events:none}.reduced-motion *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes lantern{0%,100%{opacity:.7;filter:brightness(.95)}35%{opacity:1;filter:brightness(1.12)}68%{opacity:.84}}@keyframes dust{0%,100%{transform:translate(0,0);opacity:0}25%{opacity:.65}75%{opacity:.35}90%{transform:translate(13px,-24px)}}@keyframes water{to{stroke-dashoffset:-48}}
@media(min-width:1600px){.menu-shell{padding-top:40px}.story-card{min-height:400px}.story-picture{min-height:400px}.story-info{padding:40px}.door-card{min-height:240px}.door-mini{width:80px;height:109px}.door-mini:before{top:29px;box-shadow:0 39px 0 -1px #85938f}.door-mini:after{top:63px}.door-card h2{font-size:16px}.doors-grid{gap:20px}}
@media(max-width:900px){.topbar{padding:8px 13px;gap:10px}.game-name{font-size:12px;max-width:210px;padding:8px}.brand{font-size:18px}.header-actions{gap:6px}.profile-button{max-width:130px}.menu-shell{padding:23px 20px}.story-info{padding:24px}.story-picture{min-height:290px}.story-card{min-height:290px}.doors-grid{gap:12px}.door-card{min-height:180px;padding:11px 7px}.door-card h2{font-size:12px}.room-caption{max-width:190px;font-size:11px}.room-heading h1{font-size:18px}.tiny-progress{display:none}}
@media(max-width:650px){.topbar{height:58px;padding:6px 10px;gap:7px}.game-name{display:none}.brand{font-size:16px;gap:6px}.brand-mark{width:28px;height:28px}.header-actions{gap:5px}.header-actions .icon-button{min-width:40px;height:42px;border-radius:11px}.profile-button{width:43px;padding:0;justify-content:center;min-height:42px;border-radius:11px}.profile-button span{display:none}.language-select{width:58px;min-height:42px;padding:0 5px;font-size:13px}#app{height:calc(100dvh - 58px)}.menu-shell{padding:20px 14px}.menu-heading{margin-bottom:18px}.menu-heading h1{font-size:29px}.menu-heading p{font-size:14px;line-height:1.45}.story-card{grid-template-columns:1fr;border-radius:22px}.story-picture{min-height:190px;height:190px}.story-info{padding:23px}.story-info h2{font-size:28px}.story-info p{font-size:14px}.story-badge{bottom:12px;left:13px;font-size:11px;padding:7px 11px}.menu-bottom{font-size:11px;gap:10px;align-items:flex-start}.menu-bottom span{max-width:190px}.doors-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.door-card{min-height:169px}.door-mini{width:52px;height:70px;border-width:4px}.door-mini:before{top:15px;height:6px;box-shadow:0 27px 0 -1px #85938f}.door-mini:after{top:37px;right:5px;width:5px;height:9px}.door-card h2{font-size:11px;line-height:1.2;min-height:31px}.door-status{font-size:10px}.door-number{min-width:24px;height:24px;padding:4px;top:7px;left:7px;font-size:11px;border-radius:8px}.door-card.more-card{min-height:169px}.more-card>.icon{width:32px;height:32px}.more-card span{font-size:12px}.more-card small{font-size:10px}.room-ribbon{height:61px;padding:8px 10px;gap:8px}.room-heading small{font-size:9px}.room-heading h1{font-size:16px}.room-ribbon>.icon-button{width:40px;min-width:40px;height:42px;border-radius:11px}.room-tools .icon-button{min-width:39px;width:39px;height:42px;border-radius:11px}.room-progress{display:none}.inventory-bar{padding:8px 11px;min-height:80px;gap:8px;flex-wrap:wrap}.inventory-label{font-size:11px}.inventory-label .icon{width:19px;height:19px}.inventory-item{padding:7px 8px;min-width:49px;min-height:47px;font-size:11px;gap:5px}.inventory-item .icon{width:24px;height:24px}.inventory-empty{font-size:11px}.room-caption{max-width:none;width:100%;font-size:11px;text-align:center;display:none}.scene-state{font-size:11px;padding:7px 10px;top:8px}.scene-action{bottom:9px;right:9px}.scene-action .button{font-size:11px;padding:7px 10px;min-height:40px;gap:5px}.scene-action .icon{width:19px;height:19px}.scene-label{font-size:11px;padding:6px 10px;bottom:8px}.modal-head{padding:13px 14px 11px}.modal-head h2{font-size:18px;line-height:1.2}.modal-head .icon-button{width:40px;min-width:40px;height:40px}.modal-body{padding:16px 16px 20px;font-size:15px}.modal-footer{padding:12px 14px 16px;gap:8px}.modal-footer .button{font-size:13px;padding:10px 13px;min-height:44px}.clue-strip{font-size:13px;padding:11px 13px;margin-bottom:15px}.puzzle-note{font-size:13px}.dials{gap:8px;padding:4px}.dial-value{border-width:2px;padding:8px 5px;border-radius:11px;min-height:68px}.dial-value .icon{width:28px;height:28px}.dial-value span{font-size:10px}.weight-bag{width:64px;min-height:73px;font-size:22px;border-radius:18px 18px 15px 15px}.weight-list{gap:10px}.balance-stage{gap:12px;padding:5px}.balance-scale{width:104px;height:104px;font-size:23px;border-width:6px}.shadows-layout{gap:10px}.shadow-panel{padding:7px}.shadow-panel span{font-size:11px}.plate-controls .button{font-size:12px;padding:9px 11px}.patrol-cell{height:50px;font-size:10px}.rig-node{width:40px;height:40px;border-width:2px;font-size:10px}.rig-label{font-size:9px;max-width:78px}.launch-list{gap:8px}.launch-list .button{font-size:11px;padding:8px;min-height:68px;gap:6px}.step-number{width:22px;height:22px;font-size:11px}.profile-art h3{font-size:21px}.success-copy h3{font-size:22px}.detail-picture{height:170px}.toast{font-size:13px;bottom:94px;padding:10px 14px}.connection{bottom:7px;font-size:11px;padding:6px 11px}.intro-picture{height:150px}}
@media(max-width:360px){.brand span{display:none}.topbar{padding-left:9px;padding-right:9px}.menu-shell{padding:17px 11px}.menu-heading h1{font-size:27px}.story-info{padding:20px}.story-info h2{font-size:25px}.doors-grid{gap:8px}.door-card{min-height:163px;padding:10px 5px}.modal-body{padding:14px 12px 17px}.modal-head h2{font-size:17px}.modal-footer{padding:10px 11px 14px}.weight-bag{width:57px}.weight-list{gap:9px}.header-actions{gap:6px}.inventory-item span{display:none}.inventory-items{gap:6px}.inventory-label{font-size:10px}}
@media(max-height:520px) and (min-width:650px){.topbar{height:51px;padding-top:4px;padding-bottom:4px}.topbar .icon-button,.language-select,.profile-button{height:38px;min-height:38px}.game-name{min-height:38px}#app{height:calc(100dvh - 51px)}.room-ribbon{height:49px;padding:5px 12px}.room-heading h1{font-size:16px}.room-heading small{font-size:9px}.room-ribbon .icon-button{height:36px;min-width:38px}.inventory-bar{min-height:57px;padding:5px 13px}.inventory-item{min-height:40px;padding:5px 9px}.inventory-item .icon{width:23px;height:23px}.room-caption{font-size:10px}.menu-shell{padding:16px 22px}.menu-heading{margin-bottom:15px}.menu-heading h1{font-size:29px;margin:4px 0 6px}.menu-heading p{font-size:13px}.story-card{min-height:215px}.story-picture{min-height:215px}.story-info{padding:20px 24px}.story-info h2{font-size:26px;margin:7px 0 9px}.story-info p{font-size:13px;margin-bottom:8px}.story-badge{bottom:12px;left:13px}.story-progress{margin:2px 0 7px}.door-card{min-height:167px}.door-mini{width:49px;height:66px}.door-card h2{font-size:11px;min-height:25px}.doors-grid{gap:10px}.menu-bottom{margin-top:15px}.modal-head{padding:10px 17px}.modal-body{padding:13px 20px}.modal-footer{padding:10px 18px 13px}.modal-head h2{font-size:19px}.modal-head .icon-button{min-width:37px;width:37px;height:37px}.modal-footer .button{min-height:42px}.intro-picture{height:120px}.success-emblem{width:58px;height:58px;margin-bottom:10px}.success-emblem .icon{width:34px;height:34px}}
.detail-picture.grate{height:auto;aspect-ratio:2.19}.detail-picture.grate img{position:absolute;width:270.27%;height:333.33%;left:-154.05%;top:-230%;object-fit:fill;object-position:center;transform:none;max-width:none}.detail-picture.hook{height:auto;aspect-ratio:2.70}.detail-picture.hook img{position:absolute;width:298.51%;height:454.55%;left:-1.49%;top:-268.18%;object-fit:fill;object-position:center;transform:none;max-width:none}

.slide-board{grid-template-rows:repeat(5,minmax(0,1fr))}.slide-crate{z-index:2;min-height:0;min-width:0;background:repeating-linear-gradient(90deg,#b9763a 0 19px,#d89c56 20px 22px)!important}.slide-crate:before{left:9%!important;right:9%!important;top:48%!important;height:5px!important;transform:rotate(-28deg)!important;opacity:.8}.slide-crate span{position:relative;z-index:1;display:inline-grid;place-items:center;min-width:23px;height:23px;padding:2px 5px;background:#f6db9bd9;border:1px solid #ad7d39;border-radius:6px;color:#754719;font-weight:900;font-size:13px}

.room-shell{grid-template-columns:minmax(0,1fr);min-width:0;width:100%}.room-ribbon,.inventory-bar{min-width:0;max-width:100%}.room-tools{flex:none}

.modal-footer .footer-feedback:empty{display:none}@media(max-width:650px){.modal-footer .footer-feedback:not(:empty){flex-basis:100%;min-width:0}}

@media(min-width:1150px){.doors-grid.has-more{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* v2: illustrated rooms, physical inventory and material puzzle workbenches. */
.door-card{justify-content:flex-start;overflow:hidden;padding:12px 11px 11px;gap:8px}.door-thumbnail{position:relative;width:100%;aspect-ratio:16/9;max-height:94px;flex:none;border:2px solid #cb9f4d;border-radius:13px;overflow:hidden;box-shadow:0 3px 0 #ab793e;background:#88643a}.door-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;filter:none!important;opacity:1!important}.thumbnail-status{position:absolute;right:5px;bottom:5px;display:grid;place-items:center;width:25px;height:25px;border:1px solid #fff0b3;border-radius:8px;background:#153e50df;color:#fff1bd}.thumbnail-status .icon{width:16px;height:16px}.door-card:disabled{background:linear-gradient(#e9deb9,#d0c397);color:#5d6657;border-color:#b6a76d;box-shadow:0 4px 0 #6d6e48;opacity:1}.door-card:disabled .door-number{background:#f5eac5;color:#7a6743;border-color:#c9b879}.door-card .door-number{z-index:2;top:17px;left:16px;background:#fff6dbeF}.door-card.done .thumbnail-status{background:#147b70ed}.door-card h2{min-height:29px;flex:1;font-size:13px;line-height:1.22}.door-card .door-status{font-size:11px}.more-card{justify-content:center}.more-card h2{flex:none}.item-art{display:inline-block;flex:none;width:64px;height:64px;background-image:url('./art/items-atlas.webp');background-size:400% 400%;background-position:var(--item-x) var(--item-y);background-repeat:no-repeat;border-radius:10px;vertical-align:middle}.inventory-bar{min-height:92px;max-height:112px}.inventory-items{align-items:stretch;padding-bottom:5px}.inventory-illustrated{min-width:100px;min-height:73px;padding:4px 9px 6px;gap:1px;flex-direction:column;background:linear-gradient(#fff8e5,#f8ebc9);border:2px solid #dec586;border-radius:17px;box-shadow:0 4px 0 #b99b60}.inventory-illustrated .item-art{width:54px;height:54px;display:block!important;border-radius:10px}.inventory-illustrated>span:last-child{font-size:11px;line-height:1.1;display:block!important;white-space:nowrap}.inventory-illustrated:hover{border-color:#26b7ac;transform:translateY(-1px)}.item-inspection{width:166px;height:166px;margin:0 auto 15px;border:4px solid #cda451;border-radius:26px;background:#fff8e5;box-shadow:0 5px 0 #a47c36;display:grid;place-items:center}.item-inspection .item-art{width:148px;height:148px;border-radius:20px}.item-caption{text-align:center;font-weight:900;font-size:22px;color:#80612e}.room-chain-status{display:block;font-size:10px;font-weight:bold;color:#8ed3c6;line-height:1.15;margin-top:3px}.room-heading h1{font-size:18px}.room-ribbon{height:72px}.room-tools{gap:6px}.room-tools>.icon-button{width:42px;min-width:42px}.replay-scene{width:100%;height:170px;border:2px solid #d1ac66;border-radius:16px;overflow:hidden;margin-bottom:17px}.replay-scene img{width:100%;height:100%;object-fit:cover}.migration-note{padding:12px 14px;background:#e6efd9;border-left:3px solid #68a488;border-radius:8px;font-size:13px;line-height:1.5}.mechanisms-intro{font-size:14px;color:#647266;line-height:1.45;margin:0 0 16px}.mechanism-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.mechanism-part{display:flex;gap:12px;align-items:center;min-height:112px;text-align:left;border:2px solid #cfb274;border-radius:18px;background:linear-gradient(#fff9e5,#eddbaf);box-shadow:0 4px 0 #a78850;padding:11px;color:#31555c;position:relative;overflow:hidden}.mechanism-part:before{content:'';position:absolute;right:9px;top:9px;width:5px;height:5px;border-radius:50%;background:#d4b570;box-shadow:0 1px 1px #846230}.mechanism-part:hover:not(:disabled){border-color:#22b3a7;transform:translateY(-1px)}.mechanism-part:disabled{opacity:1;cursor:default;background:linear-gradient(#e8e3cb,#d6ccb0);border-color:#b6ab87;color:#788075;box-shadow:0 3px 0 #9c9474}.part-art{width:70px;height:80px;display:grid;place-items:center;position:relative;flex:none;border-radius:16px;background:#fff8e5;box-shadow:inset 0 0 0 1px #cbb87e}.part-art .item-art{width:66px;height:66px}.part-art i{position:absolute;right:-5px;bottom:-3px;width:24px;height:24px;border-radius:9px;border:1px solid #d0bb7c;background:#fff2cd;color:#7c713f;display:grid;place-items:center}.part-art i .icon{width:15px;height:15px}.part-available{border-color:#38b4a4;box-shadow:0 4px 0 #40887c,0 0 0 3px #46bba91c}.part-available .part-art i{background:#0e9290;color:#fff0c5;border-color:#2ac0aa}.part-done{background:linear-gradient(#eff8dc,#dcebc8);border-color:#87b78a}.part-done .part-art i{background:#5eae8b;color:#fff}.part-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.part-copy small{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#99814c;font-weight:bold}.part-copy strong{font-size:14px;line-height:1.25}.part-copy>span{font-size:11px;line-height:1.3;color:#768172}.part-focus{outline:2px solid #e7c16b;outline-offset:2px}.reward-ribbon{display:flex;align-items:center;gap:13px;background:linear-gradient(#e3f8e5,#cae9d2);border:2px solid #91c39b;border-radius:17px;padding:10px 14px;margin-bottom:17px;box-shadow:0 3px 0 #82a487}.reward-ribbon>.item-art{width:64px;height:64px;border-radius:11px}.reward-ribbon>div{display:flex;flex-direction:column;gap:5px;flex:1}.reward-ribbon strong{font-size:17px;color:#246e66}.reward-ribbon span{font-size:12px;color:#568172}.reward-ribbon>.icon{color:#379a7f}.stage-breadcrumb{display:flex;align-items:center;gap:11px;margin:0 0 10px}.stage-breadcrumb>span{flex:none;display:grid;place-items:center;min-width:48px;height:28px;border:1px solid #d0b36e;border-radius:10px;background:#e4d3a6;color:#84662f;font-size:11px;font-weight:bold}.stage-breadcrumb strong{font-size:15px;color:#375864;line-height:1.2}.observation-panel{margin:0 0 11px;border:1px solid #d9c593;border-radius:12px;background:#f2e7c8}.observation-panel summary{cursor:pointer;min-height:42px;display:flex;align-items:center;gap:8px;padding:8px 12px;color:#796c45;font-size:13px;font-weight:bold;list-style:none}.observation-panel summary:after{content:'+';margin-left:auto;font-size:20px;color:#a18445}.observation-panel[open] summary:after{content:'−'}.observation-panel summary .icon{width:19px;height:19px}.observation-panel .clue-strip{border:0;background:transparent;margin:0;padding:0 13px 13px;font-size:13px;line-height:1.5}.control-note{font-size:12px;line-height:1.35;margin:0 0 2px;color:#6e7c70;max-width:580px}.puzzle-content{gap:11px}.workbench{position:relative;isolation:isolate;border:5px solid #b48b45;border-radius:22px;box-shadow:inset 0 0 0 2px #f8e6a8,0 6px 0 #76532d,0 9px 18px #35251526;padding:18px;background-color:#d3ad69;background-repeat:no-repeat;background-position:center;background-size:cover;width:min(620px,100%);overflow:hidden}.workbench:before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,#fff1bd22,#ffffff05 40%,#51351d22);z-index:-1;pointer-events:none}.workbench-cargo{background-image:url('./art/board-cargo.webp')}.workbench-mechanical{background-image:url('./art/board-mechanical.webp')}.workbench-optics{background-image:url('./art/board-optics.webp')}.workbench-navigation{background-image:url('./art/board-navigation.webp')}.workbench-rigging{background-image:url('./art/board-rigging.webp')}.bench-corners{position:absolute;inset:8px;pointer-events:none;border-radius:13px;z-index:3}.bench-corners:before,.bench-corners:after{content:'';position:absolute;top:0;width:7px;height:7px;border-radius:50%;border:1px solid #86602e;background:linear-gradient(135deg,#fff3b7,#a87932);box-shadow:0 1px 1px #71572c}.bench-corners:before{left:0}.bench-corners:after{right:0}.slide-board{margin:auto;width:min(300px,100%);border:6px solid #90672f;background:linear-gradient(90deg,#9c743a66,#b18b4844),url('./art/board-cargo.webp') center/cover;box-shadow:inset 0 0 0 2px #dcc184,0 3px 0 #664d2b;padding:5px;gap:4px;overflow:visible}.slide-cell{border:1px solid #a1814d88;background:linear-gradient(130deg,#c5a76d77,#a47f4355);box-shadow:inset 1px 1px 2px #573d2122}.slide-cell.exit{background:repeating-linear-gradient(0deg,#e6cc8c 0 4px,#b3955d 5px 8px);outline:1px solid #765c35;box-shadow:inset 4px 0 3px #71512b44}.slide-crate{background:url('./art/crate-face.webp') center/cover,linear-gradient(#d4a168,#9e662e)!important;border:2px solid #704921!important;border-radius:8px;box-shadow:inset 0 0 0 2px #ecc386,0 4px 0 #624524,2px 5px 6px #3b241d55!important;overflow:hidden}.slide-crate:before{display:none}.slide-crate.selected{outline:3px solid #55d6bc;box-shadow:inset 0 0 0 2px #ffe9ae,0 4px 0 #537c5b,0 0 0 5px #4fe9ba33!important}.slide-crate span{font-size:11px;background:#e9cd8bdc;border-color:#8b6938;border-radius:5px;min-width:20px;height:20px;box-shadow:0 1px 2px #714d2780}.crate-rope{position:absolute;width:100%;height:4px;left:0;top:28%;background:repeating-linear-gradient(45deg,#bc985f 0 2px,#e8c68b 3px 5px);box-shadow:0 1px 1px #6c482a}.slide-guide{position:absolute;right:-8px;top:6px;bottom:6px;width:7px;border:1px solid #725329;background:linear-gradient(90deg,#72552b,#f0d69a,#b38d45);border-radius:5px;pointer-events:none}.dial-machine{padding:28px 24px 25px}.dial-machine .dials{gap:15px;padding:0;position:relative;z-index:1}.dial-axle{position:absolute;left:3%;right:3%;top:49%;height:15px;background:linear-gradient(#654821,#e4c27b,#78532a);box-shadow:0 3px 5px #4c331d66}.dial-machine .dial{flex:0 1 150px;gap:9px}.dial-machine .dial-label{display:grid;place-items:center;width:24px;height:22px;background:#fff0c4;border:1px solid #a77b3b;border-radius:6px;font-size:11px;box-shadow:0 2px 2px #63472455}.dial-wheel{width:100%;aspect-ratio:1;height:auto;max-height:none;min-height:70px;border:0!important;border-radius:50%!important;background:radial-gradient(circle at 35% 28%,#ffedb2,#dfb35e 46%,#8d602a 73%,#e5c47c 75%,#986b2e 90%);box-shadow:0 5px 0 #664520,0 8px 10px #4b34256b!important;position:relative;display:flex;align-items:center;justify-content:center;padding:18px 14px 22px;overflow:visible;transition:transform .12s}.dial-wheel:active{transform:rotate(7deg)}.dial-teeth{position:absolute;inset:-5px;border:7px dotted #b28b45;border-radius:50%;pointer-events:none}.dial-medallion{display:grid;place-items:center;width:80%;aspect-ratio:1;background:radial-gradient(#fbffeb,#b8d5b8);border:3px solid #946b31;border-radius:50%;box-shadow:inset 2px 2px 3px #fff7cd,inset -2px -3px 7px #5b77455e}.dial-medallion .icon{color:#397f81;width:33px;height:33px}.emblem{width:65%;height:65%;display:block;filter:drop-shadow(0 2px 0 #fff6c0)}.emblem-letter{font-size:23px;font-weight:900;color:#226b77}.dial-wheel-label{position:absolute;bottom:8px;left:15%;right:15%;font-size:10px;font-weight:bold;color:#67491e;text-shadow:0 1px #fff0b6}.dial-machine-pin{width:27px;height:9px;border:2px solid #8b622c;border-radius:5px;background:#e9c77f;margin:19px auto -8px;box-shadow:0 2px 2px #50372055}.balance-machine{padding:9px 20px 17px;display:flex;align-items:center;flex-direction:column}.balance-illustration{display:block;width:min(440px,100%);max-height:190px;filter:drop-shadow(0 4px 3px #3e2d1c33)}.scale-engraving{font-size:13px;color:#5b4c2d;background:#f7e8b4;border:2px solid #b9924c;border-radius:8px;padding:4px 11px;margin:-3px 0 12px;box-shadow:0 2px 0 #8e6836}.illustrated-weight{width:88px;height:90px;min-height:0;border:2px solid #cfad62;background:#fff7e3!important;border-radius:17px;box-shadow:0 4px 0 #8f6e37;overflow:hidden;position:relative;padding:0}.illustrated-weight:before{display:none}.illustrated-weight .item-art{width:82px;height:82px;border-radius:13px}.weight-bag .weight-value{position:absolute;bottom:5px;right:7px;border:1px solid #a57e39;background:#fff2c8;color:#75511f;border-radius:6px;padding:2px 7px;min-width:27px;font-size:19px;box-shadow:0 1px 1px #67522f44}.illustrated-weight.selected{border-color:#15a59b;outline:3px solid #5fd7b84a;background:#fff7e3!important}.pipe-workbench{padding:10px 9px;max-width:540px;overflow:visible}.pipe-assembly{display:grid;grid-template-columns:clamp(30px,8vw,58px) minmax(0,1fr) clamp(30px,8vw,58px);gap:0;align-items:stretch;min-width:0;width:100%}.pipe-edge{display:grid;min-width:0;position:relative;z-index:2;padding-top:5px;padding-bottom:5px}.pipe-reservoir{position:relative;min-height:0;align-self:stretch;width:100%}.reservoir-svg{position:absolute;width:calc(100% + 10px);height:auto;max-height:none;top:50%;transform:translateY(-50%);overflow:visible;left:0;filter:drop-shadow(1px 3px 2px #3a2e2144)}.receiver-reservoir .reservoir-svg{left:-10px}.pipe-reservoir>span{position:absolute;font-size:9px;font-weight:bold;left:0;right:0;top:calc(50% + 35px);text-align:center;color:#604e27;background:#f5e7becc;border-radius:4px;line-height:1.1;padding:2px 0;z-index:1;pointer-events:none}.pipe-reservoir.source-reservoir>span{top:calc(50% + 40px)}.pipes-board{width:100%;min-width:0;aspect-ratio:auto;margin:0;gap:2px;border:3px solid #a97936;padding:2px;border-radius:12px;background:#8e692e;box-shadow:0 4px 0 #624625,inset 0 0 0 2px #f4d797}.pipe-cell{min-width:0;min-height:44px;border:0;border-radius:5px;aspect-ratio:1;background:linear-gradient(145deg,#f5e9c3,#c7ad72);box-shadow:inset 1px 1px 0 #fff0bd,inset -1px -1px 0 #9e824a;position:relative;touch-action:manipulation}.pipe-cell:hover{filter:brightness(1.07)}.pipe-cell:active{filter:brightness(.96);transform:scale(.97)}.pipe-cell>svg{width:100%;height:100%;display:block}.nozzle-arrow{animation:inlet-pulse 1.4s ease-in-out infinite}.receiver-reservoir.flowing .reservoir-svg{filter:drop-shadow(0 0 4px #3ee9d655)}.optical-machine{display:flex;flex-direction:column;align-items:center;padding:21px 18px 16px}.optical-lantern{position:relative;width:90px;height:64px;margin:-9px auto -8px;z-index:1}.optical-lantern .item-art{width:80px;height:80px;border-radius:12px;position:relative;z-index:1}.optical-beam{position:absolute;top:38px;left:-80px;width:240px;height:120px;background:linear-gradient(#ffeeb766,#fff9ba11);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);mix-blend-mode:screen;pointer-events:none}.optical-machine .shadows-layout{width:min(490px,100%);gap:20px;position:relative;z-index:1;margin-top:17px}.shadow-panel{border:3px solid #9c7637;background:linear-gradient(135deg,#cbb07b,#f5df9d,#a6884b);box-shadow:inset 0 0 0 2px #fff0b2,0 4px 0 #6e512b;padding:10px;border-radius:18px}.shadow-panel span{font-size:11px;background:#fff2c2;border:1px solid #b99d58;border-radius:5px;color:#6b5731;padding:3px 6px;margin:0 0 8px;display:inline-block}.shadow-panel svg{width:100%;background:transparent;aspect-ratio:1;border:0;border-radius:50%;box-shadow:0 3px 6px #78552f33}.optical-machine .plate-controls{margin-top:15px;position:relative;z-index:1}.patrol-machine{padding:15px 22px 20px;max-width:480px}.patrol-start{color:#315451;font-size:12px;font-weight:bold;background:#e9dcafdb;padding:4px 9px;border:1px solid #b39861;border-radius:7px;width:max-content;margin:0 0 10px auto;display:flex;align-items:center;gap:6px}.patrol-start .icon{width:18px;height:18px;transform:rotate(90deg)}.patrol-grid{width:100%;padding:7px;gap:4px;border:5px solid #916c38;background:#c4a575;box-shadow:inset 0 0 0 2px #e7d3a0,0 3px 0 #72552f;border-radius:13px}.patrol-cell{height:62px;min-width:0;border:1px solid #a27e43;border-radius:6px;background:repeating-linear-gradient(90deg,#ac8754 0 11px,#d1ad74 12px 13px);box-shadow:inset 0 1px #f4d997;position:relative;overflow:hidden}.patrol-cell.blocked{background:radial-gradient(ellipse at top,#f1d16e,#a7813e);border-color:#be9b53}.patrol-cell .item-art{width:48px;height:48px;position:relative;z-index:2;border-radius:9px;transform:translateY(-7px)}.patrol-beam{position:absolute;left:13%;right:13%;top:21%;bottom:0;background:linear-gradient(#ffe991b3,#ffdd4544);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);pointer-events:none}.patrol-deck-mark{position:absolute;bottom:5px;left:6px;font-size:10px;color:#7a5a31;font-weight:900}.patrol-cell.chosen{outline:3px solid #3dbaa5;outline-offset:-3px;background:repeating-linear-gradient(90deg,#a7b385 0 11px,#bed4a0 12px 13px);border-color:#3a9a87}.footsteps{width:37px;height:37px;fill:#27776c;filter:drop-shadow(0 1px #d2e8bc)}.chart-workbench{padding:15px 20px;max-width:560px}.port-chart{position:relative;width:100%;aspect-ratio:1.65;background:radial-gradient(#b6d7c7,#7fbac0);border:4px solid #98743c;border-radius:14px;box-shadow:inset 0 0 0 2px #edddaa,0 3px 0 #71512c;overflow:visible}.chart-coast{position:absolute;inset:0;width:100%;height:100%;border-radius:10px;overflow:hidden;opacity:.9}.chart-port{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:58px;min-height:54px;padding:0;background:transparent;color:#435d59;z-index:1}.chart-port>span{width:40px;height:40px;display:grid;place-items:center;border:2px solid #9f7938;border-radius:50%;background:radial-gradient(#fff4c8,#dbbc70);box-shadow:0 3px 0 #886935}.chart-port>span .emblem{width:28px;height:28px}.chart-port strong{font-size:10px;background:#fff0c3eF;border:1px solid #c6ad70;border-radius:5px;padding:2px 5px;white-space:nowrap;box-shadow:0 1px 0 #92784455}.chart-port.selected>span{background:radial-gradient(#e4ffe1,#8fd0b5);border-color:#227e75;outline:3px solid #9de2c777}.sequence-slots{gap:7px;width:100%;margin-top:4px}.sequence-slot{position:relative;min-width:58px;min-height:41px;padding:8px 9px 7px 23px;background:linear-gradient(#ede1b7,#d2bd85);border:1px solid #b39a61;border-radius:10px;box-shadow:0 2px 0 #9f8656;color:#655a3d;font-size:11px}.sequence-slot small{position:absolute;left:5px;top:50%;transform:translateY(-50%);width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:#fff4ca;color:#a2894d;font-size:9px}.sequence-slot.filled{background:linear-gradient(#eaf2d4,#b8d4ad);border-color:#73a083;box-shadow:0 2px 0 #61917d;color:#2c665c}.rigging-workbench{padding:14px 16px;max-width:590px}.rigging-board{width:100%;aspect-ratio:1.45;border:3px solid #a67a3d;border-radius:14px;background:linear-gradient(130deg,#b88b4c4d,#f4dda033),url('./art/board-rigging.webp') center/cover;box-shadow:inset 0 0 0 2px #e5cb8c,0 3px 0 #70532c;overflow:visible}.rig-node{width:58px;height:58px;border:2px solid #b28d45;border-radius:17px;background:#fff8e5;box-shadow:0 4px 0 #79572c,0 5px 7px #49341b55;padding:1px}.rig-node .item-art{width:52px;height:52px;border-radius:13px}.rig-node.selected{border-color:#2b988a;background:#fff8e5;outline:3px solid #6dd7b775}.rig-node b{position:absolute;right:-6px;top:-7px;border:1px solid #61af9d;background:#0e8b83;color:#fff3bf;border-radius:8px;width:22px;height:22px;display:grid;place-items:center;font-size:11px;box-shadow:0 1px 2px #163f3944}.rig-label{font-size:10px;max-width:98px;color:#5b4c2e;background:#f8edcbee;border:1px solid #bea36b;padding:2px 5px;border-radius:5px;box-shadow:0 1px 1px #85683b55;z-index:2}.launch-workbench{padding:19px;max-width:600px}.launch-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.launch-list .button{position:relative;flex-direction:column;min-height:119px;padding:7px 7px 12px;border-radius:16px;background:#fff7e2;color:#6e633d;border:2px solid #c1a063;box-shadow:0 4px 0 #8d6d3b;gap:3px;justify-content:flex-start}.launch-list .item-art{width:69px;height:69px;border-radius:10px}.launch-label{font-size:11px;font-weight:bold;text-align:center;line-height:1.2}.launch-list .step-number{position:absolute;top:5px;right:5px;width:21px;height:21px;background:#e3d2a1;color:#8b713c;border:1px solid #b69a61;font-size:10px}.launch-list .step-number .icon{width:13px;height:13px}.launch-list .button.selected{background:#fff7e2;border-color:#309d8a;box-shadow:0 4px 0 #348374;outline:3px solid #8cd8b077}.launch-list .button.selected .step-number{background:#118980;color:#fff5c8;border-color:#2cb29f}@keyframes inlet-pulse{0%,100%{opacity:.65}50%{opacity:1}}
@media(min-width:1600px){.door-thumbnail{max-height:130px}.door-card h2{font-size:15px}}
@media(max-width:900px){.room-tools>.icon-button{width:39px;min-width:39px}.inventory-illustrated{min-width:90px}.room-caption{max-width:210px}.mechanism-part{gap:9px;padding:10px}.part-art{width:63px;height:70px}.part-art .item-art{width:59px;height:59px}.part-copy strong{font-size:13px}}
@media(max-width:650px){.door-card{padding:10px 6px;min-height:165px;gap:7px}.door-thumbnail{max-height:68px;border-radius:10px}.door-card .door-number{top:14px;left:11px;font-size:10px;width:22px;height:22px;min-width:22px;padding:4px}.door-card h2{font-size:11px;line-height:1.2;min-height:27px}.door-card .door-status{font-size:9px}.thumbnail-status{right:3px;bottom:3px;width:20px;height:20px;border-radius:6px}.thumbnail-status .icon{width:12px;height:12px}.room-ribbon{height:72px}.room-heading h1{font-size:15px}.room-chain-status{font-size:9px}.chain-room-tools [data-action=examine]{display:none}.inventory-bar{min-height:90px;max-height:102px;padding:6px 10px}.inventory-illustrated{min-width:74px;min-height:72px;padding:3px 6px 5px;gap:1px;border-radius:14px}.inventory-illustrated .item-art{width:52px;height:52px}.inventory-illustrated>span:last-child{font-size:9px;max-width:78px;white-space:normal;line-height:1.15}.inventory-label{font-size:10px;max-width:45px;white-space:normal}.inventory-label>.icon{display:none}.item-inspection{width:140px;height:140px}.item-inspection .item-art{width:124px;height:124px}.item-caption{font-size:19px}.mechanism-map{grid-template-columns:1fr;gap:11px}.mechanism-part{min-height:97px;padding:10px 13px;gap:12px}.part-art{width:65px;height:71px}.part-art .item-art{width:60px;height:60px}.part-copy strong{font-size:14px}.part-copy small{font-size:9px}.part-copy>span{font-size:11px}.mechanisms-intro{font-size:13px;margin-bottom:14px}.reward-ribbon{padding:8px 11px;gap:10px}.reward-ribbon>.item-art{width:53px;height:53px}.reward-ribbon strong{font-size:15px}.reward-ribbon span{font-size:11px}.stage-breadcrumb{gap:8px;margin-bottom:8px}.stage-breadcrumb strong{font-size:14px}.stage-breadcrumb>span{font-size:10px;min-width:43px;height:25px}.observation-panel{margin-bottom:8px}.observation-panel summary{min-height:38px;padding:7px 10px;font-size:12px}.observation-panel .clue-strip{font-size:12px;padding:0 11px 12px;line-height:1.45}.puzzle-content{gap:9px}.control-note{font-size:11px;line-height:1.3}.workbench{border-width:3px;border-radius:17px;padding:12px}.bench-corners{inset:6px}.slide-board{width:min(245px,100%);border-width:4px;padding:4px;gap:3px}.slide-crate{border-radius:6px}.slide-crate span{font-size:9px;min-width:17px;height:17px}.move-controls .button{min-height:40px;min-width:76px;padding:7px 11px}.move-controls .icon{width:21px;height:21px}.dial-machine{padding:23px 15px}.dial-machine .dials{gap:12px}.dial-machine .dial{gap:7px}.dial-machine .dial-label{height:19px;min-width:21px;font-size:10px}.dial-wheel{padding:14px 7px 19px;min-height:64px;box-shadow:0 4px 0 #664520,0 6px 7px #4b34254b!important}.dial-teeth{inset:-3px;border-width:5px}.dial-medallion{border-width:2px;width:90%}.dial-wheel-label{font-size:8px;left:6%;right:6%;bottom:5px;line-height:1.05}.dial-medallion .icon{width:25px;height:25px}.emblem-letter{font-size:18px}.dial-machine-pin{margin-top:16px}.balance-machine{padding:7px 11px 14px}.balance-illustration{max-height:145px}.scale-engraving{font-size:11px;padding:3px 9px;margin-bottom:11px}.weight-list{gap:10px}.illustrated-weight{width:59px;height:65px;border-radius:13px}.illustrated-weight .item-art{width:56px;height:56px;border-radius:11px}.weight-bag .weight-value{font-size:16px;min-width:23px;right:3px;bottom:3px;padding:1px 5px}.pipe-workbench{border-width:2px;padding:4px;border-radius:13px}.pipe-assembly{grid-template-columns:clamp(30px,8vw,38px) minmax(0,1fr) clamp(30px,8vw,38px)}.pipe-edge{padding-top:5px;padding-bottom:5px}.pipes-board{border-width:3px;padding:2px;gap:2px;border-radius:9px}.pipe-cell{min-height:44px;border-radius:4px}.pipe-reservoir>span{font-size:8px;top:calc(50% + 27px);padding:2px 0}.pipe-reservoir.source-reservoir>span{top:calc(50% + 31px)}.optical-machine{padding:13px 10px 12px}.optical-lantern{width:62px;height:42px;margin-top:-5px}.optical-lantern .item-art{width:57px;height:57px;border-radius:9px}.optical-beam{top:25px;left:-64px;width:180px;height:100px}.optical-machine .shadows-layout{gap:10px;margin-top:12px}.shadow-panel{padding:7px;border-width:2px;border-radius:12px}.shadow-panel span{font-size:9px;margin-bottom:5px;padding:2px 4px}.optical-machine .plate-controls{gap:8px;margin-top:11px}.plate-controls .button{font-size:11px;min-height:40px;padding:7px 10px;gap:5px}.plate-controls .icon{width:18px;height:18px}.patrol-machine{padding:11px 12px 15px}.patrol-start{font-size:10px;padding:3px 7px;margin-bottom:8px}.patrol-grid{padding:5px;border-width:4px;gap:3px}.patrol-cell{height:51px}.patrol-cell .item-art{width:40px;height:40px;border-radius:8px;transform:translateY(-5px)}.patrol-deck-mark{font-size:9px}.footsteps{width:31px;height:31px}.chart-workbench{padding:11px 10px}.port-chart{border-width:3px;aspect-ratio:1.35}.chart-port{min-width:46px;min-height:49px}.chart-port>span{width:32px;height:32px}.chart-port>span .emblem{width:24px;height:24px}.chart-port strong{font-size:8px;padding:2px 4px}.sequence-slots{gap:5px;min-height:39px}.sequence-slot{min-width:48px;min-height:34px;padding:7px 6px 6px 20px;font-size:9px;border-radius:8px}.sequence-slot small{left:4px;width:13px;height:13px;font-size:8px}.rigging-workbench{padding:11px 10px}.rigging-board{aspect-ratio:1.24;border-width:2px}.rig-node{width:43px;height:43px;border-radius:12px}.rig-node .item-art{width:38px;height:38px;border-radius:8px}.rig-node b{width:18px;height:18px;font-size:9px;right:-5px;top:-6px}.rig-label{font-size:8px;padding:2px 4px;max-width:74px}.launch-workbench{padding:12px 10px}.launch-list{gap:9px;grid-template-columns:repeat(3,minmax(0,1fr))}.launch-list .button{padding:5px 5px 8px;min-height:99px;border-radius:12px;gap:3px}.launch-list .item-art{width:52px;height:52px;border-radius:7px}.launch-label{font-size:9px;line-height:1.15}.launch-list .step-number{width:18px;height:18px;right:3px;top:3px;font-size:9px}.launch-list .step-number .icon{width:10px;height:10px}.replay-scene{height:140px}.modal-body{padding:14px 12px 18px}.modal-footer{padding:10px 12px 14px}.modal-footer .button{font-size:12px;padding:9px 12px;min-height:43px}}
@media(max-width:360px){.inventory-illustrated .item-art{width:49px;height:49px}.inventory-illustrated>span:last-child{display:block!important}.inventory-illustrated{min-width:67px}.dial-machine .dials{gap:9px}.dial-machine{padding-left:10px;padding-right:10px}.mechanism-part{padding-left:10px;padding-right:10px;gap:9px}.pipe-assembly{grid-template-columns:30px minmax(0,1fr) 30px}.puzzle-content{gap:8px}.control-note{font-size:10px}.stage-breadcrumb strong{font-size:13px}}
@media(max-height:520px) and (min-width:650px){.room-ribbon{height:57px}.room-heading h1{font-size:15px}.room-chain-status{font-size:9px}.inventory-bar{min-height:70px;max-height:78px}.inventory-illustrated{min-height:59px;padding:2px 7px 3px;min-width:82px}.inventory-illustrated .item-art{width:39px;height:39px}.inventory-illustrated>span:last-child{font-size:9px}.modal-body{padding-top:11px;padding-bottom:14px}.mechanism-map{grid-template-columns:repeat(2,minmax(0,1fr))}.mechanism-part{min-height:92px}.part-art{width:59px;height:62px}.part-art .item-art{width:54px;height:54px}.stage-breadcrumb{margin-bottom:7px}.observation-panel summary{min-height:35px}.puzzle-content{gap:8px}.workbench{max-width:490px}.optical-machine .shadows-layout{width:360px}.optical-lantern{height:39px}.optical-lantern .item-art{width:56px;height:56px}.optical-machine .plate-controls{margin-top:10px}}

.records-workbench{padding:22px;max-width:550px}.supply-records{display:flex;flex-wrap:wrap;justify-content:center;gap:15px}.supply-record{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:88px;min-height:114px;border:2px solid #b28d4a;border-radius:12px;background:linear-gradient(#fffae7,#e8d5a3);color:#756344;box-shadow:0 4px 0 #91713d;padding:10px 12px}.supply-record:before{content:'';position:absolute;left:calc(50% - 15px);top:-6px;width:30px;height:10px;border:1px solid #917038;border-radius:4px;background:linear-gradient(#eed291,#ad8540)}.supply-record strong{font-size:12px}.supply-record .item-art,.supply-illustration{width:66px;height:66px}.supply-record.selected{border-color:#249d8e;outline:3px solid #8ed8b569;background:linear-gradient(#f7ffe3,#c7dfb8);box-shadow:0 4px 0 #4b8b72}.record-order{position:absolute;right:-5px;top:-6px;width:23px;height:23px;border-radius:8px;border:1px solid #6ab6a0;background:#0e8d83;color:#fff0be;display:grid;place-items:center;font-size:11px;font-weight:bold}@media(max-width:650px){.records-workbench{padding:16px 10px}.supply-records{gap:12px}.supply-record{min-width:73px;min-height:93px;padding:7px 10px;gap:4px}.supply-record .item-art,.supply-illustration{width:51px;height:51px}.supply-record strong{font-size:10px}.record-order{width:19px;height:19px;font-size:10px}}
/* Physical mechanisms, revision three. All geometry stays inside its workbench. */
.mechanics-board{padding:clamp(14px,3vw,30px);color:#4e452c;overflow:hidden;min-width:0}.mechanic-illustration{display:block;width:100%;max-height:340px;overflow:visible}.mechanics-board button{touch-action:manipulation}.mechanics-board button:focus-visible{outline:3px solid #edbd49;outline-offset:3px}.mechanic-options,.mechanic-controls,.mechanic-readouts,.mechanic-control-pair,.mechanic-control-triple{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:12px 0}.mechanic-control-pair>*{flex:1;min-width:120px}.mechanic-control-triple>*{flex:1;min-width:80px}.mech-button{min-width:44px;min-height:44px;padding:8px 12px}.mechanic-badge{display:inline-flex;flex-direction:column;align-items:center;min-width:44px;background:#f8e4af;border:1px solid #c4a166;border-radius:10px;padding:7px 10px;box-shadow:inset 0 2px #fff1c8,0 2px 3px #5c42262a}.mechanic-badge small{font-size:11px;line-height:1.2;color:#76623c}.mechanic-badge strong{font-size:19px;color:#246d73}.mechanic-stepper{text-align:center}.mechanic-stepper>span{display:block;font-size:12px;font-weight:800;margin:4px}.mechanic-stepper>div{display:flex;justify-content:center;gap:5px;align-items:center}.mechanic-range{display:block;min-width:0;margin:10px auto;max-width:450px}.mechanic-range>span{display:flex;justify-content:space-between;font-size:13px;font-weight:800}.mechanic-range input{width:100%;min-height:44px;accent-color:#168b96;cursor:pointer}.mechanic-grid{display:grid;width:min(100%,420px);margin:14px auto;gap:3px;padding:7px;border:3px solid #b18b4c;border-radius:14px;background:#786044;box-shadow:inset 0 3px 12px #302e294d}.mechanic-cell{min-width:0;min-height:44px;aspect-ratio:1;border:1px solid #c09d5d;background:linear-gradient(145deg,#f9e7ba,#d3b279);color:#71542d;border-radius:6px;font:800 14px var(--font,system-ui);box-shadow:inset 0 2px #fff0ce,0 2px 3px #43362244;display:flex;align-items:center;justify-content:center;position:relative;padding:2px;overflow:hidden}.mechanic-cell.selected,.mechanics-board button.selected{box-shadow:inset 0 0 0 3px #1c9e9b,0 3px 7px #244b3d44}.mechanic-word-entry{display:flex;gap:8px;align-items:end;justify-content:center;margin:16px auto 4px;max-width:420px}.mechanic-word-entry label{display:flex;flex:1;min-width:0;flex-direction:column;font-size:12px;font-weight:800;gap:5px}.mechanic-word-entry input{width:100%;min-width:0;min-height:44px;border:2px solid #b59a66;background:#fff5d3;border-radius:10px;padding:7px 12px;font-size:20px;letter-spacing:.2em;color:#286b73;text-transform:uppercase}.mechanic-selection-note,.mechanic-legend{text-align:center;font-size:12px}.mechanic-control-triple .mechanic-badge{padding:5px}.up-arrow{transform:rotate(-90deg);display:inline-block}.down-arrow{transform:rotate(90deg);display:inline-block}
.jug-rack{display:flex;justify-content:center;gap:10px}.jug-button{border:0;background:transparent;border-radius:16px;width:31%;min-height:160px;padding:5px;cursor:pointer}.jug-button.selected{background:#e8bd6559}.jug-illustration{display:block;width:100%;max-height:230px}.jug-destination{filter:drop-shadow(0 0 5px #61d5bd)}.barrel-matrix{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.barrel-case{padding:8px 4px;background:#f8e9bc;border-radius:13px;border:2px solid #b59356;text-align:center}.barrel-case.rejected{opacity:.5}.barrel-case.selected{border-color:#139b92;box-shadow:0 0 0 3px #139b9255}.barrel-image{max-width:95px;margin:auto}.barrel-image svg{max-height:130px}.barrel-facts{display:flex;flex-direction:column;gap:4px;font-size:11px}.barrel-actions{display:flex;justify-content:center;gap:4px;margin-top:8px}.barrel-actions button{padding:6px;min-width:44px}.letter-grille{display:grid;gap:4px;max-width:300px;margin:12px auto;padding:10px;background:#906c3d;border:7px solid #c5a06b;border-radius:13px}.grille-letter{min-height:44px;display:grid;place-items:center;font:800 23px Georgia,serif;background:#524a39;color:#b1a58b;box-shadow:inset 0 2px 5px #0005;border-radius:4px}.grille-letter.revealed{background:#ffe7a3;color:#65502d;box-shadow:inset 0 1px 3px #fff8}.gear-transmission,.gear-tray{display:flex;align-items:center;justify-content:center;gap:3px;flex-wrap:wrap}.gear-input,.gear-socket{display:flex;flex-direction:column;align-items:center;position:relative}.gear-socket{min-width:70px;min-height:115px;border:0;background:#ebd19788;border-radius:12px;color:#6e572d;padding:8px 4px}.gear-socket small{font-size:10px}.empty-socket{width:70px;height:70px;border:9px double #886c3c;border-radius:50%;box-shadow:inset 0 0 12px #614c36}.gear-option{display:flex;flex-direction:column;align-items:center;border:2px solid #b18f52;border-radius:13px;background:#f7e5b9;min-width:80px;padding:7px}.ferry-scene{display:grid;grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);gap:8px;min-height:280px}.ferry-landing{background:#dec18b9e;border-radius:12px;padding:8px 3px;display:flex;flex-direction:column;align-items:center;gap:8px;border-bottom:12px solid #896239}.ferry-item{display:flex;flex-direction:column;align-items:center;width:100%;font-size:11px;border:1px solid #cba76a;background:#fff0c7;border-radius:10px;min-height:65px}.ferry-item .item-art{width:55px;height:55px}.ferry-shaft{position:relative;display:flex;flex-direction:column;justify-content:end;gap:8px}.ferry-cable{height:160px;width:4px;background:#a39977;align-self:center}.ferry-platform{position:absolute;top:25px;left:0;right:0;transition:transform .3s}.ferry-platform.at-right{transform:translateY(95px)}.ferry-platform .item-art{width:65px;height:65px}.switchboard-cell{aspect-ratio:1;flex-direction:column;background:linear-gradient(140deg,#c7aa6c,#846437);border:3px solid #dbbf7d;gap:5px;min-height:78px}.latch-lamp{display:block;width:20px;height:20px;background:#374641;border:4px solid #d9b36b;border-radius:50%;box-shadow:inset 0 1px 6px #0007}.latch-lamp.lit{background:#ffc965;box-shadow:0 0 13px #ffc55b}.toggle-lever{display:block;width:39px;height:8px;border-radius:5px;background:#bfc9b6;transform:rotate(20deg)}.toggle-lever.up{transform:rotate(-20deg)}.switchboard-cell small{color:#f6e3b2;font-size:10px}.particle-tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.particle-choice{display:flex;align-items:center;flex-direction:column;border:2px solid #bc9b63;background:#f5e5b8;border-radius:11px;min-height:95px;padding:7px;gap:4px}.filter-particle{width:var(--particle-size);height:var(--particle-size);display:block;max-width:48px;max-height:48px;background:radial-gradient(at 35% 25%,#f2e7bd,#c1a06b 50%,#806b4b);clip-path:polygon(20% 8%,70% 0,100% 35%,80% 100%,15% 85%,0 35%)}.filter-particle.metal{background:radial-gradient(at 35% 25%,#f1f8e5,#9eada7 40%,#586b70)}.particle-choice small{font-size:10px}.sieve-outlets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:20px}.sieve-outlet{border:3px solid #b69a61;border-radius:12px;background:#d6c18c;min-height:130px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:9px 3px}.sieve-outlet strong{font-size:12px}.sieve-mesh{height:45px;width:80%;background:repeating-linear-gradient(0deg,#a49c75 0 2px,transparent 2px 9px),repeating-linear-gradient(90deg,#a49c75 0 2px,#f7e9bd 2px 9px);border:5px solid #a4864e}.sieve-mesh.coarse{background-size:18px 18px}.sieve-mesh.magnetic{background:#a1b0a8;border-radius:12px 12px 0 0;border-bottom:0}.sorted-particles{display:flex;gap:2px;flex-wrap:wrap}.sorted-particles i{display:inline-grid;place-items:center;width:20px;height:20px;background:#827861;color:#fff0c1;border-radius:50%;font-size:10px}.dam-map{position:relative}.dam-gate{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border:3px solid #d3b36c;background:#8e683e;color:#ffe5a3;border-radius:50%;box-shadow:0 3px 6px #0004}.dam-gate.open{background:#24999f}.dam-map text{font-size:11px;font-weight:800}
.mirror-grid-shell{position:relative;max-width:390px;margin:auto}.mirror-grid{background:#243a48cc;position:relative}.mirror-grid .mechanic-cell{aspect-ratio:1;background:#203a43aa;border-color:#617f7c;min-height:50px}.mirror-pane{height:7px;width:90%;background:linear-gradient(#fffacb,#78bbd0);border:2px solid #dcc078;border-radius:3px;box-shadow:0 0 5px #c9fafa}.beam-overlay{position:absolute;inset:7px;width:calc(100% - 14px);height:calc(100% - 14px);pointer-events:none;z-index:2;overflow:hidden}.opaque-block{background:repeating-linear-gradient(35deg,#80562e,#80562e 9px,#b47c3e 12px)!important}.beam-source{color:#ffe070;font-size:25px}.light-receiver{font-size:35px;color:#9aa6a3}.light-receiver.lit{color:#ffe56a;text-shadow:0 0 14px #ffca33}.color-laboratory{display:grid;gap:22px}.color-shutters{display:flex;justify-content:center;gap:12px}.color-shutter{border:2px solid #a38147;border-radius:12px;min-width:70px;min-height:85px;background:#ead39e;display:flex;flex-direction:column;align-items:center;padding:8px;gap:4px}.color-shutter span{font-size:11px}.color-lamp{display:block;width:35px;height:35px;border:5px solid #ae8c4c;border-radius:50%;background:#3c4640}.color-lamp.lit{background:var(--lamp-color);box-shadow:0 0 15px var(--lamp-color)}.color-mixtures{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:12px}.color-orb,.color-target{display:block;width:60px;height:60px;border:6px solid #c8a760;border-radius:50%;box-shadow:inset 3px 3px 8px #fff5,0 3px 5px #573f294d}.color-target{border-style:double;border-width:9px}.signal-message{display:flex;justify-content:center;gap:14px;margin:18px auto}.signal-message>div{display:flex;flex-direction:column;gap:8px;align-items:center}.morse-signal{display:inline-flex;align-items:center;gap:6px;min-height:26px}.morse-signal i{display:inline-block;height:13px;background:#ffce68;border:2px solid #b18a45;border-radius:6px;box-shadow:0 0 6px #ffcc5e77}.morse-signal .short{width:13px}.morse-signal .long{width:32px}.signal-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;background:#efddb0;padding:8px;border-radius:10px}.signal-legend>span{display:flex;flex-direction:column;align-items:center;border:1px solid #c4a46b;min-height:50px}.signal-legend .morse-signal{transform:scale(.7)}.timeline-ruler{display:flex;justify-content:space-between;margin:12px 0 20px;border-bottom:3px solid #a17c45;padding-bottom:5px}.timeline-event{margin:14px 0;padding:10px;background:#f2dfacb3;border:1px solid #bea16a;border-radius:10px}.timeline-event strong{font-size:12px}.timeline-track{height:22px;background:#b9a174;border-radius:5px;position:relative;overflow:hidden;margin:8px 0}.timeline-track i{position:absolute;top:0;height:100%;background:linear-gradient(#63c0bb,#208991);border:2px solid #bde5c7;border-radius:5px}.timeline-event .mechanic-range{margin:0}.plank-cell{background-image:url('art/crate-face.webp');background-size:cover;color:#fff4b9;text-shadow:0 1px 3px #0009;font-size:20px}.blocked-plank{background:#604e37}.plank-cell.walked{box-shadow:inset 0 0 0 4px #77cab1}.costume-comparison{display:flex;justify-content:center;gap:30px}.costume{display:flex;flex-direction:column;align-items:center;width:140px}.costume-region{display:grid;place-items:center;min-height:52px;width:100%;background:transparent;border:0;border-radius:8px}.costume-region.selected{background:#53bcb84d}.costume-part{display:block;position:relative;background:var(--cloth-color);box-shadow:inset 0 2px 3px #fff4,0 3px 6px #4c382944}.part-hat{width:85px;height:36px;border-radius:25px 25px 5px 5px;border-bottom:8px solid #a88643}.part-scarf{width:82px;height:24px;transform:rotate(-7deg);border-radius:9px}.part-scarf:after{content:'';position:absolute;right:5px;top:5px;width:15px;height:39px;background:inherit}.part-badge{width:43px;height:43px;clip-path:polygon(50% 0,63% 30%,98% 35%,75% 60%,80% 100%,50% 80%,20% 100%,25% 60%,2% 35%,37% 30%);display:grid;place-items:center;font-size:23px;color:#ffe7a4}.part-belt{width:100px;height:18px;border:3px solid #71562e;border-radius:4px}.part-belt:after{content:'';display:block;position:absolute;left:40px;top:-6px;width:20px;height:23px;border:5px solid #e4bf66}.part-boots{width:36px;height:39px;border-radius:5px 5px 3px 12px;box-shadow:43px 0 var(--cloth-color);margin-left:-40px}.echo-reference,.echo-answer{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin:15px auto}.echo-mark{width:44px;height:44px;display:grid;place-items:center;border:2px solid #b59657;border-radius:8px}.material-wood{background:repeating-linear-gradient(20deg,#9e713d,#d9b06d 11px,#ae7f42 14px)}.material-metal{background:linear-gradient(135deg,#e2e7d1,#879e9a,#e4ead6)}.material-rope{background:repeating-linear-gradient(40deg,#a48048,#d4b976 5px,#a48048 9px)}.echo-pads{display:flex;justify-content:center;gap:10px;margin-top:20px}.echo-pad{display:flex;flex-direction:column;align-items:center;min-width:75px;border:0;background:transparent;gap:6px;padding:5px}.echo-surface{width:75px;height:75px;border:5px solid #bc975c;border-radius:12px;box-shadow:0 4px 6px #3d321b55;display:grid;place-items:center}.echo-surface .item-art{width:65px;height:65px}.echo-answer i{display:block;width:25px;height:25px;border:2px solid #a08248;border-radius:50%}.covered-memory{display:flex;justify-content:center;gap:8px;align-items:center;height:80px;background:#e4cd9b;border:2px dashed #b49561;border-radius:12px;font-size:12px}
.chart-grid{background:#d4bd88;gap:1px;border-color:#ad8c50}.chart-cell{font-size:10px;aspect-ratio:1;min-height:44px;background:#d9e1bc;color:#587b74;border:1px solid #b5c4a2;box-shadow:none;border-radius:0}.chart-cell.sailed,.water-cell.sailed{background:#98cfbd}.chart-cell.reef,.water-cell.reef{background:radial-gradient(ellipse,#7d8982 45%,#b3c8b4 48%);color:#4c686b}.course-log{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;font:700 16px Georgia,serif}.course-log span{background:#f6e6b6;border:1px solid #bba16e;border-radius:6px;padding:8px}.compass-controls{display:grid;grid-template-columns:repeat(3,44px);justify-content:center;gap:5px;margin:14px auto}.compass-controls button:first-child{grid-column:2}.compass-controls button:nth-child(2){grid-column:1}.compass-controls button:last-child{grid-column:2}.constellation-reference{display:flex;align-items:center;justify-content:center}.constellation-reference>svg{width:170px;height:145px;background:#254856;border:3px solid #c3a362;border-radius:13px}.star-chart{position:relative;background:radial-gradient(at 50% 50%,#33546a,#152c45);border:7px double #b79962;border-radius:15px}.star-chart>svg{width:100%;max-height:none}.star-button{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border:0;background:none;color:#ffe2a3;text-shadow:0 0 8px #fff2ae;font-size:32px;line-height:44px;padding:0}.star-button.selected{color:#7df1de;background:#163c5066;border-radius:50%}.cipher-wheel{max-width:350px;margin:auto}.cipher-wheel svg{max-height:350px}.cipher-message{font:800 27px Georgia,serif;letter-spacing:.3em;text-align:center;color:#76522e;background:#ffedb8;padding:12px;border:2px solid #c8a568;border-radius:10px;margin:12px auto}.nonogram{display:grid;gap:2px;max-width:350px;margin:10px auto;padding:5px;background:#ecd5a0;border:3px solid #ac864b;border-radius:10px}.nonogram-run{display:grid;place-items:center;min-height:32px;font-size:13px;font-weight:800}.nonogram-cell{min-height:44px;background:#fff1c9;font-size:25px}.nonogram-cell.inked{background:#3c7578;color:#bce5ce}.fragment-tray{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:12px}.fragment-tray>div{width:22%;min-width:60px;text-align:center}.fragment-tray>div>button:last-child{min-width:44px;margin-top:3px}.fragment-option{width:100%;padding:2px;border:2px solid #c5a167;background:#e4c888;border-radius:9px;min-height:70px}.fragment-option>svg,.fragment-slot>svg{width:100%;display:block}.fragment-board{max-width:340px;background:#887f58;gap:0}.fragment-slot{padding:0;border-radius:0;min-height:100px}.empty-parchment{font-size:30px;color:#97845b}.triangulation-chart{max-width:350px;margin:auto}.landmark-symbol{font-size:20px;margin-right:3px;color:#946237}.weaving-loom{display:flex;justify-content:center;gap:5px}.weave-crossing{width:33%;padding:3px;border:2px solid #a7854c;background:#e9cc92;border-radius:10px}.weave-crossing svg{max-height:150px}.weave-anchor{display:flex;justify-content:center;align-items:center;font-size:12px;gap:10px}.weave-anchor .item-art{width:65px;height:65px}.semaphore-message,.semaphore-posts{display:flex;justify-content:center;gap:5px}.semaphore-posts>section{min-width:0;width:33%;text-align:center}.semaphore-posts .signal-sailor{width:100%;height:auto}.flag-arm-controls{display:flex;gap:3px;justify-content:center;margin:4px 0}.flag-arm-controls button{padding:4px;min-width:44px}.semaphore-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#f2dfb0;border-radius:12px;gap:5px;margin-top:16px;padding:8px}.semaphore-legend>div{text-align:center;border:1px solid #c9aa71;border-radius:8px}.semaphore-legend .signal-sailor{display:block;width:80px;max-width:100%;margin:auto}.semaphore-legend b{display:block;font:800 18px Georgia,serif}.linkage-options{display:flex;justify-content:center;gap:8px}.linkage-options>div{display:flex;flex-direction:column;align-items:center;gap:5px}.linkage-options small{font-size:11px}.mastermind-history{max-height:220px;overflow:auto;margin:10px auto}.mastermind-history>div{display:flex;gap:8px;align-items:center;padding:8px;background:#efd9a2;border-bottom:1px solid #bba066}.mastermind-history>div>span{font-size:10px;line-height:1.5;margin-left:auto}.code-peg{display:block;width:30px;height:30px;border-radius:50%;background:radial-gradient(at 30% 25%,#fff9,var(--peg-color) 45%,#463f3655);box-shadow:0 3px 5px #47392266;border:2px solid #7d643c}.mastermind-guess{display:flex;justify-content:center;gap:15px;margin:15px auto}.peg-control{min-width:60px;min-height:60px;border:3px solid #c8a563;background:#edd5a1;border-radius:14px;display:grid;place-items:center}.peg-control .code-peg{width:40px;height:40px}.mastermind-board>.button{display:flex;margin:auto}.boat-trim-scene{position:relative;width:230px;height:290px;margin:12px auto;transform:rotate(var(--roll));transition:transform .2s}.lifeboat-hull{position:absolute;inset:0;border:14px solid #bd8d4e;background:repeating-linear-gradient(0deg,#ba8c50,#dbb477 22px,#9a703c 24px);border-radius:45% 45% 24% 24%;box-shadow:inset 0 0 0 4px #79592e,0 6px 9px #394a3655}.boat-cargo-grid{position:absolute;inset:80px 26px 35px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.boat-cargo-slot{border:2px solid #9d743d;background:#e6c18a9c;border-radius:10px;min-width:0;min-height:60px;position:relative;color:#73542c;font-size:23px}.boat-cargo-slot .item-art{width:55px;height:55px;margin:auto}.boat-cargo-slot b{position:absolute;bottom:3px;right:5px;font-size:15px}.cargo-tray{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.cargo-tray>div{text-align:center}.cargo-choice{display:flex;flex-direction:column;align-items:center;border:2px solid #bda066;background:#f6e4b7;border-radius:10px;width:100%;padding:5px 2px;min-height:95px}.cargo-choice span{font-size:10px}.cargo-choice .item-art{width:60px;height:60px}.cargo-tray>div>.button{padding:5px;margin-top:5px}.stitching-cloth{position:relative}.stitching-cloth>svg{max-height:none}.stitch-node{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border:3px solid #c5a76c;border-radius:50%;background:#e9d6a2;color:#466d64;font-size:27px;padding:0}.model-banner{display:flex;justify-content:center;gap:7px;align-items:center;font-size:12px;background:#eedda9;border:1px solid #b49a65;border-radius:8px;padding:8px}.model-banner svg{width:19px;height:19px}.water-cell{background:linear-gradient(135deg,#9bd5cc,#65b8bf);border-color:#79b6b3;font-size:25px}.current-arrow{color:#f6ffe5;text-shadow:0 1px 2px #398d97}
@media(max-width:540px){.mechanics-board{padding:12px 8px}.barrel-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}.barrel-image{max-width:70px}.barrel-facts{font-size:11px}.mechanic-control-triple{gap:4px}.mechanic-control-triple .mech-button{padding:5px;min-width:44px}.mechanic-control-triple .mechanic-badge{min-width:25px;padding:3px}.mechanic-badge strong{font-size:16px}.mechanic-stepper>span{font-size:11px}.mechanic-word-entry{flex-wrap:wrap}.mechanic-word-entry .button{padding:9px}.signal-legend{grid-template-columns:repeat(3,minmax(0,1fr))}.signal-message{gap:6px}.morse-signal{gap:3px}.morse-signal .long{width:25px}.morse-signal .short{width:11px}.costume-comparison{gap:12px}.costume{width:115px}.echo-pads{gap:3px}.echo-pad{min-width:65px;padding:2px}.echo-surface{width:65px;height:65px}.chart-grid{padding:3px;gap:0}.chart-cell{min-height:44px}.nav-bearing .chart-cell{font-size:8px}.nonogram{padding:2px;gap:1px}.fragment-tray{gap:3px}.fragment-tray>div{width:23%}.semaphore-posts{flex-direction:column;gap:10px}.semaphore-posts>section{width:100%;display:flex;justify-content:center;align-items:center}.semaphore-posts .signal-sailor{width:130px}.flag-arm-controls{gap:8px}.cargo-tray{grid-template-columns:repeat(2,minmax(0,1fr))}.mechanic-readouts{gap:5px}.mechanic-illustration{max-height:280px}.ferry-scene{grid-template-columns:minmax(0,1fr) 65px minmax(0,1fr)}.gear-socket{min-width:56px}.gear-socket>svg{width:65px;height:65px}.gear-input>svg{width:45px;height:45px}.gear-input small{font-size:11px}.gear-transmission{gap:1px}.gear-tray{gap:5px}.gear-option{min-width:65px}}
@media(prefers-reduced-motion:reduce){.mechanics-board *{transition:none!important}}
.packing-grid{max-width:380px;gap:4px;background:#6b583a;padding:10px}.packing-cell{background:#c3a77a;border:2px dashed #b99a60}.packing-cell.unavailable{background:#5b513c;border:0;box-shadow:none;opacity:.7}.packing-cell.occupied{border:2px solid #efcf8d;background:var(--piece-color);box-shadow:inset 0 0 12px #81532566,0 3px 5px #382d1b55;background-image:url('art/crate-face.webp');background-size:cover;color:#fff0bb;text-shadow:0 1px 2px #0009}.packing-pieces{display:flex;justify-content:center;gap:12px}.packing-piece{min-width:65px;min-height:90px;padding:8px;display:flex;flex-direction:column;align-items:center;background:#f6e3b6;border:2px solid #c6a36a;border-radius:11px}.packing-piece svg{height:60px;width:70px;max-width:100%}.packing-piece strong{font-size:11px}.pulse-projector{display:flex;position:relative;justify-content:center;align-items:center;height:110px}.pulse-projector>.item-art{width:110px;height:110px}.pulse-lens{position:absolute;left:calc(50% - 13px);top:40px;width:26px;height:30px;border-radius:50%;background:#8e7c4a;overflow:visible}.pulse-lens i{position:absolute;inset:0;background:#fff6ac;border-radius:50%;box-shadow:0 0 30px 15px #ffd34c;opacity:0;animation-name:optical-pulse;animation-timing-function:steps(1,end);animation-fill-mode:forwards;animation-iteration-count:1}@keyframes optical-pulse{0%,99%{opacity:1}100%{opacity:0}}.morse-board>.mech-button{display:flex;margin:5px auto 18px}.echo-pads .disabled-visual{pointer-events:none;opacity:.55}
.packing-cell.occupied{background-blend-mode:multiply;border-top-color:#fbe0a2;border-left-color:#f4cd83;border-bottom-color:#75532e;border-right-color:#84613a}.packing-piece{box-shadow:inset 0 2px #fff2c7,0 3px 6px #47362244}.packing-piece.selected{background:#efdda8}
@media(max-width:540px){.mechanic-control-triple{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}.mechanic-control-triple>.mechanic-stepper{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0}.mechanic-control-triple>.mechanic-stepper>span{width:85px;text-align:right;margin:0}.mechanic-control-triple>.mechanic-stepper>div{flex:none;gap:7px}.mechanic-control-triple .mechanic-badge{min-width:30px}.mechanic-control-triple .mech-button{flex:none;width:44px;min-width:44px}}
.pistons-board .mechanic-stepper>span{font-size:11px;line-height:1.5}.triangulation-map{position:relative;overflow:hidden;border:4px solid #ae8a4c;border-radius:10px}.triangulation-map .mechanic-grid{padding:0;border:0;margin:0;gap:0;width:100%;max-width:none;border-radius:0}.triangulation-map>.landmark-circles{position:absolute;inset:0;width:100%;height:100%;max-height:none;z-index:2;pointer-events:none}.triangulation-map .chart-cell{border:0;box-shadow:inset -1px -1px #8db1a066;border-radius:0}
@media(max-width:540px){.pistons-board .mechanic-control-triple>.mechanic-stepper>span{width:110px;font-size:10px}}
.dam-direction{display:inline-block;font-size:24px;line-height:30px}.dam-gate small{position:absolute;right:-4px;top:-6px;width:19px;height:19px;display:grid;place-items:center;background:#715a35;border:1px solid #d7b76b;border-radius:50%;color:#ffe9af}.dam-gate.open small{background:#267d79}.dam-gate small svg{width:12px;height:12px}.stitch-node.finish{border-color:#237e84;background:#e9ebbd;color:#237e84;box-shadow:0 0 0 3px #eed69d}.cargo-prop{display:block;width:60px;height:60px;margin:auto}.cargo-prop svg{display:block;width:100%;height:100%;max-height:none}.boat-cargo-slot .cargo-prop{width:55px;height:55px}
.pistons-board .mechanic-stepper>span{background:#f8e6bc;color:#503c23;border-radius:7px;box-shadow:inset 0 0 0 1px #d1ae6b,0 2px 4px #46351f44;font-size:11px;line-height:1.4}
@media(max-width:540px){.pistons-board .mechanic-control-triple>.mechanic-stepper>span{font-size:11px;background:#f8e6bc;color:#503c23}}
.dam-map-clear{width:100%;max-width:500px;margin:auto;position:relative;aspect-ratio:5/4}.dam-map-clear>.mechanic-illustration{display:block;width:100%;height:auto;aspect-ratio:5/4;max-height:none;overflow:visible}.dam-purpose{position:absolute;transform:translate(-50%,-50%);width:80px;text-align:center;font-size:11px;font-weight:800;line-height:1.2;color:#423c28;background:#f8e7bd;border-radius:6px;box-shadow:0 1px 3px #71532a44;padding:3px 2px;pointer-events:none}.dam-map-clear .dam-gate{z-index:2}.dam-map-clear .dam-gate small{right:0;top:-4px}
/* V4: physical objects share the scene's painted materials and a single warm light. */
.costume-painted{position:relative;width:160px;max-width:45%;isolation:isolate;height:300px;display:flex;flex-direction:column;justify-content:flex-start;padding:0}.costume-underlay{position:absolute;inset:0;z-index:-1;pointer-events:none}.costume-underlay>svg{display:block;width:100%;height:100%}.costume-painted .costume-region{width:100%;border:0;padding:0;min-height:44px;display:block;background:transparent;box-shadow:none;position:relative;height:60px;flex:none}.costume-painted .costume-region-hat{height:60px}.costume-painted .costume-region-scarf{height:55px}.costume-painted .costume-region-badge{height:50px}.costume-painted .costume-region-belt{height:48px}.costume-painted .costume-region-boots{height:65px}.costume-drawing{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 2px 2px #47321b22)}.costume-painted .costume-region.selected{background:#b9dfbf55;border-radius:16px;outline:2px solid #478c84;outline-offset:-3px}.costume-comparison{gap:30px;align-items:start;max-width:420px;margin:8px auto}.jug-button{filter:drop-shadow(2px 5px 3px #38291a33)}.jug-button:nth-child(2) .jug-illustration{transform:scale(.92);transform-origin:bottom center}.jug-button:nth-child(3) .jug-illustration{transform:scale(.84);transform-origin:bottom center}.signal-sailor{filter:drop-shadow(1px 3px 2px #47321a33)}.modal-footer .button{min-height:44px}
@media(max-width:540px){.costume-comparison{gap:12px}.costume-painted{height:270px;max-width:47%;width:145px}.costume-painted .costume-region-hat{height:54px}.costume-painted .costume-region-scarf{height:49px}.costume-painted .costume-region-badge{height:45px}.costume-painted .costume-region-belt{height:44px}.costume-painted .costume-region-boots{height:58px}}
.nautical-prop,.physical-prop{display:inline-block;width:76px;height:76px;flex:none;vertical-align:middle;background-repeat:no-repeat;filter:drop-shadow(1px 4px 3px #3b291b4d)}.physical-prop>svg{display:block;width:100%;height:100%;overflow:visible}.mechanics-board .item-art{mix-blend-mode:multiply}.ferry-item .physical-prop,.ferry-item .nautical-prop{width:55px;height:55px}.ferry-platform .physical-prop,.ferry-platform .nautical-prop{width:65px;height:65px}.echo-surface .physical-prop{width:65px;height:65px}.pulse-projector>.physical-prop{width:110px;height:110px}.weave-anchor .physical-prop{width:65px;height:65px}.cargo-choice .physical-prop,.cargo-choice .nautical-prop{width:60px;height:60px}.boat-cargo-slot .physical-prop,.boat-cargo-slot .nautical-prop{width:55px;height:55px}.rig-node .physical-prop,.rig-node .nautical-prop{width:100%;height:100%}.optical-lantern .physical-prop{width:100%;height:100%}.launch-list .physical-prop,.launch-list .nautical-prop{width:62px;height:62px}.patrol-cell .physical-prop{width:100%;height:100%}
/* Different work surfaces, shared light. The interactive parts carry the material detail. */
.workbench{border:4px solid #b08c4d;border-radius:20px;background-color:#b28a51;box-shadow:inset 0 0 0 2px #ead4a1,inset 0 5px 15px #f5e0ab33,inset 0 -9px 15px #39281d38,0 5px 0 #6b4d2d,0 12px 20px #3525152b;background-size:cover}.workbench-cargo{background-image:linear-gradient(125deg,#f7d59b18,#66442418),url('art/material-oak-v4.webp')}.workbench-mechanical{background-image:linear-gradient(135deg,#234e4fe8,#123736e8),url('art/material-canvas-v4.webp')}.workbench-optics{background-image:radial-gradient(ellipse at 35% 20%,#2d6775db,#162c43f0),url('art/material-canvas-v4.webp')}.workbench-navigation{background-image:linear-gradient(135deg,#fff4d7ed,#e8d29bd9),url('art/material-canvas-v4.webp')}.workbench-rigging{background-image:linear-gradient(135deg,#48311b44,#412e1d55),url('art/material-oak-v4.webp')}.workbench:before{background:linear-gradient(125deg,#fff0bd20,transparent 40%,#182d2912)}.bench-corners{inset:8px;border:1px solid #d0b37566}.bench-corners:before,.bench-corners:after{width:8px;height:8px;box-shadow:0 2px 2px #32241966}.mechanics-board>.mechanic-illustration{filter:drop-shadow(2px 4px 3px #2d241d25)}
.mechanic-range>span{background:#f4e5bdbf;color:#4e412a;border:1px solid #ac8c54;border-radius:8px;padding:5px 9px;box-shadow:0 2px 3px #2e251d2b;font-size:12px}.mechanic-range input{appearance:none;-webkit-appearance:none;background:transparent;margin:2px 0 0;min-height:48px;outline-offset:3px}.mechanic-range input::-webkit-slider-runnable-track{height:15px;border:3px solid #9b7841;border-radius:10px;background:linear-gradient(#293f3a,#4c5b45);box-shadow:inset 0 3px 5px #1c241ecc,0 1px #efcf8b}.mechanic-range input::-moz-range-track{height:10px;border:3px solid #9b7841;border-radius:10px;background:linear-gradient(#293f3a,#4c5b45);box-shadow:inset 0 3px 5px #1c241ecc,0 1px #efcf8b}.mechanic-range input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;height:42px;width:42px;margin-top:-16px;border:0;border-radius:50%;background:url('art/props-workshop-v4.webp') 66.666667% 0/400% 200% no-repeat;filter:drop-shadow(1px 3px 2px #211b1688);cursor:grab}.mechanic-range input::-moz-range-thumb{height:40px;width:40px;border:0;border-radius:50%;background:url('art/props-workshop-v4.webp') 66.666667% 0/400% 200% no-repeat;filter:drop-shadow(1px 3px 2px #211b1688);cursor:grab}
.gear-transmission{padding:13px 5px;background:linear-gradient(145deg,#91a79822,#19393277);border:2px solid #a68e57;border-radius:16px;box-shadow:inset 0 0 0 2px #33544e,inset 0 6px 9px #102a2d66,0 3px 4px #102b2a55}.gear-socket{background:transparent;box-shadow:none;border:0;padding:8px 4px}.gear-socket strong,.gear-socket small,.gear-input small{background:#e9d6a7;color:#4f482c;border:1px solid #b99b65;border-radius:5px;padding:2px 5px;box-shadow:0 1px 3px #122c2b66;position:relative;z-index:1}.gear-socket strong{margin-top:6px}.gear-socket small{margin-top:4px}.empty-socket{background:radial-gradient(circle,#1e3634 0 27%,#527269 29% 39%,#1b302d 40% 49%,#b0af7c 51% 58%,#596951 60%);border:4px solid #b5a370;box-shadow:inset 0 6px 9px #0b282d88,0 2px 0 #d6c48a}.gear-option{background:linear-gradient(#d6b16b1a,#e9d39f33);border:0;border-bottom:3px solid #6d794f;box-shadow:0 4px 6px #142e2e55}.gear-option span{display:block;background:#f4e2b2;border:1px solid #b49a62;padding:2px 9px;border-radius:5px;color:#5c4c2f;font-size:12px}.gear-tray{padding:10px;background:#173c3a44;border-radius:14px;margin-top:12px}.star-chart-window{max-width:100%;overflow:auto;border-radius:15px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a8894d #284957}.star-chart{min-width:280px;aspect-ratio:505/425;border-width:3px;border-radius:12px}.star-chart>svg{height:auto;aspect-ratio:505/425;max-height:none}.fragment-option,.fragment-slot{background:transparent;border:0;box-shadow:none}.fragment-option.selected{outline:2px solid #338c83;outline-offset:2px;box-shadow:0 3px 8px #4a352144}.fragment-tray{padding:12px 7px 9px;background:linear-gradient(#6b563b33,#b59a6955);border-radius:16px;border:1px solid #8f744933;box-shadow:inset 0 2px 7px #4c3b2233}.fragment-tray>div>button:last-child{background:linear-gradient(#f1dc9f,#d2b477);border-color:#94713d}.fragment-board{background-image:linear-gradient(#413f2c44,#413f2c44),url('art/material-oak-v4.webp');padding:10px;gap:0;border-color:#99773e}.fragment-slot{background:#776d4b33;box-shadow:inset 0 2px 8px #3b362044;outline:1px dashed #f1d49a66}.fragment-slot svg{filter:drop-shadow(2px 3px 2px #4a372455)}
@media(max-width:540px){.star-chart-window{padding-bottom:5px}.gear-transmission{padding:10px 2px}.gear-socket{min-width:53px}.gear-tray{padding:7px}.workbench{border-width:3px}.fragment-tray{padding:9px 4px}}
.lifeboat-painted{display:block;width:100%;height:100%;position:absolute;inset:0;filter:drop-shadow(2px 7px 3px #2c251c44)}.boat-cargo-slot{background:linear-gradient(135deg,#e2c88d22,#4b382622);border:1px solid #ab8c5366;box-shadow:inset 0 2px 5px #3a2c1e44,0 1px #f2d49a66;border-radius:8px}.boat-cargo-slot:hover{background:#e3d7a94d}.boat-cargo-grid{inset:94px 39px 45px;gap:6px}.boat-marker{display:block;width:38px;height:38px;filter:drop-shadow(1px 2px 1px #28474a66)}.water-cell,.chart-cell{isolation:isolate}.cargo-tray{background:#352d1e26;border-radius:16px;padding:8px;box-shadow:inset 0 2px 6px #3a2b1b33}.cargo-choice{background:transparent;border:1px solid #d2bc8744;box-shadow:none}.cargo-choice.selected{background:#ede4b94d}.cargo-choice span:last-child{background:#f2dfad;border:1px solid #b5945a;border-radius:6px;padding:4px 5px;color:#4c432b}
.mechanic-stepper .mech-button,.compass-controls .mech-button{border-radius:12px;background-image:linear-gradient(135deg,#fff1c077,#9f753c22),url('art/material-brass-v4.webp');background-size:cover;color:#4c4e35;border:2px solid #9c7940;box-shadow:inset 0 2px 2px #fff0ba99,inset -2px -3px 3px #76522b66,0 3px 0 #725a32,1px 4px 5px #1e2e2b55}.mechanic-stepper>div{background:#1f3f3938;border-radius:13px;padding:3px;box-shadow:inset 0 1px 4px #17292133}.filter-particle.wood{background:linear-gradient(#d7b37f33,#56412e33),url('art/material-oak-v4.webp') center/cover;filter:drop-shadow(1px 3px 2px #3d342544)}.filter-particle.metal{background:linear-gradient(130deg,#f5e9bc88,#8e784a22),url('art/material-brass-v4.webp') center/cover;filter:drop-shadow(1px 3px 2px #263b3744)}.filter-particle.stone{background:conic-gradient(from 25deg,#98a8a1,#bec9b5,#668685,#a6b9ab,#6d7e76,#d0d4b8,#98a8a1);filter:drop-shadow(1px 3px 2px #1e373644)}.particle-choice{background:#d9e6cc13;border:1px solid #8aa18a55;box-shadow:inset 0 1px 2px #d7e4b52b,0 3px 6px #102f2a44}.particle-choice strong,.particle-choice small{color:#e4e1ba}.particle-choice.selected{border-color:#dfc286}.sieve-outlet{background-image:linear-gradient(#6f8c7a66,#1d403cee),url('art/material-brass-v4.webp');border-color:#b4a06a;box-shadow:inset 0 2px 3px #e1d4a177,0 5px 7px #0b2b2a66;color:#f2e2b9}.sieve-mesh{border-color:#a58e58;box-shadow:inset 0 4px 5px #243c3977,0 1px #ddd0a1}.sorted-particles i{box-shadow:inset 1px 1px 2px #fff9,0 2px 3px #152f2e77}.letter-grille{background:linear-gradient(#16363566,#13292788),url('art/material-oak-v4.webp');border-color:#a58e55;box-shadow:inset 0 3px 9px #172d2b77,0 4px 7px #48392055}.grille-letter{background-image:linear-gradient(#36524caa,#162e2ccc),url('art/material-oak-v4.webp');color:#b4c6a4;text-shadow:0 1px 1px #102321}.grille-letter.revealed{background-image:linear-gradient(#fff4d6e8,#e8d3a2e8),url('art/material-canvas-v4.webp');text-shadow:0 1px #fff9;color:#69542f}.switchboard-cell{background-image:linear-gradient(#233f3b77,#233f3b77),url('art/material-brass-v4.webp');border-color:#c6ae71;box-shadow:inset 0 2px #e4d29a88,0 4px 5px #142b2a77}.toggle-lever{background:linear-gradient(90deg,#72847a,#e7e4bf 30%,#84958b 65%,#4b675e);box-shadow:1px 3px 3px #152a2277}.plank-cell{background-image:url('art/material-oak-v4.webp');box-shadow:inset 0 0 0 1px #d6b577,0 3px 4px #4a341e77}.blocked-plank{background:#3a4032;box-shadow:inset 0 4px 6px #15271f77;color:#8da992}.material-wood{background:url('art/material-oak-v4.webp') center/cover}.material-metal{background:linear-gradient(#c8d9bd99,#83967b88),url('art/material-brass-v4.webp') center/cover}.echo-surface{border-width:3px;box-shadow:inset 0 2px #e8d5a488,0 5px 0 #755830,1px 7px 9px #2c241a77}.echo-pad b{background:#f0deb3;border:1px solid #b59a62;padding:3px 7px;border-radius:6px;font-size:12px}.covered-memory{background-image:linear-gradient(#f9efd2b3,#e8d3a3a3),url('art/material-canvas-v4.webp');box-shadow:inset 0 3px 5px #7d694133}.timeline-track{background-image:linear-gradient(#8d7c5666,#645b4166),url('art/material-oak-v4.webp');box-shadow:inset 0 3px 4px #4e442d77;border:1px solid #9e8f61}.timeline-track i{background-image:linear-gradient(#7dbeb699,#386c6a99),url('art/material-brass-v4.webp');border-color:#cfdfae;box-shadow:inset 0 1px #e4f0c3}.chart-grid{background:#ad9e6c;background-image:url('art/material-canvas-v4.webp');border-color:#a68a55;box-shadow:inset 0 0 7px #6e633c66,0 2px 5px #79643b44}.chart-cell{background-image:linear-gradient(#e3e7c9e8,#c8d8b2df),url('art/material-canvas-v4.webp');color:#63867e;box-shadow:inset 0 0 0 .5px #c5be8a;font-family:Georgia,serif}.chart-cell.sailed,.water-cell.sailed{background-image:linear-gradient(#8fcbbbdd,#81b9b2dd),url('art/material-canvas-v4.webp')}.chart-cell.reef,.water-cell.reef{background-image:radial-gradient(ellipse,#7a9588 45%,#bac8a5 48%,#d8d6b3 55%,#a2c0b0 70%)}.water-cell{background-image:linear-gradient(120deg,#b6e1d4bb,#66b1b9dd),url('art/material-canvas-v4.webp')}.nonogram{background-image:url('art/material-canvas-v4.webp');border-color:#b79961;box-shadow:0 4px 5px #5b4c3233}.nonogram-cell{background-image:linear-gradient(#fff6deeb,#eadeb6ee),url('art/material-canvas-v4.webp');color:#735b32}.nonogram-cell.inked{background-image:radial-gradient(ellipse,#2c7073,#3c7775 65%,#558c7b);color:#abcbb4}.code-peg{border-width:2px;box-shadow:inset 0 1px 3px #ffffcc99,inset -3px -4px 5px #342d2755,1px 4px 5px #35291d88}.peg-control{background-image:linear-gradient(#d1b16e44,#9d814b44),url('art/material-oak-v4.webp');border:2px solid #e0c38b;box-shadow:inset 0 0 5px #70552f66,0 3px 6px #362c2077}.mastermind-history>div{background-image:linear-gradient(#f5e4bcdb,#e4cea0dd),url('art/material-canvas-v4.webp')}
.nautical-prop>svg{display:block;width:100%;height:100%;overflow:hidden;pointer-events:none}.signal-sailor{overflow:visible}.costume-region-badge .costume-drawing{overflow:visible}
.star-chart{aspect-ratio:auto}.star-marker{display:block;width:40px;height:40px;margin:2px;filter:drop-shadow(0 0 4px #ffe9a36b)}.star-button.selected .star-marker{filter:drop-shadow(0 0 4px #7df1de)}.reef-marker,.finish-marker{display:block;flex:none;width:33px;height:33px}.stitch-node.finish .finish-marker{width:30px;height:30px;margin:auto}.costume-drawing{overflow:hidden}
.landmark-marker{display:block;width:34px;height:34px}.landmark-symbol{position:absolute;inset:2px;display:grid;place-items:center;margin:0;pointer-events:none}.landmark-symbol+*{position:relative}.painted-compass-arrow{display:block;width:28px;height:28px;flex:none}.course-log span{display:flex;align-items:center;gap:4px}.course-log .painted-compass-arrow{width:21px;height:21px}.current-arrow>.painted-compass-arrow{width:30px;height:30px}.counter-turn{display:inline-flex;transform:scaleX(-1)}.flag-arm-controls .icon{width:22px;height:22px}.dam-direction>.icon{display:block;width:26px;height:26px}.linkage-options small>.icon{width:14px;height:14px;vertical-align:middle}.workbench-mechanical .mechanic-stepper>span,.workbench-optics .mechanic-stepper>span{background:#f2e3b7;color:#51452b;box-shadow:inset 0 0 0 1px #b99d66,0 1px 3px #142f2b55;border-radius:7px;padding:2px;font-size:11px;line-height:1.4}
.jug-button:nth-child(2) .jug-illustration,.jug-button:nth-child(3) .jug-illustration{transform:none}.painted-jug-wrap{display:flex;flex-direction:column;align-items:center;width:100%;gap:2px}.painted-jug-wrap>.jug-illustration{width:100%;height:auto;max-height:220px;filter:drop-shadow(1px 3px 2px #49331f22)}.jug-native-readout{display:inline-flex;align-items:baseline;justify-content:center;gap:4px;min-width:65px;min-height:29px;padding:4px 6px;background:linear-gradient(#f0db9bc9,#d1b673db),url('art/material-brass-v4.webp') center/cover;border:1px solid #98733c;border-radius:9px;color:#3f5b52;box-shadow:inset 0 1px #fff0b9,0 2px 3px #45331b44;white-space:nowrap}.jug-native-readout i{font-style:normal;font-size:10px;color:#78613d;margin-right:2px}.jug-native-readout b{font-size:19px;line-height:1}.jug-native-readout small{font-size:11px;color:#6b6240}.jug-rack{align-items:end}.jugs-board .mechanic-selection-note{color:#53432b;background:#f7e7bcc7;border:1px solid #c4a76c;border-radius:8px;padding:6px;margin:10px auto 0;max-width:310px}
.nautical-crop,.physical-prop,.nautical-prop{pointer-events:none}.nautical-crop{overflow:hidden!important}.constellation-reference>.mech-button{width:44px;min-width:44px;min-height:44px;padding:9px;border:2px solid #a38145;background:linear-gradient(#f4d994,#d1b16a);box-shadow:inset 0 1px #fff2c1,0 3px 0 #765a33;color:#425b52}.constellation-reference>.mech-button>.icon{width:22px;height:22px;display:block;border:0;border-radius:0;background:none;box-shadow:none;aspect-ratio:auto}.linkage-options>div>small{min-width:44px;background:#f2e0b5;color:#4f472c;border:1px solid #b49458;border-radius:7px;padding:4px 6px;font-size:11px;line-height:1.2;box-shadow:0 2px 3px #15322d55;text-align:center}
.move-controls .button,.plate-controls .button{min-height:44px;min-width:44px}.rig-node{min-width:44px;min-height:44px}.weave-crossing{background-image:linear-gradient(#5f4a2833,#4c382633),url('art/material-oak-v4.webp');border:2px solid #b99a62;box-shadow:inset 0 1px #e7cea066,0 3px 6px #35291c77}.weave-anchor>span{background:#f0dfb5;color:#635031;border:1px solid #b19760;border-radius:7px;padding:4px 8px;font-size:12px}
.nonogram-scroll-window{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:4px 0 8px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a0874d #e2d2a5}.nonogram-scroll-window:focus-visible{outline:2px solid #2b8b86;outline-offset:2px;border-radius:8px}.nonogram-scroll-window>.nonogram{min-width:276px}

/* Revision 5: the four valve targets stay on their model edges; captions use a keyed legend. */
.dam-node-labels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.dam-node-labels>span{display:flex;align-items:center;gap:7px;padding:6px;background:#ead3a1;border:1px solid #ac8c51;border-radius:9px;color:#4b432b;font-size:11px;line-height:1.2}.dam-node-labels b{display:grid;place-items:center;flex:none;width:24px;height:24px;border:2px solid #a78545;border-radius:50%;background:#f5dfa6;font-size:14px}.dam-node-labels small{display:block;margin-top:3px;font-weight:800}.dam-node-labels .wet small{color:#126c85}.dam-node-labels .dry small{color:#586a39}.dam-map-clear .dam-gate{width:44px;height:44px;padding:6px}.dam-map-clear .dam-gate:not(.open){box-shadow:inset 0 0 0 3px #4c3928,0 3px 6px #0004}.weave-crossing>strong{display:block;color:#59452c;font-size:15px}.weave-crossing>small{display:block;font-size:10px;line-height:1.2;color:#4c442d;min-height:24px}.plank-cell small{font-size:14px;margin-left:4px}

/* Release audit: physical gear pitch, visible rope links and a contained empty ferry trip. */
.gear-transmission-scaled{display:block;padding:7px 4px}
.gear-transmission-scaled .gear-train{display:block;width:100%;height:auto;max-height:none;aspect-ratio:352/210;overflow:visible}
.gear-socket-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 8px 5px}
.gear-socket-controls .gear-socket{min-width:44px;min-height:52px;justify-content:center;padding:3px;background:#e7cd8f20;border:1px solid #c3a36c;border-radius:9px;cursor:pointer}
.gear-socket-controls .gear-socket strong{margin-top:0;font-size:14px}
.gear-socket-controls .gear-socket small{margin-top:2px;font-size:11px}
[data-puzzle="lift-rope"] .rigging-board>svg>line{stroke:#65441e;stroke-width:1.2;stroke-dasharray:1.8 1.2;opacity:1}
.ferry-shaft .ferry-empty-trip{flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;min-width:44px;min-height:64px;padding:6px 2px;font-size:12px;line-height:1.15;white-space:normal;text-align:center}
.ferry-empty-trip>span{display:block;max-width:100%;overflow-wrap:anywhere}
.ferry-empty-trip>svg{flex:none;width:20px;height:20px}

[data-puzzle="lift-rope"] .rig-node-letter{position:absolute;left:-5px;top:-5px;display:grid;place-items:center;width:18px;height:18px;border:1px solid #7f612b;border-radius:4px;background:#ffedb8;color:#463619;font:800 11px/1 sans-serif;box-shadow:0 1px 2px #47331755}
[data-puzzle="lift-rope"] .rig-node-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px;margin-top:15px;padding:9px 8px;border:1px solid #a38348;border-radius:9px;background:#fff0cddd;color:#4c3c20;font-size:11px;line-height:1.25}
[data-puzzle="lift-rope"] .rig-node-legend>span{display:flex;align-items:center;gap:5px;min-width:0;overflow-wrap:anywhere}
[data-puzzle="lift-rope"] .rig-node-legend strong{display:grid;place-items:center;flex:0 0 18px;height:18px;border:1px solid #7f612b;border-radius:4px;background:#ffedb8;font-size:11px}
