:root {
    --bg: #060b1e;
    --panel: #0d1431;
    --panel2: #131c42;
    --line: #1e2a58;
    --text: #e9edff;
    --mute: #8e99c9;
    --accent: #3b5bff;
    --accent2: #7a93ff;
    --ok: #2fd27c;
    --bad: #ff5468;
    --glow: #13236b55;
    --pro: #16226b;
    --shadow: #0008;
    color-scheme: dark
}

html[data-theme=light] {
    --bg: #f4f6ff;
    --panel: #fff;
    --panel2: #eef1fc;
    --line: #d8def2;
    --text: #12183a;
    --mute: #566091;
    --accent: #3550f0;
    --accent2: #3550f0;
    --ok: #0f9d58;
    --bad: #d93047;
    --glow: #c9d4ff88;
    --pro: #e3e9ff;
    --shadow: #2a3a8a22;
    color-scheme: light
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    background: url(/bg.svg) 0 0/340px 300px,radial-gradient(900px 500px at 8% -5%,var(--glow),transparent),var(--bg);
    color: var(--text);
    font: 15px/1.6 'DM Sans',system-ui,sans-serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column
}

body>main,body>.grow {
    flex: 1
}

h1,h2,h3 {
    font-family: 'Bricolage Grotesque','DM Sans',sans-serif;
    line-height: 1.1;
    margin: 0;
    letter-spacing: -.02em
}

a {
    color: inherit;
    text-decoration: none
}

p {
    margin: 0
}

.wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px
}

.mute {
    color: var(--mute)
}

html[lang=tr] [data-lang=en],html[lang=en] [data-lang=tr] {
    display: none
}

[hidden] {
    display: none!important
}

nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    gap: 12px
}

.brand {
    display: flex;
    gap: 10px;
    align-items: center;
    font: 700 19px 'Bricolage Grotesque',sans-serif
}

.brand svg {
    width: 28px;
    height: 28px
}

.links {
    display: flex;
    gap: 18px;
    align-items: center;
    color: var(--mute);
    flex-wrap: wrap;
    justify-content: flex-end
}

.links>a:hover {
    color: var(--text)
}

#navExtra {
    display: inline-flex;
    gap: 14px;
    align-items: center
}

.ico {
    background: transparent;
    border: 1px solid var(--line);
    color: var(--text);
    border-radius: 9px;
    min-width: 38px;
    height: 34px;
    padding: 0 9px;
    font: 600 13px 'DM Sans',sans-serif;
    cursor: pointer
}

.ico:hover {
    background: var(--panel)
}

.btn {
    display: inline-block;
    background: var(--accent);
    color: #fff;
    border: 0;
    border-radius: 10px;
    padding: 10px 18px;
    font: 600 14px 'DM Sans',sans-serif;
    cursor: pointer;
    transition: background .15s
}

.btn:hover {
    filter: brightness(1.1)
}

.btn.ghost {
    background: transparent;
    border: 1px solid var(--line);
    color: var(--text)
}

.btn.ghost:hover {
    background: var(--panel);
    filter: none
}

.btn.sm {
    padding: 6px 12px;
    font-size: 13px
}

.btn.danger {
    background: var(--bad)
}

:focus-visible {
    outline: 2px solid var(--accent2);
    outline-offset: 2px
}

/* landing */
.hero {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 56px;
    align-items: center;
    padding: 60px 0 90px
}

.hero h1 {
    font-size: clamp(36px,5.2vw,60px)
}

.hero p {
    margin: 22px 0 30px;
    max-width: 46ch;
    color: var(--mute);
    font-size: 17px
}

.row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap
}

.feed {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 18px;
    font-size: 13.5px;
    box-shadow: 0 30px 80px var(--shadow)
}

.feed header {
    display: flex;
    justify-content: space-between;
    color: var(--mute);
    margin-bottom: 12px;
    font-size: 12.5px
}

.ev {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 10px;
    padding: 10px 0;
    border-top: 1px solid var(--line)
}

.ev time {
    color: var(--mute);
    font-variant-numeric: tabular-nums
}

.tag {
    display: inline-block;
    border-radius: 6px;
    padding: 1px 8px;
    font-size: 12px;
    font-weight: 600;
    margin-right: 6px
}

.tag.bad {
    background: #ff546822;
    color: var(--bad)
}

.tag.ok {
    background: #2fd27c22;
    color: var(--ok)
}

.tag.info {
    background: #3b5bff26;
    color: var(--accent2)
}

section.block {
    padding: 70px 0;
    border-top: 1px solid var(--line)
}

section.block h2 {
    font-size: clamp(28px,3.4vw,40px);
    margin-bottom: 12px
}

.cols {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px;
    margin-top: 34px
}

.col {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 24px
}

.col h3 {
    font-size: 20px;
    margin-bottom: 8px
}

.col.wide {
    grid-column: span 2
}

.plans {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-top: 34px;
    max-width: 760px
}

.plan {
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 28px;
    background: var(--panel)
}

.plan.pro {
    border-color: var(--accent);
    background: linear-gradient(180deg,var(--pro),var(--panel))
}

.plan .price {
    font: 700 38px 'Bricolage Grotesque',sans-serif;
    margin: 8px 0 14px
}

.plan ul {
    list-style: none;
    padding: 0;
    margin: 0 0 22px;
    display: grid;
    gap: 8px;
    color: var(--mute)
}

.plan li::before {
    content: "✓";
    color: var(--ok);
    margin-right: 8px
}

footer {
    border-top: 1px solid var(--line);
    margin-top: 40px;
    padding: 40px 0 24px;
    color: var(--mute)
}

.fgrid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 30px
}

.fgrid b {
    display: block;
    color: var(--text);
    margin-bottom: 8px
}

.fgrid a:not(.brand) {
    display: block;
    padding: 2px 0
}

