:root{--navy:#092f49;--navy-2:#0d4568;--ink:#15344a;--muted:#597184;--paper:#fffdf7;--paper-2:#f5fbff;--line:#12405b29;--sky:#1a9ed8;--green:#1f9d68;--green-dark:#116844;--red:#d94848;--amber:#f2a928;--yellow:#ffdb5c;--blue:#2678c9;--shadow:0 18px 45px #0623363d;--radius:24px;--header-h:58px}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{color:var(--ink);background:#f7f1e7;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-size:17px;overflow-x:hidden}button{font:inherit;touch-action:manipulation}[tabindex]:focus-visible,button:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}[data-stage-focus]:focus{outline:none}.app-shell{grid-template-rows:auto 1fr;min-height:100dvh;display:grid}.topbar{min-height:var(--header-h);color:var(--navy);z-index:30;background:#fffdf7fa;border-bottom:1px solid #11435d21;grid-template-columns:minmax(210px,.55fr) minmax(560px,760px) auto;gap:12px;padding:5px clamp(12px,2vw,26px);display:grid;position:relative;box-shadow:0 4px 18px #092f4921}.brand,.topbar{align-items:center}.brand{gap:9px;min-width:0;display:flex}.brand-title{letter-spacing:.01em;white-space:nowrap;margin:0;font-size:clamp(16px,1.4vw,20px);font-weight:950;line-height:1.05}.progress-track{grid-template-columns:repeat(4,minmax(70px,1fr));justify-self:center;gap:6px;width:100%;max-width:760px;display:grid}.progress-step{color:#5b7180;cursor:pointer;text-align:left;background:#eef4f6;border:1px solid #d8e4e9;border-radius:999px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:6px;min-width:0;min-height:44px;padding:4px 8px;transition:transform .15s,background .15s,border-color .15s;display:grid}.progress-step:hover{color:#18435d;background:#e5f2f6;border-color:#a9ccd9;transform:translateY(-1px)}.progress-step.active{color:#082f49;background:#ffe069;border-color:#e8be35;box-shadow:0 3px 10px #956b0029}.progress-step.active .progress-number{background:#fff;transform:scale(1.06)}.progress-number{background:#ffffffb3;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:950;display:grid}.progress-label{text-overflow:clip;white-space:normal;font-size:12px;font-weight:850;line-height:1.1;overflow:visible}.top-actions{justify-content:flex-end;gap:9px;display:flex}.top-button{color:#244b62;cursor:pointer;background:#f2f6f7;border:1px solid #d1e0e5;border-radius:11px;min-width:44px;min-height:44px;padding:5px 10px;font-weight:850;transition:transform .16s,background .16s}.top-button:hover{background:#e6f2f6;transform:translateY(-1px)}.game-stage{min-height:calc(100dvh - var(--header-h));isolation:isolate;background-image:url(../images/background.png);background-position:50%;background-size:cover;animation:.19s ease-out both scene-appear;position:relative;overflow:hidden}@keyframes scene-appear{0%{opacity:.82}to{opacity:1}}.game-stage:before{content:"";z-index:-2;background:linear-gradient(90deg,#fffdf714,#0000 50%,#fffaf024);position:absolute;inset:0}.game-stage:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0000,#fffaf033);height:20%;position:absolute;inset:auto 0 0}.stage-badge{color:#0d4566;letter-spacing:.04em;text-transform:uppercase;background:#dff4ff;border:1px solid #a8ddf3;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:7px 12px;font-size:13px;font-weight:950;display:inline-flex}.mission-card,.result-panel{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf7f5;border:1px solid #ffffffe6}.mission-card{border-radius:26px;width:min(540px,100% - 36px);padding:clamp(22px,3vw,32px);position:absolute;bottom:clamp(18px,4vh,38px);right:clamp(18px,3.5vw,54px)}.mission-card h1,.result-panel h1{color:var(--navy);letter-spacing:-.035em;margin:13px 0 7px;font-size:clamp(34px,4.3vw,54px);line-height:.98}.lead{color:#36576d;margin:14px 0 0;font-size:clamp(17px,1.6vw,21px);font-weight:650;line-height:1.55}.entry-cue-title{color:var(--navy);margin:15px 0 8px;font-size:14px;font-weight:950}.briefing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.briefing-card{color:#173c54;text-align:center;background:#eff9fc;border:1px solid #cce8f2;border-radius:16px;align-content:center;place-items:center;gap:2px;min-height:72px;padding:10px 7px;display:grid}.briefing-card.deny{background:#fff4f4;border-color:#efb7b7}.briefing-card.check{background:#fff9df;border-color:#e9ce74}.briefing-card.allow{color:#0f6842;background:#effff7;border-color:#78cda5}.briefing-card strong{font-size:13px;line-height:1.15}.briefing-card span:last-child{color:var(--muted);font-size:12px;font-weight:850;line-height:1.2}.briefing-card.allow span:last-child{color:#167149}.privacy-note{color:#597284;margin:10px 0 13px;font-size:12px;line-height:1.35}.button-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.choice-button,.danger-button,.primary-button,.secondary-button{cursor:pointer;border:0;border-radius:15px;min-height:52px;padding:12px 20px;font-weight:950;transition:transform .15s,box-shadow .15s,filter .15s}.primary-button{color:#0b4968;background:linear-gradient(145deg,#edfaff,#d5f0fb);border:2px solid #7fc4df;box-shadow:0 7px 16px #2b84a829}.choice-button:hover:not(:disabled),.danger-button:hover,.primary-button:hover,.secondary-button:hover{filter:brightness(1.04);transform:translateY(-2px)}.choice-button:disabled,.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.secondary-button{color:#17435d;background:#fff;border:2px solid #b5d5e4}.danger-button{color:#8e3030;background:linear-gradient(145deg,#fff7f7,#ffe4e4);border:2px solid #e4a0a0;box-shadow:0 7px 16px #ad28281f}.microcopy{color:#597284;font-size:13px;line-height:1.4}.visitor-layout{background-image:none}.gate-scene{pointer-events:none;position:absolute;inset:0;overflow:hidden}.gate-background{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.gate-background,.gate-scene .visitor-zone{width:100%;height:100%;position:absolute;inset:0}.gate-scene .visitor-zone{padding:0}.gate-scene .visitor-figure{left:var(--visitor-left);width:var(--visitor-width);height:var(--visitor-height);position:absolute;bottom:0}.visitor-card{-o-object-fit:contain;object-fit:contain;-o-object-position:bottom;object-position:bottom;filter:drop-shadow(0 18px 20px #00000047);width:100%;height:100%;display:block}.visitor-label{--visitor-label-bg:#fffdf7f5;--visitor-label-border:#14445e2e;--visitor-label-text:var(--navy);z-index:2;max-width:none;color:var(--visitor-label-text);background:var(--visitor-label-bg);border:2px solid var(--visitor-label-border);white-space:nowrap;border-radius:999px;padding:9px 15px;font-weight:950;position:absolute;top:0;left:50%;transform:translate(-50%,calc(-100% - 8px));box-shadow:0 8px 20px #092f4924}.visitor-label.safe{--visitor-label-bg:#e8fff2;--visitor-label-border:#55b985;--visitor-label-text:#0f6842}.visitor-label.danger{--visitor-label-bg:#fff0f0;--visitor-label-border:#df7777;--visitor-label-text:#9a3030}.visitor-label.uncertain{--visitor-label-bg:#fff8d7;--visitor-label-border:#d9ad2f;--visitor-label-text:#76530b}.visitor-label:after{content:"";border-top:8px solid var(--visitor-label-bg);border-left:7px solid #0000;border-right:7px solid #0000;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.terminal{width:min(54%,710px);max-height:calc(100dvh - var(--header-h) - 30px);color:var(--ink);-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);scrollbar-color:#aac9d6 transparent;background:#fffdf7f5;border:1px solid #ffffffeb;border-radius:21px;padding:clamp(14px,1.7vw,20px);position:absolute;bottom:clamp(14px,2.5vh,24px);right:clamp(14px,2vw,30px);overflow:auto;box-shadow:0 14px 34px #092f4933}.terminal-manual{width:min(45%,560px)}.terminal-simple,.terminal-test{width:min(56%,730px)}.terminal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:9px;display:flex}.terminal h1,.terminal h2{color:var(--navy);margin:5px 0 0;line-height:1.12}.terminal h1{font-size:clamp(23px,2.4vw,32px)}.terminal h2{color:#234f67;font-size:clamp(18px,1.8vw,24px)}.terminal .lead{color:var(--muted)}.counter-pill{color:#604400;background:#ffe584;border:1px solid #f1ca41;border-radius:999px;flex:none;padding:6px 10px;font-size:12px;font-weight:950}.decision-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.decision-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-button{color:#174058;background:#fff;border:2px solid #c4dbe6;justify-content:center;align-items:center;gap:10px;min-height:66px;display:flex;box-shadow:0 5px 12px #16415714}.choice-button.open{color:#0d603e;background:#edfff6;border-color:#73c8a3}.choice-button.closed{color:#9a2f2f;background:#fff5f5;border-color:#e3a0a0}.choice-button.check{color:#78550b;background:#fff9df;border-color:#e5bf53}.feedback{border:1px solid;border-radius:16px;margin:16px 0;padding:15px 17px;line-height:1.45;animation:.23s both rise}.feedback.correct{color:#115d3d;background:#ebfff4;border-color:#8bd4b1}.feedback.warning{color:#79550e;background:#fff8dd;border-color:#e7c461}.feedback.error{color:#922f2f;background:#fff1f1;border-color:#e5a0a0}.feedback-title{margin-bottom:3px;font-size:17px;font-weight:950;display:block}@keyframes rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.pipeline{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);gap:8px;margin:16px 0;padding:0;list-style:none;display:grid}.pipeline.pipeline-grouped{grid-template-columns:minmax(0,1fr) 24px minmax(0,1.6fr) 24px minmax(0,1fr)}.flow-connector{color:#2985ad;pointer-events:none;align-self:stretch;place-items:center;min-width:0;padding:0;list-style:none;display:grid}.flow-arrow{width:24px;height:24px;display:block}.pipe-card{text-align:center;color:#173d55;background:#f4fbfe;border:2px solid #c9e3ee;border-radius:15px;flex-direction:column;justify-content:center;min-height:112px;padding:12px 10px;display:flex;position:relative}.pipe-card.active{background:#eaf8ff;border-color:#54afd6;box-shadow:0 0 0 3px #54afd626}.pipe-card.alert{background:#fff7d9;border-color:#e4ba42}.pipe-kicker{color:#507083;letter-spacing:.07em;text-transform:uppercase;font-size:13px;font-weight:950}.pipe-icon{margin:3px 0;font-size:25px}.pipe-value{font-size:14px;font-weight:900;line-height:1.4}.pipe-substeps{gap:10px;margin:8px 0 0;padding:0;list-style:none;display:grid}.pipe-substep{border-top:1px solid #b9d6e3;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:3px 6px;padding-top:8px;display:grid}.pipe-step-label{grid-column:1/-1;font-size:14px;font-weight:800}.pipe-substep .pipe-value{text-align:left}.history-strip{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.history-chip{color:#405e71;background:#edf4f7;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:850}.history-chip.bad{color:#963535;background:#ffeded}.upgrade-layout{width:min(1180px,100% - 34px);max-height:calc(100dvh - var(--header-h) - 34px);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(410px,1.22fr) minmax(330px,.78fr);gap:18px;padding:0;display:grid;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.upgrade-copy{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf7f7;border:1px solid #fffffff0;border-radius:22px;padding:18px;box-shadow:0 14px 34px #092f492e}.upgrade-copy h1{color:var(--navy);margin:9px 0 6px;font-size:clamp(27px,3vw,40px);line-height:1.1}.upgrade-copy p{color:#506c7e;margin:8px 0;line-height:1.45}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.module-slot{text-align:center;color:#49687b;cursor:pointer;background:#f3fafc;border:2px dashed #9fc4d4;border-radius:17px;place-items:center;gap:4px;min-height:112px;padding:12px;transition:border .15s,background .15s,transform .15s;display:grid}.module-slot.drag-over,.module-slot:hover{background:#e9f8ff;border-color:#2896c8;transform:translateY(-1px)}.module-slot.filled{color:#104e35;background:#effff7;border-style:solid;border-color:#73cba5}.slot-label{color:#17688d;letter-spacing:.08em;font-size:12px;font-weight:1000}.slot-icon{font-size:28px}.slot-value{font-weight:950;line-height:1.25}.module-bank{color:var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7fcfef7;border:1px solid #bedae5e6;border-radius:21px;padding:18px;box-shadow:0 14px 34px #092f492e}.module-bank h2{color:var(--navy);margin:0;font-size:22px}.module-bank>p{color:var(--muted);margin:6px 0 14px;font-size:14px;line-height:1.4}.module-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.module-card{text-align:left;color:#163d55;cursor:grab;background:#fffdf7;border:2px solid #0000;border-radius:14px;min-height:78px;padding:11px;transition:transform .15s,border .15s,opacity .15s;box-shadow:0 5px 13px #16415717}.module-card:hover{transform:translateY(-2px)}.module-card.selected{border-color:#ffcf45;box-shadow:0 0 0 3px #ffcf4540}.module-card.used{cursor:default;opacity:.38;filter:grayscale(.5)}.module-card small,.module-card strong{display:block}.module-card strong{margin:4px 0 2px;font-size:14px;line-height:1.2}.module-card small{color:#587184;font-size:11px;line-height:1.25}.module-icon{font-size:22px}.selected-note{color:#173d55;background:#fff2bd;border-radius:13px;min-height:46px;margin:12px 0 0;padding:10px 12px;font-size:13px;line-height:1.35}.upgrade-actions{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf7f7;border:1px solid #fffffff0;border-radius:18px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:14px;padding:10px 13px;display:flex;box-shadow:0 10px 26px #092f4926}.upgrade-actions .feedback{flex:1;margin:0}.simple-builder-board{width:min(1160px,100% - 48px);max-height:calc(100dvh - var(--header-h) - 28px);color:var(--ink);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf7fb;border:1px solid #fffffff5;border-radius:30px;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);grid-template-areas:"header header""flow tray""footer footer";gap:22px 26px;padding:28px;display:grid;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 22px 58px #092f4938}.simple-builder-header{grid-area:header;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.simple-builder-header h1{color:var(--navy);margin:8px 0 4px;font-size:clamp(30px,3vw,42px);line-height:1.05}.simple-builder-header p{color:#577184;margin:0;font-size:16px;font-weight:700}.simple-flow-workspace{background:#f1f9fc;border:1px solid #d5e7ee;border-radius:24px;grid-area:flow;grid-template-rows:auto minmax(0,1fr);min-width:0;padding:24px;display:grid}.simple-flow-workspace h2,.simple-parts-tray h2{color:var(--navy);margin:0;font-size:20px;line-height:1.2}.simple-flow-slots{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);align-self:center;align-items:stretch;gap:8px;width:100%;margin:0;display:grid;position:relative}.simple-flow-slot{color:#456579;text-align:center;cursor:pointer;background:#fffefb;border:2px dashed #91bed0;border-radius:22px;align-content:center;place-items:center;gap:10px;min-width:0;min-height:220px;padding:18px 10px;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;display:grid;position:relative;box-shadow:0 8px 22px #144b6512}.simple-flow-slot.drag-over,.simple-flow-slot:not(.simple-process-slot):not(:disabled):hover{background:#eaf8ff;border-color:#168fc3;box-shadow:0 11px 26px #168fc329}.simple-flow-slot.filled{color:#105d3d;cursor:default;background:#effff7;border-style:solid;border-color:#65c496}.ai-input-slot.placement-ready,.simple-flow-slot.placement-ready{background:#fffbe5;border-color:#c89c27;box-shadow:0 0 0 3px #e6b92f29}.simple-flow-slot .slot-label{font-size:13px}.simple-flow-slot .slot-icon{font-size:42px}.simple-flow-slot .slot-value{font-size:16px;line-height:1.4}.simple-process-slot{color:#714f08;cursor:default;background:#fff8dd;border-style:solid;border-color:#e8ce85}.simple-process-slot small{font-size:14px;line-height:1.4}.simple-parts-tray{grid-area:tray;grid-template-rows:auto minmax(0,1fr);min-width:0;padding:24px 0 4px;display:grid}.simple-tray-heading{justify-content:space-between;align-items:flex-start;gap:16px;min-height:54px;display:flex}.simple-tray-heading p{color:#557083;text-align:right;max-width:320px;margin:1px 0 0;font-size:13px;font-weight:750;line-height:1.35}.simple-parts-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0;display:grid}.simple-parts-group{background:#f5fafc;border:1px solid #dce9ee;border-radius:18px;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;padding:11px;display:grid}.simple-parts-group.action{background:#f4fbf7;border-color:#d4e9dd}.simple-parts-group h3{color:#17688d;letter-spacing:.08em;text-align:center;margin:0 0 9px;font-size:13px;font-weight:1000}.simple-parts-group.action h3{color:#167149}.simple-parts-list{grid-template-rows:repeat(3,minmax(70px,1fr));gap:8px;min-height:0;display:grid}.simple-part-card{-webkit-user-select:none;user-select:none;color:#163d55;text-align:center;cursor:grab;touch-action:manipulation;background:#fff;border:2px solid #dbe7ec;border-radius:20px;align-content:center;place-items:center;gap:8px;min-width:0;min-height:82px;padding:13px 9px;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s,opacity .16s;display:grid;box-shadow:0 7px 18px #12445c14}.simple-part-card:hover{border-color:#8abed1;transform:translateY(-3px);box-shadow:0 11px 24px #12445c21}.simple-part-card:active{cursor:grabbing}.simple-part-card.selected{color:#684b07;background:#fff8d8;border-color:#e6b92f;box-shadow:0 0 0 4px #e6b92f2e}.simple-part-card.used{color:#527064;cursor:default;opacity:.5;box-shadow:none;background:#edf7f2;border-color:#c4ddd1}.simple-part-card .module-icon{font-size:30px;line-height:1}.drag-preview{z-index:200;color:#163d55;pointer-events:none;-webkit-user-select:none;user-select:none;background:#fffdf7;border:2px solid #168fc3;border-radius:18px;place-items:center;gap:8px;width:138px;padding:14px 10px;transition:border-color .14s,background .14s,transform .14s;display:grid;position:fixed;transform:translate(-50%,-50%)rotate(-4deg);box-shadow:0 14px 30px #092f493d}.drag-preview>span{font-size:32px;line-height:1}.drag-preview strong{text-align:center;overflow-wrap:anywhere;font-size:15px;line-height:1.3}.drag-preview.over-target{background:#effff7;border-color:#1f9d68;transform:translate(-50%,-50%)rotate(0)}.ai-input-card.dragging,.simple-part-card.dragging{opacity:.3;cursor:grabbing}.ai-input-slot.drag-over:not(:disabled),.simple-flow-slot.drag-over:not(:disabled){background:#effff7;border-color:#1f9d68;box-shadow:0 0 0 3px #1f9d682e}.ai-input-slot.filled .slot-icon,.simple-flow-slot.filled .slot-icon{animation:.32s ease-out part-placed}@keyframes part-placed{0%{opacity:.4;transform:scale(.65)}65%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.simple-part-card strong{overflow-wrap:anywhere;max-width:100%;font-size:14px;line-height:1.25}.simple-builder-footer{grid-area:footer;justify-content:space-between;align-items:center;gap:18px;min-height:52px;display:flex}.simple-builder-footer .feedback{flex:0 auto;width:fit-content;max-width:520px;margin:0;padding:10px 14px;font-size:13px;line-height:1.35}.simple-builder-footer .feedback-title{margin:0 4px 0 0;font-size:14px;display:inline}.simple-builder-footer .button-row{flex:none;margin-left:auto}.simple-builder-spacer{flex:1}.ai-builder-board{grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr)}.ai-flow-workspace{background:#f2f8ff;border-color:#d5e2ef;grid-template-rows:auto minmax(0,1fr);gap:14px}.ai-flow-slots{grid-template-columns:minmax(0,1fr) 24px minmax(0,1.6fr) 24px minmax(0,1fr);align-self:center;gap:8px;display:grid}.ai-flow-card{color:#21475f;text-align:center;background:#fffefb;border:2px solid #c8dce7;border-radius:19px;align-content:center;place-items:center;gap:8px;min-width:0;min-height:178px;padding:14px 10px;display:grid;position:relative;box-shadow:0 8px 20px #12445c12}.ai-flow-card .slot-label{color:#1b6d92;letter-spacing:.06em;font-size:13px;font-weight:1000}.ai-flow-card .slot-icon{font-size:34px;line-height:1}.ai-flow-card small,.ai-flow-card strong{overflow-wrap:normal;max-width:100%;font-size:14px;line-height:1.4}.ai-flow-card small{color:#5d7483}.ai-process-steps{gap:12px;margin:0;padding:0;list-style:none;display:grid}.ai-process-step{border-top:1px solid #b9dccb;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:4px 6px;padding-top:9px;display:grid}.process-step-label{grid-column:1/-1;font-size:14px;font-weight:800}.ai-process-step .slot-icon{grid-row:2/span 3;font-size:26px}.ai-process-step small,.ai-process-step strong{text-align:left;grid-column:2}.oversight-reflection{color:#714f08;background:#fff8dd;border:1px solid #e8ce85;border-radius:14px;margin:14px 0;padding:12px 14px;font-size:15px;line-height:1.5}.oversight-reflection p{margin:6px 0 0}.oversight-question{color:#31566d;margin:10px 0;font-size:17px;font-weight:750;line-height:1.5}.ai-input-slot{cursor:pointer;border-style:dashed;border-color:#83b8d0;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s}.ai-input-slot.drag-over,.ai-input-slot:hover{background:#e9f7ff;border-color:#168fc3;box-shadow:0 10px 24px #168fc326}.ai-flow-card.installed,.ai-input-slot.filled{color:#105d3d;background:#effff7;border-style:solid;border-color:#65c496}.ai-input-slot.filled{cursor:default}.ai-flow-card.decision-card small{color:#176149;font-weight:850}.ai-parts-tray{min-height:0}.ai-config-stack{grid-template-rows:repeat(2,minmax(0,1fr));gap:11px;min-height:0;display:grid}.ai-config-section{background:#f5fafc;border:1px solid #dce9ee;border-radius:18px;grid-template-rows:auto minmax(0,1fr);gap:10px;min-width:0;min-height:0;padding:12px;display:grid}.ai-config-section.list-config{background:#f4fbf7;border-color:#d4e9dd}.ai-config-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.ai-config-heading h3,.ai-config-heading p{margin:0}.ai-config-heading h3{color:#17688d;font-size:14px;font-weight:1000}.list-config .ai-config-heading h3{color:#167149}.ai-config-heading p{color:#5b7280;text-align:right;max-width:300px;font-size:11px;font-weight:750;line-height:1.3}.ai-input-list,.ai-role-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:0;display:grid}.ai-input-card,.ai-role-card{color:#163d55;text-align:center;cursor:pointer;background:#fff;border:2px solid #dbe7ec;border-radius:16px;align-content:center;place-items:center;gap:6px;min-width:0;min-height:78px;padding:9px 6px;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s,opacity .15s;display:grid;box-shadow:0 6px 15px #12445c12}.ai-input-card{-webkit-user-select:none;user-select:none;cursor:grab;touch-action:manipulation}.ai-input-card:hover,.ai-role-card:hover{border-color:#88bfd2;transform:translateY(-2px)}.ai-input-card.selected{color:#684b07;background:#fff8d8;border-color:#e6b92f;box-shadow:0 0 0 3px #e6b92f2e}.ai-input-card.used,.ai-role-card.selected{color:#105d3d;background:#eafff3;border-color:#65c496}.ai-role-card.danger{color:#8e3030;background:#fff0f0;border-color:#e49292}.ai-input-card>span{font-size:27px;line-height:1}.ai-input-card strong,.ai-role-card strong{overflow-wrap:anywhere;max-width:100%;font-size:12px;line-height:1.2}.ai-role-card img{-o-object-fit:contain;object-fit:contain;-o-object-position:center bottom;object-position:center bottom;width:44px;height:50px}.ai-test-terminal .pipeline{margin-bottom:10px}.reflection-choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.reflection-choice{color:#17435d;cursor:pointer;background:#f5fbff;border:2px solid #a9d2e3;border-radius:16px;min-height:58px;padding:12px 18px;font-size:17px;font-weight:950}.reflection-choice.selected,.reflection-choice:hover{background:#e7f7ff;border-color:#2a99c8}.simple-test-terminal .pipeline{margin-bottom:10px}.auto-test-status{color:#49687a;background:#f2f8fa;border:1px solid #cbdde5;border-radius:15px;margin:12px 0;padding:13px 15px;transition:color .18s,background .18s,border-color .18s}.auto-test-status.detected{color:#105f3e;background:#ecfff5;border-color:#78cda5}.auto-test-status strong,.auto-test-status>span{display:block}.auto-test-status strong{font-size:17px}.auto-test-status>span{margin-top:2px;font-size:13px;font-weight:800}.cycle-track{background:#dce9ee;border-radius:999px;height:7px;margin-top:10px;overflow:hidden}.cycle-track span{border-radius:inherit;background:linear-gradient(90deg,#2f9aca,#40bd7a);height:100%;transition:width .9s linear;display:block}.reflection-backdrop{inset:var(--header-h) 0 0;z-index:100;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#fffaebe0;place-items:center;padding:18px;display:grid;position:fixed}.reflection-modal{width:min(590px,100%);max-height:calc(100dvh - var(--header-h) - 36px);color:var(--ink);text-align:center;background:#fffdf7;border:1px solid #f0d985;border-radius:26px;padding:clamp(24px,4vw,38px);overflow-y:auto;box-shadow:0 22px 60px #43340f33}.reflection-modal h2{color:#8d3434;margin:0 0 9px;font-size:clamp(26px,4vw,38px);line-height:1.15}.reflection-modal h2:focus{outline:none}.reflection-modal p{color:#526f80;max-width:48ch;margin:9px auto;line-height:1.55}.concept-modal{width:min(760px,100%)}.concept-facts{text-align:left;color:#31566d;margin:18px 0;font-size:16px;line-height:1.5}.concept-facts h3{margin:0 0 8px;font-size:18px}.concept-facts ul{margin:0;padding-left:22px}.concept-facts li+li{margin-top:6px}.concept-steps{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);gap:8px;width:100%;margin:22px auto;padding:0;list-style:none;display:grid}.concept-step{color:#17455e;background:#eef9ff;border:1px solid #a9d8eb;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:126px;padding:17px 14px;display:flex;position:relative}.concept-step.process{color:#714f08;background:#fff8dd;border-color:#efd27a}.concept-step.output{color:#176244;background:#effbf4;border-color:#a7dfc1}.concept-step>span{letter-spacing:.06em;font-size:14px;font-weight:950}.concept-step>strong{font-size:18px;line-height:1.35}.reflection-modal .concept-conclusion{color:#9a3030;background:#fff1f1;border:2px solid #df7777;border-radius:14px;max-width:58ch;margin:0 auto 18px;padding:11px 15px;font-weight:850}.result-stage{height:calc(100dvh - var(--header-h));place-items:center;padding:clamp(16px,3vh,28px) clamp(18px,4vw,54px);display:grid;overflow:hidden}.result-panel{border-radius:30px;flex-direction:column;gap:clamp(30px,4vh,40px);width:min(1120px,100%);height:auto;max-height:100%;margin:0 auto;padding:clamp(38px,4vw,56px) clamp(42px,5vw,68px);display:flex;overflow:hidden}.report-hero{text-align:center}.report-hero h1{color:#073b55;max-width:22ch;margin:0 auto 12px;font-size:clamp(48px,4.6vw,64px);line-height:1.05}.report-key-points{width:min(960px,100%);margin:0 auto}.report-key-points h2{color:#123e56;margin:0 0 18px;font-size:clamp(29px,2.5vw,36px);line-height:1.2}.report-key-list{border-top:1px solid #d8e6ea;border-bottom:1px solid #d8e6ea;margin:0;padding:0;list-style:none}.report-key-point{border-bottom:1px solid #e2ecef;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:22px;padding:20px 6px;display:grid}.report-key-point:last-child{border-bottom:0}.report-key-point>span{color:#17607f;background:#e8f6fb;border-radius:50%;place-items:center;width:42px;height:42px;font-size:17px;font-weight:950;display:grid}.report-key-point p{color:#557181;min-width:0;margin:0;font-size:18px;line-height:1.5}.result-actions{flex-wrap:nowrap;justify-content:center;margin:0}.result-actions button{white-space:nowrap;padding:14px 24px;font-size:18px}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (width<=1050px){:root{--header-h:96px}.topbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions""progress progress";gap:8px}.brand{grid-area:brand}.brand-title{white-space:normal}.top-actions{grid-area:actions}.progress-track{grid-area:progress;max-width:none}.progress-label{font-size:13px}.progress-step{padding:6px 8px}.terminal{width:min(58%,700px)}.upgrade-layout{grid-template-columns:minmax(350px,1.08fr) minmax(310px,.92fr);gap:12px}.simple-builder-board{grid-template-columns:minmax(0,1fr) minmax(320px,.88fr);gap:18px;width:calc(100% - 34px);padding:22px}.simple-flow-workspace{padding:20px}.simple-parts-tray{padding-top:20px}.simple-flow-slot{min-height:196px}.simple-parts-columns{gap:10px}.simple-part-card{min-height:98px;padding-inline:7px}.ai-builder-board{grid-template-columns:minmax(0,1fr) minmax(330px,.9fr)}.ai-flow-slots{grid-template-columns:minmax(0,1fr) 24px minmax(0,1.6fr) 24px minmax(0,1fr)}.result-stage{height:auto;min-height:calc(100dvh - var(--header-h));overflow-y:auto}.result-panel{height:auto;max-height:none;overflow:visible}}@media (width<=1000px) and (width>=761px){.ai-builder-board,.simple-builder-board{grid-template-columns:1fr;grid-template-areas:"header""flow""tray""footer"}.ai-flow-slots,.simple-flow-slots{margin-top:16px}.simple-parts-tray{padding-top:0}.pipeline,.pipeline.pipeline-grouped{grid-template-columns:1fr}.pipeline>.flow-connector{height:24px}.pipeline .flow-arrow{transform:rotate(90deg)}}@media (height<=800px) and (width>=761px){.result-panel{gap:22px;padding:28px 50px}.report-hero h1{margin:0 auto 8px;font-size:46px}.report-key-points h2{margin-bottom:12px;font-size:28px}.report-key-point{padding-block:14px}.report-key-point>span{width:36px;height:36px;font-size:15px}.report-key-point p{font-size:16px}.terminal{padding:18px 22px;top:auto;bottom:14px}.terminal-header{padding-bottom:10px}.terminal h1{margin-top:6px;font-size:clamp(25px,2.7vw,34px)}.terminal h2{margin:10px 0 6px;font-size:clamp(20px,2vw,26px)}.terminal .lead{margin-top:10px;font-size:17px;line-height:1.4}.terminal .decision-grid,.terminal .feedback,.terminal .pipeline{margin-top:10px;margin-bottom:10px}.terminal .pipe-card{min-height:94px;padding-top:8px;padding-bottom:8px}.upgrade-layout{gap:13px;padding:0}.upgrade-copy{padding:13px}.upgrade-copy h1{margin-top:5px;font-size:32px}.upgrade-copy p{margin:5px 0;line-height:1.35}.slot-grid{margin-top:9px}.module-slot{min-height:102px;padding:8px}.module-bank{padding:13px}.module-bank>p{margin-bottom:9px}.module-card{min-height:62px;padding:6px 8px}.module-list{gap:6px}.module-card .module-icon{font-size:18px}.module-card strong{margin:0;font-size:13px}.module-card small{font-size:10px}.selected-note{min-height:38px;margin-top:8px;padding:8px 10px}.upgrade-actions{z-index:5;background:#fffdf7fa;border:1px solid #12405b1f;border-radius:15px;padding:8px;position:sticky;bottom:-1px;box-shadow:0 -8px 18px #0d3d5914}.simple-builder-board{gap:14px 20px;padding:19px 22px}.simple-builder-header h1{margin-top:5px;font-size:31px}.simple-builder-header p{font-size:14px}.simple-flow-workspace{padding:17px}.simple-flow-slots{margin:0}.simple-flow-slot{min-height:162px;padding:12px}.simple-flow-slot .slot-icon{font-size:34px}.simple-tray-heading{min-height:43px}.simple-parts-tray{padding-top:17px}.simple-part-card{gap:5px;min-height:70px;padding:8px 6px}.simple-part-card .module-icon{font-size:24px}.simple-part-card strong{font-size:12px}.ai-flow-card{gap:5px;min-height:138px;padding:9px 7px}.ai-flow-card .slot-icon{font-size:27px}.ai-flow-card strong{font-size:14px}.ai-config-stack{gap:8px}.ai-config-section{gap:6px;padding:8px}.ai-input-card,.ai-role-card{gap:4px;min-height:62px;padding:6px 4px}.ai-input-card>span{font-size:21px}.ai-role-card img{width:34px;height:38px}.simple-builder-footer .primary-button,.simple-builder-footer .secondary-button{min-height:46px;padding:9px 15px}}@media (width<=760px){:root{--header-h:88px}body{font-size:16px}.topbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions""progress progress";gap:6px;padding:4px 8px}.brand{grid-area:brand}.progress-label{display:none}.brand-title{white-space:normal;font-size:14px;line-height:1.2}.top-actions{grid-area:actions;gap:4px}.top-button{min-height:34px;padding:4px 7px;font-size:13px}.progress-track{grid-area:progress;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-width:none}.progress-step{grid-template-columns:1fr;place-items:center;min-height:34px;padding:3px}.progress-number{width:24px;height:24px}.game-stage{min-height:calc(100dvh - var(--header-h));background-position:45%;overflow:auto}.mission-card{margin:18px auto;position:relative;inset:auto;transform:none}.briefing-card{min-height:66px;padding:8px 5px}.terminal{width:calc(100% - 24px);max-height:none;margin:0 12px 16px;padding:18px;position:relative;inset:auto}.decision-grid.three,.pipeline,.pipeline.pipeline-grouped{grid-template-columns:1fr}.flow-connector{height:24px}.flow-arrow{transform:rotate(90deg)}.upgrade-layout{padding:0}.simple-builder-board,.upgrade-layout{grid-template-columns:1fr;width:calc(100% - 24px);max-height:none;margin:12px;position:relative;inset:auto;transform:none}.simple-builder-board{border-radius:24px;grid-template-areas:"header""flow""tray""footer";gap:18px;padding:18px}.simple-builder-header h1{font-size:30px}.simple-flow-workspace{padding:16px}.simple-flow-slots{grid-template-columns:1fr;margin-top:14px}.simple-flow-slot{border-radius:17px;gap:6px;min-height:138px;padding:10px 7px}.simple-flow-slot .slot-icon{font-size:30px}.simple-flow-slot .slot-value{font-size:16px}.simple-tray-heading{min-height:48px}.simple-parts-tray{padding:0}.simple-tray-heading p{max-width:min(62%,300px)}.concept-modal{max-height:calc(100dvh - var(--header-h) - 36px);padding:24px 18px;overflow-y:auto}.concept-modal h2{font-size:27px}.concept-steps{grid-template-columns:1fr;gap:9px;margin:16px auto}.concept-step{min-height:76px;padding:11px 12px}.concept-step>strong{font-size:16px}.reflection-choice-row{grid-template-columns:1fr}.simple-parts-columns{gap:10px}.simple-part-card{border-radius:17px;min-height:88px}.ai-flow-slots{grid-template-columns:1fr;gap:10px;margin-top:14px}.ai-flow-card{border-radius:16px;min-height:128px}.ai-config-stack{grid-template-rows:none}.ai-config-section{min-height:190px}.ai-input-card,.ai-role-card{min-height:86px}.simple-builder-footer{flex-direction:column;align-items:stretch}.simple-builder-footer .feedback{width:100%;max-width:none}.simple-builder-footer .button-row{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin:0;display:grid}.simple-builder-footer .button-row button{width:100%}.module-bank{order:2}.upgrade-actions{order:3}.module-list,.slot-grid{grid-template-columns:1fr}.upgrade-actions{flex-direction:column;align-items:stretch}.upgrade-actions .button-row,.upgrade-actions .button-row button{width:100%}.result-stage{padding:12px}.result-panel{border-radius:22px;max-height:none;padding:26px 20px}.report-hero{padding:0}.report-hero h1{font-size:34px}.result-actions{justify-content:center;width:100%;display:flex}.result-actions button{white-space:normal;width:min(220px,100%)}}@media (width<=1180px),(width<=1366px) and (orientation:portrait),(pointer:coarse) and (width>=761px){:root{--header-h:114px}.topbar{padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions""progress progress";gap:8px}.brand{grid-area:brand}.brand-title{white-space:normal}.top-actions{grid-area:actions}.progress-track{grid-area:progress;max-width:none}.progress-step,.top-button{min-height:44px}.game-stage{overflow:visible}.visitor-layout{padding:16px 16px max(16px,env(safe-area-inset-bottom));background-color:#f7f1e7;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;display:grid}.gate-scene{min-width:0;height:clamp(360px,calc(100svh - var(--header-h) - 32px),640px);border-radius:24px;align-self:start;min-height:0;position:sticky;inset:16px auto auto;box-shadow:0 8px 22px #092f491a}.visitor-layout>.terminal{align-self:center;width:100%;min-width:0;max-height:none;margin:0;padding:20px;position:relative;inset:auto;overflow:visible}.pipeline,.pipeline.pipeline-grouped{grid-template-columns:minmax(0,1fr) 24px minmax(0,1.6fr) 24px minmax(0,1fr)}.pipeline .flow-arrow{transform:none}.pipeline>.flow-connector{height:auto}.ai-builder-board,.simple-builder-board{width:calc(100% - 32px);max-height:none;margin:16px 16px max(16px,env(safe-area-inset-bottom));grid-template-columns:1fr;grid-template-areas:"header""flow""tray""footer";gap:18px;padding:22px;position:relative;inset:auto;overflow:visible;transform:none}.simple-flow-workspace{gap:14px;padding:18px}.ai-flow-slots,.simple-flow-slots{margin:0}.simple-flow-slot{min-height:160px}.simple-parts-tray{padding:0}.simple-tray-heading{min-height:44px}.simple-tray-heading p{font-size:14px}.simple-parts-columns{grid-template-columns:1fr}.simple-parts-list{grid-template-rows:none;grid-template-columns:repeat(3,minmax(0,1fr))}.simple-part-card{min-height:88px}.ai-input-card strong,.ai-role-card strong,.simple-part-card strong{font-size:15px}.ai-config-stack{grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr))}.ai-config-section{min-height:176px}.simple-builder-footer{gap:12px}.simple-builder-footer .feedback{font-size:14px}.simple-builder-footer button{min-height:48px}.mission-card{margin:28px auto;position:relative;inset:auto}.result-stage{height:auto;overflow:visible}.result-panel{max-height:none;overflow:visible}.reflection-backdrop{padding-bottom:max(18px,env(safe-area-inset-bottom))}}@media (width<=1366px) and (orientation:portrait),(width<=760px){.visitor-layout{padding:12px 12px max(12px,env(safe-area-inset-bottom));grid-template-columns:1fr;align-content:start;gap:16px}.gate-scene{height:clamp(240px,32svh,420px);min-height:0;position:relative;top:auto}.ai-config-section{min-height:164px}}@media (hover:none){.ai-input-card:hover,.ai-role-card:hover,.primary-button:hover,.progress-step:hover,.secondary-button:hover,.simple-part-card:hover,.top-button:hover{transform:none}.ai-input-card,.simple-part-card{cursor:pointer}}@media (width<=600px){.simple-parts-list{grid-template-columns:repeat(2,minmax(0,1fr))}.simple-part-card:last-child{grid-column:1/-1}.simple-tray-heading{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px}.simple-tray-heading p{text-align:left;max-width:none}}@media (width<=760px){.ai-config-stack{grid-template-columns:1fr}}@media (width<=760px),(width>=761px) and (width<=1180px) and (orientation:landscape){.pipeline,.pipeline.pipeline-grouped{grid-template-columns:1fr}.pipeline>.flow-connector{height:24px}.pipeline .flow-arrow{transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media print{.game-stage:after,.game-stage:before,.reflection-backdrop,.result-actions,.topbar{display:none!important}.game-stage,.result-stage,body{background:#fff!important}.result-panel{max-height:none;box-shadow:none;border:0}}.visitor-figure{transform-origin:bottom;animation:visitor-enter var(--visitor-entry-duration,.56s) cubic-bezier(.2,.8,.2,1) both}.visitor-figure.motion-admit:not(.motion-sequence){animation:visitor-admit-decision var(--visitor-motion-duration,1.6s) ease-in-out both}.visitor-figure.motion-reject:not(.motion-sequence){animation:visitor-reject-decision var(--visitor-motion-duration,1.6s) ease-in-out both}.visitor-figure.motion-rewind-admit{animation:visitor-return-admit var(--visitor-motion-duration,1.6s) ease-in-out reverse both}.visitor-figure.motion-rewind-reject{animation:visitor-return-reject var(--visitor-motion-duration,1.6s) ease-in-out reverse both}.visitor-figure.motion-resting{animation:none;transform:translate(0)scale(1)}.visitor-figure.motion-sequence{animation-duration:var(--visitor-entry-duration,1.5s),var(--visitor-motion-duration,3.5s);animation-delay:0s,var(--visitor-entry-duration,1.5s);animation-timing-function:cubic-bezier(.2,.8,.2,1),ease-in-out;animation-fill-mode:both,forwards}.visitor-figure.motion-sequence.motion-admit{animation-name:visitor-enter,visitor-admit-sequence}.visitor-figure.motion-sequence.motion-reject{animation-name:visitor-enter,visitor-reject-sequence}@keyframes visitor-enter{0%{transform:translateX(var(--visitor-entry-from)) scale(.95)}to{transform:translate(0)scale(1)}}@keyframes visitor-admit-decision{0%,18%{transform:translate(0)scale(1)}to{transform:translate(var(--visitor-school-target-x),var(--visitor-school-target-y)) scale(0)}}@keyframes visitor-reject-decision{0%,18%{transform:translate(0)scale(1)}to{transform:translateX(var(--visitor-exit-shift-x)) scale(1)}}@keyframes visitor-return-admit{0%,18%{transform:translate(0)scale(1)}to{transform:translate(var(--visitor-school-target-x),var(--visitor-school-target-y)) scale(0)}}@keyframes visitor-return-reject{0%,18%{transform:translate(0)scale(1)}to{transform:translateX(var(--visitor-exit-shift-x)) scale(1)}}@keyframes visitor-admit-sequence{0%,25%{transform:translate(0)scale(1)}to{transform:translate(var(--visitor-school-target-x),var(--visitor-school-target-y)) scale(0)}}@keyframes visitor-reject-sequence{0%,25%{transform:translate(0)scale(1)}to{transform:translateX(var(--visitor-exit-shift-x)) scale(1)}}@media (prefers-reduced-motion:reduce){.visitor-figure,.visitor-figure.motion-admit,.visitor-figure.motion-reject,.visitor-figure.motion-resting,.visitor-figure.motion-rewind-admit,.visitor-figure.motion-rewind-reject{opacity:1;animation:none;transform:translate(0)scale(1)}}
