*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f1117;--bg2:#161b27;--bg3:#1e2538;--bg4:#252d42;--accent:#4f8ef7;--accent2:#7c5cfc;--green:#3dd68c;--amber:#f5a623;--red:#f75f5f;--text:#e8eaf2;--text2:#8b92a8;--text3:#555e78;--border:#2a3147;--border2:#3a4460;--mono:"JetBrains Mono",monospace;--sans:"IBM Plex Sans",sans-serif;--r:10px;--r2:6px}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.6;min-height:100vh}button{cursor:pointer;border:none;background:none;font-family:var(--sans);font-size:14px}input{font-family:var(--sans)}pre{font-family:var(--mono)}.app{max-width:680px;margin:0 auto;padding:0 0 80px}.header{background:linear-gradient(135deg,#1a2040,#0f1117);border-bottom:1px solid var(--border);padding:20px 16px 0;position:sticky;top:0;z-index:100}.header-title{font-size:18px;font-weight:600;color:var(--text);letter-spacing:-.3px;margin-bottom:4px}.header-sub{font-size:12px;color:var(--text2);margin-bottom:14px}.tabs{display:flex;gap:4px}.tab{flex:1;padding:10px 4px;font-size:13px;font-weight:500;color:var(--text2);border-radius:var(--r2) var(--r2) 0 0;border:1px solid transparent;border-bottom:none;transition:all .2s;text-align:center}.tab.active{background:var(--bg2);color:var(--accent);border-color:var(--border)}.tab:hover:not(.active){color:var(--text);background:var(--bg4)}.search-wrap{padding:12px 16px;background:var(--bg2);border-bottom:1px solid var(--border);position:sticky;top:96px;z-index:99}.search-input{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r2);padding:9px 14px 9px 36px;color:var(--text);font-size:14px;outline:none;transition:border-color .2s}.search-input::placeholder{color:var(--text3)}.search-input:focus{border-color:var(--accent)}.search-icon{position:absolute;left:28px;top:50%;transform:translateY(-50%);color:var(--text3);pointer-events:none;font-size:15px}.search-wrap-inner{position:relative}.theory-list{padding:16px}.q-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);margin-bottom:10px;overflow:hidden;transition:border-color .2s}.q-card:hover{border-color:var(--border2)}.q-header{padding:14px 16px;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.q-cat{font-size:11px;font-weight:500;color:var(--accent);letter-spacing:.5px;text-transform:uppercase;margin-bottom:4px}.q-text{font-size:14px;color:var(--text);line-height:1.5;flex:1}.q-toggle{width:28px;height:28px;min-width:28px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r2);display:flex;align-items:center;justify-content:center;color:var(--text2);font-size:16px;transition:all .2s}.q-answer{border-top:1px solid var(--border);padding:14px 16px;background:var(--bg);font-size:13.5px;line-height:1.7}.q-answer p{margin-bottom:8px}.q-answer p:last-child{margin-bottom:0}.q-answer strong{color:var(--text);font-weight:600}.q-answer code{background:var(--bg3);padding:1px 5px;border-radius:3px;font-family:var(--mono);font-size:12px;color:var(--accent)}.q-answer mark{background:#4f8ef726;color:var(--accent);border-radius:2px;padding:0 2px}.q-answer ol,.q-answer ul{padding-left:20px;margin:6px 0}.q-answer li{margin-bottom:4px}.no-results{text-align:center;padding:40px 16px;color:var(--text2);font-size:14px}.code-wrap{display:flex;flex-direction:column}.cat-tabs{display:flex;overflow-x:auto;gap:6px;padding:12px 16px;background:var(--bg2);border-bottom:1px solid var(--border);scrollbar-width:none}.cat-tabs::-webkit-scrollbar{display:none}.cat-btn{white-space:nowrap;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:500;color:var(--text2);border:1px solid var(--border);transition:all .2s}.cat-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.cat-btn:hover:not(.active){border-color:var(--border2);color:var(--text)}.method-list{padding:10px 16px}.method-item{padding:10px 12px;border-radius:var(--r2);cursor:pointer;display:flex;align-items:center;gap:10px;margin-bottom:4px;border:1px solid transparent;transition:all .15s}.method-item:hover{background:var(--bg2);border-color:var(--border)}.method-item.active{background:var(--bg3);border-color:var(--accent)}.method-icon{width:28px;height:28px;min-width:28px;background:var(--bg3);border-radius:var(--r2);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;color:var(--accent2);font-weight:500;border:1px solid var(--border)}.method-item.active .method-icon{background:var(--accent);color:#fff;border-color:var(--accent)}.method-name{font-size:13.5px;font-weight:500;color:var(--text)}.method-sig{font-size:11px;color:var(--text2);font-family:var(--mono);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.detail-panel{background:var(--bg2);border-top:1px solid var(--border);padding:16px}.detail-title{font-size:16px;font-weight:600;color:var(--text);margin-bottom:4px}.detail-sig{font-family:var(--mono);font-size:11px;color:var(--text2);background:var(--bg3);padding:8px 12px;border-radius:var(--r2);margin-bottom:14px;word-break:break-all;border:1px solid var(--border)}.detail-actions{display:flex;gap:8px;margin-bottom:14px}.action-btn{padding:7px 14px;border-radius:var(--r2);font-size:12px;font-weight:500;border:1px solid var(--border);color:var(--text2);background:var(--bg3);transition:all .2s}.action-btn.active{background:var(--accent2);color:#fff;border-color:var(--accent2)}.action-btn:hover:not(.active){border-color:var(--border2);color:var(--text)}.code-block{background:#0a0d14;border:1px solid var(--border);border-radius:var(--r);overflow:auto;margin-bottom:14px}.code-block pre{padding:14px 16px;font-size:12.5px;line-height:1.6;color:#c9d1d9;-moz-tab-size:4;tab-size:4}.kw{color:#ff7b72}.ty{color:#79c0ff}.str{color:#a5d6ff}.cm{color:#6e7681;font-style:italic}.fn{color:#d2a8ff}.num{color:#ffa657}.desc-block{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:12px 14px;font-size:13.5px;line-height:1.6;color:var(--text2);margin-bottom:14px}.steps-block{margin-bottom:14px}.steps-title{font-size:12px;font-weight:500;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.step-item{display:flex;align-items:flex-start;gap:10px;margin-bottom:6px}.step-num{width:20px;height:20px;min-width:20px;background:var(--bg4);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--text2);margin-top:2px;border:1px solid var(--border)}.step-text{font-size:13px;color:var(--text2);font-family:var(--mono)}
