:root{--bg: radial-gradient(circle at 20% 20%, #1f2a44 0, transparent 30%), radial-gradient(circle at 80% 0%, #2d345d 0, transparent 35%), radial-gradient(circle at 50% 80%, #1d3d5c 0, transparent 30%), #0c1424;--panel: rgba(13, 20, 32, .65);--border: rgba(255, 255, 255, .08);--muted: #9cb3d6;--accent: #56d4ff;--accent-2: #8dd9a5;--text: #e6ecf5;--danger: #ff6b6b;color-scheme:dark;font-family:Space Grotesk,Segoe UI,sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}#root{min-height:100vh}a{color:var(--accent)}.page{display:flex;flex-direction:column;gap:12px;padding:16px;width:min(1600px,98vw);margin:0 auto}.header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.nav{display:inline-flex;gap:8px;padding:6px;border-radius:12px;border:1px solid var(--border);background:#ffffff0a}.nav-button{border:1px solid var(--border);background:#ffffff08;color:var(--text);border-radius:10px;padding:8px 12px;font-size:13px;cursor:pointer;transition:border-color .12s ease,transform .12s ease}.nav-button:hover{border-color:#ffffff29;transform:translateY(-1px)}.nav-button.active{background:linear-gradient(120deg,#56d4ff2e,#8dd9a52e);border-color:#ffffff2e}.title{font-size:28px;font-weight:600;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}.tag{padding:4px 8px;border-radius:8px;background:#56d4ff1f;color:var(--accent);border:1px solid var(--border);font-size:12px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:14px;box-shadow:0 20px 40px #00000040;position:relative}.card h2{margin:0 0 8px;font-size:16px;letter-spacing:.01em}.card.section-step{padding-left:42px}.card.section-step:before{content:attr(data-step);position:absolute;left:-36px;top:12px;width:24px;height:24px;border-radius:50%;border:1px solid var(--border);background:#ffffff14;color:var(--text);font-size:12px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--panel);z-index:2}.card.section-step:after{content:"";position:absolute;left:-24px;top:40px;bottom:-12px;width:2px;background:linear-gradient(to bottom,#ffffff40,#ffffff14);pointer-events:none}.main-steps{position:relative;padding-left:26px;margin-left:24px;margin-top:4px}.main-steps .section-step{border-left:none;margin-left:-4px;padding-left:46px}.row{display:grid;grid-template-columns:180px 1fr;gap:8px;align-items:center;margin-bottom:8px}.row label{color:var(--muted);font-size:13px;word-break:break-word}.input,.select,.textarea{width:100%;border-radius:10px;border:1px solid var(--border);background:#ffffff0a;color:var(--text);padding:10px 12px;font-size:14px;outline:none}.textarea{min-height:120px;resize:vertical}.muted{color:var(--muted);font-size:13px}.button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:10px;background:linear-gradient(120deg,#56d4ff2e,#8dd9a52e);color:var(--text);padding:10px 14px;font-weight:600;cursor:pointer;font-size:14px;transition:transform .12s ease,border-color .12s ease,filter .12s ease}.button:hover{transform:translateY(-1px);border-color:#ffffff24;filter:brightness(1.05)}.button.secondary{background:#ffffff0a}.button.danger{background:#ff6b6b29;border-color:#ff6b6b66}.section{display:flex;gap:10px;flex-wrap:wrap}.pill{padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:#ffffff08;font-size:12px;color:var(--muted)}.stack{display:flex;flex-direction:column;gap:8px}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:10px;border:1px solid var(--border);background:#ffffff0d;font-size:12px}.status{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;flex-wrap:wrap}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.status-redirect{color:#7dd3fc;font-weight:700;display:inline-flex;align-items:center;gap:6px}.copy-icon{cursor:pointer;padding:4px;border-radius:8px;border:1px solid transparent;transition:border-color .12s ease,background .12s ease}.copy-icon:hover{border-color:var(--border);background:#ffffff0f}.danger-text{color:var(--danger)}code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px}.profile-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:8px}@media (max-width: 720px){.row,.profile-row{grid-template-columns:1fr}}.buttons-centered{display:flex;gap:12px;justify-content:center;margin-top:20px}.textarea.readonly{background:#f4f4f4;color:#333;cursor:default;pointer-events:none}.token-row .token-wrapper{display:flex;align-items:flex-start;position:relative;width:100%}.copy-btn{margin-left:8px;padding:6px 10px;font-size:12px;border-radius:6px;border:1px solid #ccc;background:#1f2a44;cursor:pointer;transition:background .2s}.copy-btn:hover{background:#eee}.result{background:#00000059;border-radius:12px;padding:10px;border:1px solid var(--border);overflow:auto;max-height:320px}.result.result-modal{max-height:none;height:calc(99vh - 160px)}.result code{white-space:pre-wrap;word-break:break-word}.pill-button{background:#ffffff0f;border:1px solid var(--border);color:var(--text);border-radius:8px;padding:4px 8px;font-size:12px;cursor:pointer}.pill-button:hover{border-color:#ffffff29}.pill-button.active{border-color:#56d4ff80;background:#56d4ff1f}.code-box{border:1px solid var(--border);border-radius:12px;background:#00000040;overflow:hidden}.code-box-header{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-bottom:1px solid var(--border);color:var(--muted);font-size:12px}.code-box-body{padding:10px;max-height:260px;overflow:auto}.result.result-modal .code-box-body{max-height:none;height:calc(96vh - 220px)}.code-colored .key{color:#7dd3fc}.code-colored .string{color:#a5e075}.code-colored .number{color:#fbd38d}.code-colored .boolean{color:#f88}.code-colored .null{color:#9cb3d6}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top}.table th{color:var(--muted);font-weight:600}.json-block{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px}.json-line{display:flex;align-items:flex-start;gap:6px}.json-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--muted);cursor:pointer;padding:0 4px}.json-brace{color:#7dd3fc}.json-muted{color:var(--muted)}.json-key{color:#7dd3fc}.json-colon{color:var(--muted)}.json-prim{color:#a5e075}.json-ts{color:#fbd38d}.json-ts .ts-hint{color:var(--muted);font-size:11px;margin-left:6px}.json-children{margin-left:12px}.layout{display:flex;gap:12px;align-items:flex-start}.sidebar{width:280px;min-width:260px;position:sticky;top:12px;display:flex;flex-direction:column;gap:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10}.modal{background:#0f1729;border:1px solid var(--border);border-radius:14px;padding:16px;width:min(1040px,98vw);box-shadow:0 20px 50px #0006;position:relative}.modal.modal-sm{width:min(560px,94vw)}.modal.modal-lg{width:min(1100px,95vw);max-height:100vh;height:96vh}.tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.tile{border:1px solid var(--border);border-radius:10px;padding:10px;background:#ffffff08;color:var(--text);cursor:pointer;text-align:left;transition:border-color .12s ease,transform .12s ease,background .12s ease}.tile:hover{border-color:#ffffff29;transform:translateY(-1px)}.tile.active{border-color:#56d4ff66;background:#56d4ff14}.preset-list{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow:auto}.preset-item{border:1px solid var(--border);border-radius:10px;padding:6px;background:#ffffff05}.preset-item.drag-over{border-color:#56d4ff66;background:#56d4ff0f}.preset-button{width:100%;border:1px solid var(--border);border-radius:10px;background:#ffffff0a;color:var(--text);padding:8px 10px;text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s ease}.preset-button:hover{border-color:#ffffff29;transform:translateY(-1px)}.preset-button.active{border-color:#56d4ff66;background:#56d4ff1a}@media (max-width: 960px){.layout{flex-direction:column}.sidebar{width:100%;min-width:auto;position:static}}