.fgrid a:not(.brand):hover {
    color: var(--text)
}

.fine {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
    font-size: 13px
}

/* content pages */
.page {
    max-width: 780px;
    padding-top: 30px;
    padding-bottom: 40px
}

.page h1 {
    font-size: clamp(30px,4vw,42px);
    margin-bottom: 8px
}

.page h2 {
    font-size: 22px;
    margin: 34px 0 8px
}

.page p,.page li {
    color: var(--mute);
    margin: 8px 0
}

.page ul {
    padding-left: 20px
}

.page a.l {
    color: var(--accent2);
    text-decoration: underline
}

details {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 14px 18px;
    margin: 10px 0
}

summary {
    cursor: pointer;
    font-weight: 600
}

details p {
    margin-top: 8px;
    color: var(--mute)
}

.form {
    display: grid;
    gap: 12px;
    margin-top: 14px
}

.form label {
    display: grid;
    gap: 5px;
    font-size: 13px;
    color: var(--mute)
}

.form input,.form textarea {
    background: var(--panel);
    border: 1px solid var(--line);
    color: var(--text);
    border-radius: 10px;
    padding: 11px 13px;
    font: 15px 'DM Sans',sans-serif;
    width: 100%
}

.form textarea {
    min-height: 140px;
    resize: vertical
}

.msg {
    padding: 10px 14px;
    border-radius: 10px;
    background: var(--panel2);
    border: 1px solid var(--line)
}

/* dashboard + admin */
main.wrap {
    padding-top: 10px;
    padding-bottom: 120px
}

main h1 {
    font-size: 34px;
    margin: 10px 0 6px
}

main h2.sec {
    font-size: 22px;
    margin: 34px 0 0
}

.back {
    color: var(--mute)
}

.grid {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(200px,1fr));
    gap: 16px;
    margin-top: 18px
}

.srv {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 20px;
    text-align: center;
    transition: border-color .15s
}

.srv:hover {
    border-color: var(--accent)
}

.srv img,.srv .ph,.mini {
    width: 84px;
    height: 84px;
    border-radius: 20px;
    margin: 0 auto 12px;
    display: grid;
    place-items: center;
    background: var(--panel2);
    font: 700 30px 'Bricolage Grotesque',sans-serif;
    object-fit: cover
}

.srv b {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.srv small {
    color: var(--mute)
}

.srv.off {
    opacity: .85
}

.tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 22px 0 26px
}

.tabs button {
    background: var(--panel);
    border: 1px solid var(--line);
    color: var(--mute);
    border-radius: 10px;
    padding: 9px 16px;
    font: 600 13.5px 'DM Sans',sans-serif;
    cursor: pointer
}

.tabs button.on {
    border-color: var(--accent);
    color: var(--text);
    box-shadow: 0 0 0 1px var(--accent) inset
}

.row2 {
    display: flex;
    align-items: center;
    gap: 18px;
    justify-content: space-between;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 14px 18px;
    margin-bottom: 10px;
    flex-wrap: wrap
}

.row2 .name {
    min-width: 150px;
    font-weight: 600
}

.row2 .ctl {
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap
}

.f {
    display: grid;
    gap: 4px;
    font-size: 12px;
    color: var(--mute)
}

.f input,.f select {
    background: var(--panel2);
    border: 1px solid var(--line);
    color: var(--text);
    border-radius: 8px;
    padding: 8px 10px;
    font: 14px 'DM Sans',sans-serif;
    min-width: 110px
}

.sw {
    position: relative;
    width: 46px;
    height: 26px;
    flex: none
}

.sw input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    margin: 0;
    z-index: 1
}

.sw i {
    position: absolute;
    inset: 0;
    background: var(--panel2);
    border: 1px solid var(--line);
    border-radius: 99px;
    transition: .15s
}

.sw i::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #7380b5;
    transition: .15s
}

.sw input:checked+i {
    background: var(--accent);
    border-color: var(--accent)
}

.sw input:checked+i::after {
    left: 23px;
    background: #fff
}

.sw input:focus-visible+i {
    outline: 2px solid var(--accent2);
    outline-offset: 2px
}

.check {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: flex-start
}

.check .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex: none
}

.dot.ok {
    background: var(--ok)
}

.dot.bad {
    background: var(--bad)
}

.notice {
    background: #3b5bff1c;
    border: 1px solid var(--accent);
    border-radius: 12px;
    padding: 14px 18px;
    margin-bottom: 16px
}

fieldset {
    border: 0;
    padding: 0;
    margin: 0;
    min-width: 0
}

fieldset:disabled {
    opacity: .45;
    pointer-events: none
}

.chips {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px
}

.chip {
    background: var(--panel2);
    border: 1px solid var(--line);
    border-radius: 99px;
    padding: 4px 6px 4px 12px;
    font-size: 13px
}

.chip button {
    background: none;
    border: 0;
    color: var(--mute);
    cursor: pointer;
    font-size: 16px
}

.add {
    display: flex;
    gap: 8px;
    margin-top: 10px
}

.add input {
    flex: 1;
    background: var(--panel2);
    border: 1px solid var(--line);
    color: var(--text);
    border-radius: 8px;
    padding: 9px 12px;
    font: 14px 'DM Sans',sans-serif
}

.rolelist {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(210px,1fr));
    gap: 8px;
    margin-top: 12px
}

.rolelist label {
    display: flex;
    gap: 8px;
    align-items: center;
    background: var(--panel2);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 8px 10px
}

#savebar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 18px;
    display: flex;
    justify-content: center;
    pointer-events: none;
    z-index: 20
}

#savebar>div {
    pointer-events: auto;
    background: var(--panel);
    border: 1px solid var(--accent);
    border-radius: 14px;
    padding: 12px 14px 12px 22px;
    display: flex;
    gap: 14px;
    align-items: center;
    box-shadow: 0 20px 60px var(--shadow);
    flex-wrap: wrap;
    justify-content: center
}

