:root{--bg: #0d1117;--bg-muted: #151b23;--bg-elevated: #161b22;--bg-input: #0d1117;--bg-neutral: #21262d;--border: #30363d;--border-focus: #1f6feb;--text: #f0f6fc;--text-muted: #9198a1;--text-dim: #656d76;--primary: #238636;--primary-hover: #2ea043;--primary-text: #ffffff;--primary-border: rgba(240, 246, 252, .1);--secondary: #21262d;--secondary-hover: #292e36;--secondary-border: #3d444d;--danger: #f85149;--danger-muted: rgba(248, 81, 73, .1);--danger-border: rgba(248, 81, 73, .4);--warning: #d29922;--warning-muted: rgba(187, 128, 9, .15);--warning-border: rgba(187, 128, 9, .4);--success: #3fb950;--success-muted: rgba(46, 160, 67, .15);--success-border: rgba(46, 160, 67, .4);--info: #4493f8;--info-muted: rgba(56, 139, 253, .1);--info-border: rgba(56, 139, 253, .4);--radius: 6px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, "PingFang SC", "Microsoft YaHei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:var(--font);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}.app{max-width:1100px;margin:0 auto;padding:1.5rem 1rem 2.5rem}.header{margin:2rem 0;text-align:center}.logo{margin:0;font-size:24px;font-weight:600;letter-spacing:-.02em;color:var(--text)}.service-light{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:3px 10px 3px 8px;border:1px solid var(--border);border-radius:999px;background:var(--bg-elevated);font-size:12px;line-height:1.2;color:var(--text-muted);-webkit-user-select:none;user-select:none}.service-light-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--text-dim)}.service-light-dot.level-normal{background:var(--success);box-shadow:0 0 0 3px var(--success-muted)}.service-light-dot.level-unstable{background:var(--warning);box-shadow:0 0 0 3px var(--warning-muted)}.service-light-dot.level-abnormal{background:var(--danger);box-shadow:0 0 0 3px var(--danger-muted)}.service-light-dot.level-unknown{background:var(--text-dim)}.service-light-label{white-space:nowrap}.service-light.level-normal .service-light-label{color:var(--success)}.service-light.level-unstable .service-light-label{color:var(--warning)}.service-light.level-abnormal .service-light-label{color:var(--danger)}.main{display:grid;gap:16px;grid-template-areas:"guide" "form"}.form-column{grid-area:form;display:flex;flex-direction:column;gap:16px;min-width:0}.guide-panel{grid-area:guide}@media(min-width:860px){.main{grid-template-columns:1fr 2fr;grid-template-areas:"guide form";align-items:start;gap:16px}}.panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:none}.form-panel{--form-stack: 12px;--notice-font-size: 13px;--notice-line-height: 1.5;--notice-pad-y: 10px;--notice-pad-x: 12px;--notice-radius: var(--radius);display:flex;flex-direction:column;gap:var(--form-stack);padding:18px}.form-panel>.field,.form-panel>.status-box,.form-panel>.service-banner,.form-panel>.session-block,.form-panel>.result-box,.form-panel>.force-confirm,.form-panel>#btn-activate{margin:0}.form-panel .btn-block{margin-top:0}.service-banner{display:flex;align-items:flex-start;gap:8px;margin:0;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--border);font-size:13px}.service-banner-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;flex-shrink:0;background:var(--text-dim)}.service-banner.level-unstable{border-color:var(--warning-border);background:var(--warning-muted);color:var(--warning)}.service-banner.level-unstable .service-banner-dot{background:var(--warning)}.service-banner.level-abnormal{border-color:var(--danger-border);background:var(--danger-muted);color:var(--danger)}.service-banner.level-abnormal .service-banner-dot{background:var(--danger)}.service-banner.level-unknown{color:var(--text-muted)}.service-banner.level-unknown .service-banner-dot{background:var(--text-dim)}.service-banner-text{flex:1;min-width:0;line-height:1.45}.field{margin:0;display:flex;flex-direction:column;gap:8px}.field label{display:block;margin:0;font-size:14px;font-weight:600;color:var(--text)}.row{display:flex;gap:8px;align-items:stretch}.row input{flex:1;min-width:0}.row .btn{flex-shrink:0}input,textarea{width:100%;padding:5px 12px;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);font:inherit;line-height:20px;outline:none;transition:border-color .1s ease,box-shadow .1s ease;box-shadow:inset 0 1px #ffffff0a}textarea{padding:8px 12px;resize:vertical;min-height:140px;font-family:var(--mono);font-size:12px;line-height:1.45}input:focus,textarea:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #1f6feb4d}input::placeholder,textarea::placeholder{color:var(--text-dim)}.field-error{margin:0;color:var(--danger);font-size:var(--notice-font-size, 13px);line-height:var(--notice-line-height, 1.5);font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 16px;border:1px solid transparent;border-radius:var(--radius);font:inherit;font-weight:500;font-size:14px;line-height:20px;cursor:pointer;white-space:nowrap;text-decoration:none;box-sizing:border-box;transition:background .08s ease,border-color .08s ease,box-shadow .08s ease,color .08s ease}a.btn:hover{text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:var(--primary-text);background:var(--primary);border-color:var(--primary-border);box-shadow:0 1px #1b1f231a}.btn-primary:hover:not(:disabled){background:var(--primary-hover);color:var(--primary-text)}.btn-secondary{color:var(--text);background:var(--secondary);border-color:var(--secondary-border);box-shadow:0 1px #1b1f230a,inset 0 1px #ffffff0a}.btn-secondary:hover:not(:disabled){background:var(--secondary-hover);border-color:#8b949e;color:var(--text)}.btn-block{width:100%;margin-top:0;padding-top:8px;padding-bottom:8px}.guide-body .btn{margin-top:8px}.status-box{margin:0;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-muted);transition:border-color .12s ease,background .12s ease}.status-box>.cooldown-row,.status-box>.cooldown-ready,.status-box>.poll-row,.status-box>.poll-timeout-row{margin-top:10px}.status-box.ready{border-color:var(--border);background:var(--bg-muted)}.status-box.processing{border-color:#388bfd66;background:#388bfd1a}.status-box.completed{border-color:var(--success-border);background:var(--success-muted)}.status-box.cooldown{border-color:var(--warning-border);background:var(--warning-muted)}.status-box.error,.status-box.voided,.status-box.blocked{border-color:var(--danger-border);background:var(--danger-muted)}.status-row{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:0 0 10px;border-bottom:1px solid var(--border)}.status-box.completed .status-row{border-bottom-color:#2ea04340}.status-box.processing .status-row{border-bottom-color:#388bfd40}.status-box.cooldown .status-row{border-bottom-color:#bb80094d}.status-box.error .status-row,.status-box.voided .status-row,.status-box.blocked .status-row{border-bottom-color:#f851494d}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-dim);flex-shrink:0}.status-dot.ready,.status-dot.completed{background:var(--success)}.status-dot.processing{background:var(--info)}.status-dot.cooldown{background:var(--warning)}.status-dot.error,.status-dot.voided,.status-dot.blocked{background:var(--danger)}.status-hint{font-weight:600;font-size:14px;line-height:1.4;color:var(--text)}.status-box.ready .status-hint{color:var(--text)}.status-box.completed .status-hint{color:var(--success)}.status-box.processing .status-hint{color:var(--info)}.status-box.cooldown .status-hint{color:var(--warning)}.status-box.error .status-hint,.status-box.voided .status-hint,.status-box.blocked .status-hint{color:var(--danger)}.status-meta{margin:0;display:flex;flex-direction:column;gap:8px}.status-item{display:grid;grid-template-columns:4.5em 1fr;gap:4px 12px;align-items:baseline;font-size:12px;line-height:1.45}.status-item dt{margin:0;color:var(--text-dim);font-weight:500}.status-item dd{margin:0;color:var(--text-muted);word-break:break-all}.status-item dd.mono{font-family:var(--mono);font-size:12px}.cooldown-row{margin:0;padding-top:10px;border-top:1px solid var(--border);font-size:13px;line-height:1.45;color:var(--warning)}.cooldown-ready{margin:0;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--success-border);background:var(--success-muted);font-size:13px;line-height:1.45;color:var(--success)}.poll-row{margin:0;padding-top:10px;border-top:1px solid var(--border);font-size:13px;line-height:1.45;color:var(--info)}.poll-timeout-row{margin:0;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--warning-border);background:var(--warning-muted)}.poll-timeout-msg{margin:0 0 8px;font-size:13px;line-height:1.5;color:var(--text)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.session-preview,.result-box{margin:0;box-sizing:border-box;padding:var(--notice-pad-y, 10px) var(--notice-pad-x, 12px);border-radius:var(--notice-radius, var(--radius));border:1px solid var(--border);font-size:var(--notice-font-size, 13px);font-weight:500;line-height:var(--notice-line-height, 1.5);word-break:break-word;overflow-wrap:anywhere}.result-box.success,.session-preview.is-ok{border-color:var(--success-border);background:var(--success-muted);color:var(--success)}.result-box.error{border-color:var(--danger-border);background:var(--danger-muted);color:var(--danger)}.session-preview.is-warn{border-color:var(--warning-border);background:var(--warning-muted);color:var(--warning)}.result-box .result-detail{margin-top:6px;color:var(--text-muted);font-size:var(--notice-font-size, 13px);font-weight:400;line-height:var(--notice-line-height, 1.5)}.force-confirm{margin:0;display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid var(--warning-border);border-radius:var(--radius);background:var(--warning-muted)}.force-confirm-title{margin:0;font-size:14px;font-weight:600;color:var(--warning)}.force-confirm-msg{margin:0;font-size:13px;line-height:1.55;color:var(--text)}.force-ack-label{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:13px;line-height:1.5;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.force-ack-label input{margin-top:3px;flex-shrink:0;width:16px;height:16px;accent-color:var(--warning)}.force-confirm-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.force-confirm-actions .btn{flex:1 1 auto;min-width:7.5rem}.refresh-panel{display:flex;flex-direction:column;gap:12px;padding:18px}.refresh-panel>.field{margin:0}.refresh-title{margin:0;font-size:16px;font-weight:600;color:var(--text);letter-spacing:-.01em}.refresh-intro{margin:0;font-size:13px;line-height:1.5;color:var(--text-muted)}.refresh-panel .result-box{margin:0}.guide-panel{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);box-shadow:none}.guide-title{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text);letter-spacing:-.01em}.guide-intro{margin:0 0 16px;font-size:13px;line-height:1.5;color:var(--text-muted)}.guide-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:16px}.guide-step{display:flex;gap:12px;align-items:flex-start}.guide-num{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius);background:var(--bg-neutral);border:1px solid var(--border);color:var(--text);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1;font-family:var(--mono)}.guide-body{min-width:0;flex:1;padding-top:2px}.guide-step-title{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--text);line-height:1.35}.guide-step-desc{margin:0;font-size:13px;line-height:1.5;color:var(--text-muted)}.footer{margin-top:24px;text-align:center;color:var(--text-dim);font-size:12px}.footer p{margin:0}.hidden{display:none!important}.session-block{margin:0;display:flex;flex-direction:column;gap:var(--form-stack, 12px)}.session-block .session-field{gap:8px}
