@font-face{font-family:Manrope;src:url(/acquisition/fonts/manrope-variable.ttf) format("truetype");font-weight:200 800;font-style:normal;font-display:swap}:root{font-family:Manrope,sans-serif;color:#252b2d;background:#f4f2e9;font-synthesis:none;font-weight:450;--paper:#fffef8;--ink:#252b2d;--muted:#626864;--line:#dcded3;--blue:#234cda;--green:#28634f;--rust:#a34428}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:44px}button:disabled{cursor:not-allowed}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:4px}h1,h2,h3,p{margin:0}button{color:inherit}h1,h2,h3{font-weight:650}h2:focus{outline:none}button,a{touch-action:manipulation}.protect-app{min-height:100vh;background:radial-gradient(ellipse at 85% 0%,#e9eddf88,transparent 45%);padding:0 40px}.protect-app main,.masthead,.desk-footer{max-width:1440px;margin:auto}.masthead{height:91px;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-weight:800;letter-spacing:.08em;font-size:21px;min-height:44px}.compass-mark{font-size:34px;line-height:1;color:var(--blue)}.simulation-badge{display:inline-flex;align-items:center;gap:8px;background:#e7ebdf;border:1px solid #d3dbc8;border-radius:5px;font-size:10px;letter-spacing:.1em;font-weight:750;padding:8px 10px}.simulation-badge>span,.local-dot{width:6px;height:6px;border-radius:50%;background:var(--green)}.text-button{border:0;background:none;font-size:12px;font-weight:650;text-decoration:underline;text-underline-offset:4px}.reset-button{margin-left:auto}.desk-title{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:36px 0 29px}.eyebrow{font-size:10px;font-weight:750;line-height:1.6;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}h1{font-size:clamp(34px,3.6vw,55px);letter-spacing:-.055em;line-height:1.15;margin-top:9px}h1>span{color:var(--blue)}.desk-caption{font-size:13px;line-height:1.7;color:var(--muted)}.incident-progress{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line)}.incident-progress li{display:flex;gap:13px;align-items:center;min-width:0;padding:19px 20px;color:var(--muted);border-right:1px solid var(--line);position:relative}.incident-progress li:first-child{padding-left:0}.incident-progress li:last-child{border-right:0}.incident-progress strong{font-size:13px;display:block}.progress-number{width:35px;height:35px;border:1px solid #c9cec2;border-radius:50%;display:grid;place-items:center;flex:none;font-size:11px;font-weight:750}.incident-progress .is-current{color:var(--blue)}.incident-progress .is-current:after{position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--blue);content:""}.is-current .progress-number{background:var(--blue);border-color:var(--blue);color:#fff}.is-done .progress-number{background:#ddeade;color:var(--green);border-color:#bfcfbe}.briefing-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:48px;align-items:center;padding:56px 0 65px}.briefing-copy h2,.debrief>h2{font-size:clamp(32px,3.1vw,47px);line-height:1.2;letter-spacing:-.045em;margin:17px 0 21px}.briefing-copy h2 em{font-style:normal;color:var(--blue)}.briefing-copy>p:not(.eyebrow):not(.fine-print){max-width:410px;font-size:14px;line-height:1.8;color:var(--muted)}.briefing-steps{display:flex;flex-direction:column;gap:10px;font-size:12px;padding:23px 0}.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid var(--blue);border-radius:6px;background:var(--blue);color:#fff;padding:14px 22px;font-size:13px;font-weight:700;transition:background .2s,transform .2s}.primary-button:hover{background:#173bb7;transform:translateY(-1px)}.fine-print{font-size:11px;line-height:1.7;color:var(--muted);margin-top:14px}.briefing-visual{transform:rotate(-1deg)}.desk-note{border:1px solid #dadbc8;background:#edeedb;margin:20px 18px 0;padding:23px 26px;transform:rotate(2deg)}.desk-note p{font-size:16px;line-height:1.7;margin-top:10px;letter-spacing:-.03em}.office-map{border:1px solid var(--line);border-radius:10px;background:#fafbf3;overflow:hidden;--flow:#747a72}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 21px}.panel-heading h2{font-size:13px;letter-spacing:-.02em}.panel-heading .eyebrow{font-size:9px}.office-map svg{display:block;width:100%;height:auto}.office-zone{fill:#e7ebdf;stroke:#ccd3c3}.zone-label{font:700 11px Manrope,sans-serif;letter-spacing:1.5px;fill:#626b5c}.connection{stroke:#b9c4ae;stroke-width:2;stroke-dasharray:5 6;fill:none}.boundary-line{stroke:#98a987;stroke-dasharray:4 5;stroke-width:1.5}.map-node rect{fill:#fffef8;stroke:#c9cfc1;stroke-width:1.5}.map-node path{stroke:#565e55;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.map-node circle{fill:var(--blue)}.map-node text{font:650 15px Manrope,sans-serif;text-anchor:middle;fill:#394239}.assistant-node rect{fill:#e7ecff;stroke:#a2b2e8}.assistant-node path{stroke:var(--blue)}.boundary-label{font:700 9px Manrope,sans-serif;letter-spacing:1px;text-anchor:middle;fill:#687560}.decision-path{stroke:var(--flow);stroke-width:3;fill:none;stroke-dasharray:5 5;opacity:.65}.moving-token,.resting-token{fill:var(--flow);stroke:#fffef8;stroke-width:3}.moving-token{animation:hide-token 1.3s step-end forwards}.resting-token{animation:reveal-token 1.3s step-end}.stop-mark{stroke:var(--flow);stroke-width:3}.flow-safe{--flow:var(--green)}.flow-denied{--flow:#93692b}.flow-risk{--flow:var(--rust)}.map-caption{padding:15px 21px;display:flex;gap:10px;align-items:flex-start;border-top:1px solid var(--line);background:#ffffff70}.status-dot{width:7px;height:7px;flex:none;margin-top:5px;border-radius:50%;background:var(--flow)}.map-caption strong{font-size:12px}.map-caption p{font-size:11px;line-height:1.6;color:var(--muted);margin-top:3px}.incident-heading{padding:29px 0 23px;display:flex;justify-content:space-between;align-items:center;gap:20px}.incident-heading h2{font-size:clamp(24px,2.4vw,34px);letter-spacing:-.04em;margin:7px 0}.incident-heading p:not(.eyebrow){font-size:12px;color:var(--muted)}.case-status{font-size:10px;font-weight:700;white-space:nowrap;border:1px solid var(--line);padding:8px 12px;border-radius:20px}.training-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.work-area{display:grid;gap:20px;min-width:0}.evidence-panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden}.evidence-intro{font-size:12px;line-height:1.8;padding:0 21px 18px;color:var(--muted)}.evidence-item{border-top:1px solid var(--line)}.evidence-file{display:flex;align-items:center;gap:12px;padding:17px 21px}.file-symbol{display:grid;place-items:center;background:#edece3;width:35px;height:42px;border-radius:4px;font-size:23px;flex:none}.evidence-file>div{min-width:0;flex:1}.evidence-file h3{font-size:12px;overflow-wrap:anywhere;margin-top:3px}.evidence-file .eyebrow{font-size:9px}.secondary-button{border:1px solid #c9cec3;border-radius:5px;background:transparent;padding:10px 15px;font-size:12px;font-weight:700}.secondary-button:hover:not(:disabled){background:#ecefe2;border-color:#8a9981}.inspect-button{flex:none;color:var(--blue)}.inspect-button:disabled{color:var(--green);background:#f0f3e8;border-color:transparent}.evidence-content{padding:0 21px 18px;animation:appear .3s ease-out}.evidence-content pre{margin:0;background:#f3f2eb;border:1px solid #e6e6dc;border-left:3px solid #a3afa0;border-radius:3px;padding:17px;font:11px/1.85 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.evidence-note{font-size:11px;line-height:1.7;margin-top:12px;color:var(--muted)}.coach-panel{min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--paper);overflow:hidden;position:sticky;top:16px}.coach-heading{display:flex;align-items:center;gap:12px;padding:18px;border-bottom:1px solid var(--line)}.coach-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--blue);background:#e8ecfa;font-weight:750}.coach-heading h2{font-size:13px}.coach-heading div>span{font-size:10px;color:var(--muted)}.local-dot{margin-left:auto}.chat-log{height:320px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:20px 16px;display:flex;flex-direction:column;gap:16px}.chat-message{background:#f1f2e9;border-radius:0 9px 9px;padding:13px;max-width:96%;flex-shrink:0;overflow-wrap:anywhere}.chat-message p{font-size:12px;line-height:1.85;margin-top:5px}.chat-message .eyebrow{font-size:8px}.chat-message.player{align-self:flex-end;background:#e9edfc;border-radius:9px 0 9px 9px}.coach-controls{padding:0 16px 18px}.hint-button{width:100%;border:1px solid var(--line);background:transparent;border-radius:5px;padding:10px 12px;display:flex;justify-content:space-between;font-size:11px;font-weight:650}.hint-button:disabled{color:#71776e;background:#f3f4ee}.coach-controls form{margin-top:17px}.coach-controls label{font-size:10px;font-weight:650}.chat-input-row{display:flex;gap:8px;margin-top:7px}.chat-input-row input{min-width:0;width:100%;background:#fffef9;border:1px solid #cdd2c4;border-radius:5px;padding:11px;font-size:12px}.send-button{width:44px;flex:none;border:0;border-radius:5px;background:var(--blue);color:#fff;font-size:24px}.send-button:disabled{background:#e4e8dc;color:#72796a}.coach-controls form p{font-size:9px;line-height:1.8;color:var(--muted);margin-top:8px}.decision-panel{margin-top:24px;margin-bottom:38px}.decision-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}.decision-heading h2{font-size:25px;letter-spacing:-.04em}.decision-heading p{font-size:11px;color:var(--muted)}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.choice-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:19px 21px 25px;border:1px solid #cdd2c4;border-radius:8px;background:var(--paper);transition:border-color .2s,transform .2s,box-shadow .2s}.choice-card:hover:not(:disabled){border-color:var(--blue);transform:translateY(-3px);box-shadow:0 7px 20px #234cda0d}.choice-card:disabled{background:#eeeee5;color:#676d65}.choice-number{font-size:10px;color:var(--blue);font-weight:750;margin-bottom:19px}.choice-card strong{font-size:14px;letter-spacing:-.02em}.choice-card>span:not(.choice-number):not(.choice-arrow){font-size:11px;color:var(--muted);line-height:1.7;margin-top:8px;max-width:95%}.choice-arrow{position:absolute;right:19px;top:17px;font-size:20px;color:var(--blue)}.feedback{padding:25px 28px;display:flex;gap:30px;align-items:center;justify-content:space-between;border:1px solid #cbd8c5;border-radius:9px;background:#e8efdf;animation:appear .25s ease-out}.feedback.retry{background:#f1e9dc;border-color:#decdb2}.feedback h2{font-size:22px;letter-spacing:-.035em;margin-top:7px}.feedback p:not(.eyebrow){font-size:12px;line-height:1.8;max-width:850px;margin-top:10px}.feedback button{flex-shrink:0}.desk-footer{border-top:1px solid var(--line);padding:24px 0 32px;display:flex;justify-content:space-between;gap:22px}.desk-footer p{font-size:11px;font-weight:700}.desk-footer p>span{display:block;font-size:10px;color:var(--muted);font-weight:450;margin-top:7px}.desk-footer>div{text-align:right}.desk-footer a{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:12px;font-weight:700;color:var(--blue);text-underline-offset:4px}.desk-footer small{display:block;font-size:9px;color:var(--muted)}.debrief{padding:42px 0}.debrief>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.7}.session-totals{display:flex;gap:60px;padding:26px 0 30px}.session-totals>div{display:flex;flex-direction:column;gap:6px}.session-totals strong{font-size:44px;font-weight:550;letter-spacing:-.05em;color:var(--blue)}.session-totals span{font-size:11px;color:var(--muted)}.debrief-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.debrief-levels article{padding:23px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.debrief-levels h3{font-size:17px;letter-spacing:-.035em;margin:12px 0}.debrief-levels p{font-size:12px;line-height:1.8;color:var(--muted)}.debrief-levels small{display:block;font-size:10px;color:var(--green);margin-top:20px}.debrief-actions{display:flex;gap:12px;margin-top:26px}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;z-index:10;top:12px;left:12px;background:var(--paper);padding:16px}.protect-app p,.protect-app h2,.protect-app h3{overflow-wrap:anywhere}.agent-panel{padding:23px 26px;margin:0 0 20px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.agent-intro{display:flex;justify-content:space-between;align-items:center;gap:24px}.agent-intro h2{font-size:23px;letter-spacing:-.04em;margin-top:4px}.agent-intro>p{max-width:310px;font-size:11px;line-height:1.7;color:var(--muted)}.agent-tools{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:19px}.agent-tools>p{font-size:12px;line-height:1.8;max-width:410px;color:var(--muted)}.agent-actions{display:flex;flex-wrap:wrap;gap:10px}.agent-actions button:disabled{opacity:.55}.agent-notice{font-size:11px;line-height:1.7;color:var(--muted);margin-top:12px}.agent-proposal{margin-top:20px;border:1px solid #cbd4e8;border-left:3px solid var(--blue);border-radius:5px;background:#f0f3fb;padding:20px}.agent-proposal h3{font-size:17px;margin:9px 0}.agent-reason{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:18px}.agent-format,.teaching-note{font-size:11px;line-height:1.8}.agent-format{margin-top:12px;border-top:1px solid var(--line);padding-top:8px}.agent-format summary,.teaching-note summary{cursor:pointer;min-height:44px;align-content:center;font-weight:700}.agent-format p{margin:8px 0;max-width:800px;color:var(--muted)}.agent-format pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f2f2e9;padding:13px;font:11px/1.8 ui-monospace,monospace}.agent-format code{overflow-wrap:anywhere}.teaching-note{margin-bottom:22px;padding:0 4px;color:var(--muted)}.teaching-note ul{padding-left:20px}.teaching-note a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue)}summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}@media(max-width:700px){.agent-panel{padding:19px}.agent-intro,.agent-tools{align-items:flex-start;flex-direction:column;gap:12px}.agent-intro>p{max-width:none}.agent-actions{width:100%}.agent-actions button{flex:1}.agent-proposal{padding:16px}.agent-proposal .agent-actions{flex-direction:column}}@keyframes appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes hide-token{to{opacity:0}}@keyframes reveal-token{0%{opacity:0}to{opacity:1}}@media(min-width:1350px){.training-layout{grid-template-columns:minmax(0,1fr) 340px}.work-area{grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);align-items:start}.office-map{grid-column:2;grid-row:1}.evidence-panel{grid-column:1;grid-row:1}.work-area .office-map svg{min-height:275px}.work-area .map-caption{min-height:93px}.chat-log{height:375px}}@media(max-width:1000px){.protect-app{padding:0 24px}.training-layout{grid-template-columns:minmax(0,1fr) 280px;gap:16px}.panel-heading{padding:16px}.panel-heading .eyebrow{font-size:8px}.briefing-layout{gap:25px}.briefing-copy h2{font-size:34px}.incident-progress li{padding:16px 12px}.incident-progress strong{font-size:11px}.incident-progress .eyebrow{font-size:8px}.evidence-file{flex-wrap:wrap;padding:16px}.inspect-button{margin-left:auto}.feedback{align-items:flex-start;flex-direction:column}.case-status{display:none}.debrief-levels{gap:10px}.debrief-levels article{padding:16px}}@media(max-width:700px){.protect-app{padding:0 18px}.masthead{height:auto;min-height:82px;gap:10px;flex-wrap:wrap;padding:14px 0}.wordmark{font-size:17px;gap:5px}.compass-mark{font-size:27px}.simulation-badge{font-size:8px;padding:7px;letter-spacing:.06em;margin-left:auto}.reset-button{font-size:10px;min-height:44px;padding:0;margin-left:0;width:100%;text-align:right;margin-top:-10px;margin-bottom:-8px}.desk-title{padding:25px 0 23px}.desk-title .eyebrow{font-size:8px}.desk-caption{display:none}h1{font-size:36px}.incident-progress li{flex-direction:column;align-items:flex-start;gap:9px;padding:14px 10px}.incident-progress strong{font-size:10px;line-height:1.5}.incident-progress .eyebrow{font-size:7px;letter-spacing:.06em}.progress-number{width:29px;height:29px;font-size:9px}.briefing-layout{display:flex;flex-direction:column;gap:30px;padding:32px 0}.briefing-copy{width:100%}.briefing-copy h2{font-size:35px}.briefing-visual{width:100%;transform:none}.desk-note{margin:14px 9px 0;padding:18px}.desk-note p{font-size:14px}.training-layout{grid-template-columns:minmax(0,1fr);gap:18px}.incident-heading{padding:24px 0 18px}.incident-heading h2{font-size:26px;line-height:1.2}.incident-heading .eyebrow{font-size:9px}.work-area{gap:16px}.coach-panel{position:static}.chat-log{height:230px}.choice-grid{grid-template-columns:1fr;gap:10px}.choice-card{padding:17px 20px 20px}.choice-number{margin-bottom:10px}.choice-card strong{font-size:15px}.choice-card>span:not(.choice-number):not(.choice-arrow){font-size:12px}.decision-heading{display:block}.decision-heading p{margin-top:8px;line-height:1.6}.feedback{padding:22px;gap:20px}.feedback h2{font-size:24px}.feedback .primary-button{width:100%}.desk-footer{flex-direction:column;gap:13px;padding-top:22px}.desk-footer>div{text-align:left}.debrief-levels{grid-template-columns:1fr;gap:12px}.debrief-actions{flex-direction:column}.debrief-actions button{justify-content:center}.session-totals{gap:40px}.debrief>h2{font-size:34px}.evidence-content{padding:0 15px 17px}.evidence-content pre{font-size:10px;padding:13px}.panel-heading{padding:16px}.map-caption{padding:14px 16px}.map-node text{font-size:19px}.boundary-label{font-size:12px}.zone-label{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.moving-token{display:none}.resting-token{opacity:1}.briefing-visual,.desk-note{transform:none}}.mode-nav{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:8px;background:#ecebe1}.mode-nav button{min-height:38px;border:0;border-radius:6px;background:transparent;padding:0 12px;font-size:12px;font-weight:700;color:var(--muted);transition:background .18s,color .18s}.mode-nav button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #0000001a}.lab-app .masthead{gap:18px}.lab-source{display:inline-flex;margin-left:auto;border:1px solid var(--line);border-radius:7px;overflow:hidden}.lab-source button{min-height:38px;border:0;background:transparent;padding:0 12px;font-size:12px;font-weight:700;color:var(--muted)}.lab-source button[aria-pressed=true]{background:var(--ink);color:#fff}.lab-conn{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:650;color:var(--muted);max-width:280px}.lab-conn>span{width:8px;height:8px;border-radius:50%;background:#b9bcb2;flex:none}.lab-conn.tone-fixture>span{background:#b98a2c}.lab-conn.tone-ready>span{background:var(--blue)}.lab-conn.tone-live>span{background:var(--green)}.lab-conn.tone-off>span{background:var(--rust)}.lab-conn.tone-pending>span{animation:lab-pulse 1s ease-in-out infinite alternate}@keyframes lab-pulse{to{opacity:.3}}.lab-title{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:26px 0 18px}.lab-title h1{font-size:clamp(26px,2.6vw,40px);max-width:760px;letter-spacing:-.035em}.lab-title h1 span{color:var(--blue)}.lab-steps{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;flex:none}.lab-steps li{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:700;color:var(--muted);background:var(--paper);transition:background .2s,color .2s,border-color .2s}.lab-steps li span{font-size:10px;letter-spacing:.06em}.lab-steps li.is-current{border-color:var(--blue);color:var(--blue);background:#eef1fd}.lab-steps li.is-done{color:var(--green);border-color:#bcd2c6}.lab-levels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:16px}.lab-levels button{text-align:left;border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:10px 13px;display:flex;flex-direction:column;gap:2px;transition:border-color .18s,transform .18s}.lab-levels button:hover{border-color:#9aa39a}.lab-levels button[aria-current=true]{border-color:var(--ink);box-shadow:inset 0 -3px 0 var(--blue)}.lab-levels button.is-done .eyebrow{color:var(--green)}.lab-levels strong{font-size:13px}.lab-live-gate{border:1px solid #d7c79d;background:#fbf5e4;border-radius:9px;padding:12px 16px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;font-size:12.5px;line-height:1.55}.lab-live-gate label{display:inline-flex;gap:8px;align-items:center;font-weight:700;min-height:44px}.lab-live-gate input{width:18px;height:18px;accent-color:var(--blue)}.lab-grid{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(320px,1.1fr) minmax(300px,1fr);grid-template-areas:"brief stage result";gap:16px;align-items:start}.lab-brief{grid-area:brief}.lab-stage{grid-area:stage;display:flex;flex-direction:column;gap:12px}.lab-result{grid-area:result;display:flex;flex-direction:column;gap:12px}.lab-brief,.lab-result>*,.lab-stage>*{border:1px solid var(--line);border-radius:10px;background:var(--paper)}.lab-brief{padding:20px}.lab-brief h2{font-size:20px;line-height:1.3;letter-spacing:-.03em;margin:6px 0 14px}.lab-facts{margin:0 0 12px;display:grid;gap:10px}.lab-facts dt{font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.lab-facts dd{margin:2px 0 0;font-size:13px;line-height:1.55}.lab-hint{border-top:1px solid var(--line);padding-top:6px;margin-bottom:12px}.lab-hint p{font-size:12.5px;line-height:1.55;background:#f3f0e2;border-radius:7px;padding:10px 12px;animation:appear .2s ease both}.lab-hood{border:1px solid var(--line);border-radius:9px;background:#fbfbf6;overflow:hidden}.lab-hood.is-open{border-color:#b9c0b3}.lab-hood-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;background:transparent;padding:12px 14px;text-align:left}.lab-hood-toggle>span:first-child{display:flex;flex-direction:column}.lab-hood-toggle strong{font-size:13px}.lab-hood-meta{display:inline-flex;gap:10px;align-items:center;font-size:11px;font-weight:700;color:var(--muted)}.lab-hood-meta span{font-size:18px;color:var(--ink)}.lab-hood-body{padding:0 14px 14px;display:flex;flex-direction:column;gap:10px;animation:appear .2s ease both}.lab-field{display:flex;flex-direction:column;gap:4px}.lab-field>span{font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.lab-field textarea,.lab-draft textarea{width:100%;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:9px 10px;resize:vertical}.lab-field textarea[readonly]{background:#f3f2ea;color:#4b514e}.lab-field textarea:focus-visible,.lab-draft textarea:focus-visible{outline:3px solid var(--blue);outline-offset:1px}.lab-tool{border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--paper)}.lab-tool.is-poisoned{border-color:#d9a894}.lab-tool header{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.lab-tool code{font-size:12.5px;font-weight:700}.lab-badge{font-size:10px;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:2px 8px;color:var(--muted)}.lab-badge.risk{color:var(--rust);border-color:#e1b7a8;background:#fbefe9}.lab-remove{margin-left:auto;border:1px solid var(--line);background:transparent;border-radius:6px;font-size:11px;font-weight:700;padding:0 10px;min-height:36px}.lab-remove:hover{border-color:var(--rust);color:var(--rust)}.lab-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.lab-changes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.lab-changes li{font-size:12px;font-weight:650;padding:5px 9px;border-radius:6px;background:#eef1fd;color:#1d3fae}.lab-changes li.is-removed{background:#fbefe9;color:var(--rust)}.lab-empty,.lab-muted{font-size:12.5px;line-height:1.55;color:var(--muted)}.lab-fine{font-size:11px;color:var(--muted);line-height:1.5;margin-top:8px}.lab-boundary{margin:0;padding:12px 14px 14px;--c:#8b918a}.lab-boundary-svg{display:block;width:100%;height:auto}.b-zone{fill:#f3f5ec;stroke:#c9cfc3;stroke-dasharray:5 6}.b-zone-label,.b-gate-label{font-size:10px;font-weight:750;letter-spacing:.12em;fill:var(--muted)}.b-gate-label{text-anchor:middle}.b-wire{stroke:#d6d9cf;stroke-width:2}.b-gate{stroke:var(--ink);stroke-width:3;stroke-linecap:round}.b-node rect{fill:var(--paper);stroke:#b8beb4;stroke-width:1.5;transition:stroke .2s,fill .2s}.b-glyph{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.b-node.is-used .b-glyph{stroke:var(--blue)}.b-node text{font-size:12px;font-weight:700;text-anchor:middle;fill:var(--ink)}.b-node.is-used rect{stroke:var(--blue);fill:#eef1fd}.b-flow{fill:none;stroke-width:4;stroke-linecap:round}.b-flow.pending{stroke:var(--blue);stroke-dasharray:8 10;animation:lab-dash .6s linear infinite}.b-flow.tools{stroke:var(--blue);opacity:.55}.b-flow.breach{stroke:var(--rust)}.b-flow.held{stroke:var(--green)}.b-token.breach,.b-rest.breach{fill:var(--rust)}.b-token.held,.b-rest.held{fill:var(--green)}.b-rest{opacity:0;animation:reveal-token .01s .3s forwards}.b-token{animation:hide-token .01s .3s forwards}.b-stop{stroke:var(--green);stroke-width:4;stroke-linecap:round}@keyframes lab-dash{to{stroke-dashoffset:-18}}.lab-boundary figcaption{display:flex;gap:9px;align-items:flex-start;font-size:13px;font-weight:650;line-height:1.45;margin-top:6px}.lab-dot{width:8px;height:8px;border-radius:50%;background:var(--c);margin-top:5px;flex:none}.lab-boundary.is-breach{--c:var(--rust)}.lab-boundary.is-held{--c:var(--green)}.lab-boundary.is-pending{--c:var(--blue)}.lab-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}.lab-section-head h3{font-size:14px;letter-spacing:-.02em}.lab-section-head .eyebrow{font-size:9.5px;text-align:right}.lab-trace{padding:14px}.lab-trace ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lab-trace li{border:1px solid var(--line);border-radius:8px;padding:9px 11px;animation:appear .25s ease both}.lab-trace li.is-risky{border-color:#e1b7a8;background:#fdf5f1}.lab-call{display:block;font-size:12px;font-weight:700;overflow-wrap:anywhere;color:var(--blue)}.lab-trace li.is-risky .lab-call{color:var(--rust)}.lab-trace li p{font-size:12px;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}.lab-trace li p span{font-size:9.5px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:8px}.lab-result>*{padding:14px}.lab-result>.lab-section-head,.lab-result>.lab-reply,.lab-result>.lab-verdict,.lab-result>.lab-reply-empty{margin:0}.lab-result>.lab-section-head{border:0;background:none;padding:0 2px}.lab-reply{white-space:pre-wrap;overflow-wrap:anywhere;font:12.5px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;max-height:240px;overflow:auto;animation:appear .25s ease both}.lab-verdict{border-left:4px solid #b9bcb2}.lab-verdict strong{font-size:14px}.lab-verdict p{font-size:12.5px;line-height:1.5;margin-top:3px;color:#434946}.tone-risk.lab-verdict,.lab-cell.tone-risk{border-left-color:var(--rust)}.tone-safe.lab-verdict,.lab-cell.tone-safe{border-left-color:var(--green)}.lab-verdict.tone-risk{background:#fdf5f1}.lab-verdict.tone-safe{background:#f1f7f3}.lab-compare{display:flex;flex-direction:column;gap:10px}.lab-compare .lab-section-head{margin:0}.lab-input-quote{font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;background:#f3f2ea;border-radius:7px;padding:9px 11px;overflow-wrap:anywhere}.lab-input-quote span{display:block;font:750 9.5px/1.6 Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.lab-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lab-cell{border:1px solid var(--line);border-left:4px solid #b9bcb2;border-radius:7px;padding:9px 10px;display:flex;flex-direction:column;gap:2px;transition:border-color .2s}.lab-cell strong{font-size:13px;line-height:1.35}.lab-control-row{border-top:1px solid var(--line);padding-top:10px}.lab-control-row p{font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;margin:2px 0}.lab-control-row strong{font-size:13px}.lab-control-row.tone-safe strong{color:var(--green)}.lab-control-row.tone-risk strong{color:var(--rust)}.lab-summary{border-color:#bcd2c6!important;background:#f1f7f3!important}.lab-summary p{font-size:12.5px;line-height:1.5;margin-top:4px}.lab-actionbar{position:sticky;bottom:0;z-index:5;margin-top:16px;display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;padding:12px 14px;border:1px solid #c9cec3;border-radius:12px;background:#fffef8f2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 -6px 24px #25292b14}.lab-draft{flex:1 1 360px;min-width:0}.lab-draft textarea{resize:none;min-height:46px;max-height:120px;font-size:13px}.lab-actions{display:flex;gap:8px;align-items:center;margin-left:auto}.lab-actions .primary-button{min-width:200px}.lab-actions .primary-button:disabled{opacity:.55;transform:none}.lab-action-note{flex:1 1 300px;font-size:12.5px;font-weight:650;line-height:1.45;color:#3c423f}.lab-action-note.wide{flex-basis:100%;order:3}.lab-footer-row{display:flex;gap:18px;justify-content:flex-end;padding:10px 0 22px}@media(max-width:1180px){.lab-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"stage stage" "brief result"}.lab-title{flex-direction:column;align-items:flex-start}}@media(max-width:760px){.lab-app .masthead{gap:8px}.mode-nav{order:3;width:100%}.mode-nav button{flex:1}.lab-source{order:4;margin-left:0}.lab-conn{order:5;flex:1;max-width:none}.lab-title{padding:18px 0 12px}.lab-title h1{font-size:26px}.lab-steps{width:100%;flex-wrap:nowrap}.lab-steps li{justify-content:center;padding:7px 8px;font-size:11px}.lab-levels{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 0 12px;padding:0 0 4px}.lab-levels button{flex:0 0 62%;scroll-snap-align:start}.lab-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"brief" "result" "stage";gap:12px}.lab-grid.has-run{grid-template-areas:"result" "brief" "stage"}.lab-result{scroll-margin-top:12px}.lab-brief{padding:16px}.lab-brief h2{font-size:18px}.lab-boundary-svg{display:none}.lab-compare-grid{grid-template-columns:1fr}.lab-actionbar{margin:12px -18px 0;border-radius:0;border-left:0;border-right:0;padding:10px 18px calc(10px + env(safe-area-inset-bottom))}.lab-draft{flex-basis:100%}.lab-actions{width:100%;margin-left:0;flex-wrap:wrap}.lab-actions .primary-button{flex:1 1 100%;order:-1;min-width:0}.lab-actions .secondary-button{flex:1}.lab-action-note{flex-basis:100%}}@media(prefers-reduced-motion:reduce){.b-token{display:none}.b-rest{opacity:1}.b-flow.pending{animation:none}}.lab-steps li b{font-weight:700}.lab-explain{border-color:#bcd2c6!important;background:#f5f9f5!important;animation:appear .25s ease both}.lab-explain dl{margin:0;display:grid;gap:8px}.lab-explain dl div{display:grid;grid-template-columns:70px 1fr;gap:10px}.lab-explain dt{font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:2px}.lab-explain dd{margin:0;font-size:13px;line-height:1.5}.lab-scan{margin-top:16px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:0 16px}.lab-scan summary{min-height:48px;display:flex;align-items:center;font-size:13px;font-weight:700;cursor:pointer}.lab-scan>p,.lab-scan ul{margin:0 0 12px}.lab-scan-meta{font-size:12.5px;line-height:1.5}.lab-scan ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.lab-scan li{display:flex;gap:10px;border-top:1px solid var(--line);padding-top:8px}.lab-scan li p{font-size:12px;color:var(--muted);line-height:1.5}.lab-scan li code{font-size:11px;color:var(--muted)}.lab-sev{flex:none;height:fit-content;font-size:9.5px;font-weight:750;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--line);border-radius:999px;padding:2px 8px}.sev-critical,.sev-high{color:var(--rust);border-color:#e1b7a8;background:#fbefe9}.sev-medium{color:#7a5a12;border-color:#dcc58f;background:#fbf5e4}@media(max-width:760px){.lab-steps li:not(.is-current) b{display:none}.lab-steps li{flex:0 0 auto;min-width:34px}.lab-steps li.is-current{flex:1}.lab-steps li span{display:inline}}.lab-source button:disabled{opacity:.45}.lab-live-off{font-size:11.5px;color:var(--muted);margin:-6px 0 12px}.pg{--bg:oklch(.975 .005 280);--surface:#fff;--surface-2:oklch(.965 .008 285);--line:oklch(.89 .012 285);--line-soft:oklch(.93 .01 285);--ink:oklch(.25 .04 265);--dim:oklch(.45 .03 265);--faint:oklch(.55 .02 265);--accent:oklch(.49 .24 293);--accent-ink:#fff;--accent-soft:oklch(.49 .24 293 / .08);--danger:oklch(.52 .19 25);--danger-soft:oklch(.52 .19 25 / .08);--ok:oklch(.5 .13 155);--ok-soft:oklch(.5 .13 155 / .09);--warn:oklch(.55 .13 70);--warn-soft:oklch(.55 .13 70 / .1);--sans:Manrope,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--disp:var(--sans);--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--r:14px;--r-sm:10px;--ease:cubic-bezier(.22,1,.36,1)}.pg *{box-sizing:border-box}.pg{height:100%}.pg{margin:0;font-family:var(--sans);background:var(--bg);color:var(--ink);height:100vh;display:flex;flex-direction:column;overflow:hidden;font-size:14.5px;line-height:1.5;-webkit-font-smoothing:antialiased;outline-offset:2px;border-radius:6px}.pg button{font-family:inherit;cursor:pointer}.pg .hidden{display:none!important}.pg .pg-header{display:flex;align-items:center;gap:13px;padding:12px 20px;border-bottom:1px solid var(--line);background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50}.pg .brand{display:flex;align-items:center;gap:11px}.pg .brand .mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:17px;background:linear-gradient(145deg,var(--accent),oklch(.62 .2 340));box-shadow:0 0 20px var(--accent-soft)}.pg .brand h1{font-family:var(--disp);font-size:16px;margin:0;font-weight:700;letter-spacing:-.01em}.pg .brand .sub{font-size:11.5px;color:var(--faint);margin-top:1px}.pg .sandbox{margin-left:6px;font-size:11px;color:var(--ok);background:var(--ok-soft);padding:4px 10px;border-radius:20px;border:1px solid oklch(.5 .13 155 / .35);font-weight:600}.pg .hspace{margin-left:auto;display:flex;align-items:center;gap:10px}.pg .status{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;color:var(--dim);padding:5px 11px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.pg .dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}.pg .dot.live{animation:pg-pulse 2.4s var(--ease) infinite}.pg .dot.off{background:var(--danger)}@keyframes pg-pulse{0%{box-shadow:0 0 #00774280;box-shadow:0 0 oklch(.5 .13 155 / .5)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}.pg .path{display:flex;gap:9px;align-items:center;padding:11px 20px;border-bottom:1px solid var(--line);background:var(--surface);overflow-x:auto;scrollbar-width:thin}.pg .path .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);flex:0 0 auto;font-weight:700}.pg .lv{flex:0 0 auto;display:inline-flex;align-items:center;gap:9px;padding:8px 14px;border-radius:11px;font-size:13px;font-weight:600;color:var(--dim);background:var(--surface-2);border:1px solid var(--line-soft);white-space:nowrap;transition:transform .18s var(--ease),border-color .18s,color .18s,background .18s}.pg .lv .ic{font-size:15px}.pg .lv .st{font-family:var(--mono);font-size:11px;color:var(--faint)}.pg .lv:hover{transform:translateY(-2px);color:var(--ink);border-color:var(--accent)}.pg .lv.active{border-color:var(--accent);color:var(--ink);background:var(--accent-soft)}.pg .lv.done{border-color:#00774266;border-color:oklch(.5 .13 155 / .4)}.pg .lv.done .st{color:var(--ok)}.pg .wrap{flex:1;display:grid;grid-template-columns:minmax(0,780px);justify-content:center;min-height:0;overflow:hidden}.pg.editing .wrap{grid-template-columns:minmax(320px,.85fr) minmax(380px,1.15fr);justify-content:stretch}.pg .col.left{display:none}.pg.editing .col.left{display:flex}.pg .col{min-height:0;display:flex;flex-direction:column;overflow:hidden}.pg .col.left{border-right:1px solid var(--line)}.pg .phead{display:flex;align-items:center;gap:9px;padding:13px 18px 10px}.pg .phead h2{font-family:var(--disp);font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);margin:0;font-weight:700}.pg .phead .actions{margin-left:auto;display:flex;gap:7px}.pg .pbody{padding:0 18px 18px;overflow:auto;scrollbar-width:thin;flex:1}.pg .btn{border:0;border-radius:var(--r-sm);padding:9px 16px;font-size:13.5px;font-weight:700;background:var(--accent);color:var(--accent-ink);transition:transform .15s var(--ease),filter .15s;box-shadow:0 4px 16px #6d28d84d}.pg .btn:hover{filter:brightness(1.08)}.pg .btn:active{transform:translateY(1px)}.pg .btn.ghost{background:transparent;color:var(--dim);border:1px solid var(--line);box-shadow:none}.pg .btn.ghost:hover{color:var(--ink);border-color:var(--accent)}.pg .btn.sm{padding:6px 11px;font-size:12.5px}.pg .btn.big{width:100%;padding:13px;font-size:15px}.pg .btn.warn{background:var(--warn);color:#fff;box-shadow:none}.pg .steps{display:flex;gap:6px;margin-bottom:10px;font-size:12px;font-weight:600;color:var(--faint)}.pg .steps span{padding:3px 10px;border-radius:20px;background:var(--surface-2)}.pg .steps span.on{background:var(--accent);color:#fff}.pg .steps span.ok{color:var(--ok)}.pg .obj{margin:0 18px 4px;border-radius:var(--r);padding:13px 15px;border:1px solid var(--accent);background:var(--accent-soft)}.pg .obj.def{border-color:var(--ok);background:var(--ok-soft)}.pg .obj .ph{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--accent);margin-bottom:4px}.pg .obj.def .ph{color:var(--ok)}.pg .obj .goal{font-size:14.5px;font-weight:600;line-height:1.4;margin-bottom:9px}.pg .obj .goal b{color:var(--ink)}.pg .obj .row{display:flex;gap:8px;flex-wrap:wrap}.pg .mcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:0 8px 30px #1821350f;margin-bottom:14px}.pg .mcard .kick{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:700;margin-bottom:7px}.pg .mcard h3{font-family:var(--disp);font-size:19px;margin:0 0 8px;font-weight:700;letter-spacing:-.01em;text-wrap:balance}.pg .slot{display:flex;gap:11px;align-items:flex-start;padding:11px 0;border-top:1px solid var(--line-soft)}.pg .slot .em{font-size:19px;flex:0 0 auto;margin-top:1px}.pg .slot .t{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);font-weight:700;margin-bottom:3px}.pg .slot .v{color:var(--ink);line-height:1.5}.pg .slot .v.mono{font-family:var(--mono);font-size:12.5px;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:8px;padding:8px 10px;line-height:1.55;white-space:pre-wrap}.pg .editor{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface);margin-bottom:14px;box-shadow:0 8px 30px #1821350f}.pg .editor .bar{display:flex;align-items:center;gap:7px;padding:8px 12px;border-bottom:1px solid var(--line-soft);background:var(--surface-2)}.pg .editor .bar i{width:9px;height:9px;border-radius:50%;background:var(--line)}.pg .editor .bar .name{font-family:var(--mono);font-size:11.5px;color:var(--faint);margin-left:4px}.pg textarea,.pg input{width:100%;background:transparent;color:var(--ink);border:0;font-family:var(--mono);font-size:12.5px;line-height:1.6;resize:vertical}.pg #sys{padding:13px 14px;min-height:120px;display:block}.pg textarea:focus,.pg input:focus{outline:none}.pg .field{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);transition:border-color .15s}.pg .field:focus-within{border-color:var(--accent)}.pg .hood-intro{font-size:12.5px;color:var(--dim);line-height:1.55;margin:0 0 13px}.pg .tool{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin-bottom:11px;overflow:hidden}.pg .tool.poison{border-color:#be222a80}.pg .tool .th{display:flex;align-items:center;gap:9px;padding:10px 12px;background:var(--surface-2);border-bottom:1px solid var(--line-soft)}.pg .tool .th .nm{font-family:var(--mono);font-size:13px;font-weight:600}.pg .src{font-size:10px;font-family:var(--mono);padding:2px 7px;border-radius:20px;color:var(--faint);border:1px solid var(--line)}.pg .src.mcp{color:var(--warn);border-color:#9e620066;border-color:oklch(.55 .13 70 / .4);background:var(--warn-soft)}.pg .poison-tag{font-size:9.5px;font-weight:700;letter-spacing:.05em;color:var(--danger);background:var(--danger-soft);border:1px solid oklch(.52 .19 25 / .4);padding:2px 7px;border-radius:20px}.pg .tool .body{padding:11px 12px;display:flex;flex-direction:column;gap:9px}.pg .tool label{font-size:9.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.07em;display:block;margin-bottom:4px;font-weight:700}.pg .tool .field{padding:7px 10px}.pg .tool textarea{min-height:32px}.pg .x{margin-left:auto;background:transparent;border:0;color:var(--faint);font-size:16px;line-height:1;padding:2px 5px;border-radius:6px}.pg .x:hover{color:var(--danger);background:var(--danger-soft)}.pg .empty{border:1px dashed var(--line);border-radius:var(--r);padding:20px;text-align:center;color:var(--faint);font-size:12.5px;line-height:1.6}.pg .chat{flex:1;overflow:auto;padding:14px 18px;display:flex;flex-direction:column;gap:13px;scrollbar-width:thin}.pg .turn{display:flex;flex-direction:column;gap:10px;animation:pg-rise .3s var(--ease) both}@keyframes pg-rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.pg .msg{max-width:86%;padding:11px 14px;border-radius:15px;font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.pg .msg.user{align-self:flex-end;background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:5px;font-weight:500}.pg .msg.bot{align-self:flex-start;background:var(--surface-2);border:1px solid var(--line);border-bottom-left-radius:5px}.pg .sysline{align-self:center;text-align:center;max-width:92%;font-size:12px;color:var(--faint);line-height:1.5;padding:2px 6px}.pg .sysline b{color:var(--dim)}.pg .hintcard{align-self:stretch;background:var(--warn-soft);border:1px solid oklch(.55 .13 70 / .4);border-radius:var(--r);padding:14px}.pg .hintcard h4{font-family:var(--disp);margin:0 0 7px;font-size:14px;color:var(--warn)}.pg .hintcard p{margin:0 0 10px;font-size:13px;color:var(--dim);line-height:1.5}.pg .hintcard .sol{font-family:var(--mono);font-size:12px;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:8px;padding:9px 11px;white-space:pre-wrap;line-height:1.5;margin-bottom:10px;max-height:160px;overflow:auto}.pg .flow{align-self:stretch;display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:13px}.pg .flow .node{border-radius:11px;padding:10px;text-align:center}.pg .flow .node .cap{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);font-weight:700;margin-bottom:6px}.pg .flow .node.outside{background:var(--danger-soft);border:1px solid oklch(.52 .19 25 / .4)}.pg .flow .node.ai{background:var(--accent-soft);border:1px solid oklch(.49 .24 293 / .4)}.pg .flow .node .txt{font-family:var(--mono);font-size:11px;line-height:1.5}.pg .flow .arrow{font-size:22px;color:var(--danger);animation:pg-slide 1.4s var(--ease) infinite}@keyframes pg-slide{0%,to{transform:translate(-2px);opacity:.6}50%{transform:translate(3px);opacity:1}}.pg .trace{align-self:flex-start;max-width:86%;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface-2);font-family:var(--mono);font-size:11.5px}.pg .trace.danger{border-color:#be222a80}.pg .trace .tt{display:flex;align-items:center;gap:8px;padding:7px 11px;background:var(--surface-2);border-bottom:1px solid var(--line-soft);color:var(--dim);font-weight:600;font-size:11px}.pg .trace .tt .arw{color:var(--accent)}.pg .trace.danger .tt .arw{color:var(--danger)}.pg .trace .row{padding:8px 11px;line-height:1.5}.pg .trace .row.ret{border-top:1px dashed var(--line-soft);color:var(--warn)}.pg .trace .k{color:var(--faint)}.pg .trace .fn{color:var(--accent);font-weight:600}.pg .trace.danger .fn{color:var(--danger)}.pg .result{align-self:stretch;border-radius:var(--r);padding:16px;border:1px solid var(--line)}.pg .result.win{background:var(--danger-soft);border-color:#be222a80;box-shadow:0 0 26px #be222a29}.pg .result.safe{background:var(--ok-soft);border-color:#00774273;border-color:oklch(.5 .13 155 / .45)}.pg .result h4{font-family:var(--disp);margin:0 0 9px;font-size:17px;font-weight:700}.pg .result.win h4{color:var(--danger)}.pg .result.safe h4{color:var(--ok)}.pg .result .lines{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.pg .result .ln{display:flex;gap:9px;font-size:13px;line-height:1.45}.pg .result .ln .lk{color:var(--faint);flex:0 0 88px;font-weight:600}.pg .hl{background:var(--danger-soft);color:var(--danger);border-radius:4px;padding:1px 4px;font-weight:600}.pg .result .concept{font-size:12.5px;color:var(--dim);line-height:1.55;padding-top:10px;border-top:1px solid var(--line-soft)}.pg .result .concept b{color:var(--ink)}.pg .result .cta{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}.pg .composer{flex:0 0 auto;border-top:1px solid var(--line);padding:13px 16px;display:flex;gap:10px;align-items:flex-end;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pg .composer .field{flex:1;padding:10px 13px}.pg .composer textarea{min-height:22px;max-height:130px;font-family:var(--sans);font-size:14px}.pg .composer textarea::placeholder{color:var(--faint)}.pg .composer .btn{height:42px;padding:0 20px}.pg .spin{display:inline-flex;gap:4px;align-items:center}.pg .spin i{width:6px;height:6px;border-radius:50%;background:var(--dim);animation:pg-blink 1.1s var(--ease) infinite}.pg .spin i:nth-child(2){animation-delay:.18s}.pg .spin i:nth-child(3){animation-delay:.36s}@keyframes pg-blink{0%,80%,to{opacity:.25}40%{opacity:1}}.pg .overlay{position:fixed;inset:0;background:#18213573;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:200;padding:20px}.pg .welcome{max-width:540px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:30px;text-align:center;box-shadow:0 20px 70px #1821352e;animation:pg-rise .4s var(--ease) both}.pg .welcome .big{font-size:42px;margin-bottom:6px}.pg .welcome h2{font-family:var(--disp);font-size:25px;margin:0 0 12px;font-weight:700;letter-spacing:-.02em;text-wrap:balance}.pg .welcome p{color:var(--dim);line-height:1.6;margin:0 0 14px;font-size:14.5px}.pg .welcome .steps{display:flex;gap:12px;margin:18px 0;text-align:left}.pg .welcome .step{flex:1;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:12px;padding:12px}.pg .welcome .step .e{font-size:22px}.pg .welcome .step .h{font-weight:700;font-size:13px;margin:5px 0 3px}.pg .welcome .step .d{font-size:11.5px;color:var(--faint);line-height:1.45}.pg .modal{max-width:640px;width:100%;max-height:82vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 20px 70px #1821352e;animation:pg-rise .35s var(--ease) both}.pg .modal h2{font-family:var(--disp);font-size:20px;margin:0 0 4px}.pg .modal .meta{font-size:12.5px;color:var(--faint);margin-bottom:4px}.pg .modal .eng{display:inline-block;font-family:var(--mono);font-size:11.5px;color:var(--ok);background:var(--ok-soft);border:1px solid oklch(.5 .13 155 / .35);border-radius:20px;padding:3px 10px;margin:6px 0 16px}.pg .find{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line-soft)}.pg .sev{flex:0 0 auto;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:20px;height:fit-content}.pg .sev.critical{color:var(--danger);background:var(--danger-soft);border:1px solid oklch(.52 .19 25 / .45)}.pg .sev.high{color:#b84b00;color:oklch(.55 .16 45);background:#b84b0021;background:oklch(.55 .16 45 / .13);border:1px solid oklch(.55 .16 45 / .4)}.pg .sev.medium{color:var(--warn);background:var(--warn-soft);border:1px solid oklch(.55 .13 70 / .4)}.pg .sev.low{color:var(--faint);background:var(--surface-2);border:1px solid var(--line)}.pg .find .ti{font-weight:600;font-size:14px}.pg .find .fw{font-size:12.5px;color:var(--dim);line-height:1.5;margin-top:2px}.pg .find .fl{font-family:var(--mono);font-size:11px;color:var(--faint);margin-top:4px}@media(max-width:940px){.pg .wrap{grid-template-columns:1fr;grid-template-rows:minmax(0,42%) minmax(0,58%)}.pg .col.left{border-right:0;border-bottom:1px solid var(--line)}.pg .msg,.pg .trace{max-width:94%}.pg .welcome .steps{flex-direction:column}}@media(prefers-reduced-motion:reduce){.pg *{animation-duration:.001ms!important;transition-duration:.001ms!important}}.pg{height:100vh;height:100dvh}.pg .pg-mode{display:inline-flex;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surface)}.pg .pg-mode button{border:0;background:transparent;padding:5px 11px;font-size:12px;font-weight:700;color:var(--dim);min-height:32px}.pg .pg-mode button[aria-pressed=true]{background:var(--ink);color:#fff}.pg .pg-mode button:disabled{opacity:.45;cursor:not-allowed}.pg .status.sim .dot{background:var(--warn)}.pg .pg-live{padding:9px 20px;border-bottom:1px solid var(--line);background:var(--warn-soft);font-size:12.5px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}.pg .pg-live label{display:inline-flex;gap:8px;align-items:center;font-weight:650}.pg .pg-live input{width:16px;height:16px;accent-color:var(--accent)}.pg .pg-foot{font-size:11px;color:var(--faint);text-align:center;padding:6px 16px 8px;background:var(--surface)}.pg .composer .cancel{align-self:center}.pg .result.neutral{background:var(--surface-2);border-color:var(--line)}.pg .result.neutral h4{color:var(--dim)}.pg .obj .row .btn{min-height:36px}.pg .lv{min-height:40px}.pg :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.pg .drills-link{font-size:12px}@media(max-width:700px){.pg .pg-header{flex-wrap:wrap;padding:10px 14px}.pg .brand h1{font-size:14px}.pg .hspace{margin-left:0;width:100%;justify-content:space-between;flex-wrap:wrap}.pg .sandbox,.pg .scan-btn{display:none}.pg .obj{margin:0 12px 4px}.pg .chat{padding:12px}}.pg .pg-stars{font-size:12.5px;font-weight:700;color:var(--ink);padding:5px 11px;border:1px solid var(--line);border-radius:20px;background:var(--surface);white-space:nowrap}.pg .btn.sm{min-height:36px}.pg .btn:disabled{opacity:.5;cursor:not-allowed;filter:none}.pg .obj .job{display:block;margin-top:6px;font-size:12.5px;font-weight:500;color:var(--dim)}.pg .obj .dim{color:var(--dim);font-weight:500}.pg .phead.sub{padding:4px 0 8px}.pg .phead.sub h2{font-size:11.5px}.pg .tool .th{flex-wrap:wrap}.pg .flag{font-size:9.5px;font-weight:700;letter-spacing:.05em;color:var(--danger);background:var(--danger-soft);border:1px solid oklch(.52 .19 25 / .4);padding:2px 7px;border-radius:20px;text-transform:uppercase}.pg .tool .del{margin-left:auto}.pg .empty{font-size:13px;color:var(--faint);padding:12px;border:1px dashed var(--line);border-radius:var(--r-sm);margin-bottom:12px}.pg .editor textarea{padding:12px 14px;min-height:150px}.pg .editor textarea[readonly]{color:var(--dim);background:var(--surface-2)}.pg .pg-row{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 10px}.pg .pg-changes{margin:0;padding:10px 12px 10px 28px;font-size:12.5px;line-height:1.6;color:var(--dim);background:var(--accent-soft);border-radius:var(--r-sm)}.pg .pg-toast{color:var(--danger);font-weight:650}.pg .pg-details{align-self:stretch;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);font-size:13px}.pg .pg-details summary{min-height:44px;display:flex;align-items:center;padding:0 14px;font-weight:650;color:var(--dim);cursor:pointer}.pg .pg-details-body{padding:0 12px 12px;display:flex;flex-direction:column;gap:12px}.pg .pg-details-body>*{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:12px}.pg .welcome .note{font-size:12.5px;color:var(--faint)}.pg .composer textarea{resize:none}.pg .composer .btn{min-height:44px}.pg .msg.bot{font-family:var(--sans)}.pg .mode-nav{border-radius:20px;background:var(--surface-2)}.pg .mode-nav button{min-height:32px;border-radius:16px}.pg a.skip-link:focus{background:var(--surface);color:var(--ink)}@media(max-width:940px){.pg:not(.editing) .wrap{grid-template-rows:minmax(0,1fr)}}@media(max-width:700px){.pg .hspace{gap:6px}.pg .status,.pg .mode-nav button,.pg .pg-mode button{padding:4px 9px}.pg .path{padding:8px 12px}.pg .lv{padding:7px 11px;font-size:12.5px}.pg .phead{padding:10px 12px 8px}.pg .composer{padding:10px 12px}.pg .obj .row .btn{flex:1 1 auto}}@media(pointer:coarse){.pg .btn.sm,.pg .lv,.pg .pg-mode button,.pg .mode-nav button{min-height:44px}}.pg .pg-editor-actions{display:none}@media(max-width:940px){.pg.editing .wrap{grid-template-columns:1fr;grid-template-rows:minmax(0,46%) minmax(0,54%)}}@media(max-width:700px){.pg.editing .wrap{grid-template-rows:minmax(0,1fr)}.pg.editing .col.right{display:none}.pg.editing .col.left{border-bottom:0}.pg .pg-editor-actions{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--surface)}.pg .pg-editor-actions .btn{flex:1;min-height:44px}}
