:root{--primary: #00a76f;--primary-dark: #007867;--primary-darker: #004b50;--primary-lighter: #c8fad6;--primary-soft: rgba(0, 167, 111, .08);--error: #ff5630;--text: #1c252e;--muted: #637381;--faint: #919eab;--line: #e5e8eb;--bg: #f4f6f8;font-family:Pretendard,Malgun Gothic,맑은 고딕,system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:0 16px 28px;background:radial-gradient(1100px 520px at 12% -10%,rgba(0,167,111,.14),transparent 60%),radial-gradient(900px 480px at 110% 10%,rgba(0,120,103,.1),transparent 55%),var(--bg)}.head{display:flex;align-items:center;gap:10px;padding:36px 0 22px}.logo{width:34px;height:34px;background:var(--primary);-webkit-mask:url(/logo/handok.svg) center / contain no-repeat;mask:url(/logo/handok.svg) center / contain no-repeat}.brand{font-weight:700;font-size:18px;letter-spacing:-.01em}.brand-sub{font-weight:500;color:var(--muted);letter-spacing:-.01em;margin-left:4px}.card{width:100%;max-width:440px;background:#fff;border-radius:20px;box-shadow:0 0 2px #919eab33,0 20px 40px -8px #919eab3d;padding:28px 28px 24px}.stack{display:flex;flex-direction:column;gap:16px}.center{text-align:center;align-items:center}.title h1{margin:0}.title p{margin-top:6px}h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}.muted{margin:0;color:var(--muted);line-height:1.6}.small{font-size:13px}.hint{margin:-6px 0 0;text-align:center;font-size:13px;color:var(--muted)}.fine{margin:0;text-align:center;font-size:12px;color:var(--faint)}.error{margin:0;padding:10px 12px;border-radius:10px;background:#ff563014;color:#b71d18;font-size:14px;line-height:1.5}.stepper{list-style:none;margin:0 0 22px;padding:0;display:flex;align-items:center}.stepper li{flex:1;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--faint);white-space:nowrap}.stepper li:not(:last-child):after{content:"";flex:1;height:2px;margin:0 10px;border-radius:2px;background:var(--line)}.stepper li.done:not(:last-child):after{background:var(--primary)}.stepper .num{width:24px;height:24px;flex-shrink:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--bg);color:var(--faint)}.stepper li.cur{color:var(--text);font-weight:600}.stepper li.cur .num{background:var(--primary);color:#fff;box-shadow:0 0 0 4px var(--primary-soft)}.stepper li.done .num{background:var(--primary-lighter);color:var(--primary-darker)}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}.field em{font-style:normal;font-weight:400;color:var(--faint)}input{font:inherit;font-weight:400;font-size:16px;color:var(--text);padding:12px 14px;border:1px solid var(--line);border-radius:10px;outline:none;background:#fff;transition:border-color .15s,box-shadow .15s;min-width:0}input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.code-input{width:100%;padding:16px 12px;font-size:32px;font-weight:700;letter-spacing:.35em;text-indent:.35em;text-align:center;font-variant-numeric:tabular-nums;background:var(--bg);border-color:transparent}.code-input::placeholder{color:#c4cdd5;letter-spacing:.2em;font-size:20px}.code-input:focus{background:#fff}.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.grid2>*,.field input{min-width:0;width:100%}.btn{font:inherit;font-size:16px;font-weight:600;border:0;border-radius:10px;padding:13px 18px;cursor:pointer;transition:background .15s,transform .05s}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 8px 16px -6px #00a76f73}.btn-primary:not(:disabled):hover{background:var(--primary-dark)}.btn-lg{padding:15px 18px;font-size:17px}.btn-text{background:transparent;color:var(--muted);padding:4px;font-size:14px;align-self:center}.btn-text:hover{color:var(--text)}.btn-stop{background:#fff;color:#b71d18;padding:7px 16px;font-size:14px;white-space:nowrap}.who{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--primary-soft)}.avatar{width:42px;height:42px;flex-shrink:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark))}.who-name{font-size:16px;font-weight:700}.who-dept{margin-left:6px;font-size:13px;font-weight:500;color:var(--muted)}.who-org{font-size:12px;color:var(--primary-dark);margin-top:2px}.points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.points li{display:flex;align-items:center;gap:14px}.points .ic{width:40px;height:40px;flex-shrink:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--primary-dark);background:var(--bg)}.points b{display:block;font-size:15px;font-weight:600}.points span:not(.ic){display:block;font-size:13px;color:var(--muted);margin-top:1px}.status{display:flex;align-items:center;gap:16px}.status .muted{font-size:14px;margin-top:4px}.pulse{position:relative;width:18px;height:18px;flex-shrink:0;margin:0 6px;border-radius:50%;background:var(--faint)}.pulse.on{background:var(--primary)}.pulse.on:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:2px solid var(--primary);opacity:0;animation:ring 1.6s ease-out infinite}@keyframes ring{0%{transform:scale(.5);opacity:.8}to{transform:scale(1.4);opacity:0}}.done-ic{width:64px;height:64px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--primary-dark);background:var(--primary-lighter)}.live-bar{position:sticky;top:0;z-index:10;width:calc(100% + 32px);margin:0 -16px;display:flex;align-items:center;gap:12px;padding:10px 18px;background:#b71d18;color:#fff;box-shadow:0 4px 12px #b71d1840}.live-text{flex:1;font-size:15px}.dot{width:10px;height:10px;border-radius:50%;background:#fff;animation:blink 1.2s infinite}@keyframes blink{50%{opacity:.25}}.chat-wrap{border:1px solid var(--line);border-radius:14px;overflow:hidden}.chat-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:11px 14px;border:0;background:#fff;font:inherit;font-size:14px;font-weight:600;color:var(--text);cursor:pointer}.chat-toggle:hover{background:var(--bg)}.chat-toggle .count{min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:var(--primary)}.chat-toggle .chev{margin-left:auto;color:var(--faint);transition:transform .15s}.chat-toggle .chev.open{transform:rotate(180deg)}.chat{display:flex;flex-direction:column;border-top:1px solid var(--line);height:260px}.chat-list{flex:1;overflow-y:auto;padding:12px}.chat-line{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:8px}.chat-line.mine{align-items:flex-end}.bubble{max-width:85%;padding:8px 12px;border-radius:14px 14px 14px 4px;background:var(--bg);white-space:pre-wrap;word-break:break-word;font-size:15px}.chat-line.mine .bubble{border-radius:14px 14px 4px;background:var(--primary-lighter);color:var(--primary-darker)}.time{font-size:11px;color:var(--faint);margin-top:2px}.chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}.chat-form input{flex:1;padding:10px 12px}.chat-form .btn{padding:10px 14px;font-size:15px;box-shadow:none}.foot{margin-top:22px;font-size:12px;color:var(--faint)}.card.wide{max-width:880px}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:stretch}.split>.chat-wrap{display:flex;flex-direction:column;min-height:0}.split .chat{flex:1;height:auto;min-height:340px}@media (min-width: 760px){.split .chat-toggle{pointer-events:none;background:var(--bg)}.split .chat-toggle .chev{display:none}}@media (max-width: 759px){.card.wide{max-width:440px}.split{grid-template-columns:minmax(0,1fr);gap:16px}.split .chat{flex:none;height:260px;min-height:0}.chat-wrap:not(.open) .chat{display:none}}@media (max-width: 480px){.card{padding:22px 18px 20px;border-radius:16px}.grid2{grid-template-columns:1fr}.stepper .label{display:none}.stepper li.cur .label{display:inline}}.console{height:100vh;display:flex;flex-direction:column}.console-head{display:flex;align-items:center;gap:12px;padding:10px 20px;background:#fff;border-bottom:1px solid var(--line)}.console-head .btn{padding:8px 16px;font-size:15px}.small-logo{width:28px;height:28px}.spacer{flex:1}.btn-danger{background:#b71d18;color:#fff}.btn-light{background:#ffffffeb;color:var(--text);padding:6px 12px;font-size:14px}.console-empty{margin:60px auto;max-width:560px;width:100%;padding:0 20px;display:flex;flex-direction:column;gap:12px;text-align:center}.memo{display:flex;flex-direction:column;gap:8px;text-align:left}.memo textarea{font:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;resize:vertical}.console-body{flex:1;min-height:0;display:flex}.side{width:22rem;flex-shrink:0;display:flex;flex-direction:column;gap:12px;padding:16px;background:#fff;border-right:1px solid var(--line);min-height:0}.side .chat{flex:1;height:auto;min-height:160px;border:1px solid var(--line);border-radius:12px}.codebox .addr{font-weight:600;margin-top:4px;word-break:break-all}.codebox .code{font-size:40px;font-weight:700;letter-spacing:.08em;color:var(--primary);font-variant-numeric:tabular-nums;margin:4px 0}.codebox .code.expired{color:var(--muted)}.row{display:flex;align-items:center;gap:4px}.row.between{justify-content:space-between}.tiny-left{font-size:12px;margin-top:4px}.num{font-variant-numeric:tabular-nums}.peer-name{font-size:20px;font-weight:700}.steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:14px}.steps li.done{color:var(--primary-dark)}.steps li.cur{color:var(--text);font-weight:700}.screen{flex:1;min-width:0;position:relative;background:#141a21;display:flex}.screen-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#919eab}.screen-video{flex:1}.screen-video.fit{overflow:hidden}.screen-video.fit video{width:100%;height:100%;object-fit:contain;display:block}.screen-video.actual{overflow:auto}.screen-video.actual video{display:block}.screen-tools{position:absolute;top:8px;right:8px;display:flex;align-items:center;gap:8px}.badge{padding:4px 10px;border-radius:6px;font-size:13px;font-weight:600;color:#fff}.badge.ok{background:var(--primary)}.badge.warn{background:#b76e00}@media (max-width: 800px){.console-body{flex-direction:column}.side{width:100%;border-right:0;border-bottom:1px solid var(--line)}.screen{min-height:60vh}}.agent-dl{margin-top:4px;display:flex;flex-direction:column;align-items:stretch;gap:8px}.agent-dl .btn-outline{justify-content:center;padding:12px 14px;font-size:15px}.agent-dl-text b{display:block;font-size:14px}.agent-dl-text span{display:block;font-size:12px;color:var(--muted);margin-top:2px}.btn-outline{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;font-size:14px;color:var(--primary-dark);background:#fff;border:1px solid rgba(0,167,111,.4);text-decoration:none;white-space:nowrap}.btn-outline:hover{background:var(--primary-soft)}.agent-dl-help{text-align:center;font-size:12px;color:var(--muted)}.agent-dl-help summary{cursor:pointer}.agent-dl-help p{margin:6px 0 0;line-height:1.6}.note{margin:0;padding:10px 12px;border-radius:10px;font-size:14px;line-height:1.5}.note.ok{background:var(--primary-soft);color:var(--primary-darker)}.note.warn{background:#ffab001f;color:#7a4100}.screen-video:focus{outline:none}.screen-video.controlling{cursor:crosshair;box-shadow:inset 0 0 0 3px #b71d18}.screen-video.controlling:focus{box-shadow:inset 0 0 0 3px #ff5630}.badge.muted{background:#637381}.screen-tools .btn-danger{padding:6px 12px;font-size:14px}.agent-dl-help ul{margin:8px 0 0;padding-left:18px;text-align:left;display:flex;flex-direction:column;gap:6px;line-height:1.6}.agent-dl-help b{color:var(--text);font-weight:600}.page.in-agent{padding-bottom:12px}.in-agent .head{padding:14px 0 10px}.in-agent .foot{display:none}.in-agent .card{padding:20px 24px 18px}.in-agent .stepper{margin-bottom:14px}.in-agent .stack{gap:12px}.in-agent .points{gap:10px}.in-agent .who{padding:10px 12px}.in-agent .split .chat{min-height:240px}.in-agent .live-bar{padding:8px 18px}
