:root{--bg:#f4f7fb;--card:#fff;--ink:#14213d;--mut:#5b6b85;--pri:#0b5fff;--pri2:#5b3df5;--ok:#0f9d6a;--line:#e3e9f3;--r:16px}
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",Heebo,Arial,system-ui,sans-serif;line-height:1.7;color:var(--ink);background:var(--bg);animation:fade .5s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes pop{0%{transform:scale(.96);opacity:.4}100%{transform:scale(1);opacity:1}}
header.top{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{max-width:980px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:10px 16px}
.brand{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--ink);text-decoration:none;white-space:nowrap}
.brand img{width:30px;height:30px}
nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;flex:1}
nav::-webkit-scrollbar{display:none}
nav a{white-space:nowrap;padding:6px 12px;border-radius:999px;color:var(--mut);text-decoration:none;font-size:.9rem;transition:.2s}
nav a:hover{background:#eaf0ff;color:var(--pri)}
main,body>h1,body>.ad-slot,body>label,body>input,body>select,body>button,body>.res,body>p,body>h2,body>ul,body>ol,body>table,body>.note,body>footer,body>.hero,body>.grid{max-width:760px;margin-inline:auto;padding-inline:16px;display:block}
body>h1{font-size:2rem;line-height:1.25;margin-top:28px;margin-bottom:8px;background:linear-gradient(90deg,var(--pri),var(--pri2));-webkit-background-clip:text;background-clip:text;color:transparent}
h2{font-size:1.25rem;margin-top:28px}
label{font-weight:600;margin-top:14px;margin-bottom:4px;font-size:.95rem}
input,select{width:calc(100% - 32px);margin-inline:16px;padding:12px 14px;font-size:1rem;border:1.5px solid var(--line);border-radius:12px;background:#fff;transition:.2s}
input:focus,select:focus{outline:0;border-color:var(--pri);box-shadow:0 0 0 4px rgba(11,95,255,.12)}
button{margin:16px;padding:13px 26px;font-size:1rem;font-weight:700;border:0;border-radius:12px;color:#fff;cursor:pointer;background:linear-gradient(90deg,var(--pri),var(--pri2));box-shadow:0 6px 18px rgba(11,95,255,.3);transition:.2s}
button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(11,95,255,.38)}
.res{margin-top:18px;margin-bottom:8px;padding:18px 20px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);box-shadow:0 8px 28px rgba(20,33,61,.07);animation:pop .35s ease}
.res b{font-size:1.5rem;color:var(--pri)}
table{border-collapse:collapse;background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:0 4px 18px rgba(20,33,61,.06);width:calc(100% - 32px)}
td{padding:10px 14px;border-bottom:1px solid var(--line)}
ul{padding-inline-start:36px}
ul li{margin:4px 0}
a{color:var(--pri)}
.note{font-size:.82rem;color:var(--mut);margin-top:24px}
footer{margin:24px auto 40px;font-size:.85rem;color:var(--mut)}
.ad-slot{display:none;margin:16px auto;min-height:90px;text-align:center}
.hero{text-align:center;padding:44px 16px 24px;max-width:760px}
.hero h1{font-size:2.3rem;margin:0 0 10px;background:linear-gradient(90deg,var(--pri),var(--pri2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:var(--mut);font-size:1.1rem;margin:0}
body>.grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;padding:10px 16px 24px!important;max-width:980px!important}
.tile{display:block;padding:18px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink);box-shadow:0 4px 16px rgba(20,33,61,.05);transition:.25s}
.tile:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(11,95,255,.16);border-color:#bcd0ff}
.tile .ic{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;margin-bottom:10px;font-weight:800;font-size:1.2rem;color:#fff;background:linear-gradient(135deg,var(--pri),var(--pri2))}
.tile strong{display:block}.tile span.d{font-size:.85rem;color:var(--mut)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

body>.grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
body>.ad-slot:empty{display:none!important}
