.ts{padding:80px 0 8px}.ts-top{text-align:center;max-width:760px;margin:0 auto;position:relative}.ts-sub{max-width:620px;color:var(--muted);text-wrap:pretty;margin:20px auto 0;font-size:18px;line-height:1.6}.ts-tool{max-width:860px;margin:44px auto 0;position:relative}.ts-box{border:1px solid var(--line2);background:var(--tq-14161b);box-shadow:inset 0 1px 0 var(--tq-ffffff0d),0 40px 100px -40px #000;border-radius:16px;transition:border-color .15s,box-shadow .15s;position:relative}.ts-box:focus-within{box-shadow:inset 0 1px 0 var(--tq-ffffff0d),0 0 0 4px #2bd4bd14,0 40px 100px -40px #000;border-color:#2bd4bd73}.ts-bar{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 12px;display:flex}.ts-tabs{border:1px solid var(--line);background:var(--tq-0f1014);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.mode-tab{height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;padding:0 14px;font:500 14px Google Sans,system-ui,sans-serif;display:inline-flex}.mode-tab:hover{color:var(--text)}.mode-tab.active{background:var(--tq-1f232a);color:var(--text);box-shadow:0 1px 2px #0006}.mode-tab:focus-visible,.chip:focus-visible,.ts-exb:focus-visible,.upload-zone:focus-visible,.ts-clear:focus-visible,#run-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.ts-exm{margin-left:auto;position:relative}.ts-exb{border:1px solid var(--line);background:var(--tq-16181e);height:36px;color:var(--text);cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:0 12px 0 14px;font:500 14px Google Sans,system-ui,sans-serif;display:inline-flex}.ts-exb:hover{border-color:var(--line2)}.ts-exb svg{color:var(--muted);transition:transform .2s}.ts-exb[aria-expanded=true] svg{transform:rotate(180deg)}.ts-exlist{z-index:20;border:1px solid var(--line2);background:var(--tq-14161b);border-radius:14px;width:430px;padding:12px 10px 4px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 24px 48px -16px #000000d9}.ts-exlist[hidden]{display:none}.ts-exlist p{color:var(--faint);margin:2px 8px 6px;font-size:12.5px;font-weight:500}.ts-exg{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin-bottom:10px;display:grid}.chip{height:38px;color:var(--body);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:0 10px;font:500 14px Google Sans,system-ui,sans-serif;display:flex}.chip:hover{background:var(--tq-1c1f26);color:var(--text)}.chip img{border-radius:50%;flex:none;width:20px;height:20px}.hidden{display:none!important}.input-stack{position:relative}#config-input,.ghost-layer{white-space:pre-wrap;word-break:break-all;tab-size:2;margin:0;padding:20px 22px;font:13.5px/1.65 Google Sans Code,ui-monospace,monospace}#config-input{z-index:1;resize:vertical;width:100%;min-height:210px;color:var(--text);caret-color:var(--teal);background:0 0;border:0;outline:0;display:block;position:relative}#config-input::placeholder{color:var(--faint);font-family:Google Sans,system-ui,sans-serif;font-size:15px}.input-stack.typing #config-input::placeholder{color:#0000}.ghost-layer{color:var(--faint);pointer-events:none;position:absolute;inset:0;overflow:hidden}.ghost-cursor{vertical-align:-3px;background:var(--teal);width:7px;height:16px;margin-left:1px;animation:1s step-end infinite ts-blink;display:inline-block}@keyframes ts-blink{50%{opacity:0}}.demo-bar{z-index:2;pointer-events:none;position:absolute;bottom:14px;right:16px}.demo-label{border:1px solid var(--line2);background:var(--tq-14161b);color:var(--muted);border-radius:999px;padding:3px 10px;font-size:12px;display:inline-block}.upload-zone{border:1.5px dashed var(--line2);text-align:center;min-height:210px;color:var(--muted);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin:14px;padding:20px;font-size:14px;transition:border-color .15s,background .15s;display:none}.ts-tool[data-mode=upload] .upload-zone{display:flex}.ts-tool[data-mode=upload] .input-stack,.ts-tool.creds-only .input-stack{display:none}.ts-tool.creds-only .creds-panel{background:0 0;border-top:0}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--teal);background:#2bd4bd0a}.upload-zone svg{color:var(--teal);margin-bottom:6px}.upload-zone b{color:var(--text);font-size:15.5px;font-weight:500}.browse-link{color:var(--teal);text-underline-offset:3px;text-decoration:underline}.upload-zone small{color:var(--faint);font-size:12.5px}.creds-panel{border-top:1px solid var(--line);background:var(--tq-111216);padding:16px 22px 18px}.creds-title{color:var(--text);margin:0 0 12px;font-size:14px;font-weight:500}.creds-group{display:none}.creds-group.active{display:block}.creds-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.creds-grid label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.creds-grid .opt{color:var(--faint)}.creds-grid input{border:1px solid var(--line2);background:var(--tq-0f1014);height:42px;color:var(--text);border-radius:8px;padding:0 12px;font:14.5px Google Sans,system-ui,sans-serif}.creds-grid input:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #2bd4bd33}.creds-hint{color:var(--faint);margin:12px 0 0;font-size:13px;line-height:1.5}.creds-hint code{color:var(--body);font-family:Google Sans Code,monospace}.input-foot{border-top:1px solid var(--line);background:var(--tq-121317);color:var(--muted);border-radius:0 0 16px 16px;align-items:center;gap:12px;padding:10px 10px 10px 22px;font-size:13.5px;display:flex}.detected{align-items:center;gap:9px;min-width:0;display:flex}.indicator{background:var(--line2);border-radius:50%;flex:none;width:8px;height:8px}.detected.ok{color:var(--text)}.detected.ok .indicator{background:var(--green);box-shadow:0 0 0 3px #1bc97a26}.detected.warn{color:var(--amber)}.detected.warn .indicator{background:var(--amber)}.count{color:var(--red);font:12px Google Sans Code,monospace;display:none}.count.over{display:inline}.ts-run{align-items:center;gap:6px;margin-left:auto;display:flex}.ts-clear{height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 14px;font:500 14.5px Google Sans,system-ui,sans-serif}.ts-clear:hover{color:var(--text);background:var(--tq-1c1f26)}#run-btn{cursor:pointer;border-radius:8px;gap:0;height:40px;padding:0 18px;font:600 15px Google Sans,system-ui,sans-serif;box-shadow:inset 0 1px #ffffff59,inset 0 -1px #0000001f,0 1px 2px #0006}#run-btn:disabled{cursor:progress;opacity:.9}.run-spin{border:2px solid #06201c40;border-top-color:#06201c;border-radius:50%;width:15px;height:15px;margin-right:9px;animation:.7s linear infinite ts-spin;display:none}#run-btn.busy .run-spin{display:inline-block}.ts-under{justify-content:flex-end;align-items:center;gap:16px;margin-top:14px;padding:0 4px;display:flex}.ts-kbd{color:var(--faint);white-space:nowrap;align-items:center;gap:4px;font-size:13px;display:flex}kbd{border:1px solid var(--line2);min-width:22px;color:var(--muted);text-align:center;border-bottom-width:2px;border-radius:5px;padding:1px 6px;font:12px Google Sans,system-ui,sans-serif;display:inline-block}.ts-result{max-width:860px;margin:24px auto 0}.result-card{border:1px solid var(--line2);background:var(--tq-14161b);border-radius:16px;animation:.25s ease-out ts-in;overflow:hidden}@keyframes ts-in{0%{opacity:0;transform:translateY(6px)}}.rc-top{align-items:flex-start;gap:16px;padding:22px 24px;display:flex}.rc-ico{border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid}.rc-ok .rc-ico{color:var(--green);background:#1bc97a1f}.rc-down .rc-ico{color:var(--red);background:#ef44441f}.rc-warn .rc-ico,.rc-alert .rc-ico{color:var(--amber);background:#f9a62b1f}.rc-run .rc-ico{background:#2bd4bd14}.rc-txt{min-width:0}.rc-txt h3{color:var(--text);margin:0;font-size:19px;font-weight:600;line-height:1.3}.rc-txt p{color:var(--muted);margin:5px 0 0;font-size:15px;line-height:1.55}.result-meta{color:var(--faint);white-space:nowrap;margin-left:auto;padding-top:4px;font:12px Google Sans Code,monospace}.rc-spin{border:2px solid #2bd4bd33;border-top-color:var(--teal);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite ts-spin}.rc-stats{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.rc-stats div{border-right:1px solid var(--line);padding:16px 24px}.rc-stats div:last-child{border-right:0}.rc-stats span{color:var(--muted);font-size:13px;display:block}.rc-stats b{letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;margin-top:4px;font:600 26px/1.15 Google Sans,system-ui,sans-serif;display:block}.rc-saw{color:#fca5a5;overflow-wrap:anywhere;background:#ef44440d;border:1px solid #ef444433;border-radius:10px;margin:0 24px 20px 82px;padding:12px 14px;font:13px/1.55 Google Sans Code,monospace}.rc-saw span{color:var(--muted);margin-bottom:4px;font:500 12.5px Google Sans,system-ui,sans-serif;display:block}.result-body .row{border-top:1px solid var(--line);grid-template-columns:170px minmax(0,1fr);gap:16px;padding:12px 24px;font-size:14px;display:grid}.result-body .k{color:var(--muted)}.result-body .v{color:var(--text);overflow-wrap:anywhere;font:13.5px Google Sans Code,monospace}.ts-steps{margin:0;padding:4px 24px 22px 82px;list-style:none}.ts-step{color:var(--faint);align-items:center;gap:12px;padding:7px 0;font-size:14.5px;display:flex;position:relative}.ts-step:before{content:"";border-left:1.5px solid var(--line2);height:14px;position:absolute;top:-7px;left:7px}.ts-step:first-child:before{display:none}.ts-step i{border:1.5px solid var(--line2);background:var(--tq-14161b);border-radius:50%;flex:none;width:16px;height:16px;position:relative}.ts-step.active{color:var(--text)}.ts-step.active i{border-color:#2bd4bd40;border-top-color:var(--teal);animation:.8s linear infinite ts-spin}.ts-step.done{color:var(--body)}.ts-step.done i{border-color:var(--green);background:var(--green)}.ts-step.done i:after{content:"";border:solid var(--tq-14161b);border-width:0 1.75px 1.75px 0;width:4px;height:7px;position:absolute;top:1.5px;left:4px;transform:rotate(45deg)}@keyframes ts-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ts-step.active i,.ghost-cursor,.rc-spin,.run-spin,.result-card{animation:none}}.result-foot{border-top:1px solid var(--line);background:var(--tq-121317);flex-wrap:wrap;align-items:center;gap:16px;padding:14px 24px;font-size:14px;display:flex}.result-foot a:not(.btn){color:var(--teal);font-weight:500;text-decoration:none}.result-foot a:not(.btn):hover{text-underline-offset:3px;text-decoration:underline}.result-foot .btn{border-radius:8px;height:38px;padding:0 16px;font-size:14px}#share-btn{border:1px solid var(--line2);background:var(--tq-16181e);height:36px;color:var(--text);cursor:pointer;border-radius:8px;padding:0 13px;font:500 13.5px Google Sans,system-ui,sans-serif}#share-btn:hover{border-color:var(--tq-3a3f4a)}.remaining{color:var(--faint);margin-left:auto}.remaining.low{color:var(--amber)}.toast{z-index:60;border:1px solid var(--line2);background:var(--tq-1c1f26);max-width:calc(100vw - 32px);color:var(--text);opacity:0;pointer-events:none;border-radius:10px;padding:11px 16px;font-size:14px;transition:opacity .2s,transform .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);box-shadow:0 16px 40px -12px #000000b3}.toast.show{opacity:1;transform:translate(-50%)}.ts-needs{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px;display:grid}.ts-need{border:1px solid var(--line);background:var(--tq-14161b);border-radius:16px;padding:24px}.ts-need h3{color:var(--text);margin:0;font-size:18px;font-weight:600}.ts-need p{color:var(--muted);margin:8px 0 18px;font-size:15px;line-height:1.55}.ts-need ul{flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none;display:flex}.ts-need li{color:var(--body);align-items:center;gap:7px;font-size:14px;display:flex}.ts-need img{border-radius:50%}@media (width<=960px){.ts-needs{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.ts{padding:40px 0 8px}.ts-sub{font-size:16px}.ts-tool{margin-top:32px}.ts-bar{flex-wrap:wrap}.ts-tabs{width:100%}.mode-tab{flex:1;justify-content:center}.ts-exm{width:100%;margin:0}.ts-exb{justify-content:center;width:100%}.ts-exlist{width:auto;left:0;right:0}.ts-exg{grid-template-columns:repeat(2,minmax(0,1fr))}#config-input{min-height:190px}.input-foot{flex-wrap:wrap;padding:12px}.ts-run{width:100%}#run-btn{flex:1;justify-content:center}.ts-kbd{display:none}.rc-top{padding:18px}.rc-saw,.ts-steps{margin-left:18px;padding-left:0}.ts-steps{margin-left:0;padding-left:18px}.rc-saw{margin-right:18px}.result-body .row{grid-template-columns:minmax(0,1fr);gap:2px;padding:12px 18px}.result-foot{padding:14px 18px}.rc-top{flex-wrap:wrap;gap:14px}.rc-txt{flex:1}.rc-txt h3{font-size:17px}.result-meta{order:3;width:100%;margin:0;padding:0 0 0 56px}.rc-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.rc-stats div{padding:12px 14px}.rc-stats b{font-size:20px}}html[data-theme=light] .mode-tab.active{background:#fff;box-shadow:0 1px 2px #10182824}html[data-theme=light] .ts-box{box-shadow:0 1px 2px #1018280d,0 30px 60px -36px #1018284d}html[data-theme=light] .ts-box:focus-within{box-shadow:0 0 0 4px #2bd4bd1f,0 30px 60px -36px #1018284d}html[data-theme=light] .ts-exlist{box-shadow:0 24px 48px -20px #10182847}html[data-theme=light] .rc-saw{color:#b91c1c}html[data-theme=light] .result-card{box-shadow:0 1px 2px #1018280a,0 20px 40px -28px #10182840}
