/* abeldev.org — extracted from inline; edit here. */
    :root{
      --bg:#050507; --bg-elevated:#0c0c10; --bg-card:#0a0a0e; --border:#16161c; --border-strong:#25252e;
      --text:#f5f5f7; --text-muted:#94949f; --text-subtle:#5a5a66;
      --accent:#60d4ff; --accent-dim:#38bdf8; --accent-2:#b794f6;
      --accent-glow:rgba(96,212,255,0.18); --success:#4ade80; --warn:#ffd166; --bad:#ff6b6b;
      --display:'Space Grotesk',-apple-system,system-ui,sans-serif;
      --sans:'Inter',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
      --mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    html{background:var(--bg);scroll-behavior:smooth}
    body{font-family:var(--sans);color:var(--text);background:var(--bg);line-height:1.6;min-height:100vh;
      background-image:radial-gradient(900px 500px at 15% -5%,rgba(96,212,255,.06),transparent 60%),radial-gradient(800px 500px at 100% 10%,rgba(183,148,246,.05),transparent 55%);}
    .grid-bg{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
      background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
      background-size:48px 48px;mask-image:radial-gradient(circle at 50% 30%,#000,transparent 80%);}
    .container{max-width:980px;margin:0 auto;padding:0 24px;position:relative;z-index:2}
    /* sysbar */
    .sysbar{font-family:var(--mono);font-size:11px;color:var(--text-subtle);letter-spacing:.06em;border-bottom:1px solid var(--border);
      display:flex;justify-content:space-between;padding:8px 24px;position:relative;z-index:3}
    .sysbar .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 6px var(--success);margin-right:6px}
    .sysbar .sep{opacity:.4;margin:0 8px}
    /* nav */
    nav{border-bottom:1px solid var(--border);position:relative;z-index:3}
    .nav-inner{max-width:980px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between}
    .brand{font-family:var(--mono);font-size:14px;font-weight:500;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:10px}
    .brand-mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--accent);border-radius:4px;background:var(--accent-glow);box-shadow:0 0 12px var(--accent-glow);font-family:var(--display);font-size:11px;font-weight:700;color:var(--accent)}
    .nav-links{display:flex;gap:24px;list-style:none}
    .nav-links a{color:var(--text-muted);text-decoration:none;font-size:13.5px;font-weight:500;transition:color .2s}
    .nav-links a:hover{color:var(--text)}
    /* header */
    header.page{padding:56px 0 24px}
    .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:14px}
    h1{font-family:var(--display);font-size:clamp(34px,6vw,56px);font-weight:700;line-height:1.02;letter-spacing:-.02em;margin-bottom:16px}
    .lede{color:var(--text-muted);font-size:18px;max-width:62ch}
    .lede b{color:var(--text)}
    .labtag{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;color:var(--text-muted);border:1px solid var(--border-strong);border-radius:999px;padding:5px 12px;margin-bottom:20px}
    .labtag .d{width:6px;height:6px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 8px var(--accent-2)}
    /* tool */
    .tool{display:grid;grid-template-columns:1fr;gap:20px;margin:30px 0 48px}
    @media(min-width:860px){.tool{grid-template-columns:1.05fr .95fr;align-items:start}}
    .panel{background:linear-gradient(180deg,var(--bg-card),#08080b);border:1px solid var(--border-strong);border-radius:14px;overflow:hidden}
    .panel-head{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:12px;color:var(--text-muted)}
    .tl-dots{display:flex;gap:6px;margin-right:6px}
    .tl-dots i{width:10px;height:10px;border-radius:50%;background:#26262e;display:inline-block}
    .panel-body{padding:16px}
    label.fld{display:block;font-family:var(--mono);font-size:12px;color:var(--accent);margin:0 0 6px}
    textarea,input[type=text]{width:100%;background:#070709;border:1px solid var(--border-strong);border-radius:8px;color:var(--text);
      font-family:var(--mono);font-size:13px;padding:10px 12px;resize:vertical;line-height:1.55;transition:border-color .15s,box-shadow .15s}
    textarea:focus,input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
    .fld-row+.fld-row{margin-top:14px}
    .run{margin-top:16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
    button.go{font-family:var(--mono);font-size:13px;font-weight:500;color:#03121a;background:var(--accent);border:none;border-radius:8px;padding:11px 18px;cursor:pointer;
      display:inline-flex;align-items:center;gap:8px;transition:transform .12s,box-shadow .2s;box-shadow:0 0 0 0 var(--accent-glow)}
    button.go:hover{transform:translateY(-1px);box-shadow:0 6px 22px -6px var(--accent)}
    button.ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border-strong)}
    button.ghost:hover{color:var(--text);border-color:var(--accent)}
    .hint{font-family:var(--mono);font-size:11px;color:var(--text-subtle)}
    /* results */
    .empty{font-family:var(--mono);font-size:13px;color:var(--text-subtle);line-height:1.8}
    .empty .blink{display:inline-block;width:8px;height:15px;background:var(--accent);margin-left:2px;animation:blink 1.1s steps(2) infinite;vertical-align:-2px}
    @keyframes blink{0%,50%{opacity:1}50.01%,100%{opacity:0}}
    .score-wrap{display:flex;align-items:center;gap:18px;margin-bottom:18px}
    .ring{--p:0;width:92px;height:92px;border-radius:50%;flex:0 0 auto;
      background:conic-gradient(var(--accent) calc(var(--p)*1%),#1a1a22 0);display:grid;place-items:center;position:relative}
    .ring::after{content:"";position:absolute;inset:8px;border-radius:50%;background:#08080b}
    .ring b{position:relative;z-index:1;font-family:var(--display);font-size:26px}
    .ring small{position:relative;z-index:1;font-family:var(--mono);font-size:10px;color:var(--text-muted);display:block;text-align:center;margin-top:-2px}
    .verdict{font-family:var(--display);font-size:20px;font-weight:700;margin-bottom:2px}
    .verdict-sub{font-size:13.5px;color:var(--text-muted)}
    .metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 18px}
    .metric{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#070709}
    .metric .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--text-subtle);text-transform:uppercase}
    .metric .v{font-family:var(--display);font-size:22px;font-weight:700;margin-top:2px}
    .metric .v span{font-size:12px;color:var(--text-muted);font-family:var(--mono);font-weight:400}
    .findings{list-style:none;display:flex;flex-direction:column;gap:8px}
    .finding{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;border:1px solid var(--border);border-left-width:3px;border-radius:8px;padding:9px 12px;background:#070709}
    .finding .tag{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding-top:2px;flex:0 0 auto;width:54px}
    .finding.good{border-left-color:var(--success)} .finding.good .tag{color:var(--success)}
    .finding.warn{border-left-color:var(--warn)} .finding.warn .tag{color:var(--warn)}
    .finding.bad{border-left-color:var(--bad)} .finding.bad .tag{color:var(--bad)}
    .sec-title{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle);margin:18px 0 10px}
    .disclaimer{font-size:12.5px;color:var(--text-subtle);border-top:1px solid var(--border);padding-top:16px;margin-top:8px;line-height:1.7}
    .backlink{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12.5px;color:var(--accent);text-decoration:none;margin:8px 0 0}
    .backlink:hover{text-decoration:underline}
    footer{border-top:1px solid var(--border);padding:30px 0;margin-top:30px;position:relative;z-index:2}
    .foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:var(--mono);font-size:11.5px;color:var(--text-subtle)}
    .foot a{color:var(--text-muted);text-decoration:none}.foot a:hover{color:var(--accent)}
    @media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important}}
      body{cursor:none}
    #bg-canvas{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;opacity:.5;pointer-events:none}
    .ambient{position:fixed;pointer-events:none;z-index:0;opacity:.5}
    .ambient-1{top:-10%;left:20%;width:600px;height:600px;background:radial-gradient(circle, var(--accent) 0%, transparent 70%);animation:drift1 22s ease-in-out infinite}
    .ambient-2{top:40%;right:-10%;width:500px;height:500px;background:radial-gradient(circle, var(--accent-2) 0%, transparent 70%);opacity:.32;animation:drift2 28s ease-in-out infinite}
    @keyframes drift1{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,60px)}}
    @keyframes drift2{0%,100%{transform:translate(0,0)}50%{transform:translate(-60px,40px)}}
    .spotlight{position:fixed;width:600px;height:600px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 60%);transform:translate(-50%,-50%);transition:opacity .3s;mix-blend-mode:screen;will-change:transform}
    .cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;will-change:transform;transition:opacity .2s}
    .cursor-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 10px var(--accent)}
    .cursor-ring{width:32px;height:32px;border:1px solid var(--accent);border-radius:50%;transform:translate(-50%,-50%);transition:transform .18s var(--ease-out),width .2s,height .2s,opacity .2s;opacity:.6}
    .cursor-ring.hover{width:56px;height:56px;background:var(--accent-glow)}
    @media (hover:none),(pointer:coarse){body{cursor:auto}.cursor-dot,.cursor-ring,.spotlight{display:none}}
    @media (prefers-reduced-motion: reduce){#bg-canvas,.ambient{display:none}}
  