/* SoraKai — Базовые переменные, шрифты, общие правила и утилиты */

:root {
    color-scheme: dark;
    --bg: #080d15;
    --panel: #0f1523;
    --panel2: #11182a;
    --line: #212a42;
    --txt: #f5f4ff;
    --muted: #8893b8;
    --subtle: #626f90;
    --purple: #9152ff;
    --purple2: #622ff4;
    --blue: #45baff;
    --radius: 12px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-width: 320px;
    background: radial-gradient(circle at 61% -320px,#231337 0,transparent 32%),var(--bg);
    color: var(--txt);
    font-family: Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;
    font-size: 14px;
}

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

button,input,select {
    font: inherit;
}

button {
    cursor: pointer;
}

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible {
    outline: 2px solid #b989ff;
    outline-offset: 3px;
}

img {
    max-width: 100%;
    display: block;
}

.container-wide {
    width: calc(100% - 72px);
    max-width: 1800px;
    margin-inline: auto;
}

.gradient-text {
    background: linear-gradient(100deg,#a977ff,#7639f5);
    background-clip: text;
    color: transparent;
}

svg {
    display: block;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.clamp-1,.clamp-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.clamp-1 {
    -webkit-line-clamp: 1;
}

.clamp-2 {
    -webkit-line-clamp: 2;
}
