:root{font-family:Sora,Pretendard,SUIT,sans-serif;color-scheme:dark;--bg: #0b0f14;--bg-2: #0f1621;--panel: #111a27;--panel-2: #152233;--panel-3: #19283c;--ink: #e6edf5;--muted: #9fb0c3;--accent: #47d7ac;--accent-2: #ffb347;--accent-3: #6cb3ff;--line: rgba(255, 255, 255, .08);--shadow: 0 24px 60px rgba(4, 7, 12, .55);--glow: 0 0 0 1px rgba(71, 215, 172, .18), 0 20px 40px rgba(71, 215, 172, .12)}h1,h2,h3{font-family:Chakra Petch,Sora,Pretendard,SUIT,sans-serif;letter-spacing:-.01em}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,rgba(108,179,255,.12),transparent 45%),radial-gradient(circle at 30% 30%,rgba(71,215,172,.12),transparent 38%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%);color:var(--ink)}.app{min-height:100vh;padding:clamp(10px,1.5vw,20px);position:relative;overflow:hidden}.app:before,.app:after{content:"";position:absolute;border-radius:50%;opacity:.12;pointer-events:none}.app:before{width:320px;height:320px;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);top:-120px;right:-80px}.app:after{width:420px;height:420px;background:radial-gradient(circle,var(--accent-3) 0%,transparent 70%);bottom:-160px;left:-140px}.auth-shell{display:grid;place-items:center;min-height:100vh;position:relative;z-index:1;animation:fadeUp .7s ease}.auth-card{background:var(--panel-2);border-radius:24px;padding:36px 32px;border:1px solid var(--line);box-shadow:var(--shadow);animation:floatIn .6s ease;width:100%;max-width:380px}.auth-header{text-align:center;margin-bottom:28px}.brand-logo{font-family:Chakra Petch,Sora,Pretendard,SUIT,sans-serif;font-size:1.6rem;letter-spacing:.14em;text-transform:lowercase;color:var(--ink)}.auth-form{display:grid;gap:14px}.keep-login{display:flex;flex-direction:row;align-items:center;gap:10px;font-size:.82rem;letter-spacing:0;text-transform:none;color:var(--muted);cursor:pointer}.toggle{position:relative;width:40px;height:22px;border-radius:11px;border:none;background:#ffffff1a;cursor:pointer;padding:0;flex-shrink:0;transition:background .2s}.toggle.on{background:var(--accent)}.toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;pointer-events:none}.toggle.on .toggle-thumb{transform:translate(18px)}label{display:grid;gap:8px;font-size:.8rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}input{background:var(--panel-3);border:1px solid var(--line);border-radius:14px;padding:12px 14px;color:var(--ink);font-size:.95rem}input::placeholder{color:#9fb0c399}textarea{background:var(--panel-3);border:1px solid var(--line);border-radius:14px;padding:12px 14px;color:var(--ink);font-size:.9rem;resize:vertical;min-height:120px}.primary{border:none;border-radius:14px;padding:12px 16px;background:linear-gradient(120deg,var(--accent),var(--accent-3));color:#041018;font-weight:700;cursor:pointer;box-shadow:var(--glow)}.primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.ghost{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:clamp(8px,.8vw,12px);padding:clamp(6px,.7vw,10px) clamp(8px,1vw,14px);cursor:pointer}.sidebar .ghost{font-size:clamp(.68rem,.75vw,.8rem);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ghost.tiny{padding:6px 10px;font-size:.75rem}.form-error{color:#ff8c8c;font-size:.82rem}.auth-switch{text-align:center;font-size:.82rem;color:var(--muted);margin:0}.auth-switch button.link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.field-optional{font-size:.72rem;color:var(--muted);margin-left:4px}.form-hint{margin:0;color:var(--muted);font-size:.78rem}.dashboard{display:grid;grid-template-columns:clamp(140px,14vw,240px) 1fr;gap:clamp(8px,1vw,14px);min-width:0;height:calc(100vh - (2*clamp(10px,1.5vw,20px)));overflow:hidden}.heatmap-shell{display:grid;gap:12px}.heatmap-toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.heatmap-tabs{display:flex;gap:10px;flex-wrap:wrap}.heatmap-tabs button{background:transparent;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--muted);cursor:pointer;font-size:.82rem}.heatmap-tabs button.active{color:var(--ink);border-color:#47d7ac8c;box-shadow:0 0 0 1px #47d7ac2e}.heatmap-canvas{position:relative;width:100%;aspect-ratio:8 / 3;min-height:228px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg,#0e141ee6,#0c121beb);overflow:visible}.heatmap-canvas.compact{min-height:228px}.heatmap-empty{height:100%;display:grid;place-items:center;color:var(--muted);font-size:.9rem}.heatmap-node{position:absolute;border:1px solid rgba(0,0,0,.5);border-radius:2px;overflow:visible;box-shadow:inset 0 0 0 1px #0000004d;transition:background-color .18s ease,border-color .18s ease}.heatmap-node.group{border-radius:2px}.heatmap-node.leaf{border-radius:1px}.heatmap-node.group.depth-1{border-width:2px;border-color:#0009}.heatmap-node.group.depth-2{border-color:#00000080}.heatmap-group-header{position:absolute;inset:0 0 auto 0;height:16px;display:flex;align-items:center;justify-content:space-between;padding:0 6px;background:#0b0f14d1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.4);pointer-events:none}.heatmap-node.depth-2 .heatmap-group-header{height:14px;padding:0 4px;background:#0b0f14bf}.heatmap-group-name{font-size:var(--group-name-size, .68rem);letter-spacing:.03em;text-transform:uppercase;color:#e6edf5db;white-space:nowrap}.heatmap-node.depth-2 .heatmap-group-name,.heatmap-node.depth-2 .heatmap-group-rate{font-size:var(--group-name-size, .6rem)}.heatmap-group-rate{font-size:.68rem;color:#e6edf5e6;white-space:nowrap;flex:none}.heatmap-leaf-content{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:2px;pointer-events:none;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.8),0 0 6px rgba(0,0,0,.5)}.heatmap-leaf-content strong{font-size:var(--heatmap-title-size, 11px);font-weight:600;line-height:1.06;color:var(--ink);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heatmap-leaf-content span{font-size:var(--heatmap-rate-size, 10px);font-weight:600;color:var(--ink)}.heatmap-leaf-content span.compact{font-size:var(--heatmap-rate-size, 9px);opacity:.92}.heatmap-node.leaf:hover{z-index:100;overflow:visible}.heatmap-tooltip{display:none;position:absolute;z-index:200;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:10px 14px;background:#0e121af5;border:1px solid rgba(255,255,255,.12);border-radius:10px;white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 6px 24px #0000008c;color:var(--ink);text-shadow:none}.heatmap-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#0e121af5}.heatmap-node.leaf:hover>.heatmap-tooltip{display:block}.tooltip-grid{display:grid;grid-template-columns:4.5em auto;gap:3px 0;margin:0;font-size:.78rem;line-height:1.4}.tooltip-grid dt{color:var(--muted);font-weight:400;text-align:justify;text-align-last:justify}.tooltip-grid dd{margin:0;font-weight:600}.tooltip-grid dd:before{content:" : ";color:var(--muted);font-weight:400}.tooltip-grid dd.up{color:#2c9a76}.tooltip-grid dd.down{color:#c45252}.tooltip-grid dd.flat{color:var(--muted)}.heatmap-children{position:absolute;top:0;right:0;bottom:0;left:0}.sidebar-shell{background:var(--panel-2);border-radius:clamp(14px,1.5vw,24px);border:1px solid var(--line);box-shadow:var(--shadow);overflow-y:auto;min-width:0}.sidebar{padding:clamp(8px,1vw,14px) clamp(8px,1vw,14px) clamp(10px,1.2vw,16px);display:grid;gap:clamp(6px,.7vw,10px)}.brand-title{display:inline-flex;align-items:baseline;justify-content:center;gap:clamp(3px,.4vw,6px);background:none;border:none;padding:0;text-align:center;cursor:pointer;color:var(--ink);font-family:Chakra Petch,Sora,Pretendard,SUIT,sans-serif;font-size:clamp(1rem,1.2vw + .5rem,1.9rem);letter-spacing:clamp(.08em,.12vw,.16em);text-transform:lowercase;line-height:1.15;width:100%;overflow:hidden;white-space:nowrap}.brand-title span{font-weight:500;color:var(--muted)}.brand-title strong{font-weight:700;color:var(--ink)}.account-block{display:flex;gap:clamp(6px,.8vw,12px);align-items:center;min-width:0}.account-badge{width:clamp(28px,2.5vw,38px);height:clamp(28px,2.5vw,38px);border-radius:clamp(8px,.8vw,12px);background:#47d7ac2e;border:1px solid rgba(71,215,172,.4);color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:clamp(.7rem,.9vw,1rem);text-transform:uppercase;flex-shrink:0}.account-meta{min-width:0;overflow:hidden}.account-meta strong{display:block;font-size:clamp(.78rem,.9vw,.95rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-timer{display:flex;align-items:center;gap:clamp(4px,.5vw,8px);margin-left:auto;font-size:clamp(.65rem,.7vw,.78rem);color:var(--muted);white-space:nowrap;min-width:0;overflow:hidden}.session-timer-icon{flex-shrink:0;color:var(--accent);transition:color .4s ease}.session-timer-icon.critical{color:#ff6b6b}.session-timer-time{font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);font-size:.82rem}.session-timer-bar{width:clamp(40px,5vw,72px);height:4px;border-radius:2px;background:#ffffff14;overflow:hidden;flex-shrink:0}.session-timer-fill{height:100%;border-radius:2px;background:var(--accent);transition:width 1s ease,background .4s ease}.session-timer-fill.critical{background:#ff6b6b}.session-timer .ghost.tiny{font-size:.7rem;padding:2px 8px;border:1px solid var(--line);border-radius:6px}.session-error{color:#ff8c8c;font-size:.72rem}.tree-menu{display:grid;gap:clamp(4px,.5vw,8px);min-width:0}.tree-menu details{background:var(--panel);border-radius:clamp(8px,1vw,14px);border:1px solid var(--line);padding:clamp(8px,.8vw,12px) clamp(8px,.9vw,12px);min-width:0}.tree-menu summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:.88rem}.tree-menu summary::-webkit-details-marker{display:none}.tree-menu summary em{font-style:normal;color:var(--muted);font-size:.78rem}.submenu-bar{border:none;border-top:1px solid var(--line);margin:8px 0}.tree-menu ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.tree-menu button{width:100%;text-align:left;background:transparent;border:1px solid transparent;color:var(--ink);padding:8px 12px;border-radius:10px;cursor:pointer;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-menu button.active{background:#47d7ac1f;border-color:#47d7ac4d;color:var(--accent)}.dash-main{display:grid;gap:8px;align-content:start;min-width:0;overflow-y:auto}.page-header{display:flex;align-items:center;gap:10px;padding:15px 4px;border-bottom:1px solid var(--line)}.page-breadcrumb{font-size:1.2rem;color:var(--muted);font-weight:400;letter-spacing:.02em}.page-breadcrumb:after{content:"/";margin-left:10px;color:var(--line)}.page-title{font-size:1.5rem;font-weight:600;margin:0;line-height:1;letter-spacing:-.01em}.sync-status{display:flex;gap:10px;align-items:center;margin-top:8px;color:var(--muted);font-size:.8rem}.sync-status em{font-style:normal;color:var(--accent)}.sync-error{display:block;margin-top:6px;color:#ff8c8c;font-size:.78rem}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:15px;display:grid;gap:10px;min-height:180px;animation:fadeUp .6s ease}.panel-header{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.82rem;gap:10px}.panel-header h3{margin:0;color:var(--ink);font-size:1rem}.span-two{grid-column:span 2}.span-three{grid-column:span 3}.market-meter{display:grid;gap:12px}.meter-bar{height:8px;background:#ffffff14;border-radius:999px;overflow:hidden}.meter-bar span{display:block;width:58%;height:100%;background:linear-gradient(90deg,var(--accent-2),var(--accent))}.fear-greed-panel{display:grid;gap:16px}.fg-gauge{display:flex;flex-direction:column;align-items:center;gap:4px}.fg-gauge-wrap{position:relative;width:180px;height:100px;overflow:hidden}.fg-gauge-track{width:180px;height:180px;border-radius:50%;background:conic-gradient(from 180deg,#e74c3c,#e67e22,#f1c40f,#7dcea0,#27ae60 180deg);mask:radial-gradient(circle at center,transparent 58px,black 59px);-webkit-mask:radial-gradient(circle at center,transparent 58px,black 59px)}.fg-gauge-needle{position:absolute;bottom:0;left:50%;width:3px;height:72px;margin-left:-1.5px;background:var(--ink);border-radius:2px;transform-origin:bottom center;transition:transform .8s cubic-bezier(.34,1.56,.64,1);z-index:2}.fg-gauge-needle:after{content:"";position:absolute;top:-2px;left:50%;width:8px;height:8px;margin-left:-4px;background:var(--ink);border-radius:50%}.fg-gauge-center{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:14px;height:14px;background:var(--panel);border:2px solid var(--ink);border-radius:50%;z-index:3}.fg-score{display:flex;align-items:baseline;gap:6px}.fg-score strong{font-size:1.8rem;font-weight:700;line-height:1}.fg-score span{font-size:.85rem;font-weight:600}.fg-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fg-timeline-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;background:var(--panel-2);border-radius:10px;border:1px solid var(--line)}.fg-timeline-item .fg-tl-label{font-size:.65rem;color:var(--muted);white-space:nowrap}.fg-timeline-item .fg-tl-score{font-size:.9rem;font-weight:700}.fg-indicators{display:grid;gap:8px}.fg-indicator{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}.fg-ind-label{font-size:.75rem;color:var(--muted)}.fg-ind-score{font-size:.75rem;font-weight:600;text-align:right;min-width:28px}.fg-ind-bar{grid-column:1 / -1;height:5px;background:#ffffff0f;border-radius:999px;overflow:hidden}.fg-ind-fill{height:100%;border-radius:999px;transition:width .6s ease}.watchlist{list-style:none;padding:0;margin:0;display:grid;gap:12px}.watchlist li{display:flex;justify-content:space-between;align-items:center;background:var(--panel-2);border-radius:14px;padding:10px 12px;border:1px solid var(--line)}.watchlist li.live{border-color:#47d7ac59;box-shadow:inset 0 0 0 1px #47d7ac1f}.watchlist li.stale{opacity:.75}.watchlist span{display:block;font-size:.75rem;color:var(--muted)}.watch-value{text-align:right}.watch-value em{display:block;color:var(--accent);font-style:normal;font-size:.8rem}.activity{list-style:none;margin:0;padding:0;display:grid;gap:10px}.activity li{display:grid;grid-template-columns:54px 1fr;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;border:1px solid transparent}.activity li span{color:var(--muted);font-size:.78rem}.activity li p{margin:0}.activity li.positive{border-color:#47d7ac4d;background:#47d7ac14}.activity li.neutral{border-color:#6cb3ff33;background:#6cb3ff0f}.queue-list{display:grid;gap:12px}.queue-list div{background:var(--panel-2);border-radius:14px;padding:12px;border:1px solid var(--line)}.queue-list span{display:block;color:var(--muted);font-size:.82rem}.index-strip{display:flex;gap:clamp(4px,1cqi,10px);padding-bottom:2px;container-type:inline-size}.index-strip::-webkit-scrollbar{height:6px}.index-strip::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:999px}.index-card{min-width:0;background:var(--panel-2);border-radius:clamp(10px,1.5cqi,16px);padding:clamp(6px,1cqi,10px) clamp(8px,1.2cqi,12px);border:1px solid var(--line);display:grid;gap:clamp(2px,.4cqi,4px);overflow:hidden}.index-card.up{border-color:#47d7ac66;box-shadow:inset 0 0 0 1px #47d7ac1f}.index-card.down{border-color:#ff8c8c59;box-shadow:inset 0 0 0 1px #ff8c8c1f}.index-title{font-size:clamp(.5rem,.8cqi,.7rem);font-weight:600;color:var(--muted);line-height:1.1;white-space:nowrap}.index-number{font-size:clamp(.7rem,1.2cqi,1.08rem);font-weight:700;color:var(--muted);line-height:1.1;white-space:nowrap}.index-triangle{margin-left:4px;display:inline-flex;align-items:center;gap:2px;vertical-align:middle}.index-meta{font-size:clamp(.55rem,.9cqi,.82rem);font-weight:600;color:var(--muted);line-height:1.1;white-space:nowrap}.index-meta em{font-style:normal}.index-card.up .index-meta{color:var(--accent)}.index-card.down .index-meta{color:#ff8c8c}.index-card.up .index-number{color:var(--accent)}.index-card.down .index-number{color:#ff8c8c}.heatmap-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.heatmap-tabs{display:inline-flex;gap:6px;padding:4px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line)}.heatmap-tabs button{border:1px solid transparent;background:transparent;color:var(--muted);padding:8px 12px;border-radius:999px;cursor:pointer;font-size:.82rem}.heatmap-tabs button.active{background:#47d7ac24;border-color:#47d7ac47;color:var(--accent)}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:4px}.detail-grid .panel{min-height:auto}.api-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:4px}.api-card{min-height:auto}.api-tester-main{display:grid;gap:12px}.api-tester-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) minmax(220px,.9fr);gap:12px;align-items:end}.api-endpoint-select{text-transform:none;letter-spacing:.08em;font-size:.75rem}.api-endpoint-meta{display:grid;gap:4px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--panel-2)}.api-endpoint-meta strong{font-size:.92rem;color:var(--ink)}.api-endpoint-meta code{font-size:.78rem;color:var(--muted);word-break:break-all}.order-form{display:grid;gap:12px}.order-form label{text-transform:none;letter-spacing:.08em;font-size:.74rem}.order-form input,.order-form select{width:100%}.order-form select{background:var(--panel-3);border:1px solid var(--line);border-radius:14px;padding:12px 14px;color:var(--ink);font-size:.95rem}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:.8rem;text-transform:none;letter-spacing:.08em}.table-wrap{border-radius:16px;border:1px solid var(--line);background:var(--panel-2);overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}thead{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}tbody tr:last-child td{border-bottom:none}.tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#6cb3ff29;color:var(--accent-3);font-size:.72rem;letter-spacing:.08em}.account-list,.test-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.account-list li,.test-list li{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;gap:6px}.account-list li span,.test-list li span{color:var(--muted);font-size:.82rem}.test-list li em{font-style:normal;color:var(--accent);font-size:.82rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.settings-card{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;justify-content:space-between;gap:12px;align-items:center}.settings-card p{margin:6px 0 0;color:var(--muted);font-size:.85rem}.security-status{display:grid;gap:10px}.security-status div{display:flex;justify-content:space-between;align-items:center;background:var(--panel-2);border-radius:14px;border:1px solid var(--line);padding:12px 14px;color:var(--muted)}.security-status strong{color:var(--ink)}.log-list{display:grid;gap:10px}.log-list div{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.log-list strong{color:var(--ink)}.market-tester{display:grid;gap:16px}.tester-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.tester-tabs{display:flex;gap:8px;flex-wrap:wrap}.tester-tabs button{background:var(--panel-2);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 14px;cursor:pointer;font-size:.82rem}.tester-tabs button.active{background:#47d7ac29;border-color:#47d7ac59;color:var(--accent)}.tester-value{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.tester-value div{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;gap:6px}.tester-value p{margin:0;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.16em}.tester-value strong{font-size:1.1rem}.tester-empty{background:var(--panel-2);border:1px dashed var(--line);border-radius:14px;padding:16px;display:grid;gap:6px;color:var(--muted)}.tester-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem;gap:12px;flex-wrap:wrap}.api-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.api-list strong{display:block;font-size:.85rem;margin-bottom:6px}.api-list span{display:block;font-size:.78rem;color:var(--muted)}.api-section{display:grid;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--panel-2)}.api-section label{text-transform:none;letter-spacing:.08em;font-size:.75rem}.api-section+.api-section{margin-top:12px}.api-param-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.api-section-header{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted)}.api-response{background:#0a0f16;border-radius:12px;padding:12px;border:1px solid rgba(255,255,255,.08);font-size:.78rem;overflow:auto;max-height:260px}.api-response-prominent{min-height:340px;max-height:640px;font-size:.9rem;line-height:1.45;font-weight:600}.api-result-card{display:grid;gap:10px}.api-result-empty{min-height:180px;border-radius:14px;border:1px dashed var(--line);background:var(--panel-2);color:var(--muted);display:grid;place-items:center;text-align:center;padding:20px;gap:6px}.api-loading{color:var(--muted);font-size:.8rem}.empty-state{color:var(--muted);font-size:.82rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes floatIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1100px){.dashboard{grid-template-columns:1fr;height:auto;overflow:visible}.sidebar-shell{border-radius:18px;overflow-y:visible}.dash-main{overflow-y:visible}.grid,.detail-grid,.api-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-three{grid-column:span 2}.api-tester-toolbar{grid-template-columns:1fr}}@media (max-width: 820px){.auth-card{margin:0 16px}.grid,.detail-grid,.api-grid{grid-template-columns:1fr}.span-two,.span-three{grid-column:span 1}.field-row,.api-param-grid{grid-template-columns:1fr}}.api-test-section{width:100%}.api-test-filter{width:100%;box-sizing:border-box;background:var(--bg-2);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:6px 10px;font-size:12px;margin-bottom:10px}.api-test-filter::placeholder{color:var(--muted)}.api-tag-group{margin-bottom:8px}.api-tag-title{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 4px;padding:4px 0;border-bottom:1px solid var(--line)}.api-endpoint{border:1px solid var(--line);border-radius:6px;margin-bottom:4px;overflow:hidden}.api-ep-get{border-color:#6cb3ff4d;background:#6cb3ff0a}.api-ep-post{border-color:#47d7ac4d;background:#47d7ac0a}.api-ep-put{border-color:#ffb3474d;background:#ffb3470a}.api-ep-delete{border-color:#eb48484d;background:#eb48480a}.api-ep-header{display:flex;align-items:center;gap:8px;padding:5px 10px;cursor:pointer;-webkit-user-select:none;user-select:none}.api-ep-header:hover{background:#ffffff05}.api-method{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;color:var(--bg);min-width:42px;text-align:center;flex-shrink:0}.api-method-get{background:var(--accent-3)}.api-method-post{background:var(--accent)}.api-method-put{background:var(--accent-2)}.api-method-delete{background:#eb4848}.api-ep-path{font-size:13px;color:var(--ink);font-family:monospace}.api-ep-summary{font-size:12px;color:var(--muted);margin-left:auto}.api-ep-auth{font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px;background:#ffb34726;color:var(--accent-2);flex-shrink:0}.api-ep-toggle{font-size:9px;color:var(--muted);flex-shrink:0}.api-ep-body{padding:8px 12px 10px;border-top:1px solid var(--line);background:#0000001a}.api-params{margin-bottom:8px}.api-params-title{font-size:11px;color:var(--muted);margin:0 0 6px;font-weight:600}.api-param-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}.api-param-meta{flex:0 0 140px;display:flex;flex-direction:column;gap:1px;padding-top:4px}.api-param-name{font-size:12px;color:var(--ink);font-weight:500}.api-param-req{color:#eb4848;margin-left:2px;font-weight:700}.api-param-type{font-size:10px;color:var(--muted)}.api-param-desc{font-size:10px;color:var(--muted);opacity:.8}.api-param-input{flex:1;background:var(--bg-2);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:5px 8px;font-size:12px;font-family:inherit}.api-param-input::placeholder{color:var(--muted);opacity:.5}.api-param-input:focus{border-color:var(--accent);outline:none}select.api-param-input{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.api-param-auto{opacity:.6;cursor:default;font-family:monospace;font-size:11px}.api-param-hint{font-size:10px;padding:2px 0;opacity:.7}.api-param-textarea{min-height:50px;resize:vertical;font-family:monospace;font-size:11px}.api-no-params{font-size:11px;padding:4px 0}.api-ep-actions{display:flex;align-items:center;gap:8px;margin-bottom:6px}.api-exec-btn{background:var(--accent);color:var(--bg);border:none;border-radius:4px;padding:5px 20px;font-size:12px;font-weight:600;cursor:pointer}.api-exec-btn:disabled{opacity:.5;cursor:default}.api-exec-btn:hover:not(:disabled){filter:brightness(1.1)}.api-auth-warn{font-size:11px;color:var(--accent-2)}.api-response{border:1px solid var(--line);border-radius:6px;overflow:hidden}.api-response-header{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:var(--panel-2);font-size:11px;color:var(--muted)}.api-status{font-weight:700;border-radius:3px;padding:1px 6px}.api-status-2{color:var(--accent)}.api-status-4{color:var(--accent-2)}.api-status-5{color:#eb4848}.api-status-0{color:var(--muted)}.api-response-body{background:var(--bg);color:var(--ink);padding:6px 10px;font-size:11px;font-family:monospace;line-height:1.4;max-height:240px;overflow:auto;margin:0;white-space:pre-wrap;word-break:break-all}.cred-section{max-width:420px;display:grid;gap:8px}.cred-block{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:grid;gap:8px}.cred-block-header{display:flex;justify-content:space-between;align-items:center}.cred-block-title{margin:0;font-size:.8rem;font-weight:600;color:var(--ink)}.cred-rows{display:grid;gap:4px}.cred-row{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;font-size:.78rem}.cred-label{color:var(--muted);font-weight:500}.cred-value{color:var(--ink);font-weight:600}.cred-form{display:grid;gap:8px}.cred-field{display:grid;gap:4px;font-size:.72rem;text-transform:none;letter-spacing:.06em;color:var(--muted)}.cred-field input{padding:8px 10px;border-radius:8px;font-size:.85rem}.cred-actions{display:flex;gap:6px;margin-top:2px}.cred-actions .primary,.cred-actions .ghost{padding:7px 14px;font-size:.78rem;border-radius:8px}.field-label{display:flex;flex-direction:column;gap:6px;font-size:.82rem;color:var(--muted)}.field-label input{width:100%;box-sizing:border-box}.toast{padding:12px 16px;border-radius:14px;font-size:.85rem}.toast-error{background:#ff64641f;color:#ff8c8c}.toast-success{background:#47d7ac1f;color:var(--accent)}