#toast {
    position: fixed;
    top: 18px;
    right: 18px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 10px 16px;
    display: none;
    z-index: 30;
    box-shadow: 0 10px 30px var(--shadow)
}

.stats {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 14px;
    margin: 22px 0
}

.stat {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 18px
}

.stat b {
    display: block;
    font: 700 30px 'Bricolage Grotesque',sans-serif
}

.tablewrap {
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--panel)
}

table {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px
}

th,td {
    text-align: left;
    padding: 12px 16px;
    border-bottom: 1px solid var(--line);
    vertical-align: middle
}

th {
    color: var(--mute);
    font-weight: 600;
    font-size: 13px
}

tr:last-child td {
    border-bottom: 0
}

.who {
    display: flex;
    gap: 12px;
    align-items: center
}

.who .mini {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    margin: 0;
    font-size: 16px
}

.who small {
    display: block;
    color: var(--mute)
}

.acts {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap
}

.acts input {
    width: 64px;
    background: var(--panel2);
    border: 1px solid var(--line);
    color: var(--text);
    border-radius: 8px;
    padding: 6px 8px
}

.search {
    width: 100%;
    max-width: 380px;
    background: var(--panel);
    border: 1px solid var(--line);
    color: var(--text);
    border-radius: 10px;
    padding: 10px 14px;
    font: 15px 'DM Sans',sans-serif;
    margin-bottom: 14px
}

@media(max-width: 820px) {
    .hero,.cols,.plans,.fgrid,.stats {
        grid-template-columns:1fr
    }

    .col.wide {
        grid-column: auto
    }

    .links a.hide {
        display: none
    }
}

@media(prefers-reduced-motion:reduce) {
    * {
        transition: none!important;
        scroll-behavior: auto!important
    }
}

/* ===== Axioara v2 additions ===== */
.brand img {
    width: 30px;
    height: 30px;
    object-fit: contain;
    display: block
}

.fine2 {
    margin: -6px 0 22px;
    font-size: 13px
}

.stats.four {
    grid-template-columns: repeat(4,1fr)
}

.stats.five {
    grid-template-columns: repeat(5,1fr)
}

.stats.six {
    grid-template-columns: repeat(6,1fr)
}

.stat small {
    display: block;
    font-size: 11.5px;
    margin-top: 2px
}

.planv {
    font-size: 17px;
    line-height: 1.4;
    display: block;
    padding: 6px 0
}

.planv.pro {
    color: var(--accent2)
}

.toolbar {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    margin: 6px 0 6px
}

.toolbar .search {
    margin: 0;
    flex: 1 1 240px;
    max-width: 360px
}

.seg {
    display: inline-flex;
    border: 1px solid var(--line);
    border-radius: 10px;
    overflow: hidden;
    background: var(--panel)
}

.seg button {
    background: transparent;
    border: 0;
    border-right: 1px solid var(--line);
    color: var(--mute);
    padding: 9px 14px;
    font: 600 13.5px 'DM Sans',sans-serif;
    cursor: pointer
}

.seg button:last-child {
    border-right: 0
}

.seg button.on {
    background: var(--accent);
    color: #fff
}

.seg button:not(.on):hover {
    color: var(--text);
    background: var(--panel2)
}

.f.inline {
    display: flex;
    align-items: center;
    gap: 8px
}

.lnk {
    background: none;
    border: 0;
    color: var(--accent2);
    cursor: pointer;
    font: inherit;
    padding: 0;
    text-decoration: underline
}

.count {
    margin-top: 14px;
    font-size: 13.5px
}

.num {
    display: inline-block;
    margin-left: 6px;
    font: 600 13px 'DM Sans',sans-serif;
    background: var(--panel2);
    border: 1px solid var(--line);
    border-radius: 99px;
    padding: 1px 10px;
    color: var(--mute);
    vertical-align: middle
}

.pill {
    display: inline-block;
    border-radius: 99px;
    padding: 1px 10px;
    font-size: 12px;
    font-weight: 600;
    background: var(--panel2);
    border: 1px solid var(--line);
    color: var(--mute)
}

.pill.pro {
    background: #3b5bff26;
    border-color: var(--accent);
    color: var(--accent2)
}

.pill.ok {
    background: #2fd27c22;
    border-color: transparent;
    color: var(--ok)
}

.pill.warn {
    background: #ffb84a22;
    border-color: transparent;
    color: #ffb84a
}

.pill.bad {
    background: #ff546822;
    border-color: transparent;
    color: var(--bad)
}

.srv .meta {
    display: flex;
    gap: 6px;
    justify-content: center;
    flex-wrap: wrap;
    margin: 6px 0 8px
}

.ghead {
    display: flex;
    gap: 16px;
    align-items: center;
    margin: 14px 0 0
}

.ghead img,.ghead .ph {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: var(--panel2);
    font: 700 26px 'Bricolage Grotesque',sans-serif;
    object-fit: cover
}

.ghead h1 {
    margin: 0 0 4px
}

h3.sub {
    font-size: 19px;
    margin: 26px 0 12px;
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap
}

.bar {
    height: 8px;
    background: var(--panel2);
    border: 1px solid var(--line);
    border-radius: 99px;
    overflow: hidden;
    margin-bottom: 12px
}

.bar i {
    display: block;
    height: 100%;
    background: linear-gradient(90deg,var(--accent),var(--ok));
    border-radius: 99px
}

.dot.off {
    background: var(--line)
}

.pgrid {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(210px,1fr));
    gap: 10px
}

.pc {
    display: flex;
    gap: 12px;
    align-items: center;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 12px 14px
}

.pc.on {
    border-color: #2fd27c55
}

