*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{
    --bg:#1a1a2e;--sf:#16213e;--sf2:#0f3460;--ac:#e94560;
    --tx:#eee;--tx2:#999;--tx3:#666;
    --blue:#2196F3;--yellow:#FFC107;--red:#F44336;--black:#555;--purple:#9C27B0;--green:#4CAF50;
    --r:8px;
}
html,body{width:100%;height:100%;overflow:hidden;font-family:-apple-system,system-ui,Segoe UI,Roboto,sans-serif;font-size:12px;background:var(--bg);color:var(--tx)}
#app{width:100%;height:100%;position:relative;overflow:hidden}

/* MENU */
.menu-btn{position:fixed;top:4px;right:4px;z-index:999;background:none;border:none;color:var(--tx);font-size:20px;width:32px;height:32px;line-height:32px;text-align:center;cursor:pointer;border-radius:50%}
.menu-btn:active{background:var(--sf2)}
.menu-drop{position:fixed;top:36px;right:4px;z-index:998;background:var(--sf);border:1px solid var(--sf2);border-radius:var(--r);display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:4px;min-width:140px}
.menu-drop button{background:var(--sf2);border:none;color:var(--tx);padding:8px 4px;font-size:11px;border-radius:4px;cursor:pointer}
.menu-drop button.act{background:var(--ac)}
.menu-drop button:active{opacity:.7}
.hidden{display:none!important}

/* TOAST */
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--sf);color:var(--tx);padding:6px 14px;border-radius:20px;font-size:11px;z-index:1000;border:1px solid var(--sf2);white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}

/* LOADING */
.loading{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:2000;font-size:14px;color:var(--tx2)}

/* VIEWS */
.view{display:none;width:100%;height:100%}
.view.active{display:block}

/* SLIDE SYSTEM */
.slide-wrap{position:relative;width:100%;height:100%}
.swap-left,.swap-right{position:fixed;top:50%;transform:translateY(-50%);width:28px;height:56px;background:rgba(15,52,96,.6);border:none;color:var(--tx);font-size:14px;z-index:100;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px}
.swap-left{left:0;border-radius:0 4px 4px 0}
.swap-right{right:0;border-radius:4px 0 0 4px}
.swap-left:active,.swap-right:active{background:var(--ac)}
.slides{width:100%;height:100%}
.slide{display:none;width:100%;height:100%;overflow-y:auto}
.slide.on{display:block}
.slide-content{padding:40px 34px 40px 34px;min-height:100%}
.slide-counter{position:fixed;bottom:6px;left:50%;transform:translateX(-50%);color:var(--tx3);font-size:10px;z-index:101}

/* FORM */
.lbl{display:block;color:var(--ac);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.inp{width:100%;background:var(--sf);border:1px solid var(--sf2);color:var(--tx);padding:8px;border-radius:var(--r);font-size:13px;outline:none}
.inp:focus{border-color:var(--ac)}
.inp-sm{width:40px;background:var(--sf);border:1px solid var(--sf2);color:var(--tx);padding:6px;border-radius:var(--r);font-size:12px;text-align:center;outline:none}
.inp-sm:focus{border-color:var(--ac)}
.dur-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.dur-row span{color:var(--tx2);font-size:11px}
.btn-primary{width:100%;padding:10px;background:var(--ac);color:#fff;border:none;border-radius:var(--r);font-size:13px;font-weight:700;cursor:pointer;margin-top:10px}
.btn-primary:active{opacity:.8}
.btn-sm{padding:4px 8px;background:var(--sf2);color:var(--tx);border:none;border-radius:4px;font-size:10px;cursor:pointer}
.btn-sm:active{opacity:.7}
.btn-danger{background:var(--red)}
.btn-green{background:var(--green)}

/* TOGGLE ROW */
.toggle-row{display:flex;gap:2px;margin-bottom:6px}
.tbtn{flex:1;padding:6px;background:var(--sf2);border:none;color:var(--tx);font-size:11px;border-radius:4px;cursor:pointer}
.tbtn.act{background:var(--ac)}

/* SUGGESTION LIST */
.suggest-list{margin-top:4px;max-height:calc(100vh - 160px);overflow-y:auto}
.suggest-item{padding:8px;background:var(--sf);border:1px solid var(--sf2);border-radius:var(--r);margin-bottom:3px;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.suggest-item:active{background:var(--sf2)}
.suggest-item .s-name{font-size:12px;font-weight:600;color:var(--tx)}
.suggest-item .s-meta{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--tx2)}
.suggest-item .s-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}
.suggest-item .s-type{font-size:9px;color:var(--tx3);word-break:break-all}

/* SELECTED TAG */
.sel-tag{padding:6px 8px;background:var(--sf);border:1px solid var(--ac);border-radius:var(--r);margin-top:4px;display:flex;align-items:center;gap:6px}
.sel-tag .s-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}
.sel-tag .s-name{font-size:12px;font-weight:600}
.sel-tag .s-meta{font-size:10px;color:var(--tx2)}

/* CONFIRM BOX */
.confirm-box{background:var(--sf);border-radius:var(--r);padding:8px;margin-bottom:6px;font-size:11px;line-height:1.6}
.confirm-box .c-row{display:flex;align-items:center;gap:4px;margin-bottom:2px}
.confirm-box .c-label{color:var(--ac);font-weight:700;min-width:36px}

/* ROUTE DISPLAY */
.route-box{background:var(--sf);border-radius:var(--r);padding:8px;margin-bottom:6px}
.route-title{font-size:11px;color:var(--ac);font-weight:700;margin-bottom:6px}
.hop{display:flex;align-items:center;gap:4px;padding:4px 0}
.hop .s-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}
.hop-name{font-size:11px;font-weight:600}
.hop-tag{font-size:9px;color:var(--tx2)}
.hop-arrow{color:var(--ac);font-size:10px;padding:0 4px;text-align:center}
.hop-edge{font-size:9px;color:var(--tx3);font-style:italic}
.hop-expires{font-size:9px;color:var(--yellow)}
.report-hop{margin-top:4px}

/* SCROLL LIST */
.scroll-list{max-height:calc(100vh - 100px);overflow-y:auto}
.list-item{padding:8px;background:var(--sf);border:1px solid var(--sf2);border-radius:var(--r);margin-bottom:3px;font-size:11px}
.list-item .li-title{font-weight:600;margin-bottom:2px}
.list-item .li-meta{color:var(--tx2);font-size:10px}
.list-item .li-actions{margin-top:4px;display:flex;gap:4px;flex-wrap:wrap}

/* ADMIN LIST */
.admin-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:var(--sf);border-radius:var(--r);margin-bottom:3px;font-size:11px}
.admin-item .ai-name{font-weight:600}
.admin-item .ai-role{color:var(--tx2);font-size:10px}
.admin-item.banned{opacity:.5}