/* Publiczne widoki SquadCore: landing, logowanie oraz dokumenty prawne. */

body.sc-public,
body.sc-legal {
    --sc-bg: #09090e;
    --sc-text: #f5f3fb;
    --sc-muted: #a3a0ad;
    --sc-dim: #74717e;
    --sc-line: rgba(255, 255, 255, .095);
    --sc-line-strong: rgba(146, 119, 255, .38);
    --sc-cyan: #9277ff;
    --sc-blue: #7458ee;
    --sc-orange: #d8ff52;
    --sc-green: #7ee2ad;
    --sc-red: #ff7088;
    --sc-panel: rgba(18, 18, 26, .9);
    --bg: #09090e;
    --surface: #14141d;
    --surface-2: #191923;
    --line: rgba(255, 255, 255, .095);
    --text: #f5f3fb;
    --muted: #a3a0ad;
    --cyan: #9277ff;
    --blue: #7458ee;
    --orange: #d8ff52;
    --danger: #ff9cac;
    --grad-brand: linear-gradient(135deg, #b6a3ff, #8d70fc);
    color: #f5f3fb;
    background:
        radial-gradient(circle at 50% -12%, rgba(119, 83, 255, .24), transparent 33%),
        radial-gradient(circle at 100% 20%, rgba(216, 255, 82, .055), transparent 24%),
        linear-gradient(145deg, #09090e, #0c0c13 56%, #09090e);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-weight: 400;
    letter-spacing: -.012em;
}

body.sc-public::before,
body.sc-legal::before {
    background-image:
        linear-gradient(rgba(255, 255, 255, .018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .018) 1px, transparent 1px);
    background-size: 56px 56px;
    -webkit-mask-image: linear-gradient(to bottom, #000, transparent 80%);
    mask-image: linear-gradient(to bottom, #000, transparent 80%);
    animation: none;
}

body.sc-public ::selection,
body.sc-legal ::selection { color: #fff; background: rgba(146, 119, 255, .34); }

body.sc-public :is(a, button):focus-visible,
body.sc-legal :is(a, button):focus-visible { outline: 2px solid #9277ff; outline-offset: 3px; }

/* Landing i logowanie */
body.sc-public .orbs { opacity: .55; }
body.sc-public .orb { filter: blur(80px); opacity: .1; }
body.sc-public .orb.cyan { background: #9277ff; }
body.sc-public .orb.orange { background: #d8ff52; opacity: .055; }
body.sc-public .orb.blue { background: #6c4ee4; }
body.sc-public .wrap { width: min(1180px, calc(100% - 40px)); }

body.sc-public .nav {
    top: 16px;
    margin-top: 16px;
    padding: 8px 9px 8px 15px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 13px;
    background: rgba(17, 17, 25, .76);
    box-shadow: 0 12px 38px rgba(0, 0, 0, .22);
    backdrop-filter: blur(20px);
}

body.sc-public .nav.scrolled { border-color: rgba(146, 119, 255, .22); background: rgba(13, 13, 20, .91); }
body.sc-public .brand .logo-img { width: 34px; height: 34px; filter: drop-shadow(0 0 12px rgba(146, 119, 255, .35)); }
body.sc-public .brand-title { color: #fff; font: 800 15px/1 Inter, sans-serif; letter-spacing: -.055em; }
body.sc-public .brand-title b:first-child { color: #fff; }
body.sc-public .brand-title b:last-child { color: #bcaeff; }
body.sc-public .brand small { color: #716e7a; font: 500 8px/1 "JetBrains Mono", monospace; letter-spacing: .1em; }
body.sc-public .nav-links { gap: 2px; }
body.sc-public .nav-links a { padding: 8px 10px; border-radius: 8px; color: #8c8995; font-size: 10px; font-weight: 500; }
body.sc-public .nav-links a:hover { color: #fff; background: rgba(255, 255, 255, .04); }

body.sc-public :is(.btn-login-sm, .btn-main) {
    border: 0;
    border-radius: 8px;
    color: #17141f;
    background: #f3f0fa;
    box-shadow: none;
    font: 700 10px/1 Inter, sans-serif;
    letter-spacing: -.01em;
    text-transform: none;
}

body.sc-public :is(.btn-login-sm, .btn-main):hover { color: #17141f; background: #ded5ff; filter: none; }

body.sc-public .hero {
    gap: clamp(28px, 5vw, 66px);
    min-height: 710px;
    padding: 92px 0 70px;
}

body.sc-public .badge {
    min-height: 27px;
    margin-bottom: 18px;
    padding: 5px 10px;
    color: #8d8a96;
    border-color: rgba(255, 255, 255, .09);
    background: rgba(255, 255, 255, .025);
    font: 600 8px/1.2 "JetBrains Mono", monospace;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.sc-public .badge::before { width: 5px; height: 5px; background: #9277ff; box-shadow: 0 0 12px #9277ff; }

body.sc-public .hero h1 {
    max-width: 760px;
    color: #f6f4fa;
    font: 620 clamp(49px, 6.7vw, 82px)/.98 Inter, sans-serif;
    letter-spacing: -.075em;
}

body.sc-public .hero h1 .grad {
    color: #b8a7ff;
    background: none;
    -webkit-text-fill-color: currentColor;
    font-family: "Instrument Serif", Georgia, serif;
    font-style: italic;
    font-weight: 400;
    letter-spacing: -.055em;
}

body.sc-public .hero-lead { max-width: 660px; margin: 22px 0 28px; color: #9c99a5; font-size: 15px; line-height: 1.7; }
body.sc-public .hero-actions { gap: 11px; }
body.sc-public :is(.btn-main, .btn-ghost) { min-height: 45px; padding: 0 16px; border-radius: 8px; }
body.sc-public .btn-ghost {
    color: #cfccd6;
    border-color: rgba(255, 255, 255, .1);
    background: rgba(255, 255, 255, .035);
    font: 600 10px/1 Inter, sans-serif;
    letter-spacing: 0;
    text-transform: none;
}
body.sc-public .btn-ghost:hover { border-color: rgba(146, 119, 255, .28); background: rgba(146, 119, 255, .07); }
body.sc-public .hero-note { color: #706d79; font-size: 10px; }

body.sc-public .panel {
    padding: 25px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 17px;
    background:
        radial-gradient(circle at 0 0, rgba(146, 119, 255, .16), transparent 42%),
        linear-gradient(145deg, rgba(24, 24, 34, .96), rgba(14, 14, 21, .97));
    box-shadow: 0 30px 90px rgba(0, 0, 0, .48), 0 0 50px rgba(113, 80, 232, .08);
}

body.sc-public .panel::before { left: 24px; right: auto; width: 60px; height: 2px; background: linear-gradient(90deg, #9277ff, transparent); }
body.sc-public .panel::after { display: none; }
body.sc-public .panel-logo .logo-img { filter: drop-shadow(0 0 20px rgba(146, 119, 255, .34)); }
body.sc-public .panel-title h2 { font: 700 31px/1 Inter, sans-serif; letter-spacing: -.065em; }
body.sc-public .panel-title h2 b:first-child { color: #fff; }
body.sc-public .panel-title h2 b:last-child { color: #b9a9ff; }
body.sc-public .panel-title p { color: #92909b; font-size: 12px; }
body.sc-public .login-feat { border-color: rgba(255, 255, 255, .08); color: #898692; background: rgba(255, 255, 255, .025); font-size: 8px; }
body.sc-public .login-feat b { color: #bbaeff; }

body.sc-public .btn-discord {
    min-height: 51px;
    border-color: rgba(146, 119, 255, .22);
    border-radius: 10px;
    background: linear-gradient(135deg, #7763ea, #5865f2);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .28);
    font: 700 10px/1 Inter, sans-serif;
    letter-spacing: .01em;
    text-transform: none;
}

body.sc-public .login-divider { color: #66636f; font-size: 8px; }
body.sc-public .login-divider::before,
body.sc-public .login-divider::after { background: linear-gradient(90deg, transparent, rgba(146, 119, 255, .28), transparent); }
body.sc-public .mini-dash { border-color: rgba(255, 255, 255, .08); border-radius: 11px; background: rgba(6, 6, 10, .24); }
body.sc-public .mini-dash-top { border-color: rgba(255, 255, 255, .07); }
body.sc-public .mini-stat { border-color: rgba(255, 255, 255, .07); border-radius: 8px; background: rgba(255, 255, 255, .025); }
body.sc-public .mini-stat strong { font-family: Inter, sans-serif; font-size: 13px; }

body.sc-public .strip { border-color: rgba(255, 255, 255, .07); background: rgba(0, 0, 0, .12); }
body.sc-public .pill { border-color: rgba(255, 255, 255, .08); color: #85828e; background: rgba(255, 255, 255, .025); font-size: 8px; }
body.sc-public .pill b { color: #b9aaff; }
body.sc-public .section { padding: 110px 0; }

body.sc-public :is(.section-head h2, .split h2, .cta h2) {
    color: #f5f3fb;
    font-family: Inter, sans-serif;
    font-weight: 600;
    letter-spacing: -.07em;
}
body.sc-public .section-head h2 { font-size: clamp(38px, 5vw, 62px); }
body.sc-public :is(.section-head p, .split p, .cta p) { color: #92909b; }
body.sc-public .eyebrow { color: #8d8a96; font: 600 8px/1.2 "JetBrains Mono", monospace; letter-spacing: .12em; }

body.sc-public :is(.card, .preview, .cta) {
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 15px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .032), rgba(255, 255, 255, .008)), #14141d;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .24);
}
body.sc-public .card:hover { border-color: rgba(146, 119, 255, .2); }
body.sc-public .card h3 { font-family: Inter, sans-serif; letter-spacing: -.045em; }
body.sc-public .plan.featured { border-color: rgba(146, 119, 255, .32); box-shadow: 0 22px 60px rgba(78, 51, 174, .14); }
body.sc-public .plan-tag { color: #b9aaff; border-color: rgba(146, 119, 255, .2); background: rgba(146, 119, 255, .08); }
body.sc-public .faq-item { border-color: rgba(255, 255, 255, .08); }
body.sc-public .faq-q { color: #e5e2eb; font-family: Inter, sans-serif; }
body.sc-public .footer { border-color: rgba(255, 255, 255, .07); color: #777481; }

/* Dokumenty prawne */
body.sc-legal { line-height: 1.72; }
body.sc-legal a { color: #b6a7ff; }
body.sc-legal .wrap { width: min(1120px, calc(100% - 36px)); }

body.sc-legal .topbar {
    top: 14px;
    width: min(1120px, calc(100% - 36px));
    margin: 14px auto 0;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 13px;
    background: rgba(17, 17, 25, .78);
    box-shadow: 0 12px 38px rgba(0, 0, 0, .2);
    backdrop-filter: blur(20px);
}

body.sc-legal .topbar-inner { width: auto; min-height: 58px; padding: 0 9px 0 14px; }
body.sc-legal .brand { color: #f3f1f7; font-size: 14px; letter-spacing: -.04em; }
body.sc-legal .brand img { width: 34px; height: 34px; filter: drop-shadow(0 0 12px rgba(146, 119, 255, .32)); }
body.sc-legal .brand span span { color: #b7a7ff; }
body.sc-legal .nav { font-size: 10px; }
body.sc-legal .nav a { color: #8d8a96; }
body.sc-legal .nav .login { padding: 8px 12px; border-radius: 8px; color: #17141f; background: #f3f0fa; font-weight: 700; }

body.sc-legal .hero { padding: 82px 0 38px; }
body.sc-legal .eyebrow { color: #8d8a96; font: 600 8px/1.2 "JetBrains Mono", monospace; letter-spacing: .13em; }
body.sc-legal h1 { margin-top: 15px; color: #f5f3fb; font-size: clamp(40px, 6vw, 67px); font-weight: 620; line-height: 1; letter-spacing: -.07em; }
body.sc-legal .lead { color: #9b98a4; font-size: 14px; }
body.sc-legal .meta span { padding: 6px 10px; border-color: rgba(255, 255, 255, .08); color: #817e8a; background: rgba(255, 255, 255, .025); font-size: 9px; }
body.sc-legal .layout { grid-template-columns: 230px minmax(0, 1fr); gap: 22px; padding-bottom: 90px; }

body.sc-legal :is(.toc, .legal-card) {
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 15px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .027), transparent), #14141d;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .24);
}

body.sc-legal .toc { top: 90px; padding: 16px; }
body.sc-legal .toc strong { font-size: 11px; }
body.sc-legal .toc a { color: #85828e; font-size: 10px; }
body.sc-legal .toc a:hover { color: #c2b5ff; text-decoration: none; }
body.sc-legal .legal-card { padding: clamp(21px, 5vw, 46px); }
body.sc-legal .legal-card section + section { border-color: rgba(255, 255, 255, .07); }
body.sc-legal h2 { color: #eeebf3; font-size: clamp(21px, 3vw, 28px); letter-spacing: -.045em; }
body.sc-legal h3 { color: #d6d3dd; }
body.sc-legal :is(p, li) { color: #a19eaa; font-size: 12px; }
body.sc-legal .note { border-color: #9277ff; background: rgba(146, 119, 255, .07); }
body.sc-legal .warning { border-color: #d8ff52; background: rgba(216, 255, 82, .055); }
body.sc-legal :is(th, td) { border-color: rgba(255, 255, 255, .08); }
body.sc-legal th { background: rgba(146, 119, 255, .07); }
body.sc-legal code { color: #c7bcf5; background: rgba(146, 119, 255, .08); }
body.sc-legal .footer { border-color: rgba(255, 255, 255, .07); color: #777481; }

@media (max-width: 900px) {
    body.sc-public .hero { grid-template-columns: 1fr; min-height: 0; padding-top: 74px; }
    body.sc-public .panel { width: 100%; max-width: 560px; margin: auto; }
    body.sc-public .section { padding: 82px 0; }
}

@media (max-width: 720px) {
    body.sc-public .wrap { width: min(100% - 28px, 1180px); }
    body.sc-public .nav-links a:not(.btn-login-sm) { display: none; }
    body.sc-public .hero h1 { font-size: 46px; }
    body.sc-public .hero-lead { font-size: 13px; }
    body.sc-public .panel { padding: 18px; }
    body.sc-public .section { padding: 68px 0; }
    body.sc-legal .topbar { width: min(100% - 20px, 1120px); top: 10px; margin-top: 10px; }
    body.sc-legal .wrap { width: min(100% - 28px, 1120px); }
    body.sc-legal .hero { padding-top: 60px; }
    body.sc-legal .layout { grid-template-columns: 1fr; }
    body.sc-legal .toc { position: static; }
}

@media (prefers-reduced-motion: reduce) {
    body.sc-public *, body.sc-public *::before, body.sc-public *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