.pc .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex: none
}

.pc b {
    display: block
}

.pc small {
    color: var(--mute)
}

.stat b {
    overflow-wrap: anywhere
}

th .mute {
    font-weight: 400
}

.blk {
    display: block;
    margin-top: 4px
}

.mchips {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    max-width: 190px
}

.mc {
    border-radius: 6px;
    padding: 1px 7px;
    font-size: 11.5px;
    background: var(--panel2);
    color: var(--mute);
    border: 1px solid var(--line)
}

.mc.on {
    background: #2fd27c22;
    color: var(--ok);
    border-color: transparent
}

.quick {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 6px;
    font-size: 12.5px
}

.pager {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin: 14px 0 0;
    flex-wrap: wrap
}

.btn:disabled {
    opacity: .4;
    cursor: not-allowed
}

.logbox {
    display: grid;
    gap: 8px;
    margin-top: 14px
}

.logrow {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 10px 16px
}

.logrow time {
    margin-left: auto;
    font-size: 12.5px
}

.who small button {
    margin-left: 4px
}

/* support */
.sucards {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 12px;
    margin: 22px 0 8px
}

.suc {
    text-align: left;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px;
    color: var(--text);
    cursor: pointer;
    display: grid;
    gap: 4px;
    font: 15px 'DM Sans',sans-serif;
    transition: border-color .15s
}

.suc:hover {
    border-color: var(--accent)
}

.suc span {
    font-size: 13px
}

.page .search {
    margin: 6px 0 10px
}

.form .two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px
}

.form select {
    background: var(--panel);
    border: 1px solid var(--line);
    color: var(--text);
    border-radius: 10px;
    padding: 11px 13px;
    font: 15px 'DM Sans',sans-serif;
    width: 100%
}

@media(max-width: 1000px) {
    .stats.six {
        grid-template-columns:repeat(3,1fr)
    }

    .stats.five {
        grid-template-columns: repeat(3,1fr)
    }
}

@media(max-width: 820px) {
    .stats.four,.stats.five,.stats.six {
        grid-template-columns:repeat(2,1fr)
    }

    .sucards,.form .two {
        grid-template-columns: 1fr
    }

    .logrow time {
        margin-left: 0
    }
}

/* v2.1 public score page */
.scorebox {
    display: flex;
    gap: 28px;
    align-items: center;
    flex-wrap: wrap;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 28px;
    margin: 28px 0
}

.scorebox .grade {
    font: 700 84px/1 'Bricolage Grotesque',sans-serif;
    color: var(--accent)
}

.scorebox img.ic {
    width: 56px;
    height: 56px;
    border-radius: 14px
}

.codebox {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 12px;
    font: 13px/1.5 monospace;
    word-break: break-all;
    margin-top: 8px
}

/* v2.2 own icon set (public/icons.svg) + docs */
.ic {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: none
}

.ib {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: var(--panel2);
    border: 1px solid var(--line);
    color: var(--accent2);
    margin-bottom: 14px;
    box-shadow: inset 0 -10px 18px var(--glow)
}

.ib .ic {
    width: 24px;
    height: 24px
}

.docs {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 34px;
    padding-top: 30px;
    padding-bottom: 40px;
    align-items: start
}

.dside {
    position: sticky;
    top: 18px;
    display: flex;
    flex-direction: column;
    gap: 3px
}

.dside a {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 8px 10px;
    border-radius: 9px;
    color: var(--mute);
    font-weight: 500
}

.dside a:hover {
    background: var(--panel);
    color: var(--text)
}

.dside .ic {
    width: 18px;
    height: 18px
}

.dhead h1 {
    font-size: clamp(30px,4vw,42px);
    margin-bottom: 8px
}

.dsec {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 26px;
    margin: 18px 0 0;
    scroll-margin-top: 18px
}

.dh {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-bottom: 12px
}

.dh .ib {
    margin: 0
}

.dh h2 {
    font-size: 24px
}

.dsec p,.dsec li {
    color: var(--mute);
    margin: 8px 0
}

.dsec ol,.dsec ul {
    padding-left: 22px;
    margin: 8px 0
}

.dsec code,.dt code {
    background: var(--panel2);
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 1px 6px;
    font: 13px monospace;
    color: var(--text)
}

.dt {
    width: 100%;
    border-collapse: collapse;
    margin-top: 6px
}

.dt td {
    padding: 10px 8px;
    border-top: 1px solid var(--line);
    vertical-align: top
}

.dt td:first-child {
    white-space: nowrap;
    width: 1%;
    padding-right: 18px
}

.dt td:last-child {
    color: var(--mute)
}

@media(max-width: 800px) {
    .docs {
        grid-template-columns:1fr
    }

    .dside {
        position: static;
        flex-direction: row;
        flex-wrap: wrap
    }
}

/* v3: verify, status, partners, dashboard additions */
.page.wide {
    max-width: 1000px
}

.vcard {
    max-width: 520px;
    margin: 30px auto;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 30px;
    display: grid;
    gap: 14px
}

.vhead {
    display: flex;
    gap: 16px;
    align-items: center
}

.vhead img,.vhead .ph {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: var(--panel2);
    font: 700 26px 'Bricolage Grotesque',sans-serif;
    object-fit: cover
}

.vhead h1 {
    font-size: 26px;
    margin: 0
}

.msg.err {
    border-color: var(--bad);
    color: var(--bad)
}

.sbanner {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px 20px;
    margin: 22px 0;
    background: var(--panel)
}

.sbanner.ok {
    border-color: #2fd27c66
}

.sbanner.degraded {
    border-color: #ffb84a88
}

.sbanner.down {
    border-color: var(--bad)
}

.sbanner .mute {
    margin-left: auto
}

.sdot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex: none;
    background: var(--mute)
}

