:root{--bg:#f4f6fb;--bg-grid:#4f46e50d;--surface:#fff;--surface-soft:#f8f9fd;--border:#e5e7f0;--border-strong:#d5d9e6;--text:#1a1f2e;--text-muted:#6b7280;--text-faint:#9aa1b1;--accent:#4f46e5;--accent-hover:#4338ca;--accent-soft:#eef1ff;--accent-ring:#4f46e52e;--success:#0f9d58;--success-soft:#e8f6ee;--danger:#dc3545;--danger-soft:#fdecee;--radius-sm:8px;--radius:12px;--radius-lg:18px;--shadow-sm:0 1px 2px #181e330f;--shadow:0 6px 20px -8px #181e3329, 0 2px 6px #181e330a;--shadow-lg:0 24px 60px -24px #181e3347;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--mono:"JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#app{height:100%}body{background-color:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;background-image:radial-gradient(900px 420px at 12% -10%,#4f46e51a,#0000 65%),radial-gradient(760px 380px at 92% 0,#0ea5e917,#0000 60%);background-repeat:no-repeat;margin:0;font-size:14px;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{letter-spacing:-.01em;color:var(--text);margin:0;font-weight:650}p{margin:0}code{font-family:var(--mono);font-size:.92em}.app-shell{flex-direction:column;min-height:100%;display:flex}.app-main{flex:1;width:100%;max-width:1000px;margin:0 auto;padding:32px 24px 64px}.app-footer{border-top:1px solid var(--border);text-align:center;color:var(--text-faint);padding:20px 24px 32px;font-size:12.5px}.app-header{z-index:30;-webkit-backdrop-filter:saturate(180%)blur(14px);backdrop-filter:saturate(180%)blur(14px);border-bottom:1px solid var(--border);background:#ffffffd1;position:sticky;top:0}.app-header__inner{align-items:center;gap:20px;max-width:1000px;margin:0 auto;padding:12px 24px;display:flex}.brand{color:var(--text);align-items:center;gap:10px;font-size:15.5px;font-weight:680;display:flex}.brand:hover{text-decoration:none}.brand__mark{color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5 55%,#0ea5e9);border-radius:9px;place-items:center;width:30px;height:30px;display:grid;box-shadow:0 6px 14px -6px #4f46e5b3}.brand__sub{color:var(--text-faint);letter-spacing:.02em;font-size:12px;font-weight:500}.nav{gap:4px;margin-left:auto;display:flex}.nav__link{color:var(--text-muted);border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:550;transition:background .16s,color .16s}.nav__link:hover{background:var(--surface-soft);color:var(--text);text-decoration:none}.nav__link.is-active{background:var(--accent-soft);color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.card__head{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:18px 22px;display:flex}.card__title{font-size:15px;font-weight:640}.card__desc{color:var(--text-muted);margin-top:2px;font-size:12.5px}.card__body{padding:22px}.card__actions{align-items:center;gap:8px;margin-left:auto;display:flex}.field{flex-direction:column;gap:7px;display:flex}.field__label{color:var(--text);font-size:13px;font-weight:600}.field__hint{color:var(--text-faint);font-size:12px}.input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);outline:none;padding:11px 14px;font-family:inherit;font-size:14px;transition:border-color .16s,box-shadow .16s}.input::placeholder{color:var(--text-faint)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-ring)}.input:disabled{background:var(--surface-soft);color:var(--text-muted)}.input--mono{font-family:var(--mono);font-size:13.5px}.input--invalid{border-color:var(--danger)}.input--invalid:focus{box-shadow:0 0 0 4px #dc354524}.form-row{align-items:stretch;gap:10px;display:flex}.form-row .input{flex:1}.form-grid{gap:18px;display:grid}.field-error{color:var(--danger);font-size:12.5px}.btn{border-radius:var(--radius);background:var(--surface-soft);color:var(--text);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:10px 18px;font-family:inherit;font-size:13.5px;font-weight:600;transition:background .16s,border-color .16s,color .16s,transform 80ms;display:inline-flex}.btn:hover{background:#eef0f7}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn--primary{background:var(--accent);color:#fff;box-shadow:0 8px 18px -10px #4f46e5e6}.btn--primary:hover{background:var(--accent-hover)}.btn--ghost{border-color:var(--border-strong);color:var(--text-muted);background:0 0}.btn--ghost:hover{background:var(--surface-soft);color:var(--text)}.btn--danger{color:var(--danger);background:0 0;border-color:#0000}.btn--danger:hover{background:var(--danger-soft)}.btn--sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:12.5px}.btn--block{width:100%}.btn__spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.hero{text-align:center;padding:22px 0 30px}.hero__title{letter-spacing:-.025em;font-size:30px;font-weight:700;line-height:1.25}.hero__title em{background:linear-gradient(100deg,#4f46e5,#0ea5e9);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.hero__desc{max-width:560px;color:var(--text-muted);margin:12px auto 0;font-size:14px}.result{border-radius:var(--radius);background:linear-gradient(#f7f8ff,#fff 70%);border:1px solid #cdd3ff;margin-top:18px;padding:16px 18px}.result__label{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:600}.result__url{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.result__url code{color:var(--text);word-break:break-all;font-size:16px;font-weight:600}.result__target{border-top:1px dashed var(--border-strong);color:var(--text-muted);word-break:break-all;margin-top:12px;padding-top:12px;font-size:12.5px}.link-list{flex-direction:column;display:flex}.link-item{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:14px 22px;display:flex}.link-item:last-child{border-bottom:none}.link-item__main{flex:1;min-width:0}.link-item__short{font-family:var(--mono);color:var(--accent);word-break:break-all;font-size:13.5px;font-weight:600}.link-item__target{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:12.5px;overflow:hidden}.link-item__meta{color:var(--text-faint);flex-wrap:wrap;gap:10px;margin-top:5px;font-size:12px;display:flex}.link-item__ops{flex-shrink:0;gap:6px;display:flex}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table th{text-align:left;background:var(--surface-soft);color:var(--text-muted);white-space:nowrap;border-bottom:1px solid var(--border);padding:11px 16px;font-size:12.5px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 16px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--surface-soft)}.table .cell-url{text-overflow:ellipsis;white-space:nowrap;max-width:320px;color:var(--text-muted);overflow:hidden}.table .cell-code{font-family:var(--mono);color:var(--accent);font-weight:600}.badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.badge--muted{background:var(--surface-soft);color:var(--text-muted)}.stat-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:20px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 18px}.stat__value{letter-spacing:-.02em;font-size:24px;font-weight:700}.stat__label{color:var(--text-muted);margin-top:2px;font-size:12.5px}.empty{text-align:center;color:var(--text-muted);padding:56px 24px}.empty__icon{background:var(--accent-soft);width:46px;height:46px;color:var(--accent);border-radius:14px;place-items:center;margin:0 auto 12px;display:grid}.empty__title{color:var(--text);font-size:14.5px;font-weight:620}.empty__desc{margin-top:4px;font-size:13px}.alert{border-radius:var(--radius);border:1px solid;gap:10px;padding:12px 14px;font-size:13px;display:flex}.alert--info{background:var(--accent-soft);color:#3730a3;border-color:#ccd4ff}.alert--success{background:var(--success-soft);color:#0b7a43;border-color:#bfe6ce}.alert--danger{background:var(--danger-soft);color:#a5212c;border-color:#f7ccd1}.toast-host{z-index:200;pointer-events:none;flex-direction:column-reverse;align-items:center;gap:8px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.toast{color:#f6f7fb;box-shadow:var(--shadow-lg);background:#1f2434;border-radius:999px;align-items:center;gap:9px;max-width:min(90vw,520px);padding:10px 16px;font-size:13px;font-weight:550;display:flex}.toast__dot{background:#93c5fd;border-radius:50%;flex-shrink:0;width:7px;height:7px}.toast--success .toast__dot{background:#4ade80}.toast--error .toast__dot{background:#fb7185}.toast-fade-enter-active,.toast-fade-leave-active{transition:opacity .22s,transform .22s}.toast-fade-enter-from,.toast-fade-leave-to{opacity:0;transform:translateY(10px)}.modal-mask{z-index:150;background:#151a286b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:24px}.modal__title{font-size:16px;font-weight:650}.modal__desc{color:var(--text-muted);word-break:break-all;margin-top:8px;font-size:13.5px}.modal__foot{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.modal-fade-enter-active,.modal-fade-leave-active{transition:opacity .18s}.modal-fade-enter-from,.modal-fade-leave-to{opacity:0}.page-enter-active,.page-leave-active{transition:opacity .18s,transform .18s}.page-enter-from{opacity:0;transform:translateY(6px)}.page-leave-to{opacity:0;transform:translateY(-4px)}@media (width<=720px){.app-main{padding:20px 14px 48px}.app-header__inner{flex-wrap:wrap;gap:10px;padding:10px 14px}.brand__sub{display:none}.nav{gap:2px}.nav__link{padding:6px 11px;font-size:13px}.hero{padding:10px 0 22px}.hero__title{font-size:23px}.form-row{flex-direction:column}.card__body,.card__head{padding:16px}.link-item{flex-wrap:wrap;padding:14px 16px}.link-item__ops{justify-content:flex-end;width:100%}.result__url code{font-size:14.5px}}
