:root{--green:#1f7a3d;--green-dark:#155c2d;--bg:#f6f8f5;--card:#fff;--ink:#1a2320;--muted:#6b7a72;--line:#e3ebe4;--danger:#c0392b}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--green)}.wrap{max-width:760px;margin:0 auto;padding:40px 20px 80px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px}.dot{width:12px;height:12px;border-radius:50%;background:var(--green);display:inline-block}.brand-logo{display:block;width:220px;max-width:70%;height:auto;margin:6px auto 18px}.brand-logo-sm{display:block;height:34px;width:auto}.login-card{display:flex;flex-direction:column;align-items:center}.login-card form{width:100%}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 1px 2px rgba(0,0,0,.03)}h1{font-size:26px;margin:18px 0 4px}.sub{margin:0 0 24px}.sub,label{color:var(--muted)}label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px}input{width:100%;padding:12px 14px;font-size:15px;border:1px solid var(--line);border-radius:10px;background:#fbfdfb;outline:none}input:focus{border-color:var(--green);background:#fff}button{cursor:pointer;border:none;border-radius:10px;padding:12px 18px;font-size:15px;font-weight:600;background:var(--green);color:#fff}button:hover{background:var(--green-dark)}button.ghost{background:transparent;color:var(--muted);padding:6px 10px;font-weight:500}button.ghost:hover{color:var(--danger);background:transparent}.row{display:flex;gap:10px;align-items:flex-end}.row .grow{flex:1 1}.msg{margin-top:14px;font-size:14px}.msg.err{color:var(--danger)}.msg.ok{color:var(--green)}table{width:100%;border-collapse:collapse;margin-top:8px}td,th{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.slug{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.dest{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clicks,.dest{color:var(--muted)}.clicks{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.copybtn{background:#eef4ee;color:var(--green-dark);padding:6px 10px;font-size:13px}.copybtn:hover{background:#e0ece0}.topbar{margin-bottom:22px}.result,.topbar{display:flex;justify-content:space-between;align-items:center}.result{margin-top:16px;padding:14px;background:#eef7ee;border:1px solid #cfe6d2;border-radius:10px;gap:12px}.result .link{font-family:ui-monospace,monospace;font-weight:700;color:var(--green-dark);word-break:break-all}.empty{color:var(--muted);text-align:center;padding:30px 0}button:disabled{opacity:.6;cursor:default}.list-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.search{width:200px;padding:8px 12px;font-size:14px}.slug-input{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fbfdfb}.slug-input:focus-within{border-color:var(--green);background:#fff}.slug-input .prefix{display:flex;align-items:center;padding:0 4px 0 12px;font-size:14px;color:var(--muted);font-family:ui-monospace,monospace;white-space:nowrap;max-width:55%;overflow:hidden;text-overflow:ellipsis}.slug-input input{border:none;border-radius:0;padding-left:2px}.slug-input input,.slug-input input:focus{background:transparent}.table-scroll{overflow-x:auto}td.actions{white-space:nowrap;text-align:right}td.actions button{margin-left:6px}.dest a{color:var(--muted);text-decoration:none}.dest a:hover{color:var(--green);text-decoration:underline}.iconbtn{background:transparent;color:var(--muted);border:1px solid var(--line);padding:6px 10px;font-size:13px;font-weight:500}.iconbtn:hover{background:#f3f7f3;color:var(--green-dark)}.iconbtn.danger:hover{color:var(--danger);border-color:#f0c9c4;background:#fdf1ef}.modal-bg{position:fixed;inset:0;background:rgba(20,40,30,.45);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal{background:#fff;border-radius:16px;padding:24px;text-align:center;max-width:340px;width:100%;box-shadow:0 10px 40px rgba(0,0,0,.2)}.qr-img{width:240px;height:240px;image-rendering:pixelated}.qr-url{font-family:ui-monospace,monospace;font-size:13px;color:var(--green-dark);word-break:break-all;margin:10px 0 14px}select{width:100%;padding:12px 14px;font-size:15px;border:1px solid var(--line);border-radius:10px;background:#fbfdfb;outline:none}select:focus{border-color:var(--green);background:#fff}.tabs{display:flex;gap:6px;margin:4px 0 20px}.tab{background:transparent;color:var(--muted);border:1px solid var(--line);padding:8px 16px;font-size:14px}.tab.on{background:var(--green);color:#fff;border-color:var(--green)}.tab:hover:not(.on){background:#f3f7f3;color:var(--green-dark)}.dot-color{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:middle}.host-mini{color:var(--muted);font-weight:400}.badge{margin-left:8px;font-size:11px;padding:2px 8px}.badge,.ok-pill{background:#eef7ee;color:var(--green-dark);border-radius:999px;font-weight:600}.ok-pill,.pend-pill{font-size:12px;padding:3px 10px}.pend-pill{background:#fbf3e3;color:#854f0b;border-radius:999px;font-weight:600}.note{background:#fbf7ee;border:1px solid #f0e4c9;color:#6b5a2a;font-size:13px;padding:10px 14px;border-radius:10px;margin:10px 0 16px;line-height:1.6}.dns-box code,.hint code,.note code{font-family:ui-monospace,monospace;background:#eef2ee;padding:1px 6px;border-radius:5px;font-size:12.5px}.ok-note{background:#eef7ee;border-color:#cfe6d2;color:var(--green-dark)}.hint{font-size:12.5px;color:var(--muted);line-height:1.6;margin:6px 0 4px}.clicks-btn{background:transparent;border:none;color:var(--green-dark);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:2px 6px}.clicks-btn:hover{text-decoration:underline;background:transparent}.qr-colors{display:flex;align-items:center;gap:12px;justify-content:center;flex-wrap:wrap;margin:4px 0}.clabel{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);font-weight:600;margin:0}input[type=color]{width:34px;height:30px;padding:2px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.swatches{display:flex;gap:6px}.swatch{width:22px;height:22px;border-radius:6px;border:1px solid rgba(0,0,0,.12);padding:0}.modal.wide{max-width:560px;text-align:left}.an-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.an-title{font-family:ui-monospace,monospace;font-weight:700;font-size:15px;margin:0;color:var(--green-dark)}.an-sub,.an-title{word-break:break-all}.an-sub{font-size:13px;color:var(--muted);margin:4px 0 0}.an-total{text-align:right}.an-total span{display:block;font-size:28px;font-weight:700;color:var(--ink)}.an-total small{font-size:11px}.an-label,.an-total small{color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.an-label{font-size:12px;margin:14px 0 8px;font-weight:600}.spark{display:flex;align-items:flex-end;justify-content:flex-start;gap:3px;height:96px;padding:6px;background:#f8faf8;border-radius:10px;overflow-x:auto}.spark .bar{flex:1 1;min-width:6px;border-radius:3px 3px 0 0;opacity:.85}.an-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-top:8px}.an-card{background:#f8faf8;border-radius:10px;padding:12px 14px}.an-row{display:grid;grid-template-columns:90px 1fr 30px;grid-gap:8px;gap:8px;align-items:center;margin:6px 0}.an-k{font-size:12.5px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.an-bar,.an-k{overflow:hidden}.an-bar{height:7px;background:#e3ebe4;border-radius:4px}.an-bar span{display:block;height:100%;background:var(--green);border-radius:4px}.an-n{font-size:12.5px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.an-empty,.an-n{color:var(--muted)}.an-empty{font-size:13px;margin:6px 0}.dns-box{background:#f8faf8;border-radius:10px;padding:8px 14px}.dns-box>div{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.dns-box>div:last-child{border-bottom:none}.dns-box span{font-size:13px;color:var(--muted)}@media (max-width:560px){.an-grid{grid-template-columns:1fr}}.modal.wide.qr-modal{max-width:720px}.qr-wrap{display:grid;grid-template-columns:250px minmax(0,1fr);grid-gap:26px;gap:26px;align-items:start}.qr-ctrls{min-width:0}.qr-preview{text-align:center}.qr-preview .qr-img{width:100%;max-width:240px}.qr-ctrls label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin:12px 0 5px}.qr-ctrls input[type=range]{width:100%;accent-color:var(--green)}.qr-ctrls select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:#fff}.qr-logo-row{display:flex;gap:8px;align-items:center}.qr-logo-row input[type=file]{font-size:12px;max-width:190px}.qr-check{display:block!important;font-weight:500!important;margin:14px 0 0!important;line-height:1.5}.qr-check input{width:auto;margin-right:8px;vertical-align:-2px;accent-color:var(--green)}.qr-check span{display:inline}.qr-hosted{display:flex;gap:6px}.qr-hosted input{flex:1 1;min-width:0;padding:7px 9px;border:1px solid var(--line);border-radius:8px;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}@media (max-width:620px){.qr-wrap{grid-template-columns:1fr}}.an-modal{max-width:900px;max-height:88vh;overflow-y:auto}.stats{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px;margin:16px 0 20px}.stat{background:#f8faf8;border:1px solid var(--line);border-radius:10px;padding:12px 10px;text-align:center}.stat-n{display:block;font-size:24px;font-weight:700;color:var(--ink);line-height:1.1}.stat small{font-size:11px;color:var(--muted)}.an-ranges{display:flex;gap:4px}.rangebtn{background:#f2f5f2;border:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:600;padding:5px 11px;border-radius:7px;cursor:pointer}.rangebtn.on{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.legend{font-weight:500;font-size:11px;color:var(--muted);margin-left:10px}.legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px;vertical-align:middle}.barstack{flex:1 1 auto;min-width:6px;max-width:34px;display:flex;flex-direction:column-reverse;justify-content:flex-start}.barstack .bseg{display:block;width:100%;border-radius:2px 2px 0 0}.log-scroll{max-height:320px;overflow-y:auto;margin-top:8px}.logtable{width:100%;border-collapse:collapse;font-size:12.5px}.logtable th{position:-webkit-sticky;position:sticky;top:0;background:#f8faf8;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:7px 9px;border-bottom:1px solid var(--line)}.logtable td{padding:7px 9px;border-bottom:1px solid #f0f4f0;color:var(--ink);white-space:nowrap}.logtable tr.botrow td{color:var(--muted);background:#fcfdfc}.logtable .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--muted)}@media (max-width:700px){.stats{grid-template-columns:repeat(2,1fr)}}