:root{--bg-deep: #140e0c;--bg: #1c1410;--bg-elev: #2a1c16;--bg-soft: #35241c;--line: rgba(255, 196, 140, .14);--text: #f6ebe3;--muted: #b9a49a;--ember: #ff6b2c;--ember-2: #ff9a3c;--gold: #f0c27a;--ok: #6dcb8b;--bad: #ff6b6b;--warn: #e8b84a;--radius: 14px;--font-display: "ZCOOL XiaoWei", "Noto Sans SC", serif;--font-body: "Noto Sans SC", sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--text);background:radial-gradient(ellipse 90% 60% at 15% -10%,rgba(255,107,44,.22),transparent 55%),radial-gradient(ellipse 70% 50% at 90% 10%,rgba(240,194,122,.12),transparent 50%),radial-gradient(ellipse 80% 40% at 50% 100%,rgba(255,107,44,.08),transparent 45%),linear-gradient(180deg,#1a110e 0%,var(--bg-deep) 40%,#0f0b09 100%);background-attachment:fixed;overflow-x:hidden}a{color:var(--ember-2);text-decoration:none}button,input,textarea,select{font:inherit}.shell{width:min(1100px,calc(100% - 2rem));margin:0 auto}.nav{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 0;gap:1rem}.brand{font-family:var(--font-display);font-size:1.55rem;letter-spacing:.04em;color:var(--text);display:inline-flex;align-items:center;gap:.55rem}.brand-mark{width:1.55rem;height:1.55rem;display:block;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 0 10px rgba(255,107,44,.55));animation:pulse 2.8s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes flick{0%,to{opacity:.55}50%{opacity:1}}.hero{min-height:calc(100vh - 5rem);display:grid;align-content:center;gap:1.5rem;padding:2rem 0 4rem;animation:rise .75s ease both}.home-loading{padding:3rem 0;text-align:center}.home-brand{font-family:var(--font-display);font-size:clamp(2rem,5vw,2.6rem);letter-spacing:.06em;color:var(--text);margin:0;line-height:1.15;display:inline-flex;align-items:center;gap:.55rem}.home-brand-icon{width:1.15em;height:1.15em;object-fit:contain;filter:drop-shadow(0 0 14px rgba(255,107,44,.5));animation:pulse 2.8s ease-in-out infinite}.home-lead{margin:0!important}.home-form{margin-top:.25rem}.home-input{border-radius:14px}.home-submit{white-space:nowrap}.home-flash{max-width:34rem}.home-hint{margin:0;max-width:34rem}.hero h1{font-family:var(--font-display);font-size:clamp(2.6rem,7vw,4.4rem);line-height:1.1;margin:0;max-width:12ch;background:linear-gradient(120deg,#fff6ec 10%,var(--gold) 45%,var(--ember) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{margin:0;color:var(--muted);font-size:1.05rem;max-width:36rem;line-height:1.7}.hero-form{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;max-width:34rem}.input{background:#2a1c16d9;border:1px solid var(--line);color:var(--text);border-radius:999px;padding:.85rem 1.2rem;outline:none;min-width:0;flex:1;font-size:16px;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:#ff9a3c8c;box-shadow:0 0 0 3px #ff6b2c26}.input.area{border-radius:12px;min-height:120px;resize:vertical;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;border-radius:999px;padding:.85rem 1.35rem;min-height:44px;background:linear-gradient(135deg,var(--ember),#e04a12);color:#fff8f2;font-weight:600;transition:transform .15s ease,filter .15s ease,opacity .15s;touch-action:manipulation}.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}.btn.soft{background:var(--bg-soft);color:var(--text)}.btn.danger{background:linear-gradient(135deg,#d64545,#a52828)}.panel{background:linear-gradient(160deg,#2a1c16eb,#1a110ee0);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.35rem;animation:rise .55s ease both}.panel h2,.panel h3{font-family:var(--font-display);margin:0 0 .75rem;font-weight:400}.muted{color:var(--muted)}.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:1.25rem}.grid-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}.stat{padding:1rem;border-radius:12px;background:#ffffff08;border:1px solid var(--line)}.stat .n{font-family:var(--font-display);font-size:1.8rem;color:var(--gold)}.stat .l{color:var(--muted);font-size:.86rem;margin-top:.2rem}.stack{display:flex;flex-direction:column;gap:1rem}.row{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}.tag{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border-radius:999px;font-size:.78rem;border:1px solid var(--line);color:var(--muted)}.tag.ok{color:var(--ok);border-color:#6dcb8b59}.tag.bad{color:var(--bad);border-color:#ff6b6b59}.tag.warn{color:var(--warn);border-color:#e8b84a59}.worker-queue-strip{display:flex;flex-wrap:wrap;gap:.45rem 1rem;margin-top:.45rem;font-size:.82rem;color:var(--muted)}.admin-page{gap:.85rem}.admin-page .panel{padding:.9rem 1.05rem}.admin-page .panel h3{margin-bottom:.45rem;font-size:1.15rem}.admin-page .hint{font-size:.8rem;line-height:1.4}.grid-stats-compact{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}.grid-stats-compact .stat{padding:.55rem .6rem}.grid-stats-compact .stat .n{font-size:1.35rem;line-height:1.15}.grid-stats-compact .stat .l{font-size:.72rem;margin-top:.15rem}.btn-compact{padding:.3rem .7rem;font-size:.85rem}.probe-block{margin-top:.55rem}.probe-subhead{margin:0 0 .4rem;font-size:.9rem;font-weight:600}.pager-bar{justify-content:space-between;align-items:center;margin-top:.55rem;flex-wrap:wrap;gap:.45rem}.proxy-tools{margin:.55rem 0 .7rem;padding:.65rem .75rem;border-radius:12px;border:1px solid var(--line);background:#ffffff05}.stack-tight{gap:.55rem}.meter{display:flex;align-items:center;gap:.45rem;min-width:7.5rem}.meter-track{flex:1;height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.meter-fill{height:100%;border-radius:inherit;transition:width .35s ease}.meter-fill.ok{background:var(--ok)}.meter-fill.warn{background:var(--warn)}.meter-fill.bad{background:var(--bad)}.meter-label{font-size:.78rem;color:var(--muted);min-width:2.4rem}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.table th,.table td{text-align:left;padding:.7rem .45rem;border-bottom:1px solid var(--line);vertical-align:top}.table th{color:var(--muted);font-weight:500}.flash{padding:.75rem 1rem;border-radius:10px;background:#ff6b2c1f;border:1px solid rgba(255,154,60,.3);color:var(--gold);animation:rise .35s ease both}.flash.err{background:#ff6b6b1f;border-color:#ff6b6b4d;color:#ffb4b4}.hint{font-size:.86rem;color:var(--muted);line-height:1.6}.hint ol{margin:.4rem 0 0;padding-left:1.2rem}.ember-glow{position:absolute;width:180px;height:180px;right:8%;top:28%;border-radius:50%;background:radial-gradient(circle,rgba(255,107,44,.35),transparent 70%);filter:blur(8px);animation:flick 3.2s ease-in-out infinite;pointer-events:none}.relative{position:relative}.admin-login-hero{max-width:420px}.admin-login-hero h1{font-size:clamp(2rem,8vw,2.6rem);max-width:none}.qr-box,.phone-login-box{padding:1rem;border-radius:12px;border:1px solid var(--line);background:#ffffff08}.phone-login-form{display:flex;flex-wrap:wrap;gap:.65rem;align-items:stretch}.phone-login-form .input{flex:1 1 10rem;min-width:0}.phone-login-form .btn{flex:0 0 auto}.qr-frame{width:min(260px,100%);margin:0 auto;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center}.qr-frame img{width:100%;height:100%;object-fit:contain;display:block}.shot-thumb{width:88px;height:66px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:#1a110e;display:block;transition:transform .15s ease,border-color .15s}.shot-thumb:hover{transform:scale(1.04);border-color:#ff9a3c8c}.shot-btn{padding:0;border:none;background:none;cursor:zoom-in;display:inline-block;line-height:0}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#080504d1;display:flex;align-items:center;justify-content:center;padding:1.5rem;cursor:zoom-out;animation:lightbox-in .18s ease}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox-img{max-width:min(96vw,1200px);max-height:88vh;object-fit:contain;border-radius:10px;box-shadow:0 20px 60px #0000008c;cursor:default;background:#111}.lightbox-close{position:absolute;top:1rem;right:1.1rem;width:2.4rem;height:2.4rem;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#140c08b3;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}.lightbox-close:hover{border-color:var(--gold);color:var(--gold)}.pager{display:flex;gap:.6rem;margin-top:1rem;justify-content:flex-end}.filter-chips{display:flex;flex-wrap:wrap;gap:.45rem}.chip{border:1px solid var(--line);background:transparent;color:var(--muted);padding:.35rem .75rem;border-radius:999px;cursor:pointer;font-size:.85rem;transition:border-color .15s,color .15s,background .15s}.chip:hover{color:var(--text);border-color:#ff9a3c66}.chip.on{color:var(--ink, #1a110e);background:var(--gold);border-color:var(--gold);font-weight:600}.table tr.row-active td{background:#ff9a3c14}.target-head{justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.target-search{flex:0 1 260px;border-radius:12px!important;padding:.55rem .9rem;min-width:160px}.target-add{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) 100px auto;gap:.65rem;margin-top:.85rem}.target-list{margin-top:.85rem;border:1px solid var(--line);border-radius:12px;overflow:hidden;max-height:min(420px,55vh);overflow-y:auto}.target-item{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.75rem .9rem;border-bottom:1px solid var(--line);min-width:0}.target-item:last-child{border-bottom:none}.target-item.is-off{opacity:.62}.target-main{min-width:0;flex:1}.target-name{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;font-weight:600}.target-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.target-meta{margin-top:.2rem;color:var(--muted);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-actions{display:flex;gap:.4rem;flex-shrink:0}.target-actions .btn{padding:.4rem .7rem;font-size:.85rem}.dash-loading{padding:2rem 0}.dash-hero{padding:.35rem 0 .15rem}.dash-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem}.dash-kicker{margin:0;color:var(--gold);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.dash-title{font-family:var(--font-display);margin:.15rem 0 0;font-weight:400;font-size:clamp(1.7rem,4vw,2.1rem)}.dash-primary{flex-shrink:0}.dash-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.85rem}.dash-meta-item{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .7rem;border-radius:999px;border:1px solid var(--line);background:#ffffff08;font-size:.82rem;color:var(--text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-meta-item em{font-style:normal;color:var(--muted);font-size:.75rem}.dash-secondary{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.75rem}.bind-panel .bind-status{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.bind-panel h3{margin:0}.bind-hint{margin:.55rem 0 .9rem}.bind-btn{width:auto;min-width:11rem}.switch-key-form{display:flex;flex-direction:column;gap:.75rem}.empty-tip{margin:1rem 0 0}.log-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.log-head-actions{display:flex;align-items:center;gap:.55rem}.log-cards{display:none}.log-table-desktop{display:block}.log-card{padding:.85rem 0;border-bottom:1px solid var(--line)}.log-card:last-child{border-bottom:none}.log-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.log-card-time{margin:.35rem 0 0;color:var(--muted);font-size:.78rem}.log-card-detail{margin:.45rem 0 0;color:var(--muted);font-size:.88rem;line-height:1.5;word-break:break-word}.log-card-shot{margin-top:.65rem}.log-card-shot .shot-thumb{width:100%;max-width:220px;height:auto;aspect-ratio:4 / 3}@media(max-width:860px){.shell{width:calc(100% - 1.25rem);padding-bottom:env(safe-area-inset-bottom)}body{background-attachment:scroll}.nav{padding:.9rem 0}.brand{font-size:1.35rem}.hero{min-height:calc(100dvh - 4.5rem);padding:1.5rem 0 2.75rem;gap:1rem;align-content:center}.home-hero{max-width:100%}.home-brand{font-size:clamp(1.85rem,9vw,2.3rem)}.hero h1{font-size:clamp(2.4rem,13vw,3.4rem);max-width:100%;letter-spacing:.02em}.hero p,.home-lead{font-size:1rem;line-height:1.65;max-width:22rem}.hero-form,.home-form{flex-direction:column;max-width:100%;align-items:stretch;gap:.7rem;margin-top:.35rem}.home-input{width:100%;flex:none;border-radius:14px;padding:1rem 1.1rem;font-size:16px}.hero-form .btn,.home-submit{width:100%;min-height:48px;border-radius:14px;font-size:1rem}.home-flash{max-width:100%;margin:0}.home-hint{max-width:100%;font-size:.82rem;line-height:1.55;margin-top:.15rem!important}.grid-2,.grid-stats,.grid-stats-compact{grid-template-columns:1fr}.grid-stats{grid-template-columns:repeat(2,1fr)}.grid-stats-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.ember-glow{display:none}.panel{padding:1rem .95rem}.panel .row>.input{flex:1 1 100%;min-width:0}.page-head{flex-direction:column;align-items:stretch!important}.page-head>.row{width:100%}.page-head .btn{flex:1;text-align:center;justify-content:center}.page-actions{width:100%}.page-actions .btn{flex:1 1 calc(50% - .4rem);text-align:center}.target-add{grid-template-columns:1fr}.target-search{flex:1 1 100%;min-width:0}.target-item{flex-direction:column;align-items:stretch}.target-actions{justify-content:stretch;display:grid;grid-template-columns:repeat(3,1fr)}.target-actions .btn{width:100%;text-align:center}.target-meta{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.pager{justify-content:space-between;flex-wrap:wrap}.pager .btn{flex:1;text-align:center}.table-wrap{margin:0 -.15rem;padding-bottom:.25rem}.table{min-width:560px;font-size:.82rem}.table th,.table td{padding:.55rem .35rem}.shot-thumb{width:72px;height:54px}.lightbox{padding:.75rem;padding-top:max(.75rem,env(safe-area-inset-top))}.lightbox-img{max-width:100%;max-height:80dvh;border-radius:8px}.lightbox-close{top:max(.6rem,env(safe-area-inset-top));right:max(.6rem,env(safe-area-inset-right))}.qr-frame{width:min(220px,72vw)}.switch-key-form{flex-direction:column;align-items:stretch!important}.switch-key-form .btn{width:100%}.admin-key-actions{flex-wrap:wrap}.admin-key-actions .btn{flex:1 1 auto;min-width:4.5rem;text-align:center}.dash{gap:.9rem}.dash-hero-top{flex-direction:column;align-items:stretch}.dash-primary{width:100%}.dash-meta{display:grid;grid-template-columns:1fr;gap:.45rem}.dash-meta-item{border-radius:12px;white-space:normal;overflow:visible}.dash-secondary{display:grid;grid-template-columns:1fr 1fr}.dash-secondary .btn{width:100%;text-align:center}.bind-btn{width:100%}.bind-status{align-items:flex-start}.target-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.log-cards{display:block;margin-top:.35rem}.log-table-desktop{display:none}.log-count{font-size:.8rem}.qr-box,.phone-login-box{margin-top:.25rem}}@media(max-width:480px){.shell{width:calc(100% - 1.5rem)}.nav{padding:.85rem 0 .4rem}.home-hero{padding-top:1.1rem;gap:.85rem}.grid-stats,.grid-stats-compact{grid-template-columns:1fr 1fr}.stat .n,.grid-stats-compact .stat .n{font-size:1.45rem}.page-actions .btn{flex:1 1 100%}.target-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-chips .chip{flex:1 1 auto;text-align:center}.dash-title{font-size:1.75rem}}