.sdot.ok {
    background: var(--ok)
}

.sdot.degraded {
    background: #ffb84a
}

.sdot.down {
    background: var(--bad)
}

.sgroup {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 22px;
    margin: 0 0 18px
}

.shead {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 10px
}

.shead h2 {
    font-size: 22px;
    margin: 0 0 4px
}

.sbadge {
    border-radius: 99px;
    padding: 3px 12px;
    font-size: 13px;
    font-weight: 600;
    background: var(--panel2);
    color: var(--mute)
}

.sbadge.ok {
    background: #2fd27c22;
    color: var(--ok)
}

.sbadge.degraded {
    background: #ffb84a22;
    color: #ffb84a
}

.sbadge.down {
    background: #ff546822;
    color: var(--bad)
}

.srow {
    display: grid;
    grid-template-columns: 1fr auto auto auto;
    gap: 12px;
    align-items: center;
    padding: 10px 0;
    border-top: 1px solid var(--line)
}

.srow b.ok {
    color: var(--ok)
}

.srow b.degraded {
    color: #ffb84a
}

.srow b.down {
    color: var(--bad)
}

.srow b.unknown {
    color: var(--mute)
}

.ubar {
    display: grid;
    grid-template-columns: repeat(30,1fr);
    gap: 3px;
    margin-top: 14px
}

.ubar i {
    height: 30px;
    border-radius: 3px;
    background: var(--line)
}

.ubar i.ok {
    background: var(--ok)
}

.ubar i.degraded {
    background: #ffb84a
}

.ubar i.down {
    background: var(--bad)
}

.ulegend {
    display: flex;
    justify-content: space-between;
    font-size: 12.5px;
    margin-top: 6px
}

.inc {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 14px 18px;
    margin: 10px 0
}

.inc .top {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap
}

.inc .top time {
    margin-left: auto;
    font-size: 12.5px
}

.inc p {
    margin-top: 8px
}

.two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px
}

.ticks {
    list-style: none;
    padding: 0!important
}

.ticks li::before {
    content: "✓";
    color: var(--ok);
    margin-right: 10px
}

.pgrid2 {
    grid-template-columns: repeat(auto-fill,minmax(240px,1fr))
}

.pcard {
    display: grid;
    gap: 8px;
    justify-items: center
}

.pabout {
    font-size: 13.5px;
    margin: 0
}

.chart {
    display: flex;
    gap: 3px;
    align-items: flex-end;
    height: 120px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 12px
}

.chart .cb {
    flex: 1;
    height: 100%;
    display: flex;
    align-items: flex-end
}

.chart .cb i {
    display: block;
    width: 100%;
    min-height: 2px;
    background: var(--accent);
    border-radius: 3px 3px 0 0
}

.logrow .evt {
    flex: 1;
    min-width: 200px;
    overflow-wrap: anywhere
}

textarea[data-p] {
    background: var(--panel2);
    border: 1px solid var(--line);
    color: var(--text);
    border-radius: 8px;
    padding: 9px 10px;
    font: 14px 'DM Sans',sans-serif;
    width: 100%;
    resize: vertical
}

@media(max-width: 820px) {
    .two-col {
        grid-template-columns:1fr
    }

    .srow {
        grid-template-columns: 1fr auto auto
    }

    .sbanner .mute {
        margin-left: 0
    }
}

/* v3.1 anti nuke rows: premium = bright blue */
fieldset.ctl {
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
    margin: 0
}

.row2 .name .pill {
    margin-left: 8px;
    vertical-align: middle
}

