/* tools/ev_build.py 가 만든 파일 — assets/diagnosis.css 의 전체 화면 분석 애니메이션(.diag-immersive) 묶음을 뽑아 브랜드 색으로 바꾼 것.
 * 손으로 고치지 않는다. 동작은 assets/diagnosis-motion.js(이전 진단 화면과 같은 모듈). */
.diag-modal-open{overflow:hidden!important}
.diag-immersive{--signal-mint:#8a86ff;--signal-blue:#f79a5e;--signal-white:#f2f6f7;--signal-muted:#98aab2;
  position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;
  margin:0;padding:0;border:0;background:#050506;color:var(--signal-white);overflow:auto;
  font-family:inherit;overscroll-behavior:contain;}
.diag-immersive:not([open]){display:none}
.diag-immersive[open]{display:flex;flex-direction:column;isolation:isolate}
.diag-immersive::backdrop{background:#050506}
.diag-immersive:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,#122a2e99,transparent 56%),linear-gradient(#c0e0e803 1px,transparent 1px),linear-gradient(90deg,#c0e0e803 1px,transparent 1px);background-size:auto,64px 64px,64px 64px}
.diag-focus-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 42px;flex:none}
.diag-focus-brand{font-size:24px;letter-spacing:-.05em;font-weight:750}
.diag-focus-brand>span{font-size:10px;font-weight:500;letter-spacing:.15em;color:var(--signal-muted);margin-left:13px}
.diag-focus-top button{font:inherit;font-size:12px;background:transparent;color:#b2c4cc;padding:10px 14px;border:1px solid #ffffff26;border-radius:6px;cursor:pointer}
.diag-focus-top button span{margin-left:12px}
.diag-focus-top button:hover{background:#ffffff0a;color:#fff;border-color:#ffffff55}
.diag-focus-top button:focus-visible,.diag-expand:focus-visible{outline:2px solid var(--signal-mint,#0a05e8);outline-offset:4px}
.diag-focus-center{width:min(700px,100%);margin:auto;box-sizing:border-box;padding:8px 26px 40px;text-align:center}
.diag-signal{width:360px;height:310px;position:relative;margin:0 auto 23px;max-width:100%}
.diag-signal-halo{position:absolute;inset:25px 40px;background:radial-gradient(ellipse,#514aff16,transparent 68%);animation:diag-breathe 4s ease-in-out infinite}
.diag-signal-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.diag-signal-track{stroke:#8a86ff24;stroke-width:1}
.diag-signal-flow{stroke:var(--signal-mint);stroke-width:1.8;stroke-dasharray:8 180;stroke-linecap:round;animation:diag-signal-flow 3s linear infinite;filter:drop-shadow(0 0 4px #8a86ff88)}
.diag-signal-flow.flow-two{animation-delay:-1s;stroke:var(--signal-blue)}
.diag-signal-flow.flow-three{animation-delay:-2s}
.diag-signal-orbit{stroke:#8ab9c72e;stroke-width:1;stroke-dasharray:2 7}
.diag-signal-satellite{position:absolute;width:220px;height:220px;left:70px;top:44px;animation:diag-signal-turn 10s linear infinite;border:1px solid #82bac70b;border-radius:50%}
.diag-signal-satellite i{position:absolute;top:29px;right:29px;width:5px;height:5px;border-radius:50%;background:var(--signal-blue);box-shadow:0 0 15px #f79a5ebb}
.diag-signal-doc{position:absolute;width:82px;height:105px;box-sizing:border-box;left:139px;top:101px;border:1px solid #86dcc56e;border-radius:10px;background:linear-gradient(135deg,#163330,#0c171e);box-shadow:0 0 0 6px #8a86ff04,0 20px 45px #0005;transform:rotate(-5deg);overflow:hidden;animation:diag-doc-float 4s ease-in-out infinite}
.diag-doc-head{height:22px;border-bottom:1px solid #b8b5ff20;display:flex;align-items:center;gap:3px;padding:0 9px}
.diag-doc-head i{width:3px;height:3px;border-radius:50%;background:#b8b5ff55}
.diag-doc-body{padding:13px 11px}
.diag-doc-body>b,.diag-doc-body>span{display:block;height:4px;background:#6f6c9e55;border-radius:2px;margin-bottom:8px}
.diag-doc-body>b{width:34px;height:5px;background:#b8b5ff99}
.diag-doc-body>span:nth-child(3){width:70%}
.diag-doc-body>div{display:flex;align-items:end;gap:4px;height:15px}
.diag-doc-body>div i{display:block;width:13px;height:9px;border-radius:2px 2px 0 0;background:#8a86ff55}
.diag-doc-body>div i:nth-child(2){height:15px;background:#f79a5e77}
.diag-doc-body>div i:nth-child(3){height:12px}
.diag-doc-scan{position:absolute;left:0;right:0;top:23px;height:1px;background:var(--signal-mint);box-shadow:0 0 10px var(--signal-mint);animation:diag-doc-scan 3s ease-in-out infinite}
.diag-doc-scan:before{content:'';position:absolute;left:0;right:0;bottom:0;height:28px;background:linear-gradient(transparent,#8a86ff1c)}
.diag-signal-node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:10px;letter-spacing:.17em;color:#a5c7c3}
.diag-signal-node>i{height:7px;width:7px;border:1px solid currentColor;border-radius:50%;box-shadow:0 0 0 5px #8a86ff06;background:#122b29;animation:diag-node-pulse 3s ease-in-out infinite}
.signal-seo{left:164px;top:34px;color:var(--signal-mint)}
.signal-aeo{left:40px;top:232px;color:var(--signal-blue)}
.signal-aeo>i{animation-delay:-1s}
.signal-geo{left:288px;top:232px;color:var(--signal-mint)}
.signal-geo>i{animation-delay:-2s}
.diag-focus-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--signal-mint)}
.diag-focus-eyebrow i{width:4px;height:4px;border-radius:50%;background:currentColor}
.diag-immersive .diag-focus-title{font-size:clamp(23px,3vw,32px);font-weight:650;line-height:1.4;letter-spacing:-.045em;color:var(--signal-white);margin:16px 0 11px;word-break:keep-all}
.diag-focus-detail{font-size:13px;line-height:1.8;color:var(--signal-muted);margin:0;word-break:keep-all}
.diag-focus-target{display:inline-block;max-width:100%;box-sizing:border-box;font-size:11px;color:#b2c4cd;background:#ffffff05;border:1px solid #9dc9d119;border-radius:5px;padding:7px 12px;margin:20px 0 0;overflow-wrap:anywhere}
.diag-focus-steps{display:flex;justify-content:center;gap:25px;list-style:none;margin:38px 0 0;padding:0;font-size:11px;color:#94a5ac}
.diag-focus-steps li{padding-top:13px;border-top:1px solid #a0c5d02b;text-align:left;flex:1;max-width:116px;transition:color .3s,border-color .3s}
.diag-focus-steps li>span{font-size:9px;margin-right:7px;opacity:.65}
.diag-focus-steps li.current{border-color:var(--signal-mint);color:var(--signal-mint)}
.diag-focus-steps li.done{color:#d6d4ff;border-color:#8a86ff4a}
.diag-focus-foot{padding:8px 22px 26px;text-align:center;font-size:11px;line-height:1.8;color:#9badb6;flex:none;margin:0}
.diag-focus-foot>span{display:block;font-size:10px;color:#6f838c;margin-top:4px}
@keyframes diag-signal-flow{to{stroke-dashoffset:-188}}
@keyframes diag-signal-turn{to{transform:rotate(360deg)}}
@keyframes diag-doc-scan{0%,100%{top:25px;opacity:.4}50%{top:100px;opacity:1}}
@keyframes diag-doc-float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-5px) rotate(-2deg)}}
@keyframes diag-node-pulse{0%,100%{box-shadow:0 0 0 5px #8a86ff06;opacity:.65}40%{box-shadow:0 0 0 8px #8a86ff0c;opacity:1}}
@keyframes diag-breathe{0%,100%{opacity:.5;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}
@media(max-width:600px){.diag-focus-top{padding:21px}.diag-focus-brand{font-size:22px}.diag-focus-brand>span{display:none}.diag-focus-center{padding:0 19px 30px}.diag-signal{transform:scale(.85);margin-top:-20px;margin-bottom:-2px}.diag-focus-steps{gap:12px;margin-top:28px;font-size:10px}.diag-focus-steps li>span{display:block;margin:0 0 5px}.diag-focus-title{min-height:2.8em;display:grid;place-items:center}.diag-focus-detail{font-size:12px}.diag-focus-foot{padding-bottom:20px}}
@media(max-width:370px){.diag-signal{width:360px;max-width:none;left:50%;margin-left:-180px;transform:scale(.77)}}
@media(min-width:371px) and (max-width:600px){.diag-signal{max-width:none;left:50%;margin-left:-180px}}
@media(max-height:820px) and (min-width:601px){.diag-signal{transform:scale(.75);height:280px;margin-top:-25px;margin-bottom:-30px}.diag-focus-top{padding-top:17px;padding-bottom:10px}.diag-focus-center{padding-bottom:22px}.diag-focus-steps{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.diag-immersive *{animation:none!important;transition:none!important}.diag-doc-scan{top:61px}}
@media print{.diag-immersive{display:none!important}.diag-modal-open{overflow:visible!important}}
