:root{--bg: #ffffff;--bg-elevated: #ffffff;--bg-sunken: #f3f4f6;--bg-hover: #eef0f3;--bg-active: #e3e6ea;--text: #1f2328;--text-muted: #5b6470;--text-faint: #8b94a1;--border: #e2e5e9;--border-strong: #cdd2d8;--accent: #2f6feb;--accent-hover: #2a62d4;--accent-soft: #e7f0fe;--accent-text: #ffffff;--danger: #d93a3a;--danger-soft: #fdeaea;--success: #2e9e5b;--warning: #d9902f;--toolbar-bg: #f7f8fa;--address-bg: #ffffff;--overlay: rgba(15, 20, 30, .42);--shadow: 0 8px 30px rgba(15, 20, 30, .16);--shadow-sm: 0 2px 10px rgba(15, 20, 30, .1);--radius: 12px;--radius-sm: 8px;--radius-xs: 6px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);color-scheme:light}[data-theme=dark]{--bg: #1b1d21;--bg-elevated: #24262b;--bg-sunken: #16181b;--bg-hover: #2c2f35;--bg-active: #363a41;--text: #e7e9ec;--text-muted: #a7aeb8;--text-faint: #7d8590;--border: #33373d;--border-strong: #43484f;--accent: #4c86f0;--accent-hover: #5b91f2;--accent-soft: #22304a;--accent-text: #ffffff;--danger: #e56464;--danger-soft: #3a2626;--success: #4cb87a;--warning: #e0a648;--toolbar-bg: #212327;--address-bg: #2a2d32;--overlay: rgba(0, 0, 0, .58);--shadow: 0 8px 30px rgba(0, 0, 0, .5);--shadow-sm: 0 2px 10px rgba(0, 0, 0, .4);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans,sans-serif;font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;overscroll-behavior:none}#root{display:flex;flex-direction:column}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none;padding:0}button:disabled{cursor:default;opacity:.45}input,textarea,select{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}ul{list-style:none;margin:0;padding:0}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:content-box}*::-webkit-scrollbar-track{background:transparent}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.grow{flex:1 1 auto;min-width:0;min-height:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.hidden{display:none!important}@keyframes ipb-spin{to{transform:rotate(360deg)}}@keyframes ipb-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ipb-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes ipb-pop-in{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);color:var(--text-muted);transition:background .12s ease,color .12s ease;flex:none}.icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.icon-btn:active:not(:disabled){background:var(--bg-active)}.icon-btn.active{color:var(--accent)}.icon-btn svg{width:19px;height:19px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border-radius:var(--radius-sm);font-weight:500;background:var(--bg-sunken);color:var(--text);transition:background .12s ease,opacity .12s ease}.btn:hover:not(:disabled){background:var(--bg-hover)}.btn.primary{background:var(--accent);color:var(--accent-text)}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.danger{background:var(--danger);color:#fff}.btn.ghost{background:transparent}.btn.ghost:hover:not(:disabled){background:var(--bg-hover)}.btn.sm{height:30px;padding:0 12px;font-size:13px}.field{width:100%;height:38px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field::placeholder{color:var(--text-faint)}textarea.field{height:auto;padding:10px 12px;resize:vertical}.label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px}.overlay{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;animation:ipb-fade-in .14s ease;padding:20px}.dialog{width:100%;max-width:460px;max-height:min(80vh,720px);display:flex;flex-direction:column;background:var(--bg-elevated);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);animation:ipb-pop-in .16s ease;overflow:hidden}.dialog.wide{max-width:620px}.dialog-head{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--border);flex:none}.dialog-title{font-size:16px;font-weight:600;flex:1 1 auto;min-width:0}.dialog-body{padding:16px 18px;overflow-y:auto;flex:1 1 auto}.dialog-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--border);flex:none}.dialog-foot.split{justify-content:space-between}.drawer-overlay{position:fixed;inset:0;background:var(--overlay);z-index:1000;display:flex;align-items:flex-end;animation:ipb-fade-in .14s ease}.drawer{width:100%;max-height:82vh;display:flex;flex-direction:column;background:var(--bg-elevated);border-radius:18px 18px 0 0;box-shadow:var(--shadow);animation:ipb-slide-up .2s cubic-bezier(.22,1,.36,1);padding-bottom:var(--safe-bottom);overflow:hidden}.drawer-handle{width:40px;height:4px;border-radius:2px;background:var(--border-strong);margin:10px auto 4px;flex:none}.drawer-head{display:flex;align-items:center;padding:8px 18px 12px;flex:none}.drawer-title{font-size:16px;font-weight:600;flex:1}.drawer-body{overflow-y:auto;flex:1 1 auto;padding:0 12px 12px}.menu{position:absolute;min-width:210px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:6px;z-index:1100;animation:ipb-pop-in .12s ease}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:var(--radius-xs);color:var(--text);text-align:left;font-size:14px}.menu-item:hover:not(:disabled){background:var(--bg-hover)}.menu-item svg{width:17px;height:17px;color:var(--text-muted);flex:none}.menu-item .menu-label{flex:1 1 auto;min-width:0}.menu-item .menu-value{color:var(--text-faint);font-size:12px}.menu-item.danger{color:var(--danger)}.menu-item.danger svg{color:var(--danger)}.menu-sep{height:1px;background:var(--border);margin:6px 4px}.list-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);transition:background .1s ease}.list-row:hover{background:var(--bg-hover)}.list-row .row-main{flex:1 1 auto;min-width:0}.list-row .row-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row .row-sub{font-size:12px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row .row-actions{display:flex;align-items:center;gap:2px;flex:none}.row-ic{width:18px;height:18px;color:var(--text-faint);flex:none}.group-label{font-size:12px;font-weight:600;color:var(--text-muted);padding:12px 12px 6px;position:sticky;top:0;background:var(--bg-elevated);z-index:1}.check{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.check:hover{background:var(--bg-hover)}.check-box{width:20px;height:20px;border-radius:5px;border:2px solid var(--border-strong);display:flex;align-items:center;justify-content:center;flex:none;transition:background .12s ease,border-color .12s ease;color:#fff}.check.checked .check-box{background:var(--accent);border-color:var(--accent)}.check-box svg{width:14px;height:14px}.check-label{flex:1}.radio-row{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border-radius:var(--radius-sm);text-align:left}.radio-row:hover{background:var(--bg-hover)}.radio-row.selected{background:var(--accent-soft);color:var(--accent);font-weight:600}.radio-dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong);flex:none;display:flex;align-items:center;justify-content:center}.radio-row.selected .radio-dot{border-color:var(--accent)}.radio-row.selected .radio-dot:after{content:"";width:9px;height:9px;border-radius:50%;background:var(--accent)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 20px;color:var(--text-faint);text-align:center}.empty svg{width:40px;height:40px;opacity:.6}.spinner{width:18px;height:18px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:ipb-spin .7s linear infinite;flex:none}.spin{animation:ipb-spin .8s linear infinite}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:2px 8px;border-radius:20px;background:var(--bg-sunken);color:var(--text-muted)}.badge.ok{background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success)}.badge.warn{background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning)}.badge.error{background:var(--danger-soft);color:var(--danger)}.toast{position:fixed;left:50%;bottom:calc(28px + var(--safe-bottom));transform:translate(-50%);background:var(--text);color:var(--bg);padding:10px 18px;border-radius:22px;font-size:13px;box-shadow:var(--shadow);z-index:2000;animation:ipb-pop-in .16s ease;max-width:80vw}.search-bar{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:var(--radius-sm);background:var(--bg-sunken);border:1px solid transparent}.search-bar:focus-within{border-color:var(--accent);background:var(--bg)}.search-bar svg{width:16px;height:16px;color:var(--text-faint);flex:none}.search-bar input{flex:1;min-width:0;border:none;background:none;outline:none}.nc-target{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.nc-target-head{font-weight:600;font-size:14px;padding:10px 14px;background:var(--bg-sunken);border-bottom:1px solid var(--border)}.nc-steps{display:flex;flex-direction:column}.nc-step{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--border);font-size:13px}.nc-step:last-child{border-bottom:none}.nc-ic{width:17px;height:17px;flex:none}.nc-ic.ok{color:var(--success)}.nc-ic.warn{color:var(--warning)}.nc-ic.error{color:var(--danger)}.nc-ic.info{color:var(--accent)}.nc-ic.pending{color:var(--text-faint)}.nc-step-label{flex:none;width:96px;color:var(--text-muted)}.nc-step-detail{flex:1 1 auto;min-width:0;color:var(--text)}.nc-step-ms{flex:none;font-size:12px}.wide-app{display:flex;flex-direction:column;height:100%;min-width:900px}.wide-toolbar{display:flex;align-items:center;gap:6px;padding:7px 10px;background:var(--toolbar-bg);border-bottom:1px solid var(--border);flex:none}.wide-nav{display:flex;align-items:center;gap:2px;flex:none}.wide-address{flex:1 1 auto;display:flex;align-items:center;gap:8px;height:36px;padding:0 8px 0 14px;background:var(--address-bg);border:1px solid var(--border);border-radius:20px;min-width:0;transition:border-color .12s ease,box-shadow .12s ease}.wide-address:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.wide-address .addr-icon{width:15px;height:15px;color:var(--text-faint);flex:none}.wide-address input{flex:1 1 auto;min-width:0;border:none;background:none;outline:none;font-size:14px}.wide-tools{display:flex;align-items:center;gap:2px;flex:none}.wide-bookmarks-row{display:flex;align-items:center;gap:8px;padding:4px 10px;background:var(--toolbar-bg);border-bottom:1px solid var(--border);flex:none;min-height:38px}.bookmarks-bar{flex:1 1 auto;display:flex;align-items:center;gap:2px;overflow:hidden;min-width:0}.bm-chip{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radius-xs);font-size:13px;max-width:190px;cursor:pointer;flex:none;color:var(--text)}.bm-chip:hover{background:var(--bg-hover)}.bm-chip svg{width:15px;height:15px;flex:none;color:var(--text-muted)}.bm-chip .bm-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bm-add{flex:none}.proxy-indicator{flex:none;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);padding:5px 12px;border-radius:16px;background:var(--bg-sunken);max-width:42%;cursor:pointer}.proxy-indicator:hover{background:var(--bg-hover)}.proxy-indicator.on{color:var(--accent);background:var(--accent-soft)}.proxy-indicator svg{width:14px;height:14px;flex:none}.proxy-indicator .proxy-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wide-content{flex:1 1 auto;position:relative;background:var(--bg-sunken);min-height:0}.wide-content-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-faint)}.bm-folder-pop{position:absolute;min-width:240px;max-width:320px;max-height:60vh;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:6px;z-index:1100}.wide-address .icon-btn{width:28px;height:28px}.wide-address .icon-btn svg{width:16px;height:16px}.bm-viewport{flex:1 1 auto;display:flex;align-items:center;gap:2px;overflow:hidden;min-width:0}.bm-trailing{flex:none;display:flex;align-items:center;gap:2px}.bm-folder-head{display:flex;align-items:center;gap:6px;padding:4px 8px 8px;font-size:12px;font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:4px}.bm-folder-head .bm-folder-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.narrow-app{display:flex;flex-direction:column;height:100%;padding-top:var(--safe-top);padding-left:var(--safe-left);padding-right:var(--safe-right)}.narrow-content{flex:1 1 auto;position:relative;min-height:0;background:var(--bg)}.narrow-content iframe{position:absolute;inset:0;width:100%;height:100%;border:none;background:var(--bg)}.narrow-bottom{flex:none;background:var(--toolbar-bg);border-top:1px solid var(--border);padding-bottom:var(--safe-bottom)}.narrow-proxy-row{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;font-size:12px;color:var(--text-muted);cursor:pointer;border-bottom:1px solid var(--border)}.narrow-proxy-row.on{color:var(--accent)}.narrow-proxy-row svg{width:14px;height:14px;flex:none}.narrow-proxy-row .proxy-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80vw}.narrow-toolbar-row{display:flex;align-items:center;gap:6px;padding:8px 10px}.narrow-address{flex:1 1 auto;display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;background:var(--address-bg);border:1px solid var(--border);border-radius:22px;min-width:0;cursor:pointer}.narrow-address svg{width:16px;height:16px;color:var(--text-faint);flex:none}.narrow-address .addr-text{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:14px}.tab-count{position:absolute;top:2px;right:2px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:var(--accent);color:#fff;font-size:10px;line-height:15px;text-align:center}.tab-btn-wrap{position:relative;flex:none}.search-view{position:fixed;inset:0;background:var(--bg);z-index:1200;display:flex;flex-direction:column;padding-top:var(--safe-top);animation:ipb-fade-in .14s ease}.search-view-head{display:flex;align-items:center;justify-content:flex-end;padding:10px 12px;flex:none}.search-view-body{flex:1 1 auto;overflow-y:auto;padding:4px 8px}.search-view-foot{flex:none;display:flex;align-items:center;gap:8px;padding:10px 12px calc(10px + var(--safe-bottom));border-top:1px solid var(--border);background:var(--toolbar-bg)}.search-input{flex:1 1 auto;height:46px;padding:0 16px;border-radius:24px;border:1px solid var(--border);background:var(--bg);outline:none;font-size:15px;min-width:0}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-go{flex:none;height:46px;padding:0 20px;border-radius:24px;background:var(--accent);color:#fff;font-weight:600}.tab-switcher{position:fixed;inset:0;background:var(--bg-sunken);z-index:1200;display:flex;flex-direction:column;padding-top:var(--safe-top);animation:ipb-slide-up .2s cubic-bezier(.22,1,.36,1)}.tab-switcher-head{display:flex;align-items:center;padding:12px 16px;flex:none}.tab-switcher-title{font-size:16px;font-weight:600;flex:1}.tab-list{flex:1 1 auto;overflow-y:auto;padding:4px 12px 12px;display:flex;flex-direction:column;gap:10px}.tab-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer}.tab-card.active{border-color:var(--accent);background:var(--accent-soft)}.tab-card .tab-favicon{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--bg-sunken);display:flex;align-items:center;justify-content:center;flex:none;color:var(--text-muted)}.tab-card .tab-meta{flex:1 1 auto;min-width:0}.tab-card .tab-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-card .tab-url{font-size:12px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-switcher-foot{flex:none;padding:12px 16px calc(12px + var(--safe-bottom))}.options-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px 4px 16px}.option-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 4px;border-radius:var(--radius-sm);cursor:pointer}.option-item:hover{background:var(--bg-hover)}.option-item svg{width:24px;height:24px;color:var(--text-muted)}.option-item .option-label{font-size:12px;color:var(--text);text-align:center;line-height:1.3}.start-page{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:24px;background:var(--bg)}.start-logo{font-size:26px;font-weight:700;color:var(--text);letter-spacing:-.5px}.start-logo span{color:var(--accent)}.start-form{width:100%;max-width:560px;display:flex;align-items:center;gap:8px}.start-input{flex:1 1 auto;height:48px;padding:0 20px;border-radius:26px;border:1px solid var(--border);background:var(--bg-elevated);outline:none;font-size:15px;min-width:0;box-shadow:var(--shadow-sm)}.start-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.start-go{flex:none;width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center}.start-go svg{width:22px;height:22px}.start-hint{color:var(--text-faint);font-size:13px}
