.tms-js-minifier-container{max-width:1200px;margin:2rem auto;font-family:system-ui,-apple-system,sans-serif;line-height:1.6;background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.tms-js-minifier-container *{box-sizing:border-box;margin:0;padding:0}.tms-js-minifier-title{color:#333;margin-bottom:1.5rem;text-align:center}.tms-js-minifier-stats{display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem;background-color:#f8f9fa;border-radius:4px}.tms-js-minifier-stat-item{text-align:center}.tms-js-minifier-stat-label{font-size:.875rem;color:#666}.tms-js-minifier-stat-value{font-size:1.25rem;font-weight:700;color:#333}.tms-js-minifier-editor-container{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.tms-js-minifier-editor{width:100%}.tms-js-minifier-textarea{width:100%;height:400px;padding:1rem;font-family:monospace;font-size:14px;border:1px solid #ddd;border-radius:4px;resize:none}.tms-js-minifier-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:1rem}.tms-js-minifier-btn{padding:.75rem 1.5rem;font-size:1rem;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.tms-js-minifier-btn-minify{background-color:#007bff;color:#fff}.tms-js-minifier-btn-minify:hover{background-color:#0056b3}.tms-js-minifier-btn-copy{background-color:#6c757d;color:#fff}.tms-js-minifier-btn-copy:hover{background-color:#545b62}.tms-js-minifier-btn-clear{background-color:#dc3545;color:#fff}.tms-js-minifier-btn-clear:hover{background-color:#c82333}
.tms-json-tool{max-width:1000px;margin:2rem auto;padding:1rem;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.tms-json-tool-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.tms-json-tool-title{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin:0}.tms-json-input-container{margin-bottom:1rem}.tms-json-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:#374151}.tms-json-textarea{width:100%;height:200px;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-family:monospace;resize:vertical}.tms-json-button{background-color:#2563eb;color:#fff;padding:.5rem 1rem;border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;transition:background-color .2s}.tms-json-button:hover{background-color:#1d4ed8}.tms-json-error{background-color:#fee2e2;border:1px solid #ef4444;color:#dc2626;padding:.75rem;border-radius:.375rem;margin:1rem 0;display:none}.tms-json-output-container{margin-top:1rem;display:none}.tms-json-output-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.tms-json-copy-button{background:0 0;border:none;color:#4b5563;cursor:pointer;display:flex;align-items:center;gap:.25rem;font-size:.875rem}.tms-json-copy-button:hover{color:#2563eb}.tms-json-output-code{background-color:#f3f4f6;padding:1rem;border-radius:.375rem;overflow-x:auto;white-space:nowrap;font-family:monospace}
.tms-shortcuts-container{font-family:system-ui,-apple-system,sans-serif;max-width:800px;margin:20px auto;padding:20px;background:#f5f5f5}.tms-search-container{margin-bottom:20px}.tms-search{width:100%;padding:12px;font-size:16px;border:2px solid #ddd;border-radius:6px;margin-bottom:20px}.tms-shortcuts-list{border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden}.tms-shortcut{display:flex;padding:12px 16px;border-bottom:1px solid #eee}.tms-shortcut:last-child{border-bottom:none}.tms-keys{flex:0 0 200px;font-weight:700}.tms-action{flex:1}.tms-hidden{display:none}.tms-kbd{background:#eee;border-radius:4px;padding:2px 6px;font-family:monospace}
.tms_psc_container{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1);width:90%;max-width:400px;margin:2rem auto}.tms_psc_heading{color:#1a1a1a;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.tms_psc_input_group{position:relative;margin-bottom:1.5rem}.tms_psc_input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;outline:none;background-color:#fff}.tms_psc_input:focus{border-color:#4f46e5}.tms_psc_toggle_btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:#666;background:0 0;border:none;padding:0}.tms_psc_strength_meter{height:8px;background:#e0e0e0;border-radius:4px;margin:1rem 0;overflow:hidden}.tms_psc_strength_meter_fill{height:100%;width:0;transition:width .3s ease,background-color .3s ease;border-radius:4px}.tms_psc_requirements{list-style:none;margin-bottom:1rem;padding:0}.tms_psc_requirement_item{display:flex;align-items:center;margin:8px 0;color:#666;font-size:.9rem}.tms_psc_requirement_item:before{content:"•";margin-right:8px;color:#ccc}.tms_psc_requirement_item.tms_psc_valid{color:#10b981}.tms_psc_requirement_item.tms_psc_valid:before{content:"✓";color:#10b981}.tms_psc_requirement_item.tms_psc_invalid{color:#ef4444}.tms_psc_requirement_item.tms_psc_invalid:before{content:"✗";color:#ef4444}.tms_psc_analysis{margin-top:1rem;padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.tms_psc_analysis_label{font-size:.9rem;color:#64748b;margin-bottom:.5rem}.tms_psc_analysis_value{font-size:1.1rem;color:#1e293b;font-weight:500}.tms_psc_warning{color:#ef4444;font-size:.9rem;margin-top:.5rem;display:none}.tms_psc_instant{color:#ef4444 !important}.tms_psc_very_fast{color:#f97316 !important}.tms_psc_fast{color:#eab308 !important}.tms_psc_moderate{color:#22c55e !important}.tms_psc_strong{color:#10b981 !important}
.hub-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hub-main [hidden],#hub-results [hidden]{display:none!important}.hub-main a:focus-visible,.hub-main button:focus-visible,.hub-main summary:focus-visible,.hub-toolbar a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.hub-hero{padding:44px 40px 40px}.hub-hero nav.hub-crumbs{position:static;height:auto;background:0 0;border:0;padding:0;display:block;z-index:auto}.hub-crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;font-family:var(--mono);font-size:12px;color:#8a8a8a;margin-bottom:18px}.hub-crumbs li+li:before{content:"/";margin-right:6px;color:#555}.hub-crumbs a{color:#b5b5b5}.hub-crumbs a:hover{color:#fff}.hub-hero .cat-header-desc{color:#a6a6a6;max-width:660px}.hub-byline{margin-top:16px;font-size:13px;color:#8a8a8a}.hub-byline a{color:#d6d6d6;border-bottom:1px solid #444}.hub-byline a:hover{color:#fff;border-color:#fff}.hub-stats{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:26px;padding-top:22px;border-top:1px solid #262626;list-style:none;font-size:13px;color:#8a8a8a}.hub-stats strong{display:block;font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.15;color:#fff}.hub-toolbar{position:sticky;top:60px;z-index:150;background:rgba(255,255,255,.97);border-bottom:1px solid var(--border);backdrop-filter:saturate(1.2) blur(6px)}.hub-toolbar-inner{max-width:1200px;margin:0 auto;padding:14px 40px 10px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.hub-search{position:relative;flex:1 1 340px;max-width:520px;display:flex;align-items:center}.hub-search svg{position:absolute;left:14px;color:var(--ink-muted);pointer-events:none}.hub-search input{width:100%;height:44px;padding:0 44px 0 40px;border:1px solid var(--border-dark);border-radius:var(--radius);font:inherit;font-size:15px;color:var(--ink);background:#fff;-webkit-appearance:none;appearance:none}.hub-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.15)}.hub-search kbd{position:absolute;right:12px;font-family:var(--mono);font-size:12px;color:var(--ink-muted);border:1px solid var(--border-dark);border-radius:5px;padding:1px 7px;background:var(--bg-soft)}.hub-search input:focus~kbd,.hub-search input:not(:placeholder-shown)~kbd{display:none}.hub-status{margin-left:auto;font-size:13px;color:var(--ink-muted)}.hub-toolbar nav.hub-chips{position:static;height:auto;background:0 0;border:0;z-index:auto;justify-content:flex-start;align-items:stretch;max-width:1200px;margin:0 auto;padding:0 40px 12px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin}.hub-chip{flex:0 0 auto;padding:7px 13px;border:1px solid var(--border);border-radius:999px;font-size:13px;font-weight:500;color:var(--ink-soft);background:#fff;white-space:nowrap;transition:border-color .15s,color .15s}.hub-chip:hover{border-color:var(--border-dark);color:var(--ink)}.hub-main{max-width:1200px;margin:0 auto;padding:36px 40px 80px}.hub-main section{padding:0}.hub-block{margin-bottom:56px;scroll-margin-top:170px}.hub-head{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}.hub-h2{font-family:var(--serif);font-weight:500;font-size:clamp(23px,2.6vw,29px);line-height:1.2;color:var(--ink);letter-spacing:-.01em;margin-bottom:8px}.hub-head .hub-h2{margin-bottom:0}.hub-count{font-family:var(--mono);font-size:12px;color:var(--ink-muted);border:1px solid var(--border);border-radius:999px;padding:1px 9px}.hub-intro{font-size:14.5px;line-height:1.7;color:var(--ink-soft);max-width:760px;margin-bottom:20px}.hub-main.hub-filtering .hub-featured,.hub-main.hub-filtering .hub-tool{display:none}.hub-feat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.hub-feat .card-img{height:auto;aspect-ratio:16/9}.hub-feat .card-title{font-size:16px}.hub-feat .card-excerpt{font-size:12.5px}.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hub-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;transition:box-shadow .2s,transform .2s,border-color .2s}.hub-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.08);transform:translateY(-2px);border-color:var(--border-dark)}.hub-card:hover .hub-card-title{color:var(--accent)}.hub-card-title{font-family:var(--serif);font-size:16.5px;font-weight:500;line-height:1.3;color:var(--ink);transition:color .15s}.hub-card-excerpt{font-size:13px;line-height:1.6;color:var(--ink-muted);flex:1}.hub-card-meta{font-size:11.5px;color:var(--ink-muted)}.hub-widget{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-soft);padding:18px}.hub-widget+.hub-subhead{margin-top:32px}.hub-widget-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:14px}.hub-seg{display:inline-flex;border:1px solid var(--border-dark);border-radius:var(--radius);overflow:hidden;background:#fff}.hub-seg button{font:inherit;font-size:13px;font-weight:500;padding:9px 14px;border:0;background:0 0;color:var(--ink-soft);cursor:pointer}.hub-seg button+button{border-left:1px solid var(--border)}.hub-seg button[aria-pressed=true]{background:var(--ink);color:#fff}.hub-filter{flex:1 1 220px;max-width:360px}.hub-filter input{width:100%;height:40px;padding:0 12px;border:1px solid var(--border-dark);border-radius:var(--radius);font:inherit;font-size:14px;background:#fff}.hub-filter input:focus{outline:none;border-color:var(--accent)}.hub-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.hub-table{width:100%;border-collapse:collapse;font-size:14px}.hub-table th,.hub-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:top}.hub-table thead th{background:var(--bg-soft);font-size:12px;font-weight:600;color:var(--ink-soft)}.hub-table tbody tr:last-child td,.hub-table tbody tr:last-child th{border-bottom:0}.hub-table tbody th{font-weight:600;color:var(--ink);white-space:nowrap}.hub-table a{color:var(--accent);font-weight:500}.hub-table a:hover{text-decoration:underline}.hub-table kbd{display:inline-block;font-family:var(--mono);font-size:12px;line-height:1.5;padding:1px 7px;border:1px solid var(--border-dark);border-bottom-width:2px;border-radius:5px;background:#fff;color:var(--ink);white-space:nowrap}.hub-table code,.hub-note code,.hub-sub code{font-family:var(--mono);font-size:12.5px;background:var(--bg-mid);border-radius:4px;padding:1px 6px;color:var(--ink)}.hub-table code.hub-path{background:0 0;padding:0;color:var(--ink-soft)}.hub-na{color:var(--ink-muted);font-size:13px}.hub-sep{color:var(--border-dark);margin:0 2px}.hub-keys[data-os=win] .hub-os:not(.hub-os-win),.hub-keys[data-os=mac] .hub-os:not(.hub-os-mac),.hub-keys[data-os=linux] .hub-os:not(.hub-os-linux){display:none}.hub-tasks[data-ed=vscode] .hub-ed-pycharm,.hub-tasks[data-ed=pycharm] .hub-ed-vscode{display:none}.hub-compare td{color:var(--ink-soft)}.hub-compare td:nth-child(2){background:var(--bg-soft);color:var(--ink)}.hub-note{font-size:13px;line-height:1.65;color:var(--ink-muted);margin-top:12px}.hub-note a,.hub-sub a{color:var(--accent)}.hub-subhead{font-family:var(--serif);font-weight:500;font-size:20px;color:var(--ink);margin:28px 0 6px}.hub-sub{font-size:14px;line-height:1.7;color:var(--ink-soft);margin-bottom:14px;max-width:760px}.hub-steps{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hub-step{min-width:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;padding:18px}.hub-step-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.hub-step-head h3{font-family:var(--serif);font-weight:500;font-size:18px;color:var(--ink)}.hub-step-n{flex:0 0 28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--mono);font-size:12px}.hub-step p{font-size:13.5px;color:var(--ink-soft);line-height:1.6}.hub-cmd{margin:10px 0;padding:10px 12px;background:#111;color:#e6e6e6;border-radius:8px;font-family:var(--mono);font-size:12.5px;line-height:1.6;overflow-x:auto;white-space:pre}.hub-step-links{display:flex;flex-wrap:wrap;gap:6px}.hub-step-links a{font-size:12.5px;padding:4px 10px;border:1px solid var(--border-dark);border-radius:999px;color:var(--ink);background:var(--bg-soft)}.hub-step-links a:hover{border-color:var(--accent);color:var(--accent)}.hub-empty{border:1px dashed var(--border-dark);border-radius:var(--radius-lg);padding:28px;text-align:center;color:var(--ink-soft);margin-bottom:56px}.hub-empty p+p{margin-top:6px;font-size:14px;color:var(--ink-muted)}.hub-reset{font:inherit;color:var(--accent);background:0 0;border:0;padding:0;cursor:pointer;text-decoration:underline}.hub-related{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hub-related a{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);font-size:14.5px;font-weight:500;color:var(--ink);transition:border-color .15s,color .15s}.hub-related a span{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--ink-muted)}.hub-related a:hover{border-color:var(--accent);color:var(--accent)}.hub-faq{max-width:860px}.hub-faq-item{border-bottom:1px solid var(--border)}.hub-faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:18px 0;font-size:16px;font-weight:500;color:var(--ink)}.hub-faq-item summary::-webkit-details-marker{display:none}.hub-faq-item summary:after{content:"+";font-family:var(--mono);font-size:18px;line-height:1;color:var(--ink-muted);transition:transform .2s}.hub-faq-item[open] summary:after{transform:rotate(45deg)}.hub-faq-item p{font-size:15px;line-height:1.75;color:var(--ink-soft);padding:0 0 18px;max-width:760px}.hub-who{border-top:1px solid var(--border);padding-top:28px;margin-bottom:0}.hub-who p{font-size:14px;line-height:1.75;color:var(--ink-muted);max-width:860px}.hub-who a{color:var(--accent)}@media (max-width:1080px){.hub-feat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:960px){.hub-hero{padding:36px 24px 32px}.hub-toolbar-inner{padding:12px 24px 8px}.hub-toolbar nav.hub-chips{padding:0 24px 10px}.hub-main{padding:28px 24px 64px}.hub-grid,.hub-related{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-steps{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.hub-hero{padding:30px 20px 28px}.hub-toolbar{position:static}.hub-toolbar-inner{padding:10px 16px 8px;gap:10px}.hub-search{flex-basis:100%;max-width:none}.hub-status{margin-left:0;flex-basis:100%;font-size:12px}.hub-toolbar nav.hub-chips{padding:0 16px 10px}.hub-main{padding:24px 16px 56px}.hub-grid,.hub-related{grid-template-columns:1fr}.hub-feat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hub-feat .card-body{padding:12px}.hub-feat .card-excerpt{display:none}.hub-feat .card-title{font-size:14.5px}.hub-block{margin-bottom:44px;scroll-margin-top:72px}.hub-stats strong{font-size:20px}.hub-widget{padding:14px}.hub-seg{width:100%}.hub-seg button{flex:1}.hub-filter{max-width:none}.hub-table{font-size:13px}.hub-table th,.hub-table td{padding:9px 10px}}@media (prefers-reduced-motion:reduce){.hub-card,.hub-chip{transition:none}.hub-card:hover{transform:none}}