:root{--bg:#0c2320;--bg-2:#102d29;--surface:rgba(255,255,255,0.045);--surface-2:rgba(255,255,255,0.07);--text:#edf3ef;--text-strong:#edf3ef;--sub:#bfd0c8;--dim:#8aa097;--brand:#9dd3c8;--brand-bright:#b6e4da;--brand-ink:#0c2320;--gold:#e5b96a;--ink:#0c2320;--brand-soft:rgba(157,211,200,0.12);--brand-soft-2:rgba(157,211,200,0.18);--brand-line:rgba(157,211,200,0.32);--line:rgba(230,236,232,0.12);--line-strong:rgba(230,236,232,0.2);--radius-pill:999px;--radius-card:16px;--radius-field:12px;--ease:.18s ease;--ok:#8ad7b7;--warn:#f0d58a;--bad:#f3a6a6;--unknown:#9fb0a9}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:#0c2320;min-height:100vh;color:var(--text);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--brand);transition:color var(--ease)}a:hover{color:var(--brand-bright)}.wrap{max-width:820px;margin:0 auto;padding:2rem 1.1rem 3rem}.brand-row{display:flex;align-items:center;gap:10px;margin-bottom:1.8rem}.brand-mark{width:30px;height:30px;border-radius:8px;background:#0b1f1d;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line)}.brand-row .logo{font-weight:800;letter-spacing:.03em;color:var(--text);font-size:1.05rem}.brand-row .logo .t{color:var(--brand)}.hero h1{font-size:clamp(2.1rem,4.6vw,2.6rem);font-weight:700;line-height:1.05;margin:0 0 .6rem;color:var(--text-strong);letter-spacing:-.03em;text-wrap:balance}.hero p.tag{font-size:1.1rem;color:var(--sub);margin:0 0 1.5rem;max-width:58ch}form.check{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:.8rem}form.check-dual input[type=text]{flex-basis:100%}form.check-dual .btn{flex:1 1;min-width:160px}input[type=text]{flex:1 1;min-width:220px;padding:14px 16px;font:inherit;font-size:1.05rem;border:1px solid var(--line-strong);border-radius:var(--radius-field);background:var(--surface);color:var(--text)}input[type=text]::placeholder{color:var(--dim)}input[type=text]:focus{outline:2px solid var(--brand);outline-offset:2px;border-color:var(--brand);background:var(--surface-2)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.85rem 1.35rem;font:inherit;font-size:.97rem;font-weight:650;border-radius:var(--radius-pill);border:1px solid transparent;background:var(--brand);color:var(--brand-ink);cursor:pointer;text-decoration:none;white-space:nowrap}.btn.secondary{background:var(--brand-soft);color:var(--text);border-color:var(--brand-line)}.btn:hover,a.btn:hover{background:var(--brand-bright);color:var(--brand-ink)}.btn.secondary:hover,a.btn.secondary:hover{background:var(--brand-soft-2);color:var(--text)}.btn:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.btn:disabled{opacity:.55;cursor:default;transform:none}.muted{color:var(--sub);font-size:.92rem}.hero-grid{display:grid;grid-template-columns:1fr;grid-gap:1.6rem;gap:1.6rem;align-items:center}@media (min-width:860px){.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:2.4rem}}.hero-grid p.tag{margin-bottom:1.2rem}.hero-mock{display:flex;flex-direction:column;background:linear-gradient(160deg,var(--brand-soft),rgba(255,255,255,.02));border:1px solid var(--brand-line);border-radius:var(--radius-card);overflow:hidden}.hero-mock-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:.6rem .95rem;border-bottom:1px solid var(--line);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.hero-mock-dom{font-family:ui-monospace,Menlo,monospace;letter-spacing:0;text-transform:none;color:var(--brand-bright)}.hero-mock-score{display:flex;align-items:center;gap:14px;padding:1rem .95rem .4rem}.hero-mock-title{margin:0;font-size:1rem;font-weight:700;color:var(--text-strong);line-height:1.3}.hero-mock-sub{margin:.15rem 0 0;font-size:.82rem;color:var(--sub)}.hero-mock-rows{display:flex;flex-direction:column;gap:6px;padding:.5rem .95rem .3rem}.hero-mock-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:.5rem .7rem;background:var(--surface);border:1px solid var(--line);border-radius:10px;font-size:.88rem;color:var(--text)}.hero-mock-cap{padding:.7rem .95rem .85rem;font-size:.82rem;color:var(--sub);border-top:1px solid var(--line);margin:.5rem 0 0}@media (prefers-reduced-motion:no-preference){.hero-mock-row{animation:kollen-row-in .5s cubic-bezier(.16,.8,.3,1) both}.hero-mock-row:nth-child(2){animation-delay:.45s}.hero-mock-row:nth-child(3){animation-delay:.8s}.hero-mock-row:nth-child(4){animation-delay:1.15s}.hero-mock-cap{animation:kollen-row-in .5s ease 1.5s both}}@keyframes kollen-row-in{0%{opacity:0;transform:translateY(6px)}}.tools-head{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--brand);margin:2rem 0 .7rem}.tools{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:560px){.tools{grid-template-columns:1fr}}.tool-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:1rem 1.2rem;display:flex;flex-direction:column;gap:4px;position:relative;color:var(--text)}.tool-card.live{border-color:color-mix(in srgb,var(--brand) 55%,transparent)}.tool-card:hover{border-color:color-mix(in srgb,var(--brand) 50%,transparent)}.tool-card h3{margin:0;padding-right:4.4rem;font-size:1.05rem;color:var(--text-strong)}.tool-card p{margin:0;font-size:.9rem;color:var(--sub)}.pill{position:absolute;top:12px;right:12px;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:2px 8px}.pill.now{background:color-mix(in srgb,var(--ok) 20%,transparent);color:var(--ok)}.pill.soon{background:var(--brand-soft);color:var(--brand)}.what{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:1rem 1.3rem;margin-top:1.4rem}.what h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--brand);margin:0 0 .6rem}.what ul{margin:0;padding-left:1.1rem;column-count:2;column-gap:1.4rem;font-size:.95rem}@media (max-width:520px){.what ul{column-count:1}form.check-dual .btn{flex-basis:100%}}.spinner{display:inline-flex;align-items:center;gap:11px;color:var(--sub);padding:1.6rem 0;font-size:.98rem}.spinner:before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--brand);animation:kollen-spin .7s linear infinite}@keyframes kollen-spin{to{transform:rotate(1turn)}}.about{margin-top:2rem}.about h2{font-size:1.2rem;color:var(--text-strong);margin:0 0 .7rem}.about h3{font-size:1rem;color:var(--brand-bright);margin:1.4rem 0 .5rem}.about p{margin:.65rem 0}.about p,.about ul{color:var(--text);line-height:1.72}.about ul{margin:.55rem 0 0;padding-left:1.2rem}.about li{margin:.3rem 0}.about>div{margin-bottom:1.6rem}.about>div:last-child{margin-bottom:0}.about--cards{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}@media (min-width:720px){.about--cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}.about--cards>h2{grid-column:1/-1;margin-bottom:0}.about--cards>div{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:1rem 1.2rem}.about--cards>div h3{margin:0 0 .35rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--brand)}.about--cards>div p{margin:0;font-size:.92rem;line-height:1.6;color:var(--sub)}.faq{margin-top:1.4rem}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem;margin:.5rem 0}.faq summary{cursor:pointer;font-weight:600;color:var(--text)}.faq details p{margin:.5rem 0 0;color:var(--sub)}.scorecard{display:flex;align-items:center;gap:22px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.4rem 1.6rem;margin-bottom:1.2rem;flex-wrap:wrap}.gauge{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:var(--ink);font-size:2.4rem;font-weight:800}.scorecard .dom{font-size:1.3rem;font-weight:700;margin:0;word-break:break-all;color:var(--text-strong)}.scorecard .sum{color:var(--sub);margin:.2rem 0 0}.rows{display:flex;flex-direction:column;gap:8px;margin-bottom:1.6rem}.row{display:grid;grid-template-columns:minmax(96px,max-content) 1fr;grid-gap:12px;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem}.badge{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;text-align:center;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:4px 9px;border-radius:999px;white-space:nowrap;max-width:100%}.badge-ic{font-weight:700;font-size:.82rem;line-height:1}@media (prefers-reduced-motion:no-preference){main.wrap>*{animation:kollen-fade .5s cubic-bezier(.16,.8,.3,1) both}main.wrap>:nth-child(2){animation-delay:.04s}main.wrap>:nth-child(3){animation-delay:.08s}main.wrap>:nth-child(4){animation-delay:.12s}main.wrap>:nth-child(5){animation-delay:.16s}main.wrap>:nth-child(n+6){animation-delay:.2s}}@keyframes kollen-fade{0%{opacity:0;transform:translateY(9px);filter:blur(2px)}to{opacity:1;transform:none;filter:blur(0)}}.tool-card{transition:border-color .18s ease,transform .2s cubic-bezier(.16,.8,.3,1),box-shadow .2s ease}.btn{transition:transform var(--ease),background var(--ease),border-color var(--ease),box-shadow var(--ease)}@media (prefers-reduced-motion:no-preference){.tool-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px -12px rgba(0,0,0,.55)}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(157,211,200,.28)}.btn.secondary:hover{box-shadow:none}.verdict{animation:kollen-fade .5s cubic-bezier(.16,.8,.3,1) both}}.copy-btn{flex-shrink:0;font:inherit;font-size:.78rem;font-weight:650;color:var(--text);background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:var(--radius-pill);padding:5px 12px;cursor:pointer;white-space:nowrap;transition:background var(--ease),border-color var(--ease)}.copy-btn:hover{background:var(--brand-soft-2)}.copy-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.checked-stamp{margin:.35rem 0 0;font-size:.76rem;color:var(--ok);display:inline-flex;align-items:center;gap:6px}.checked-stamp:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 var(--ok);animation:kollen-pulse 2s ease-out infinite}@keyframes kollen-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 55%,transparent)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}.row .title{font-weight:700;margin:0 0 2px;color:var(--text-strong)}.row .detail{margin:0;font-size:.95rem;color:var(--text)}.row .fix{margin:.35rem 0 0;font-size:.9rem}.row .fix,.row .fix b{color:var(--brand-bright)}.cta{background:var(--brand-soft);border:1px solid var(--line-strong);border-radius:16px;padding:1.3rem 1.5rem;margin-top:1.4rem}.cta h2{margin:0 0 .5rem;font-size:1.15rem;color:var(--text-strong)}.cta .row-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:.8rem}footer{margin-top:2.4rem;border-top:1px solid var(--line);padding-top:1rem;color:var(--sub);font-size:.85rem}footer a[href*="pianola.se"]{display:inline-flex;align-items:center;padding:3px 11px;margin:0 2px;border-radius:var(--radius-pill);background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand);font-weight:650;text-decoration:none;white-space:nowrap;transition:background var(--ease),border-color var(--ease)}footer a[href*="pianola.se"]:hover{background:var(--brand-soft-2)}.cta{text-align:center}.cta .row-btns{justify-content:center}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.site-header-inner{max-width:900px;margin:0 auto;padding:.55rem 1.1rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:10px;gap:10px}.site-lumra-tag{justify-self:start;display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(199,211,204,.6);transition:color .22s ease}.site-lumra-tag:hover{color:var(--brand)}.site-lumra-tag-eyebrow{opacity:.65;font-weight:500}.site-lumra-tag-name{font-weight:700;letter-spacing:.22em;color:#fff;opacity:.92}.site-kollen-logo{justify-self:center;display:inline-flex;align-items:center;gap:10px;text-decoration:none;transition:opacity .22s ease}.site-kollen-logo:hover{opacity:.85}.site-kollen-text{font-size:18px;font-weight:700;letter-spacing:.22em;color:var(--brand)}.page-back{display:inline-flex;align-items:center;margin:1.4rem 0 .6rem;font-size:.84rem;font-weight:650;color:var(--text);text-decoration:none;padding:6px 14px;border:1px solid var(--brand-line);background:var(--brand-soft);border-radius:var(--radius-pill);transition:background var(--ease)}.page-back:hover{background:var(--brand-soft-2);color:var(--text)}.page-back:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (max-width:720px){.site-lumra-tag-eyebrow{display:none}.site-kollen-text{font-size:15px;letter-spacing:.18em}}.nis2-form{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.4rem 1.5rem;gap:1.3rem}.nis2-field,.nis2-form{display:flex;flex-direction:column}.nis2-field{gap:6px}.nis2-field>label{font-weight:700;color:var(--text-strong)}.nis2-help{margin:0;font-size:.86rem;color:var(--sub);line-height:1.55}.nis2-form input[type=number],.nis2-form select{padding:12px 14px;font-size:1.02rem;border:1px solid var(--line-strong);border-radius:var(--radius-field);background:var(--surface);color:var(--text);width:100%}.nis2-form input[type=number]::placeholder{color:var(--dim)}.nis2-form input[type=number]:focus,.nis2-form select:focus{outline:2px solid var(--brand);border-color:var(--brand)}.nis2-form select option{background:var(--bg-2);color:var(--text)}.nis2-form select optgroup{background:var(--bg-2);color:var(--sub);font-weight:700}.nis2-radios{display:flex;flex-direction:column;gap:8px}.nis2-radios label{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface-2);cursor:pointer;color:var(--text)}.nis2-radios label.checked{border-color:var(--brand);background:var(--brand-soft)}.nis2-radios input{accent-color:var(--brand)}.nis2-radios input:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.nis2-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.nis2-error{margin:0;color:var(--bad);font-size:.92rem}.nis2-result{display:flex;flex-direction:column;gap:1.2rem}.nis2-verdict{border-radius:16px;padding:1.4rem 1.6rem;border:1px solid var(--line-strong)}.nis2-verdict--direct{background:color-mix(in srgb,var(--bad) 10%,transparent);border-color:color-mix(in srgb,var(--bad) 45%,transparent)}.nis2-verdict--indirect{background:color-mix(in srgb,var(--warn) 10%,transparent);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.nis2-verdict--not{background:color-mix(in srgb,var(--ok) 10%,transparent);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.nis2-eyebrow{margin:0 0 .3rem;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--sub)}.nis2-title{margin:0 0 .6rem;font-size:1.3rem;color:var(--text-strong)}.nis2-para{margin:.5rem 0 0;color:var(--text);line-height:1.7}.nis2-steps h3{font-size:1rem;color:var(--brand-bright);margin:0 0 .5rem}.nis2-steps ul{margin:0;padding-left:1.2rem;color:var(--text);line-height:1.7}.nis2-steps li{margin:.3rem 0}.nf-quiz{display:flex;flex-direction:column;gap:1rem}.nf-progress{display:flex;justify-content:space-between;font-size:.85rem;color:var(--sub)}.nf-progress-score{color:var(--brand-bright);font-weight:600}.nf-progress-bar{height:5px;border-radius:999px;background:var(--line-strong);overflow:hidden}.nf-progress-bar span{display:block;height:100%;background:var(--brand);transition:width .35s ease}.nf-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.4rem}.nf-channel{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-bright);background:var(--brand-soft);border-radius:999px;padding:3px 10px;margin-bottom:.6rem}.nf-from{margin:0 0 .5rem;font-size:.9rem;color:var(--sub)}.nf-message{margin:0;color:var(--text);line-height:1.7}.nf-ask{margin:.2rem 0 0;font-weight:600;color:var(--text-strong)}.nf-choices{display:flex;gap:10px;flex-wrap:wrap}.nf-choices .btn{flex:1 1}.nf-feedback{border-radius:14px;padding:1.1rem 1.3rem;border:1px solid var(--line-strong);display:flex;flex-direction:column;gap:.2rem}.nf-feedback--right{background:color-mix(in srgb,var(--ok) 10%,transparent);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.nf-feedback--wrong{background:color-mix(in srgb,var(--warn) 10%,transparent);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.nf-verdict{margin:0 0 .4rem;color:var(--text-strong)}.nf-why{margin:0 0 1rem;color:var(--text);line-height:1.7}.nf-feedback .btn{align-self:flex-start}.nf-result{display:flex;flex-direction:column;gap:1.2rem}.nf-score{display:flex;align-items:center;gap:18px;border-radius:16px;padding:1.3rem 1.5rem;border:1px solid var(--line-strong);flex-wrap:wrap}.nf-score--a{background:color-mix(in srgb,var(--ok) 12%,transparent);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.nf-score--b{background:color-mix(in srgb,var(--warn) 12%,transparent);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.nf-score--c{background:color-mix(in srgb,var(--bad) 12%,transparent);border-color:color-mix(in srgb,var(--bad) 45%,transparent)}.nf-score-num{font-size:2.4rem;font-weight:800;color:var(--text-strong);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nf-score-num span{font-size:1.2rem;color:var(--sub)}.nf-eyebrow{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--sub);font-weight:700}.nf-title{margin:.2rem 0 0;font-size:1.4rem;font-weight:600;color:var(--text-strong)}.nf-body{margin:0;color:var(--text);line-height:1.72}.nf-tips h3{font-size:1rem;color:var(--brand-bright);margin:0 0 .5rem}.nf-tips ul{margin:0;padding-left:1.2rem;color:var(--text);line-height:1.7}.nf-tips li{margin:.3rem 0}.nf-mail{background:#fff;color:#1f2a27;border:1px solid var(--line);border-radius:14px;overflow:hidden}.nf-mail-head{display:flex;gap:12px;padding:14px 16px;border-bottom:1px solid #e7ece9;align-items:flex-start}.nf-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:#2f6f57;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.nf-mail-meta{min-width:0;flex:1 1}.nf-mail-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.nf-time{color:#6b7872;font-size:.8rem;flex-shrink:0}.nf-subject{margin:4px 0 0;font-weight:600;color:#14201d;font-size:1.02rem}.nf-toolbar{display:flex;flex-wrap:wrap;gap:16px;padding:8px 16px;border-bottom:1px solid #eef2f0;font-size:.78rem;color:#8b9a93}.nf-sender{position:relative;cursor:pointer;border:0;background:none;padding:0;font:inherit;color:#14201d;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;text-align:left}.nf-sender-name{font-weight:600;border-bottom:1px dashed #9bb0a6}.nf-addr{display:none;font-family:ui-monospace,Menlo,monospace;font-size:.8rem;color:#b03636;background:#fdeeee;border:1px solid #f3cccc;border-radius:6px;padding:1px 7px;word-break:break-all}.nf-sender.is-open .nf-addr,.nf-sender:focus-visible .nf-addr,.nf-sender:hover .nf-addr{display:inline-block}.nf-mail-body{padding:14px 16px}.nf-mail-body>p{margin:0 0 12px;line-height:1.7;color:#2a3531}.nf-link{position:relative;cursor:pointer;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.nf-link-label{color:#1a56c4;text-decoration:underline;font-weight:600}.nf-addr-url{color:#b03636}.nf-link.is-open .nf-addr,.nf-link:focus-visible .nf-addr,.nf-link:hover .nf-addr{display:inline-block}.nf-attach{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:.85rem;color:#4a5852;background:#f0f3f1;border:1px solid #e0e6e2;border-radius:6px;padding:4px 10px}.nf-hint{margin:0;padding:0 16px 14px;font-size:.8rem;color:#7c8a84}@media (max-width:480px){input[type=text]{min-width:140px}.btn{white-space:normal}.nf-mail-row{flex-direction:column;align-items:flex-start;gap:4px}.nf-toolbar{gap:10px;font-size:.72rem;padding:6px 12px}.row{grid-template-columns:1fr;gap:8px}.badge{font-size:.7rem;padding:3px 8px}.site-header-inner{padding:.5rem .7rem;gap:8px}.nis2-form{padding:1rem 1.15rem;gap:1rem}}.verdict{display:flex;gap:14px;align-items:flex-start;border-radius:16px;padding:1.3rem 1.5rem;border:1px solid var(--line-strong);margin-bottom:1.2rem}.verdict--ok{background:color-mix(in srgb,var(--ok) 12%,transparent);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.verdict--warn{background:color-mix(in srgb,var(--warn) 12%,transparent);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.verdict--bad{background:color-mix(in srgb,var(--bad) 12%,transparent);border-color:color-mix(in srgb,var(--bad) 45%,transparent)}.verdict-ic{flex-shrink:0;line-height:0}.verdict--ok .verdict-ic{color:var(--ok)}.verdict--warn .verdict-ic{color:var(--warn)}.verdict--bad .verdict-ic{color:var(--bad)}.verdict-label{margin:0;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.verdict--ok .verdict-label{color:var(--ok)}.verdict--warn .verdict-label{color:var(--warn)}.verdict--bad .verdict-label{color:var(--bad)}.verdict-title{margin:.2rem 0 0;font-size:1.15rem;font-weight:600;color:var(--text-strong)}.verdict-detail{margin:.5rem 0 0;color:var(--text);line-height:1.7}.verdict-pill{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:700;border-radius:999px;padding:2px 9px;white-space:nowrap;flex-shrink:0}.verdict-pill-dot{width:8px;height:8px;border-radius:50%}.verdict-pill--ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}.verdict-pill--ok .verdict-pill-dot{background:var(--ok)}.verdict-pill--warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}.verdict-pill--warn .verdict-pill-dot{background:var(--warn)}.verdict-pill--bad{color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,transparent)}.verdict-pill--bad .verdict-pill-dot{background:var(--bad)}.lc-findings{display:flex;flex-direction:column;gap:8px;margin:1rem 0}.lc-finding{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.7rem .9rem;color:var(--text);line-height:1.6}.lc-host{margin:0;font-family:ui-monospace,Menlo,monospace;word-break:break-all;color:var(--brand-bright)}.qr-drop{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:2rem 1.4rem;border:2px dashed var(--line-strong);border-radius:16px;background:var(--surface-2);color:var(--sub);cursor:pointer;transition:border-color .18s ease,background .18s ease}.qr-drop.is-over,.qr-drop:hover{border-color:var(--brand);background:var(--brand-soft)}.qr-drop:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.qr-drop>svg{color:var(--brand)}.qr-drop-main{margin:.4rem 0 0;font-size:1rem;font-weight:600;color:var(--text)}.qr-drop-sub{margin:0;font-size:.85rem}.mc-form{margin-bottom:.6rem}.mc-input,.mc-textarea{width:100%;padding:12px 14px;font-size:.98rem;line-height:1.55;font-family:ui-monospace,Menlo,monospace;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-2);color:var(--text)}.mc-textarea{resize:vertical;min-height:150px}.mc-input::placeholder,.mc-textarea::placeholder{color:var(--dim)}.mc-input:focus,.mc-textarea:focus{outline:2px solid var(--brand);border-color:var(--brand)}.mc-actions{display:flex;gap:10px;margin-top:.6rem}.score-ring{position:relative;flex-shrink:0}.score-ring-grade{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;line-height:1}@media (prefers-reduced-motion:no-preference){.score-ring-progress{animation:kollen-ring-fill 1.15s cubic-bezier(.16,.8,.3,1) both}}@keyframes kollen-ring-fill{0%{stroke-dashoffset:var(--ring-circ)}}.scorecard .copy-btn{align-self:flex-start}.percentile{margin:.35rem 0 0;font-size:.9rem;color:var(--brand-bright)}.cat-rings{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-bottom:1.2rem}.cat-ring{display:flex;flex-direction:column;align-items:center;gap:6px;padding:.9rem .6rem .8rem;background:var(--surface);border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--text);text-align:center;transition:border-color .18s ease,transform .2s cubic-bezier(.16,.8,.3,1)}.cat-ring:hover{border-color:color-mix(in srgb,var(--brand) 50%,transparent)}@media (prefers-reduced-motion:no-preference){.cat-ring:hover{transform:translateY(-2px)}}.cat-ring-name{font-weight:700;color:var(--text-strong);font-size:.98rem}.cat-ring-fix{font-size:.8rem;line-height:1.3}@media (max-width:360px){.cat-rings{grid-template-columns:1fr}.cat-ring{flex-direction:row;justify-content:flex-start;text-align:left;gap:14px}.cat-ring-name{display:block}}.mail-chain{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1rem .6rem .9rem;margin-bottom:1.4rem}.mail-chain-node{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;min-width:0}.mail-chain-dot{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:1rem;color:var(--node);background:color-mix(in srgb,var(--node) 16%,transparent);border:2px solid var(--node);position:relative;z-index:1}.mail-chain-link{position:absolute;top:17px;left:calc(-50% + 18px);width:calc(100% - 36px);height:2px;background:color-mix(in srgb,var(--node) 55%,var(--line-strong))}.mail-chain-label{font-weight:700;color:var(--text-strong);font-size:.92rem;margin-top:2px}.mail-chain-sub{font-size:.78rem;color:var(--sub);line-height:1.3;overflow-wrap:anywhere}@media (max-width:520px){.mail-chain{display:flex;flex-direction:column;gap:14px;padding:1rem}.mail-chain-node{flex-direction:row;text-align:left;gap:12px;align-items:center}.mail-chain-link{top:-14px;left:17px;width:2px;height:14px}.mail-chain-label{margin:0}.mail-chain-sub{margin-left:auto;text-align:right}}.group{margin-bottom:1.4rem;scroll-margin-top:70px}.group-head{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 .5rem;gap:10px}.group-head .tools-head{font-weight:600}.tools-head--tight{margin:.2rem 0 .5rem;font-size:.74rem}.group .rows{margin-bottom:.7rem}.more{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.6rem 1rem;margin:0 0 .7rem}.more summary{cursor:pointer;font-weight:600;color:var(--sub);font-size:.92rem}.more--ok summary{color:var(--ok)}.unknown-group{margin-top:.4rem;opacity:.85}.more[open] summary{margin-bottom:.6rem}.more .rows{margin-bottom:0}.notice{margin:.2rem 0 1rem;font-size:.8rem;color:var(--sub);opacity:.85}.badge-offer{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:1.2rem 1.4rem;margin:1.2rem 0 0}.badge-preview{margin:0 0 .8rem}.badge-preview img{display:block;height:28px;width:auto}.badge-snippet{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}.badge-snippet pre{flex:1 1;min-width:0;margin:0;padding:.7rem .9rem;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-field);font-size:.78rem;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-all;color:var(--text)}.results:not([data-raw="1"]) .raw{display:none}.tech-toggle-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 1.2rem}.tech-toggle{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:.9rem;font-weight:700;color:var(--brand-bright);background:var(--brand-soft);border:1px solid var(--line-strong);border-radius:10px;padding:8px 14px;cursor:pointer}.tech-toggle:hover{border-color:var(--brand)}.tech-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.tech-toggle-ic{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--brand);color:var(--ink);font-size:.9rem;line-height:1}.tech-toggle-hint{font-size:.8rem;color:var(--sub)}.results[data-raw="1"] .tech-toggle{background:var(--brand);color:var(--ink)}.results[data-raw="1"] .tech-toggle-ic{background:var(--ink);color:var(--brand-bright)}.exec-lines{list-style:none;margin:-.6rem 0 1.3rem;padding:0;display:flex;flex-direction:column;gap:6px}.exec-line{position:relative;padding:.6rem .9rem .6rem 2.1rem;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-size:.92rem;line-height:1.55;color:var(--text);overflow-wrap:anywhere}.exec-line:before{content:"";position:absolute;left:.9rem;top:.95rem;width:8px;height:8px;border-radius:50%;background:var(--brand)}.exec-line--warn:before{background:var(--warn)}.exec-line--ok:before{background:var(--ok)}.raw-data{margin:.55rem 0 0;border-top:1px dashed var(--line-strong);padding-top:.45rem}.raw-data>summary{cursor:pointer;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sub)}.raw-data[open]>summary{color:var(--brand-bright);margin-bottom:.4rem}.raw-pre-wrap{position:relative}.raw-pre-wrap .copy-btn{position:absolute;top:6px;right:6px}.raw-pre{margin:0;padding:.6rem 5.4rem .6rem .75rem;background:rgba(0,0,0,.28);border:1px solid var(--line);border-radius:8px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.6;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow-x:auto;max-height:340px;overflow-y:auto}.raw-line{display:flex;flex-wrap:wrap;gap:0 .7rem}.raw-name{color:var(--sub)}.raw-ttl{color:var(--gold)}.raw-type{color:var(--brand-bright);font-weight:700}.raw-val{color:var(--text);flex:1 1 100%}@media (min-width:640px){.raw-val{flex-basis:auto}}.raw-meta{margin:.4rem 0 0;font-size:.74rem;color:var(--sub);overflow-wrap:anywhere}.tech-block{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:12px;padding:.85rem 1rem;margin:0 0 .8rem}.tech-block-title{margin:0 0 .55rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-bright);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.tech-stamp{font-weight:500;text-transform:none;letter-spacing:0;color:var(--sub);font-size:.74rem}.tech-line{margin:.3rem 0;font-size:.88rem;color:var(--text);line-height:1.55;overflow-wrap:anywhere}.tech-rows{display:flex;flex-direction:column;gap:4px}.tech-row{display:grid;grid-template-columns:190px 1fr;grid-gap:6px 12px;gap:6px 12px;padding:.35rem 0;border-top:1px solid var(--line);font-size:.86rem}.tech-row:first-child{border-top:0}.tech-row--bonus{opacity:.7}.tech-key{color:var(--sub);font-weight:600}.tech-key,.tech-val{overflow-wrap:anywhere}.tech-val{color:var(--text);min-width:0;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}.tech-val--ok{color:var(--ok)}.tech-val--warn{color:var(--warn)}.tech-val--bad{color:var(--bad)}.tech-val--unknown{color:var(--unknown)}.tech-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8rem;background:rgba(0,0,0,.28);border-radius:5px;padding:1px 6px;overflow-wrap:anywhere;word-break:break-word}.tech-note{flex-basis:100%;font-size:.8rem;color:var(--sub)}.tech-chain,.tech-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:3px}.tech-chain code,.tech-list code{font-size:.8rem}.hgrade{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 8px}.hgrade--good{color:var(--ok);background:color-mix(in srgb,var(--ok) 16%,transparent)}.hgrade--partial{color:var(--warn);background:color-mix(in srgb,var(--warn) 16%,transparent)}.hgrade--missing,.hgrade--weak{color:var(--bad);background:color-mix(in srgb,var(--bad) 16%,transparent)}.hgrade--bonus{color:var(--unknown);background:color-mix(in srgb,var(--unknown) 16%,transparent)}.spf-tree .raw-line{gap:0 .6rem}.spf-err{color:var(--warn);font-style:italic}.tech-footer{border-left-color:var(--gold);margin-top:.4rem}@media (max-width:560px){.tech-row{grid-template-columns:1fr;gap:2px}.raw-pre{padding-right:.75rem;padding-top:2.2rem;font-size:.76rem}.tech-toggle{width:100%;justify-content:center}}body:before{z-index:-2;background:url(/kollen-bg.webp) 50%/cover no-repeat;opacity:.6}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none}body:after{z-index:-1;background:linear-gradient(180deg,rgba(12,35,32,.45),rgba(12,35,32,.72))}@media (prefers-reduced-motion:no-preference){body:before{animation:kollen-bg-drift 34s ease-in-out infinite alternate}}@keyframes kollen-bg-drift{0%{transform:scale(1.03)}to{transform:scale(1.09) translateY(-1.4%)}}