:root{--bg:#0b1016;--bg-soft:#121a23;--panel:#ffffff0d;--panel-border:#ffffff14;--text:#eef5fb;--muted:#eef5fbad;--accent:#a6d3ff;--line:#fff;--line-glow:#ffffff38;--can-dark:#5a616b;--can-mid:#8c95a1;--can-light:#d7dce3;--success:#d7f0ff;--fridge-line:#ffffff80;--fridge-shelf:#fff;--can-red-top:#cf3340;--can-red-bottom:#8f1623;--can-green-top:#30a66b;--can-green-bottom:#187549;--mark-stroke:18px}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--text);background:radial-gradient(circle at top, #a6d3ff1a, transparent 28%), linear-gradient(180deg, #182430 0%, var(--bg) 100%);font-family:Segoe UI,Arial,sans-serif}.dev-skip-button{z-index:1100;color:#ffe59b;cursor:pointer;background:#161d26e6;border:1px solid #ffd6665c;border-radius:999px;padding:10px 14px;font-size:.9rem;font-weight:700;transition:transform .16s,background .16s,border-color .16s;position:fixed;top:18px;right:18px;box-shadow:0 10px 24px #0000003d}.dev-skip-button:hover,.dev-skip-button:focus-visible{background:#1e2732f5;border-color:#ffd6668f;outline:none;transform:translateY(-1px)}.intro-overlay{z-index:1000;cursor:pointer;background:radial-gradient(circle,#232d3a47,#0000 48%),#090d12;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.intro-overlay.hidden{display:none}.intro-chat-overlay{z-index:999;background:radial-gradient(circle at top,#f3df5c24,#0000 24%),linear-gradient(#070b0f,#070b0f);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.intro-chat-overlay.hidden{display:none}.story-overlay{z-index:998;background:radial-gradient(circle at 0 0,#7ea2c224,#0000 28%),linear-gradient(#06090ef5,#05080cfa);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.story-overlay.hidden{display:none}.puzzle2-overlay{z-index:997;background:radial-gradient(circle at top,#83b7ff1f,#0000 24%),linear-gradient(#06090ef7,#05080cfc);place-items:start center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.puzzle2-overlay.hidden{display:none}.puzzle3-overlay{z-index:996;background:radial-gradient(circle at top,#c1d7eb2e,#0000 24%),linear-gradient(#080b10f7,#06080cfc);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.puzzle3-overlay.hidden{display:none}.puzzle2-shell{background:linear-gradient(#ffffff0a,#ffffff05);border:1px solid #ffffff14;border-radius:30px;width:min(100%,1180px);min-height:min(74vh,700px);max-height:none;padding:20px;overflow:visible;box-shadow:0 36px 72px #0000006b}.puzzle3-shell{background:linear-gradient(#ffffff0f,#ffffff08),linear-gradient(#121922,#090d12);border:1px solid #d0e1f01f;border-radius:32px;width:min(100%,880px);padding:20px;box-shadow:0 36px 72px #0000006b}.puzzle3-head{text-align:center;margin-bottom:14px}.puzzle3-title{white-space:nowrap;margin:0;font-size:clamp(1.35rem,2.4vw,2.2rem)}.puzzle3-copy{max-width:620px;margin-inline:auto}.puzzle3-clue-frame{border:1px solid #d2e2f024;border-radius:20px;width:min(100%,420px);height:188px;margin:10px auto 0;overflow:hidden;box-shadow:0 18px 32px #00000047}.puzzle3-clue-image{object-fit:cover;object-position:center;transform-origin:50%;width:100%;height:100%;display:block;transform:scale(1.18)}.puzzle3-stage{place-items:center;display:grid}.doorlock-device{width:min(100%,460px)}.doorlock-panel{background:linear-gradient(#ffffff24,#0000 18%),linear-gradient(#4d5964 0%,#232b33 16%,#121920 100%);border:1px solid #ffffff1f;border-radius:34px;padding:18px 18px 16px;position:relative;box-shadow:inset 0 1px #fff3,inset 0 -18px 28px #00000038,0 28px 44px #00000057}.doorlock-camera{background:#06090dd1;border-radius:999px;width:70px;height:10px;margin:0 auto 8px;box-shadow:inset 0 1px #ffffff14}.doorlock-brand{text-align:center;color:#e4eef6b8;letter-spacing:.22em;text-transform:uppercase;margin-bottom:10px;font-size:.72rem;font-weight:700}.doorlock-screen{background:radial-gradient(circle at top,#75d3ff29,#0000 30%),linear-gradient(#0d151d,#071018);border:1px solid #8dcded2e;border-radius:22px;margin-bottom:12px;padding:14px 14px 12px;box-shadow:inset 0 0 18px #3f769233}.doorlock-code{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-bottom:10px;display:grid}.doorlock-slot{color:#e6f8ffbd;letter-spacing:.08em;background:#bfe8ff14;border:1px solid #8dcded2e;border-radius:14px;place-items:center;min-height:42px;font-size:1.05rem;font-weight:700;display:grid}.doorlock-slot.is-filled{color:#eef9ff;background:#75d3ff29;border-color:#8dcded4d}.doorlock-hint,.doorlock-feedback{text-align:center;margin:0}.doorlock-hint{color:#dff1fac2;font-size:.82rem}.doorlock-keypad{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.doorlock-key,.doorlock-submit{cursor:pointer;border:1px solid #ffffff1f;transition:transform .16s,background .16s,border-color .16s}.doorlock-key{color:#172028;background:linear-gradient(#f5f8fcf5,#8d9aa5d6);border-radius:18px;min-height:56px;font-size:1rem;font-weight:700;box-shadow:inset 0 1px #ffffff85,inset 0 -8px 12px #0000001f,0 12px 18px #0000002e}.doorlock-key.is-action{color:#365067;font-size:.82rem}.doorlock-key:hover,.doorlock-key:focus-visible,.doorlock-submit:hover,.doorlock-submit:focus-visible{outline:none;transform:translateY(-1px)}.doorlock-submit{color:#081117;letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(#7bd6ffeb,#2783b1e6);border-radius:18px;width:100%;min-height:48px;margin-top:10px;font-size:.92rem;font-weight:800;box-shadow:0 14px 22px #0a233247}.doorlock-submit:disabled{cursor:not-allowed;opacity:.52;transform:none}.doorlock-feedback{color:#e8f4fcd1;min-height:24px;margin-top:10px;font-size:.88rem;line-height:1.45}.outro-overlay{z-index:1002;color:#111;opacity:0;background:#fff;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.outro-overlay.hidden{display:none}.outro-overlay.is-visible{animation:1.4s forwards outro-fade-in}.outro-stage{width:min(100%,980px);height:100vh;position:relative;overflow:hidden}.outro-scroll{text-align:center;opacity:0;width:min(100%,680px);animation:22s linear 1.1s forwards outro-roll;position:absolute;bottom:-55%;left:50%;transform:translate(-50%)}.outro-kicker{letter-spacing:.28em;text-transform:uppercase;color:#1111118c;margin:0 0 14px;font-size:.9rem}.outro-title{margin:0 0 22px;font-size:clamp(2rem,4vw,3.8rem);font-weight:700}.outro-line{margin:0 0 22px;font-size:clamp(1rem,2vw,1.45rem);line-height:1.8}.outro-line-small{color:#111111bd;margin-bottom:18px;font-size:clamp(.8rem,1.4vw,1rem);line-height:1.34}.outro-restart-button{color:#111;cursor:pointer;background:#ffffffe0;border:1px solid #11111129;border-radius:999px;margin-top:18px;padding:12px 20px;font-size:.9rem;font-weight:700;transition:transform .16s,border-color .16s,background .16s;box-shadow:0 10px 24px #00000014}.outro-restart-button:hover,.outro-restart-button:focus-visible{background:#fff;border-color:#11111147;outline:none;transform:translateY(-1px)}@keyframes outro-roll{0%{opacity:0;transform:translate(-50%)translateY(0)}6%{opacity:1;transform:translate(-50%)translateY(-10%)}to{opacity:1;transform:translate(-50%)translateY(-180%)}}@keyframes outro-fade-in{0%{opacity:0}to{opacity:1}}.puzzle2-head{margin-bottom:12px}.puzzle2-title{margin:0;font-size:clamp(1.6rem,3vw,2.4rem)}.puzzle2-copy{max-width:760px}.puzzle2-nav{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.puzzle2-tab{color:var(--text);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;padding:10px 16px}.puzzle2-tab.is-active{background:#a6d3ff29;border-color:#a6d3ff6b}.puzzle2-stack{min-height:min(54vh,500px)}.puzzle2-panel{display:none}.puzzle2-panel.is-active{display:block}#puzzle2-workshop.puzzle2-panel.is-active{overflow:visible}.puzzle2-poster-frame{scrollbar-gutter:stable;background:#070c12b8;border:1px solid #ffffff14;border-radius:26px;height:min(74vh,760px);padding:18px;overflow:auto}.puzzle2-poster-image{background:linear-gradient(#0d141c,#0a0f15);border-radius:18px;width:100%;height:auto;display:block}.puzzle2-poster-frame::-webkit-scrollbar{width:12px}.puzzle2-poster-frame::-webkit-scrollbar-track{background:#ffffff0a;border-radius:999px}.puzzle2-poster-frame::-webkit-scrollbar-thumb{background:#a6d3ff47;border-radius:999px}.puzzle2-poster-frame::-webkit-scrollbar-thumb:hover{background:#a6d3ff6b}.workshop-layout{grid-template-columns:minmax(320px,1.08fr) minmax(300px,.92fr);align-items:start;gap:12px;display:grid}.computer-panel,.printer-panel{border-radius:26px;padding:12px}.computer-panel{background:linear-gradient(#e6edf4,#cfd9e4);border:1px solid #ffffffb8;align-self:start;box-shadow:inset 0 1px #fffc}.printer-panel{background:radial-gradient(circle at top,#5e7ca01f,#0000 26%),linear-gradient(#131a22,#090d12);border:1px solid #aecdeb1f;position:relative;overflow:visible}.printer-window-chrome{background:linear-gradient(#ffffff0f,#ffffff05),linear-gradient(#1a232d,#111821);border-bottom:1px solid #b5d0e81a;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:0 0 8px;padding:7px 9px;display:grid}.printer-window-controls{gap:6px;display:flex}.printer-window-controls span{background:#d6e4f233;border-radius:999px;width:10px;height:10px}.printer-window-controls span:first-child{background:#f7776b}.printer-window-controls span:nth-child(2){background:#f2c14e}.printer-window-controls span:nth-child(3){background:#69d38c}.printer-window-title{color:#edf6fd;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:700}.printer-window-tools{justify-content:flex-end;gap:8px;display:flex}.printer-window-tool{color:#ecf5fcbd;letter-spacing:.08em;text-transform:uppercase;background:#c6dcf314;border-radius:999px;align-items:center;padding:3px 6px;font-size:.58rem;display:inline-flex}.computer-bezel{background:linear-gradient(#f8fbfe,#e2ebf3);border-radius:22px;height:auto;min-height:min(44vh,400px);padding:10px;box-shadow:inset 0 1px #ffffffe6,0 12px 24px #5067801f}.computer-topbar{align-items:center;gap:10px;margin-bottom:10px;display:flex}.computer-pill{background:#f6d45c;border-radius:999px;width:12px;height:12px;box-shadow:20px 0 #f28b65,40px 0 #71d58e}.computer-folder-title{color:#39506a;letter-spacing:.08em;text-transform:uppercase;margin-left:48px;font-size:.8rem;font-weight:700}.computer-folder-shell{background:linear-gradient(#fffdfa,#f6efe4);border:1px solid #b8a27a52;border-radius:18px;flex-direction:column;height:auto;min-height:fit-content;padding:10px;display:flex;box-shadow:inset 0 1px #ffffffeb}.computer-folder-pathbar{background:linear-gradient(#fbf2d8,#f3dfa8);border:1px solid #b99a455c;border-radius:14px;margin-bottom:8px;padding:8px 10px}.computer-folder-path,.computer-folder-hint{margin:0}.computer-folder-path{color:#5c4b22;flex-wrap:wrap;gap:8px;font-size:.9rem;font-weight:700;display:flex}.computer-folder-hint{color:#6e5315bd;letter-spacing:.04em;margin-top:6px;font-size:.8rem}.puzzle2-workshop-status{background:#fff5d5d1;border:1px solid #c7ab643d;border-radius:16px;margin-bottom:8px;padding:8px 10px}.puzzle2-workshop-tip,.puzzle2-workshop-progress{margin:0;line-height:1.5}.puzzle2-workshop-tip{color:#5f4c1c}.puzzle2-workshop-progress{color:#5f4c1cb8;margin-top:6px;font-size:.92rem}.blueprint-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.blueprint-card{color:#4d3c12;text-align:center;cursor:grab;appearance:none;background:linear-gradient(#ffe8a8b8,#0000 42%),linear-gradient(#fff2bf,#f1d97f);border:1px solid #c29d4b42;border-radius:16px;min-height:120px;padding:10px 8px 8px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;position:relative;overflow:hidden}.blueprint-card:active{cursor:grabbing}.blueprint-card:hover,.blueprint-card:focus-visible{border-color:#c29d4b7a;outline:none;transform:translateY(-2px);box-shadow:0 14px 24px #6249112e}.blueprint-card.is-selected{background:linear-gradient(#fff6cdd1,#0000 36%),linear-gradient(#ffe6a1,#efcb58);border-color:#9566148a;box-shadow:0 0 0 1px #95661429}.blueprint-card.is-placed{border-color:#5c984c75}.blueprint-icon{background:linear-gradient(#f0f6fb,#d8e5ef);border-radius:12px;width:62px;height:74px;margin:0 auto 12px;display:block;position:relative;box-shadow:inset 0 -10px 18px #445c721f,0 8px 18px #020a123d}.blueprint-icon-fold{clip-path:polygon(0 0,100% 0,100% 100%);background:linear-gradient(135deg,#f8fcff 0%,#dce9f4 100%);border-top-right-radius:12px;width:20px;height:20px;display:block;position:absolute;top:0;right:0}.blueprint-icon-grid{background:linear-gradient(#39618147,#39618147) 0 33%/100% 1px no-repeat,linear-gradient(#39618147,#39618147) 0 66%/100% 1px no-repeat,linear-gradient(90deg,#39618147,#39618147) 33% 0/1px 100% no-repeat,linear-gradient(90deg,#39618147,#39618147) 66% 0/1px 100% no-repeat,#7babd02e;border-radius:6px;width:34px;height:22px;position:absolute;top:18px;left:14px}.blueprint-icon-ext{color:#dcecff;letter-spacing:.08em;text-transform:uppercase;background:#173652e0;border-radius:999px;padding:3px 7px;font-size:.64rem;font-weight:700;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.blueprint-file{color:#5a4413;letter-spacing:.01em;overflow-wrap:anywhere;word-break:break-word;max-width:100%;margin-bottom:0;font-size:.68rem;font-weight:700;line-height:1.22;display:block}.blueprint-slot-badge{color:#c9f3d4;letter-spacing:.04em;text-transform:uppercase;background:#71d58e24;border-radius:999px;padding:4px 8px;font-size:.76rem;font-weight:700;display:inline-flex;position:absolute;top:10px;left:10px}.printer-header{background:linear-gradient(#ffffff05,#0000);border-bottom:1px solid #aecdeb14;flex-direction:column;justify-content:space-between;align-items:stretch;gap:8px;margin-bottom:8px;padding:6px 6px 0;display:flex}.printer-header-panel{background:#c6dcf30d;border:1px solid #c6dcf314;border-radius:14px;flex-wrap:wrap;gap:8px;padding:6px 8px 8px;display:flex}.printer-header-stat{color:#ecf5fcd1;letter-spacing:.06em;text-transform:uppercase;background:#ffffff0a;border-radius:999px;align-items:center;padding:5px 8px;font-size:.62rem;display:inline-flex}.printer-title{margin:0;font-size:.96rem}.printer-reset{color:#ecf5fc;cursor:pointer;background:#c6dcf30f;border:1px solid #c6dcf329;border-radius:999px;align-self:flex-end;padding:5px 9px}.printer-runtime{flex-wrap:wrap;gap:8px;display:flex}.printer-runtime-pill{color:#ebf4fcdb;letter-spacing:.05em;text-transform:uppercase;background:#a0c4e414;border:1px solid #a0c4e41f;border-radius:999px;align-items:center;padding:4px 8px;font-size:.62rem;display:inline-flex}.printer-runtime-pill.is-online{color:#cbf6d6;background:#71d58e1f;border-color:#71d58e47}.printer-slots{gap:8px;margin-bottom:8px;display:grid}.printer-slot{color:#f5faffd6;cursor:pointer;text-align:left;background:linear-gradient(#ffffff09,#0000 42%),linear-gradient(#161f29,#0d1319);border:1px solid #b5d0e829;border-radius:18px;min-height:82px;padding:9px 9px 7px;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;position:relative;overflow:visible;box-shadow:inset 0 1px #ffffff0a}.printer-slot:before{content:"";background:#a6d3ff47;border-radius:999px;width:4px;position:absolute;top:12px;bottom:12px;left:12px}.printer-slot:hover,.printer-slot:focus-visible{border-color:#a6d3ff42;outline:none;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff0d,0 14px 24px #01080f42}.printer-slot.is-filled{color:var(--text);background:linear-gradient(#6abeff24,#0000 44%),linear-gradient(#172736,#0d1822)}.printer-slot.is-ready{background:linear-gradient(#ffe5941f,#0000 44%),linear-gradient(#221d13,#16120d);border-color:#ffe59480}.slot-order{color:#e0edf894;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;padding-left:12px;font-size:.6rem;display:block}.slot-file{color:#f5fbff;white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-width:100%;padding-left:12px;font-size:.76rem;font-weight:700;line-height:1.22;display:block}.slot-meta{flex-wrap:wrap;gap:8px;margin-top:4px;padding-left:12px;display:flex}.slot-chip{color:#ecf5fce0;letter-spacing:.06em;text-transform:uppercase;background:#a0c4e41a;border:1px solid #a0c4e424;border-radius:999px;align-items:center;padding:2px 6px;font-size:.54rem;font-weight:700;display:inline-flex}.slot-chip-status{color:#cbf6d6;background:#71d58e1f;border-color:#71d58e42}.printer-output-panel{background:linear-gradient(#ffffff08,#0000 36%),#080c11db;border:1px solid #b5d0e81a;border-radius:22px;min-height:196px;padding:12px}.printer-output-panel.is-program-panel{grid-template-rows:auto minmax(118px,auto) auto;row-gap:8px;display:grid}.printer-output-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.printer-output-label,.printer-output-grid{color:#ebf4fcbd;letter-spacing:.12em;text-transform:uppercase;font-size:.74rem}.printer-output-stage{background:linear-gradient(#719ec214,#719ec214) 50% 0/1px 100% no-repeat,linear-gradient(90deg,#719ec214,#719ec214) 0/100% 1px no-repeat,radial-gradient(circle at top,#ffffff14,#0000 28%),linear-gradient(#121b24,#0b1118);border-radius:18px;place-items:center;min-height:118px;display:grid;box-shadow:inset 0 0 0 1px #a0c4e414}.printer-feedback-shell{background:#ffffff08;border:1px solid #b5d0e814;border-radius:14px;min-height:50px;padding:8px 10px}.printer-art{position:relative}.printer-art.key{width:152px;height:62px}.printer-art.key:before,.printer-art.key:after,.printer-art.shard:before,.printer-art.shard:after{content:"";position:absolute}.printer-art.key:before{border:12px solid #f1d15e;border-radius:999px;width:52px;height:52px;top:13px;left:0;box-shadow:0 0 24px #f1d15e2e}.printer-art.key:after{background:linear-gradient(90deg,#e7c24e,#f7df84);border-radius:8px;width:102px;height:18px;top:24px;right:0;box-shadow:inset 0 -2px #78570f2e}.printer-key-cut{background:linear-gradient(90deg,#0000 0 8%,#f3d96f 8% 22%,#0000 22% 32%,#f3d96f 32% 48%,#0000 48% 58%,#f3d96f 58% 74%,#0000 74% 100%);width:68px;height:16px;position:absolute;top:42px;right:4px}.printer-art.shard{width:110px;height:110px;transform:rotate(-12deg)}.printer-art.shard:before{clip-path:polygon(18% 0,100% 10%,82% 100%,0 72%);background:linear-gradient(#8ca2b8,#5e7184);inset:10px 14px 20px 18px}.printer-art.shard:after{clip-path:polygon(22% 0,100% 18%,64% 100%,0 72%);background:#e9f6ff2e;inset:26px 28px 34px 44px}.printer-feedback{color:#eef5fbc2;white-space:normal;overflow-wrap:anywhere;margin:0;font-size:.8rem;line-height:1.28}.printer-story-button{width:100%;margin-top:16px}.story-stage{background:#090e14e0;border:1px solid #ffffff14;border-radius:28px;grid-template-columns:minmax(320px,.95fr) minmax(380px,1.05fr);width:min(100%,1100px);height:min(78vh,760px);max-height:min(78vh,760px);display:grid;overflow:hidden;box-shadow:0 36px 72px #0000006b,inset 0 1px #ffffff0d}.story-art-panel{background:radial-gradient(circle at 20% 20%,#ffffff24,#0000 22%),linear-gradient(#171f29 0%,#0b1016 100%);justify-content:center;align-items:center;min-height:100%;padding:24px;display:flex;position:relative;overflow:hidden}.story-art-panel:after{content:"";pointer-events:none;background:linear-gradient(#0000000a,#00000057),radial-gradient(circle at 50% 120%,#00000075,#0000 40%);position:absolute;inset:0}.story-art-image{object-fit:cover;object-position:center;filter:brightness(.82)saturate(.92);width:100%;max-width:100%;height:100%;max-height:100%;display:block}.story-copy-panel{background:radial-gradient(circle at top,#ffffff0f,#0000 20%),linear-gradient(#ffffff08,#ffffff04);flex-direction:column;min-width:0;min-height:100%;padding:42px 40px 34px;display:flex;overflow:hidden}.story-copy-head{margin-bottom:24px}.story-copy-title{margin:0;font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.18}.story-copy-body{color:#eef5fbe0;white-space:pre-wrap;word-break:keep-all;flex:1;min-height:0;padding-right:8px;font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.95;overflow-y:auto}.story-copy-body:after{content:"";vertical-align:-.15em;background:#d6ecffe0;width:.62em;height:1.1em;margin-left:4px;animation:.9s step-end infinite story-caret;display:inline-block}.story-copy-body.is-complete:after{display:none}.story-copy-foot{border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding-top:20px;display:flex}.story-progress{color:#eef5fba3;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem}.story-next-button{min-width:132px;color:var(--text);cursor:pointer;background:#a6d3ff24;border:1px solid #a6d3ff3d;border-radius:999px;padding:12px 18px;transition:transform .16s,background .16s,border-color .16s,opacity .16s}.story-next-button:hover,.story-next-button:focus-visible{background:#a6d3ff33;border-color:#a6d3ff61;outline:none;transform:translateY(-1px)}.story-next-button:disabled{cursor:wait;opacity:.52}.intro-chat-stage{width:min(100%,540px)}.intro-phone-device{width:100%}.intro-phone-screen{flex-direction:column;height:min(78vh,760px);max-height:min(78vh,760px);display:flex;overflow:hidden}.intro-chat-log{flex:1;align-content:start;min-height:0;padding-top:12px;padding-bottom:18px;overflow:hidden auto}.intro-chat-prompt{color:#101b26ad;text-align:center;margin:0;padding:0 18px 14px;font-size:.9rem}.intro-frame{border-radius:26px;width:min(100%,980px);max-height:82vh;position:relative;overflow:hidden}.intro-frame:before{content:"";filter:brightness(.74)saturate(.94);opacity:.95;z-index:0;clip-path:inset(0 round 30px);background:url(../title_main.optimized.jpg) 50%/cover no-repeat;border-radius:30px;position:absolute;inset:0;transform:scale(1.02)}.intro-frame:after{content:"";z-index:3;pointer-events:none;background:radial-gradient(#0000 0 36%,#0000001a 50%,#00000052 66%,#0000009e 100%),radial-gradient(circle at 10% 18%,#00000052,#0000 28%),radial-gradient(circle at 86% 14%,#00000042,#0000 28%),radial-gradient(circle at 12% 82%,#00000047,#0000 27%),radial-gradient(circle at 90% 82%,#00000057,#0000 30%),radial-gradient(circle at 50% 100%,#00000038,#0000 26%);border-radius:26px;position:absolute;inset:0}.intro-image{z-index:2;object-fit:contain;border-radius:26px;width:100%;max-height:82vh;display:block;position:relative;box-shadow:0 30px 60px #00000061,0 0 0 1px #ffffff0f}.intro-prompt{z-index:4;color:#ffffffeb;letter-spacing:.04em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;background:#0a0e14ad;border:1px solid #ffffff29;border-radius:999px;margin:0;padding:11px 18px;animation:1.8s ease-in-out infinite intro-pulse;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}button{font:inherit}.app{place-items:center;min-height:100vh;padding:24px;display:grid}.game-shell{border:1px solid var(--panel-border);background:linear-gradient(#ffffff0a,#ffffff05);border-radius:28px;width:min(100%,920px);padding:28px;box-shadow:0 28px 70px #00000059}.intro{text-align:center;margin-bottom:22px}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:.78rem}.intro h1{margin:0;font-size:clamp(1.7rem,3vw,2.8rem);font-weight:600;line-height:1.15}.subcopy{color:var(--muted);margin:12px 0 0}.mode-nav{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:20px;display:flex}.mode-button{color:var(--text);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;padding:10px 16px;transition:transform .16s,background .16s,border-color .16s}.mode-button:hover,.mode-button:focus-visible{background:#ffffff14;border-color:#fff3;outline:none;transform:translateY(-1px)}.mode-button.is-active{background:#a6d3ff24;border-color:#a6d3ff6b}.view-panel{display:none}.view-panel.is-active{display:block}.view-stack{min-height:680px}.board-wrap{background:linear-gradient(#fff3,#0000 18%),linear-gradient(#c8d8e4 0%,#a8bccd 8%,#e6f1f8 16%,#c3d6e4 44%,#e7f4fb 100%);border-radius:26px;padding:34px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff80,inset 0 -18px 30px #7292aa2e}.fridge-wall,.fridge-top{z-index:0;background:linear-gradient(#ffffffbf,#adc4d6f2);position:absolute}.fridge-wall{width:18px;top:0;bottom:0;box-shadow:inset -1px 0 #607d9538}.fridge-wall-left{left:0}.fridge-wall-right{right:0;box-shadow:inset 1px 0 #607d9538}.fridge-top{height:18px;top:0;left:0;right:0;box-shadow:inset 0 -1px #607d9538}.shelf-divider{height:var(--mark-stroke);background:var(--fridge-shelf);box-shadow:none;z-index:0;border-radius:0;position:absolute;top:50%;left:24px;right:24px;transform:translateY(-50%)}.wordmark{letter-spacing:.18em;color:#3d5f7914;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(3rem,12vw,7rem);font-weight:700;position:absolute;inset:26px auto auto 50%;transform:translate(-50%)}.board{z-index:1;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:34px 12px;display:grid;position:relative}.can{aspect-ratio:1/2;cursor:pointer;perspective:900px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:linear-gradient(#ffffff2e,#0000 16%),linear-gradient(90deg,#7d8591 0%,#eef2f7 16%,#a3acb8 42%,#737b86 70%,#565e68 100%);border:0;border-radius:24px;padding:0;transition:transform .18s,box-shadow .18s;position:relative;overflow:visible;box-shadow:inset 0 1px #ffffffbf,inset 0 -10px 18px #0000002e,0 14px 20px #0000003d}.can:before,.can:after{content:"";z-index:3;background:linear-gradient(#fff,#8a94a0f2),linear-gradient(90deg,#ffffffeb,#5c667247);border-radius:999px;height:18px;position:absolute;left:4%;right:4%;box-shadow:inset 0 1px 1px #ffffffb3,0 2px 3px #00000029}.can:before{top:-7px}.can:after{bottom:-7px}.can:hover,.can:focus-visible{outline:none;transform:translateY(-2px);box-shadow:inset 0 1px #ffffffbf,inset 0 -8px 18px #0000002e,0 18px 24px #00000040}.can:active{transform:scale(.98)}.can-surface{--label-shift:0px;--label-squeeze:1;background:linear-gradient(90deg, #ffffff24, transparent 18%, transparent 76%, #0000001f), linear-gradient(180deg, var(--can-red-top) 0%, #b51e2b 48%, var(--can-red-bottom) 100%);z-index:1;border-radius:18px;position:absolute;inset:2px 3px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1a,inset 0 8px 12px #ffffff14,inset 0 -10px 14px #0000002e}.can[data-row="1"] .can-surface{background:linear-gradient(90deg, #ffffff24, transparent 18%, transparent 76%, #0000001f), linear-gradient(180deg, var(--can-green-top) 0%, #21925c 48%, var(--can-green-bottom) 100%)}.can[data-phase="1"] .can-surface{--label-shift:-8px;--label-squeeze:.88}.can[data-phase="2"] .can-surface{--label-shift:-15px;--label-squeeze:.76}.can-surface:before{content:"";pointer-events:none;transform:translateX(var(--label-shift)) scaleX(var(--label-squeeze));transform-origin:50%;background:linear-gradient(90deg,#ffffff29,#0000 18% 82%);border-radius:16px;position:absolute;inset:3% 4%}.can-surface:after{content:"";pointer-events:none;background:linear-gradient(#ffffff1f,#0000 16% 84%,#0000001a);position:absolute;inset:0}.can>svg{width:98%;height:calc(100% + 32px);filter:drop-shadow(0 0 10px var(--line-glow));transform:translateX(calc(var(--label-shift) * .55)) scaleX(var(--label-squeeze));transform-origin:50%;z-index:2;pointer-events:none;position:absolute;inset:-16px 1%;overflow:visible}.can.is-rotating{animation:.26s can-roll-left}.can.is-celebrating{animation:.9s ease-in-out can-celebrate-glow}.can-path{fill:none;stroke:var(--line);stroke-width:var(--mark-stroke);stroke-linecap:butt;stroke-linejoin:miter}.can-core{display:none}.status-bar{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.status-bar p{display:none}.story-panel{background:linear-gradient(#ffffff0d,#ffffff06);border:1px solid #ffffff14;border-radius:24px;padding:24px;transition:opacity .22s,transform .22s,filter .22s}.story-panel.is-revealed{animation:.5s panel-reveal}.panel-head{margin-bottom:18px}.panel-head h2{margin:0;font-size:clamp(1.2rem,2vw,1.7rem)}.phone-device{background:linear-gradient(#1e242b 0%,#0f1318 100%);border-radius:36px;width:min(100%,460px);margin:0 auto;padding:18px 14px 14px;box-shadow:inset 0 1px #ffffff1a,0 26px 50px #00000057}.phone-camera{background:#04070ae0;border-radius:999px;width:126px;height:22px;margin:0 auto 12px;box-shadow:inset 0 -1px #ffffff14}.phone-screen{background:#b8d1e5;border-color:#ffffff1f;border-radius:28px;padding:0;overflow:hidden}.phone-topbar{color:#1f252c;background:linear-gradient(#f3df5c 0%,#ecd54b 100%);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 14px;display:flex}.phone-topbar .eyebrow,.phone-topbar .subcopy{color:#1f252cb3}.phone-topbar h2{margin:0;font-size:1.15rem}.phone-status{letter-spacing:.04em;font-weight:700}.phone-hint{color:#101b26b8;margin:0;padding:12px 18px 0;font-size:.95rem}.chat-log{gap:14px;padding:18px;display:grid}.chat-message{opacity:0;align-items:flex-start;gap:10px;transition:opacity .6s,transform .6s;display:flex;transform:translateY(18px)}.chat-message.is-visible{opacity:1;transform:translateY(0)}.chat-message.is-self{justify-content:flex-end}.chat-message.is-self .chat-avatar,.chat-message.is-self .chat-meta{display:none}.chat-message.is-self .chat-bubble-group{max-width:min(76%,460px)}.chat-message.is-self .chat-bubble{background:#f8e36f;border-top-left-radius:18px;border-top-right-radius:6px;margin-left:auto}.chat-avatar{background:radial-gradient(circle at 30% 28%, var(--avatar-accent) 0 22%, transparent 23%), linear-gradient(180deg, var(--avatar-accent) 0%, var(--avatar-color) 100%);color:#17202a;border-radius:16px;flex:0 0 40px;place-items:center;width:40px;height:40px;font-size:1.15rem;display:grid;box-shadow:inset 0 1px #ffffff6b,0 8px 16px #26435b2e}.chat-bubble-group{max-width:min(80%,500px)}.chat-meta{color:#17202a9e;letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:6px;padding:0 4px;font-size:.72rem;display:flex}.chat-index{display:none}.chat-bubble{color:#1a2128;background:#ffffffeb;border-radius:6px 18px 18px;margin:0;padding:12px 14px;line-height:1.52;box-shadow:0 10px 18px #3b597024}.phone-inputbar{background:#e8f0f7d1;border-top:1px solid #16232f14;align-items:center;gap:10px;padding:12px 16px 16px;display:flex}.phone-plus,.phone-send{color:#26333e;background:#ffffffd1;border-radius:999px;place-items:center;width:32px;height:32px;font-weight:700;display:grid}.phone-fake-input{color:#202a3485;white-space:nowrap;text-overflow:ellipsis;background:#fffffff0;border-radius:999px;flex:1;align-items:center;min-width:0;min-height:40px;padding:0 14px;display:flex;overflow:hidden}#intro-chat-input{letter-spacing:-.02em;font-size:.82rem}.lock-device{background:linear-gradient(#ffffff14,#0000 22%),linear-gradient(#232a31 0%,#14191e 100%);border-radius:28px;width:min(100%,480px);margin:0 auto;padding:22px;box-shadow:inset 0 1px #ffffff1f,0 26px 50px #00000057}.lock-screen{background:radial-gradient(circle at top,#ffffff14,#0000 30%),linear-gradient(#ffffff0a,#ffffff05)}.lock-head{text-align:center}.lock-dial{display:none}.lock-visual{max-width:360px;margin:22px auto 18px}.lock-housing{background:linear-gradient(#ffffff29,#0000 16%),linear-gradient(90deg,#4f5862 0%,#c2ccd7 18%,#7d8792 52%,#5c6671 100%);border-radius:36px;padding:26px 24px 24px;position:relative;box-shadow:inset 0 1px #ffffff40,inset 0 -20px 28px #00000024,0 22px 34px #00000047}.lock-cap{background:#171c22b8;border-radius:999px;width:94px;height:10px;margin:0 auto 16px;box-shadow:inset 0 1px #ffffff14}.lock-display-screen{color:#d2f5ffeb;letter-spacing:.32em;text-indent:.32em;text-shadow:0 0 10px #a3e1ff4d;background:#051115c7;border:1px solid #b3e1f238;border-radius:14px;place-items:center;width:66%;min-height:34px;margin:0 auto 18px;font-size:1.4rem;font-weight:700;display:grid;box-shadow:inset 0 1px #ffffff0d,0 6px 14px #0003}.lock-display-screen.is-filled{color:#e5fbfffa;box-shadow:inset 0 0 12px #63abc52e,0 0 14px #84d0ec2e}.lock-keypad{grid-template-columns:repeat(3,1fr);gap:10px;width:76%;margin:0 auto;display:grid}.password-panel{border-top:0;margin-top:10px;padding-top:0}.keypad-button{aspect-ratio:1;color:#182028;cursor:pointer;background:linear-gradient(#f5f8fcf2,#939da6d1);border:1px solid #ffffff1f;border-radius:999px;min-height:0;padding:0;font-size:1rem;font-weight:600;transition:transform .16s,background .16s,border-color .16s;box-shadow:inset 0 1px #ffffff85,inset 0 -6px 10px #0000001f,0 8px 14px #0000002e}.keypad-button:hover,.keypad-button:focus-visible{background:linear-gradient(#fff,#a0abb5e0);border-color:#fff6;outline:none;transform:translateY(-1px)}.keypad-button:active{transform:translateY(1px)scale(.98)}.keypad-button.is-action{color:#32495c}.password-label,.password-row{display:none}.password-hint,.password-feedback{color:var(--muted);text-align:center;margin:10px 0 0}.reset-button{color:var(--text);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;padding:11px 18px;transition:transform .16s,background .16s,border-color .16s}.reset-button:hover,.reset-button:focus-visible{background:#ffffff14;border-color:#fff3;outline:none;transform:translateY(-1px)}.overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0b0fc2;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.overlay.hidden{display:none}.overlay-card{text-align:center;background:linear-gradient(#1e212a,#121419);border:1px solid #ffffff14;border-radius:24px;width:min(100%,420px);padding:28px;box-shadow:0 28px 60px #0000006b}.overlay-card h2{margin:0 0 10px;font-size:1.9rem}.overlay-card p{color:var(--success);margin:0 0 20px}@keyframes can-roll-left{0%{transform:translate(0)rotate(0)}30%{transform:translate(-8px)rotate(-3deg)}55%{transform:translate(-14px)scaleX(.8)}to{transform:translate(0)rotate(0)}}@keyframes can-celebrate-glow{0%{filter:brightness();transform:translateY(0)scale(1);box-shadow:inset 0 1px #ffffffbf,inset 0 -10px 18px #0000002e,0 14px 20px #0000003d}35%{filter:brightness(1.08);transform:translateY(-2px)scale(1.02);box-shadow:inset 0 1px #ffffffe6,inset 0 -8px 16px #0000001f,0 0 0 2px #ffffff52,0 0 22px #ffffff6b,0 14px 24px #00000038}65%{filter:brightness(1.12);transform:translateY(-2px)scale(1.02);box-shadow:inset 0 1px #fffffff2,inset 0 -8px 16px #0000001a,0 0 0 3px #ffffff47,0 0 28px #ffffff7a,0 14px 24px #0003}to{filter:brightness();transform:translateY(0)scale(1);box-shadow:inset 0 1px #ffffffbf,inset 0 -10px 18px #0000002e,0 14px 20px #0000003d}}@keyframes panel-reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-pulse{0%,to{opacity:.62;transform:translate(-50%)translateY(0)}50%{opacity:1;transform:translate(-50%)translateY(-3px)}}@keyframes story-caret{0%,49%{opacity:1}50%,to{opacity:0}}@media (width<=720px){.puzzle2-overlay{padding:14px}.puzzle3-overlay{-webkit-overflow-scrolling:touch;place-items:start center;padding:14px;overflow-y:auto}.puzzle2-shell{min-height:min(90vh,940px);padding:18px}.puzzle3-shell{margin-block:0 18px;padding:18px}.puzzle3-title{white-space:nowrap;font-size:1.08rem}.doorlock-panel{padding:18px}.doorlock-code{gap:6px}.doorlock-slot{min-height:42px}.puzzle2-poster-frame{height:min(64vh,620px)}.puzzle2-poster-image{width:100%}.workshop-layout{grid-template-columns:1fr}.computer-bezel{min-height:auto}.blueprint-grid{grid-template-columns:1fr;gap:8px}.blueprint-card{text-align:left;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:auto;padding:9px 10px;display:grid}.blueprint-icon{width:14px;height:18px;box-shadow:none;border-radius:4px;flex-shrink:0;margin:0}.blueprint-icon-fold{border-top-right-radius:4px;width:6px;height:6px}.blueprint-icon-grid{border-radius:2px;width:8px;height:5px;top:5px;left:3px}.blueprint-icon-ext{display:none}.blueprint-file{min-width:0;font-size:.82rem;line-height:1.2}.blueprint-slot-badge{white-space:nowrap;place-self:center end;margin-left:4px;padding:3px 6px;font-size:.62rem;position:static}.intro-frame{width:min(100%,420px);max-height:74vh}.intro-frame:before{display:none}.intro-image{object-fit:contain;object-position:center top;min-height:32vh;max-height:32vh}.intro-prompt{padding:10px 16px;font-size:.9rem;bottom:18px}.story-overlay{padding:14px}.story-stage{grid-template-rows:minmax(136px,23vh) minmax(0,1fr);grid-template-columns:1fr;height:calc(100dvh - 28px);max-height:calc(100dvh - 28px)}.story-copy-panel{min-height:0;padding:18px 18px 16px}.story-copy-head{margin-bottom:12px}.story-copy-title{font-size:1.34rem}.story-copy-body{min-height:0;font-size:.95rem;line-height:1.75}.story-art-image{object-fit:contain}.story-copy-foot{flex-direction:column;align-items:stretch;gap:10px;margin-top:12px;padding-top:12px}.story-next-button{width:100%}.app{padding:14px}.game-shell{padding:18px}.board{gap:26px 8px}.status-bar{text-align:center;flex-direction:column;align-items:stretch}.password-row{flex-direction:column}}@media (width<=560px){.blueprint-grid{grid-template-columns:1fr}.blueprint-card{grid-template-columns:16px minmax(0,1fr);gap:7px;padding:8px 9px}.blueprint-slot-badge{grid-column:2;justify-self:start;margin-top:4px;margin-left:0}}