.row2.prem {
    position: relative;
    overflow: hidden;
    background: linear-gradient(90deg,#1c34a066,#3b5bff26 60%,#5b7bff33);
    border-color: #5b7bffaa;
    box-shadow: 0 0 0 1px #5b7bff33 inset,0 0 24px #3b5bff30
}

.row2.prem::after {
    content: "PREMIUM ONLY";
    position: absolute;
    left: 38%;
    top: 50%;
    transform: translateY(-50%);
    font: 800 34px 'Bricolage Grotesque',sans-serif;
    letter-spacing: .22em;
    color: #7a93ff14;
    pointer-events: none;
    white-space: nowrap
}

.row2.prem>* {
    position: relative;
    z-index: 1
}

.row2.prem .name {
    color: #cfd8ff
}

html[data-theme=light] .row2.prem {
    background: linear-gradient(90deg,#dfe6ff,#e9eeff);
    box-shadow: 0 0 18px #3b5bff26
}

html[data-theme=light] .row2.prem .name {
    color: #1d2f9a
}

/* v3.1 status page: live, glowing bars like the Discord status page */
.sbanner {
    position: relative;
    overflow: hidden;
    border: 0;
    color: #fff;
    padding: 20px 24px;
    font-size: 18px
}

.sbanner.ok {
    background: linear-gradient(135deg,#17803f,#2fd27c);
    box-shadow: 0 10px 40px #2fd27c40
}

.sbanner.degraded {
    background: linear-gradient(135deg,#a8690a,#ffb84a);
    box-shadow: 0 10px 40px #ffb84a40
}

.sbanner.down {
    background: linear-gradient(135deg,#a3172b,#ff5468);
    box-shadow: 0 10px 40px #ff546840
}

.sbanner .mute {
    color: #ffffffcc;
    font-size: 14px
}

.sbanner::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg,transparent 35%,#ffffff30 50%,transparent 65%);
    transform: translateX(-100%);
    animation: shine 5s ease-in-out infinite
}

.sbanner .sdot {
    background: #fff;
    box-shadow: 0 0 0 0 #fff;
    animation: ping 2s infinite
}

@keyframes shine {
    0%,55% {
        transform: translateX(-100%)
    }

    100% {
        transform: translateX(100%)
    }
}

@keyframes ping {
    0% {
        box-shadow: 0 0 0 0 #ffffffaa
    }

    70%,100% {
        box-shadow: 0 0 0 10px #ffffff00
    }
}

.sgroup {
    padding: 0;
    overflow: hidden
}

.shead {
    padding: 20px 22px;
    margin: 0;
    border-bottom: 1px solid var(--line)
}

.sbadge {
    display: inline-flex;
    gap: 8px;
    align-items: center
}

.comp {
    padding: 18px 22px;
    border-top: 1px solid var(--line)
}

.shead+.comp {
    border-top: 0
}

.chead {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    margin-bottom: 10px;
    font-weight: 600
}

.st {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    font-size: 14px
}

.st.ok {
    color: var(--ok)
}

.st.degraded {
    color: #ffb84a
}

.st.down {
    color: var(--bad)
}

.st.unknown {
    color: var(--mute)
}

.sdot.ok {
    box-shadow: 0 0 8px var(--ok)
}

.ubar {
    display: grid;
    grid-template-columns: repeat(90,1fr);
    gap: 2px;
    margin: 0
}

.ubar i {
    position: relative;
    display: block;
    height: 34px;
    border-radius: 2px;
    background: var(--line);
    transition: transform .12s,filter .12s
}

.ubar i.ok {
    background: linear-gradient(180deg,#5ee59b,#1faa5c);
    box-shadow: 0 0 7px #2fd27c66
}

.ubar i.degraded {
    background: linear-gradient(180deg,#ffd27a,#d98b0f);
    box-shadow: 0 0 7px #ffb84a66
}

.ubar i.down {
    background: linear-gradient(180deg,#ff8c99,#d12a40);
    box-shadow: 0 0 7px #ff546866
}

.ubar i.nodata {
    background: transparent;
    border: 1px dashed var(--line)
}

.ubar i:hover {
    transform: scaleY(1.18);
    filter: brightness(1.25);
    z-index: 3
}

.ubar i.now.ok {
    animation: glow 2.2s ease-in-out infinite
}

@keyframes glow {
    0%,100% {
        box-shadow: 0 0 7px #2fd27c66
    }

    50% {
        box-shadow: 0 0 16px #2fd27c,0 0 4px #9bf5c4
    }
}

.ubar .tip {
    display: none;
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    background: var(--panel);
    color: var(--text);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 6px 10px;
    font: 12px/1.4 'DM Sans',sans-serif;
    white-space: nowrap;
    box-shadow: 0 10px 30px var(--shadow);
    pointer-events: none;
    text-align: center
}

.ubar i:hover .tip {
    display: block
}

.ubar i:nth-child(-n+8) .tip {
    left: 0;
    transform: none
}

.ubar i:nth-last-child(-n+8) .tip {
    left: auto;
    right: 0;
    transform: none
}

.ulegend {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
    font-size: 12.5px;
    color: var(--mute)
}

.ulegend .line {
    flex: 1;
    height: 1px;
    background: var(--line)
}

.ulegend .pct {
    color: var(--text)
}

@media(max-width: 820px) {
    .ubar {
        grid-template-columns:repeat(45,1fr)
    }

    .ubar i:nth-child(-n+45) {
        display: none
    }
}

@media(prefers-reduced-motion:reduce) {
    .sbanner::after,.sbanner .sdot,.ubar i.now.ok {
        animation: none!important
    }
}

/* =========================================================
   AXIOARA UI REFRESH — safe visual overrides
   Keeps existing HTML, class names, IDs and JavaScript hooks.
   ========================================================= */

:root {
    --bg: #070b18;
    --panel: #0d1428;
    --panel2: #121d36;
    --line: #243252;
    --text: #edf2ff;
    --mute: #9aa8c7;
    --accent: #5574ff;
    --accent2: #8da2ff;
    --ok: #35d49a;
    --bad: #ff647c;
    --glow: #425dff30;
    --pro: #182653;
    --shadow: #02061799;
}

html[data-theme=light] {
    --bg: #f5f7fc;
    --panel: #ffffff;
    --panel2: #f0f3fb;
    --line: #e1e7f2;
    --text: #17213b;
    --mute: #64718e;
    --accent: #405fe8;
    --accent2: #405fe8;
    --ok: #119b70;
    --bad: #d9435c;
    --glow: #8099ff25;
    --pro: #e9eeff;
    --shadow: #26365d16;
}

html { color-scheme: dark; }
html[data-theme=light] { color-scheme: light; }

body {
    background-image:
        radial-gradient(ellipse at 12% 0%, var(--glow), transparent 42%),
        radial-gradient(ellipse at 92% 18%, #16b8a00d, transparent 34%),
        linear-gradient(180deg, var(--bg), var(--bg));
    letter-spacing: .005em;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

::selection { background: #5574ff55; color: var(--text); }

.wrap { width: min(100% - 40px, 1160px); }

nav {
    padding: 18px 0;
    border-bottom: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
}

.brand { letter-spacing: -.035em; }
.brand img, .brand svg { filter: drop-shadow(0 5px 12px #5574ff30); }

.links { gap: 10px; }
.links > a {
    padding: 8px 11px;
    border-radius: 9px;
    transition: color .18s ease, background .18s ease;
}
.links > a:hover { background: var(--panel2); }

.btn, .ico, .tabs button, .seg button, .suc {
    -webkit-tap-highlight-color: transparent;
}

.btn {
    border-radius: 10px;
    background: linear-gradient(135deg, var(--accent), #6b7fff);
    box-shadow: 0 7px 18px #405fe82b;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px #405fe83b;
    filter: brightness(1.06);
}
.btn:active { transform: translateY(0); }
.btn.ghost { box-shadow: none; }
.ico, .tabs button, .seg {
    transition: border-color .18s ease, background .18s ease, color .18s ease;
}

.feed, .col, .plan, .srv, .stat, .row2, .pc, .logrow,
.tablewrap, .dsec, .vcard, .sgroup, .inc, .scorebox,
.pcard, .suc, .codebox {
    box-shadow: 0 12px 34px var(--shadow);
}

.feed, .col, .plan, .srv, .stat, .row2, .pc, .logrow,
.tablewrap, .dsec, .vcard, .sgroup, .inc, .scorebox,
.pcard, .suc {
    border-color: color-mix(in srgb, var(--line) 86%, transparent);
}

.feed, .col, .plan, .srv, .stat, .row2, .pc, .logrow,
.dsec, .vcard, .sgroup, .inc, .scorebox, .suc {
    border-radius: 16px;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.col:hover, .plan:hover, .srv:hover, .pc:hover, .suc:hover {
    border-color: color-mix(in srgb, var(--accent) 58%, var(--line));
    box-shadow: 0 16px 38px var(--shadow);
}

.srv:hover, .suc:hover { transform: translateY(-2px); }

.stat {
    background: linear-gradient(145deg, var(--panel), color-mix(in srgb, var(--panel2) 55%, var(--panel)));
}
.stat b { letter-spacing: -.045em; }

.plan.pro {
    position: relative;
    overflow: hidden;
    box-shadow: 0 14px 40px #405fe81c;
}
.plan.pro::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--accent), var(--accent2), transparent);
}

.form input, .form textarea, .form select, .f input, .f select,
.add input, .search, textarea[data-p], .acts input {
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.form input:focus, .form textarea:focus, .form select:focus,
.f input:focus, .f select:focus, .add input:focus,
.search:focus, textarea[data-p]:focus, .acts input:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);
}

input, textarea, select, button { font-family: inherit; }
button:disabled { transform: none; box-shadow: none; }

.tabs button { border-radius: 9px; }
.tabs button.on { background: color-mix(in srgb, var(--accent) 12%, var(--panel)); }

.row2 { background: linear-gradient(145deg, var(--panel), var(--panel2)); }
.row2:hover { border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); }

.tablewrap { overflow: auto; }
table { border-spacing: 0; }
th { background: var(--panel2); }
tbody tr { transition: background .15s ease; }
tbody tr:hover { background: color-mix(in srgb, var(--accent) 5%, transparent); }
th, td { padding: 13px 16px; }

.pill, .tag, .sbadge { letter-spacing: .01em; }

.notice {
    background: color-mix(in srgb, var(--accent) 9%, var(--panel));
    border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
}

#savebar > div {
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 18px 55px var(--shadow);
}

#toast {
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.sbanner { border-radius: 16px; }
.sbanner.ok, .sbanner.degraded, .sbanner.down {
    isolation: isolate;
}
.sgroup { background: var(--panel); }
.comp { background: transparent; }
.ubar i { min-width: 0; }

.dside a { transition: color .16s ease, background .16s ease; }
.dside a:focus-visible, .links a:focus-visible { outline-offset: 3px; }

@media (max-width: 820px) {
    .wrap { width: min(100% - 30px, 1160px); padding-left: 0; padding-right: 0; }
    nav { align-items: flex-start; }
    .links { gap: 5px; }
    .hero { gap: 30px; padding: 42px 0 64px; }
    section.block { padding: 52px 0; }
    .stats, .stats.four, .stats.five, .stats.six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sucards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dsec { padding: 20px; }
}

@media (max-width: 560px) {
    .wrap { width: calc(100% - 28px); }
    nav { flex-direction: column; gap: 14px; }
    .links { justify-content: flex-start; width: 100%; }
    .hero { padding: 34px 0 48px; }
    .hero h1 { font-size: clamp(32px, 9vw, 46px); }
    .stats, .stats.four, .stats.five, .stats.six,
    .sucards, .plans, .cols { grid-template-columns: 1fr; }
    .stat, .col, .plan { padding: 18px; }
    .row2 { padding: 13px; gap: 12px; }
    .row2 .ctl { width: 100%; gap: 10px; }
    .srow { grid-template-columns: 1fr auto; }
    .srow > :last-child { grid-column: 1 / -1; }
    .scorebox { padding: 20px; gap: 18px; }
    .scorebox .grade { font-size: 64px; }
    #savebar { bottom: 10px; padding: 0 10px; }
    #savebar > div { width: 100%; padding: 12px; gap: 10px; }
    #toast { left: 12px; right: 12px; top: 12px; }
}

@media (hover: none) {
    .srv:hover, .suc:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* =========================================================
   AXIOARA UI REFRESH — v4
   Visual polish, responsive refinements and accessibility.
   Appended overrides: existing HTML classes and IDs preserved.
   ========================================================= */

:root {
    --radius-xs: 8px;
    --radius-sm: 12px;
    --radius-md: 16px;
    --radius-lg: 22px;
    --radius-xl: 28px;
    --ease-out: cubic-bezier(.2,.75,.25,1);
    --focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);
    --panel-glass: color-mix(in srgb, var(--panel) 88%, transparent);
}

html {
    scroll-padding-top: 90px;
    scrollbar-color: color-mix(in srgb, var(--accent) 55%, var(--panel2)) var(--bg);
    scrollbar-width: thin;
}

body {
    background:
        radial-gradient(ellipse at 50% -18%, color-mix(in srgb, var(--accent) 19%, transparent), transparent 48%),
        radial-gradient(ellipse at 100% 35%, color-mix(in srgb, var(--accent2) 8%, transparent), transparent 34%),
        var(--bg);
    letter-spacing: -.01em;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

::selection {
    color: #fff;
    background: color-mix(in srgb, var(--accent) 78%, #111);
}

.wrap {
    width: min(100% - 40px, 1180px);
    padding-inline: 0;
}

nav {
    position: relative;
    z-index: 20;
    min-height: 76px;
    padding-block: 16px;
}

.brand {
    gap: 12px;
    letter-spacing: -.035em;
}

.brand svg {
    filter: drop-shadow(0 4px 12px color-mix(in srgb, var(--accent) 35%, transparent));
}

.links {
    gap: 7px;
}

.links > a,
#navExtra > a {
    padding: 9px 13px;
    border: 1px solid transparent;
    border-radius: 999px;
    transition: color .2s var(--ease-out), background .2s var(--ease-out), border-color .2s var(--ease-out), transform .2s var(--ease-out);
}

.links > a:hover,
#navExtra > a:hover {
    color: var(--text);
    background: var(--panel);
    border-color: var(--line);
    transform: translateY(-1px);
}

h1 {
    font-size: clamp(2.25rem, 5vw, 4.25rem);
    letter-spacing: -.055em;
}

h2 {
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    letter-spacing: -.04em;
}

h3 {
    font-size: 1.2rem;
    letter-spacing: -.025em;
}

p {
    line-height: 1.72;
}

button,
.btn,
a.btn,
input,
select,
textarea {
    font: inherit;
}

button,
.btn,
a.btn {
    border-radius: 12px;
    transition: transform .18s var(--ease-out), box-shadow .18s var(--ease-out), background .18s var(--ease-out), border-color .18s var(--ease-out), filter .18s var(--ease-out);
}

button:hover,
.btn:hover,
a.btn:hover {
    transform: translateY(-2px);
}

button:active,
.btn:active,
a.btn:active {
    transform: translateY(0) scale(.985);
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
}

.card,
.panel,
.box,
.sgroup,
.pcard,
.stat,
.tile {
    border-radius: var(--radius-md);
}

.card,
.panel,
.pcard,
.sgroup {
    border-color: color-mix(in srgb, var(--line) 82%, transparent);
    box-shadow: 0 12px 34px -22px var(--shadow);
    transition: border-color .2s var(--ease-out), box-shadow .2s var(--ease-out), transform .2s var(--ease-out);
}

.card:hover,
.panel:hover,
.pcard:hover {
    border-color: color-mix(in srgb, var(--accent) 32%, var(--line));
    box-shadow: 0 18px 42px -24px var(--shadow);
}

input,
select,
textarea,
textarea[data-p] {
    min-height: 42px;
    border-radius: 11px;
    border: 1px solid var(--line);
    transition: border-color .18s var(--ease-out), box-shadow .18s var(--ease-out), background .18s var(--ease-out);
}

input:hover,
select:hover,
textarea:hover,
textarea[data-p]:hover {
    border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
}

input:focus,
select:focus,
textarea:focus,
textarea[data-p]:focus {
    border-color: var(--accent);
    outline: none;
    box-shadow: var(--focus-ring);
}

::placeholder {
    color: var(--mute);
    opacity: .78;
}

table {
    border-collapse: separate;
    border-spacing: 0;
}

th {
    color: var(--mute);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .075em;
    text-transform: uppercase;
}

td,
th {
    padding: 13px 15px;
}

tr:hover td {
    background: color-mix(in srgb, var(--accent) 4%, transparent);
}

.pill,
.badge,
.tag {
    border-radius: 999px;
    letter-spacing: .01em;
}

.sbanner {
    border-radius: var(--radius-lg);
    padding: clamp(20px, 3vw, 30px);
    box-shadow: 0 18px 50px -24px currentColor;
}

.sgroup {
    border-radius: var(--radius-lg);
}

.shead {
    font-weight: 700;
    letter-spacing: -.02em;
}

.row2 {
    border-radius: 13px;
    transition: background .18s var(--ease-out), border-color .18s var(--ease-out), transform .18s var(--ease-out);
}

.row2:hover {
    transform: translateX(2px);
}

.row2.prem::after {
    left: auto;
    right: 18px;
    font-size: clamp(17px, 2.5vw, 28px);
    letter-spacing: .16em;
}

.chart {
    border-radius: 16px;
    background:
        repeating-linear-gradient(to top, transparent 0, transparent 24%, color-mix(in srgb, var(--line) 45%, transparent) 25%),
        var(--panel);
}

.chart .cb i {
    background: linear-gradient(180deg, var(--accent2), var(--accent));
    box-shadow: 0 0 14px color-mix(in srgb, var(--accent) 22%, transparent);
    transition: filter .2s ease, opacity .2s ease;
}

.chart .cb:hover i {
    filter: brightness(1.2);
}

hr {
    border: 0;
    border-top: 1px solid var(--line);
    margin-block: 24px;
}

footer {
    color: var(--mute);
    border-top: 1px solid color-mix(in srgb, var(--line) 75%, transparent);
}

@media (min-width: 1100px) {
    .wrap {
        width: min(100% - 64px, 1180px);
    }
}

@media (max-width: 820px) {
    .wrap {
        width: min(100% - 32px, 1180px);
    }

    nav {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .links {
        width: 100%;
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 5px;
        scrollbar-width: none;
    }

    .links::-webkit-scrollbar {
        display: none;
    }

    .links > a,
    #navExtra > a {
        white-space: nowrap;
    }

    .row2.prem::after {
        right: 10px;
        letter-spacing: .1em;
    }
}

@media (max-width: 560px) {
    .wrap {
        width: min(100% - 24px, 1180px);
    }

    body {
        font-size: 14px;
    }

    nav {
        padding-block: 12px;
    }

    .brand {
        font-size: 17px;
    }

    .links > a,
    #navExtra > a {
        padding: 8px 10px;
        font-size: 13px;
    }

    .sbanner {
        border-radius: 16px;
        padding: 18px;
        font-size: 16px;
    }

    .shead {
        padding: 16px;
    }

    td,
    th {
        padding: 10px 9px;
    }

    .row2.prem::after {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
