/* Шрифты лежат у нас (miniapp/fonts, OFL): Google Fonts в России у многих тормозит, а стиль из <head> держит загрузку страницы */
@font-face { font-family: 'Press Start 2P'; font-style: normal; font-weight: 400; font-display: swap; src: url(data:font/woff2;base64,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) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Press Start 2P'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/press-start-2p-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Press Start 2P'; font-style: normal; font-weight: 400; font-display: swap; src: url(data:font/woff2;base64,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) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Tiny5'; font-style: normal; font-weight: 400; font-display: swap; src: url(data:font/woff2;base64,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) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Tiny5'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/tiny5-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Tiny5'; font-style: normal; font-weight: 400; font-display: swap; src: url(data:font/woff2;base64,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) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* Один пиксель интерфейса = 3 CSS-пикселя. Все размеры, рамки и сдвиги кратны --p. */
:root {
    --p: 3px;
    --display: "Press Start 2P", "Courier New", monospace;
    --bg: #fef4fe;
    --bg-dither: #f8e8fb;
    --ink: #4b3484;
    --line: #7553bb;
    --purple: #ac7ee3;
    --lilac: #dfadef;
    --lavender: #cec4fa;
    --sky: #a1c9fd;
    --pink: #f4b4e3;
    --pink-light: #f8c9e8;
    --cream: #fdf6e4;
    --white: #fffdfb;
    --yellow: #ffe27a;
    --green: #3f9c78;
    --red: #c94a6b;
    --lcd: #3b2a6b;
    --lcd-text: #ffd1ec;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
    margin: 0;
    min-height: 100vh;
    color: var(--ink);
    background-color: var(--bg);
    /* Шахматный дизеринг в один пиксель интерфейса */
    background-image: conic-gradient(var(--bg) 25%, var(--bg-dither) 0 50%, var(--bg) 0 75%, var(--bg-dither) 0);
    background-size: calc(var(--p) * 2) calc(var(--p) * 2);
    /* Tiny5 — основной текст, Press Start 2P — заголовки и крупные числа; оба с кириллицей */
    font-family: "Tiny5", "Courier New", monospace;
    font-size: 18px;
    line-height: 1.3;
}

img, canvas.sprite { image-rendering: pixelated; image-rendering: crisp-edges; display: block; }

button { font: inherit; color: inherit; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }

/* Высота под капсулу VK «••• ✕» в мобильном клиенте (класс vk-mobile ставит первый скрипт страницы) */
:root { --vk-top: 0px; }
:root.vk-mobile { --vk-top: 44px; }
.app {
    max-width: 420px;
    margin: 0 auto;
    padding: calc(var(--p) * 5 + var(--vk-top) + env(safe-area-inset-top)) calc(var(--p) * 5) calc(var(--p) * 10);
    display: flex;
    flex-direction: column;
    gap: calc(var(--p) * 5);
}

/* --- Пиксельная рамка: угол «откушен», поэтому рамка не выглядит векторной --- */
.pbox {
    position: relative;
    background: var(--cream);
    box-shadow:
        0 calc(var(--p) * -1) 0 0 var(--line),
        0 var(--p) 0 0 var(--line),
        calc(var(--p) * -1) 0 0 0 var(--line),
        var(--p) 0 0 0 var(--line),
        inset var(--p) var(--p) 0 0 var(--white),
        inset calc(var(--p) * -1) calc(var(--p) * -1) 0 0 var(--pink-light);
    filter: drop-shadow(0 calc(var(--p) * 2) 0 rgba(117, 83, 187, 0.35));
}

.pbtn {
    position: relative;
    border: 0;
    cursor: pointer;
    padding: calc(var(--p) * 2) calc(var(--p) * 4);
    background: var(--pink);
    box-shadow:
        0 calc(var(--p) * -1) 0 0 var(--line),
        0 var(--p) 0 0 var(--line),
        calc(var(--p) * -1) 0 0 0 var(--line),
        var(--p) 0 0 0 var(--line),
        inset var(--p) var(--p) 0 0 var(--pink-light),
        inset calc(var(--p) * -1) calc(var(--p) * -1) 0 0 #d98fcb;
    filter: drop-shadow(0 var(--p) 0 var(--line));
    transition: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}
@media (hover: hover) { .pbtn:hover { background: var(--pink-light); } }
.pbtn:active:not(:disabled) { transform: translateY(var(--p)); filter: none; }
.pbtn:focus-visible { outline: var(--p) dashed var(--line); outline-offset: calc(var(--p) * 3); }
.pbtn:disabled { cursor: not-allowed; background: #e9e1f3; color: #9c8fb8; filter: none; }
.pbtn.alt { background: var(--lavender); }
@media (hover: hover) { .pbtn.alt:hover { background: #ddd5fc; } }
.pbtn[aria-pressed="true"] { background: var(--yellow); }

/* --- Шапка --- */
.topbar {
    display: flex;
    align-items: center;
    gap: calc(var(--p) * 3);
    padding: calc(var(--p) * 3) calc(var(--p) * 4);
    background: var(--lavender);
}
.brand-block { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--p); }
.brand { font-family: var(--display); font-size: 12px; line-height: 1.4; white-space: nowrap; }
.motto { font-size: 15px; line-height: 1.1; color: var(--line); }
.balance {
    display: flex;
    align-items: center;
    gap: calc(var(--p) * 2);
    padding: var(--p) calc(var(--p) * 3) var(--p) var(--p);
    background: var(--cream);
    box-shadow: 0 0 0 var(--p) var(--line);
    font-family: var(--display);
    font-size: 12px;
}
.balance.bump { animation: bump 0.3s steps(3); }
@keyframes bump { 50% { transform: translateY(calc(var(--p) * -2)); } }
.icon-btn { padding: var(--p); font-size: 18px; min-width: calc(var(--p) * 14); }

.note {
    margin: 0;
    padding: calc(var(--p) * 2) calc(var(--p) * 3);
    font-size: 15px;
    background: var(--white);
    box-shadow: 0 0 0 var(--p) var(--lilac);
    display: flex;
    gap: calc(var(--p) * 3);
    align-items: center;
    justify-content: space-between;
}
.note button { font-size: 15px; padding: var(--p) calc(var(--p) * 2); }

/* --- Вкладки --- */
.tabs { display: flex; gap: calc(var(--p) * 3); }
.tabs .pbtn { flex: 1; padding-left: 0; padding-right: 0; }
.tabs .icon-btn { flex: none; }
.exit-icon { display: block; width: calc(var(--p) * 7); height: calc(var(--p) * 7); margin: auto; }
/* Главные вкладки: на узком экране мельче; у админа их четыре — ещё мельче */
@media (max-width: 479px) {
    .main-nav { gap: calc(var(--p) * 2); }
    .main-nav .pbtn:not(.icon-btn) { font-size: 14px; }
    .main-nav .icon-btn { min-width: calc(var(--p) * 11); }
    .main-nav:has(#admin-tab:not([hidden])) .pbtn:not(.icon-btn) { font-size: 12px; }
    .main-nav:has(#admin-tab:not([hidden])) .icon-btn { min-width: calc(var(--p) * 9); font-size: 14px; }
    .main-nav:has(#admin-tab:not([hidden])) .label-full { display: none; }
    .main-nav:has(#admin-tab:not([hidden])) .label-short { display: inline; }
}
/* Вкладки админки: их до шести — на узком экране двумя рядами по три, а не за край экрана */
@media (max-width: 599px) {
    .admin-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(var(--p) * 2); }
}
.main-nav .pbtn { white-space: nowrap; }
.label-short { display: none; }

/* --- Игровой автомат --- */
.machine-wrap { position: relative; padding-right: calc(var(--p) * 12); }
.machine {
    background: var(--pink);
    padding: calc(var(--p) * 4);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--p) * 3);
    box-shadow:
        0 calc(var(--p) * -1) 0 0 var(--line), 0 var(--p) 0 0 var(--line),
        calc(var(--p) * -1) 0 0 0 var(--line), var(--p) 0 0 0 var(--line),
        inset var(--p) var(--p) 0 0 var(--pink-light),
        inset calc(var(--p) * -1) calc(var(--p) * -1) 0 0 #d98fcb;
    filter: drop-shadow(0 calc(var(--p) * 2) 0 rgba(117, 83, 187, 0.35));
}
.machine.shake { animation: shake 0.36s steps(6); }
@keyframes shake {
    20% { transform: translateX(calc(var(--p) * -2)); }
    40% { transform: translateX(calc(var(--p) * 2)); }
    60% { transform: translateX(calc(var(--p) * -1)); }
    80% { transform: translateX(var(--p)); }
}
.machine-title {
    background: var(--lcd);
    color: var(--yellow);
    padding: var(--p) calc(var(--p) * 4);
    font-family: var(--display);
    font-size: 12px;
    padding: calc(var(--p) * 2) calc(var(--p) * 4);
    box-shadow: 0 0 0 var(--p) var(--line);
}

.bulbs { display: flex; gap: calc(var(--p) * 3); }
.bulbs span {
    width: calc(var(--p) * 2);
    height: calc(var(--p) * 2);
    background: var(--cream);
    box-shadow: 0 0 0 var(--p) var(--line);
    animation: blink 1.2s steps(1) infinite;
}
.bulbs span:nth-child(even) { animation-delay: -0.6s; }
@keyframes blink { 0% { background: var(--yellow); } 50% { background: var(--cream); } }
.machine.win .bulbs span { animation-duration: 0.3s; }

.reels-row { position: relative; display: flex; align-items: center; }
.reels {
    display: flex;
    gap: calc(var(--p) * 2);
    padding: calc(var(--p) * 2);
    background: var(--lcd);
    box-shadow: 0 0 0 var(--p) var(--line);
}
.reel {
    position: relative;
    width: calc(var(--p) * 26);
    height: calc(var(--p) * 26 * 3);
    overflow: hidden;
    background:
        linear-gradient(var(--white), var(--white)) 0 calc(var(--p) * 26) / 100% calc(var(--p) * 26) no-repeat,
        var(--cream);
}
/* Затемнение верхнего и нижнего ряда: выигрышная линия — средний ряд */
.reel::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(rgba(117, 83, 187, 0.22), rgba(117, 83, 187, 0.22)) top / 100% calc(var(--p) * 26) no-repeat,
        linear-gradient(rgba(117, 83, 187, 0.22), rgba(117, 83, 187, 0.22)) bottom / 100% calc(var(--p) * 26) no-repeat;
}
.reel.hit { animation: reelHit 0.6s steps(2) 3; }
@keyframes reelHit { 50% { background-color: var(--yellow); } }
.strip { position: absolute; left: 0; top: 0; width: 100%; will-change: transform; }
.cell {
    height: calc(var(--p) * 26);
    display: flex;
    align-items: center;
    justify-content: center;
}
.cell img { width: calc(var(--p) * 24); height: calc(var(--p) * 24); }
.arrow { position: absolute; top: 50%; width: calc(var(--p) * 3); height: calc(var(--p) * 5); margin-top: calc(var(--p) * -2); }
#arrow-left { left: calc(var(--p) * -4); }
#arrow-right { right: calc(var(--p) * -4); }

.lcd {
    width: 100%;
    min-height: calc(var(--p) * 11);
    padding: calc(var(--p) * 2) calc(var(--p) * 3);
    background: var(--lcd);
    color: var(--lcd-text);
    text-align: center;
    box-shadow: 0 0 0 var(--p) var(--line);
    font-size: 18px;
}
.lcd.good { color: var(--yellow); animation: lcdBlink 0.4s steps(1) 4; }
.lcd.bad { color: #b8a6e6; }
@keyframes lcdBlink { 50% { color: var(--white); } }

/* Рычаг справа от автомата */
.lever {
    position: absolute;
    right: 0;
    top: calc(var(--p) * 22);
    width: calc(var(--p) * 10);
    height: calc(var(--p) * 44);
    border: 0;
    padding: 0;
    background: none;
    cursor: pointer;
}
.lever:disabled { cursor: default; }
.lever-stick {
    position: absolute;
    left: calc(var(--p) * 4);
    bottom: calc(var(--p) * 6);
    width: calc(var(--p) * 2);
    height: calc(var(--p) * 30);
    background: var(--purple);
    box-shadow: 0 0 0 var(--p) var(--line);
}
.lever-knob {
    position: absolute;
    left: var(--p);
    bottom: calc(var(--p) * 33);
    width: calc(var(--p) * 8);
    height: calc(var(--p) * 8);
}
.lever-base {
    position: absolute;
    left: var(--p);
    bottom: 0;
    width: calc(var(--p) * 8);
    height: calc(var(--p) * 6);
    background: var(--lilac);
    box-shadow: 0 0 0 var(--p) var(--line);
}
.lever.pull .lever-stick { animation: stick 0.6s steps(1); }
.lever.pull .lever-knob { animation: knob 0.6s steps(1); }
@keyframes stick {
    0% { height: calc(var(--p) * 30); }
    15% { height: calc(var(--p) * 20); }
    30% { height: calc(var(--p) * 10); bottom: calc(var(--p) * -3); }
    55% { height: calc(var(--p) * 20); bottom: calc(var(--p) * 6); }
    75% { height: calc(var(--p) * 30); }
}
@keyframes knob {
    0% { bottom: calc(var(--p) * 33); }
    15% { bottom: calc(var(--p) * 23); }
    30% { bottom: calc(var(--p) * 10); }
    55% { bottom: calc(var(--p) * 23); }
    75% { bottom: calc(var(--p) * 33); }
}

/* --- Ставка --- */
.bet-panel { padding: calc(var(--p) * 4); display: flex; flex-direction: column; gap: calc(var(--p) * 4); }
.bet-row { display: flex; align-items: center; gap: calc(var(--p) * 3); min-height: calc(var(--p) * 22); }
.bet-label { font-size: 15px; color: var(--line); }
.bet-value { font-family: var(--display); font-size: 18px; margin-top: var(--p); }
.bet-pile { position: relative; width: calc(var(--p) * 16); height: calc(var(--p) * 24); flex: none; }
.bet-pile img {
    position: absolute;
    left: 0;
    width: calc(var(--p) * 16);
    height: calc(var(--p) * 16);
}
/* Фишки с Паппи: один ряд, листается свайпом по одной фишке; стрелки — для мыши */
.chips-row { position: relative; display: flex; align-items: center; gap: var(--p); }
.chips {
    flex: 1;
    min-width: 0;
    display: flex;
    gap: calc(var(--p) * 2);
    overflow-x: auto;
    scrollbar-width: none;
    padding: calc(var(--p) * 3) 0 var(--p);
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
}
.chips.dragging { cursor: grabbing; }
.chips img { -webkit-user-drag: none; }
.chips::-webkit-scrollbar { display: none; }
.chips .chip, .chip-spacer { flex: none; }
/* Выбранная фишка стоит в центре и приподнята; боковые чуть ниже */
.chips .chip img { transform: translateY(var(--p)); }
.chips .chip.focus img { transform: translateY(calc(var(--p) * -2)); }
@media (hover: hover) { .chips .chip:hover img, .chips .chip:focus-visible img { transform: translateY(var(--p)); } }
@media (hover: hover) { .chips .chip.focus:hover img { transform: translateY(calc(var(--p) * -2)); } }
.chip-hint {
    text-align: center;
    font-family: var(--display);
    font-size: 12px;
    color: var(--line);
    margin-top: calc(var(--p) * -1);
}
.chip-hint { display: flex; align-items: center; justify-content: center; gap: calc(var(--p) * 2); }
.chips-arrow {
    flex: none;
    border: 0;
    min-width: calc(var(--p) * 10);
    min-height: calc(var(--p) * 14);
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    cursor: pointer;
}
.chips-arrow img { width: calc(var(--p) * 3); height: calc(var(--p) * 5); }
.chips-arrow:disabled { opacity: 0.3; cursor: default; }
.chips-arrow:focus-visible { outline: var(--p) dashed var(--line); }
.chip {
    border: 0;
    padding: 0;
    background: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.chip img { width: calc(var(--p) * 40); height: calc(var(--p) * 38); }
@media (hover: hover) { .chip:hover img, .chip:focus-visible img { transform: translateY(calc(var(--p) * -1)); } }
.chip:focus-visible { outline: var(--p) dashed var(--line); outline-offset: var(--p); }
.chip:disabled { opacity: 0.35; cursor: not-allowed; }
.chip:disabled img { transform: none; }
.bet-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(var(--p) * 3); }
.bet-actions .pbtn { padding-left: 0; padding-right: 0; font-size: 16px; }
.play {
    font-family: var(--display);
    font-size: 18px;
    padding: calc(var(--p) * 4);
    background: var(--yellow);
    box-shadow:
        0 calc(var(--p) * -1) 0 0 var(--line), 0 var(--p) 0 0 var(--line),
        calc(var(--p) * -1) 0 0 0 var(--line), var(--p) 0 0 0 var(--line),
        inset var(--p) var(--p) 0 0 #fff4c4,
        inset calc(var(--p) * -1) calc(var(--p) * -1) 0 0 #e3ae43;
}
.play-bar {
    position: sticky;
    bottom: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    /* От края до края экрана (поля .app компенсируются), пиксельная линия сверху */
    margin: 0 calc(var(--p) * -5) calc(var(--p) * -10);
    padding: calc(var(--p) * 4) calc(var(--p) * 5) calc(var(--p) * 4 + env(safe-area-inset-bottom));
    background: var(--lavender);
    box-shadow: 0 calc(var(--p) * -1) 0 0 var(--line), inset 0 var(--p) 0 0 #ddd5fc;
}
.play-bar .play { flex: 1; width: 100%; }

/* --- Компьютер: две колонки. Слева игра, справа ставка и кнопка; закреплённая панель не нужна --- */
@media (min-width: 860px) {
    .app {
        max-width: calc(var(--p) * 290);
        display: grid;
        grid-template-columns: minmax(0, 1fr) calc(var(--p) * 124);
        grid-template-areas:
            "nav nav"
            "top top"
            "dev dev"
            "prof prof"
            "tabs tabs"
            "game bet"
            "game play"
            "game pay"
            "game hist"
            "game rest";
        grid-template-rows: auto auto auto auto auto auto auto auto auto 1fr;
        column-gap: calc(var(--p) * 8);
        row-gap: calc(var(--p) * 5);
        align-items: start;
        padding-top: calc(var(--p) * 8);
    }
    .topbar { grid-area: top; }
    #dev-note { grid-area: dev; }
    .main-nav { grid-area: nav; }
    .casino-tabs { grid-area: tabs; }
    #profile-section { grid-area: prof; }
    #tab-slots, #tab-coin { grid-area: game; }
    #bet-panel { grid-area: bet; }
    .play-bar { grid-area: play; position: static; margin: 0; padding: 0; background: none; box-shadow: none; }
    #paytable-box { grid-area: pay; }
    .history-box { grid-area: hist; }
    .casino-tabs { max-width: calc(100% - var(--p) * 132); }
    body[data-view="profile"] .app { grid-template-areas: "nav nav" "prof prof"; grid-template-rows: auto 1fr; }
    body:is([data-view="admin"], [data-view="counter"], [data-view="games"], [data-view="bonus"], [data-view="stone"], [data-view="romcom"], [data-view="players"]) .app { grid-template-areas: "nav nav" "sec sec"; grid-template-rows: auto 1fr; }
    #admin-section, #counter-section, #games-section, #bonus-section, #stone-section, #romcom-section, #players-section { grid-area: sec; }
    /* Казино: без строки профиля; строка режима разработки — только когда он включён (?dev) */
    body[data-view="casino"] .app {
        grid-template-areas: "nav nav" "top top" "dev dev" "tabs tabs" "game bet" "game play" "game pay" "game hist" "game rest";
        grid-template-rows: auto auto auto auto auto auto auto auto 1fr;
    }
    body[data-view="casino"]:has(#dev-note[hidden]) .app {
        grid-template-areas: "nav nav" "top top" "tabs tabs" "game bet" "game play" "game pay" "game hist" "game rest";
        grid-template-rows: auto auto auto auto auto auto auto 1fr;
    }
    .brand { font-size: 15px; }
}

/* Большой экран: пиксель интерфейса 4 px — всё крупнее ровно на треть и остаётся чётким */
@media (min-width: 1100px) and (min-height: 860px) {
    :root { --p: 4px; }
    .app { max-width: calc(var(--p) * 290); }
    body { font-size: 21px; }
    .lcd { font-size: 21px; }
}
@media (hover: hover) { .play:hover { background: #ffeaa0; } }

/* --- Монетка --- */
.coin-stage {
    height: calc(var(--p) * 108);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: calc(var(--p) * 8);
    background: var(--sky);
    box-shadow:
        0 calc(var(--p) * -1) 0 0 var(--line), 0 var(--p) 0 0 var(--line),
        calc(var(--p) * -1) 0 0 0 var(--line), var(--p) 0 0 0 var(--line),
        inset 0 calc(var(--p) * -14) 0 0 var(--lavender),
        inset 0 calc(var(--p) * -15) 0 0 var(--purple);
    overflow: hidden;
}
.flip-coin { width: calc(var(--p) * 78); height: calc(var(--p) * 76); will-change: transform; }
.side-pick { display: grid; grid-template-columns: 1fr 1fr; gap: calc(var(--p) * 3); }
.side-pick .pbtn { display: flex; align-items: center; justify-content: center; gap: calc(var(--p) * 2); }
.side-pick img { width: calc(var(--p) * 16); height: calc(var(--p) * 16); }
.side-pick [data-side="cat"] img { width: calc(var(--p) * 24); height: calc(var(--p) * 24); }

/* --- Выплаты и история --- */
.paytable { padding: calc(var(--p) * 3) calc(var(--p) * 4); }
.paytable summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: calc(var(--p) * 3);
}
.paytable summary::-webkit-details-marker { display: none; }
/* Пиксельные указатели вместо системного треугольника и символа шрифта */
.caret { width: calc(var(--p) * 3); height: calc(var(--p) * 5); flex: none; }
.paytable[open] summary .caret { transform: rotate(90deg); }
.caret.up { transform: rotate(-90deg); }
.pay-row { display: flex; align-items: center; gap: var(--p); padding: var(--p) 0; }
.pay-row img { width: calc(var(--p) * 24); height: calc(var(--p) * 24); }
.pay-row b { margin-left: auto; }
.pay-note { font-size: 15px; color: var(--line); margin: calc(var(--p) * 2) 0 0; }

.history { display: flex; flex-wrap: wrap; gap: calc(var(--p) * 2); min-height: calc(var(--p) * 8); }
.history span {
    font-size: 15px;
    padding: 0 calc(var(--p) * 2);
    background: var(--white);
    box-shadow: 0 0 0 var(--p) var(--lilac);
}
.history .plus { color: var(--green); }
.history .minus { color: var(--red); }
.section-title { margin: 0; font-size: 16px; color: var(--line); }

/* --- Эффекты поверх страницы --- */
.fx { position: fixed; inset: 0; pointer-events: none; overflow: hidden; z-index: 10; }
.rain {
    position: absolute;
    top: calc(var(--p) * -16);
    width: calc(var(--p) * 16);
    height: calc(var(--p) * 16);
    animation: fall var(--dur, 1.6s) steps(24) forwards, spin 0.4s steps(4) infinite;
}
@keyframes fall { to { transform: translateY(calc(100vh + var(--p) * 32)); } }
@keyframes spin { 25% { scale: 0.6 1; } 50% { scale: 0.2 1; } 75% { scale: 0.6 1; } }
.flyer { position: fixed; z-index: 11; width: calc(var(--p) * 16); height: calc(var(--p) * 16); pointer-events: none; }

.digit-gap { display: inline-block; width: calc(var(--p) * 2); }

@media (max-width: 400px) {
    .brand { font-size: 9px; }
    .topbar { gap: calc(var(--p) * 2); padding-left: calc(var(--p) * 3); padding-right: calc(var(--p) * 3); }
}

@media (max-width: 359px) {
    .lever { display: none; }
    .machine-wrap { padding-right: 0; }
}

/* --- Скрытое: душа матери --- */
.soul-dialog {
    position: fixed;
    inset: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(var(--p) * 5);
    background: rgba(59, 42, 107, 0.6);
}
.soul-box { max-width: calc(var(--p) * 110); padding: calc(var(--p) * 6); display: flex; flex-direction: column; gap: calc(var(--p) * 4); text-align: center; }
.soul-title { margin: 0; font-family: var(--display); font-size: 12px; line-height: 1.6; }
.soul-text { margin: 0; }
.soul-yes { background: #ff9fa6; }
.void {
    position: fixed;
    inset: 0;
    z-index: 30;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: calc(var(--p) * 8);
    padding: calc(var(--p) * 8);
    background: #0b0714;
    animation: voidIn 2s steps(8) both;
}
@keyframes voidIn { from { background: rgba(11, 7, 20, 0); } }
.void-text {
    margin: 0;
    max-width: calc(var(--p) * 120);
    min-height: 6em;
    white-space: pre-line;
    text-align: center;
    color: #ffd1ec;
    font-family: var(--display);
    font-size: 15px;
    line-height: 1.8;
}

@media (min-width: 860px) {
    /* На компьютере на слотах крутит рычаг; кнопка остаётся для монетки */
    body[data-active-tab="slots"] .play-bar { display: none; }
}

/* --- Разделы: профиль или казино --- */
/* Каждый раздел виден только на своей вкладке; казино — подраздел «Мини-игр» */
body:not([data-view="casino"]) :is(.topbar, #dev-note, #casino-tabs, #tab-slots, #tab-coin, #bet-panel, #paytable-box, .history-box, .play-bar) { display: none !important; }
body:not([data-view="profile"]) #profile-section { display: none !important; }
body:not([data-view="games"]) #games-section { display: none; }
body:not([data-view="players"]) #players-section { display: none; }
body:not([data-view="bonus"]) #bonus-section { display: none; }
body:not([data-view="stone"]) #stone-section { display: none; }
body:not([data-view="admin"]) #admin-section { display: none; }
body:not([data-view="counter"]) #counter-section { display: none; }

/* --- Счётчик чилликов (chillcount.js): один аппарат — корпус машинки со сценой, лист в линейку, чек ---
   Сцена: ширина — целое число пикселей интерфейса (--w из JS), высота 72, показ строго ×--p. */
.counter-section { display: block; }
.cc-body { display: grid; gap: calc(var(--p) * 6); align-items: stretch; }
.cc-col { display: flex; flex-direction: column; gap: calc(var(--p) * 5); min-width: 0; }
@media (min-width: 860px) {
    .cc-body { grid-template-columns: minmax(0, 1fr) calc(var(--p) * 112); }
    .cc-sheet { flex: 1; }
    .cc-area { flex: 1; }
}
/* Корпус: фиолетовый металл со скосами, заклёпки по углам */
.cc-machine {
    position: relative; display: flex; flex-direction: column; gap: calc(var(--p) * 3);
    padding: calc(var(--p) * 3) calc(var(--p) * 4) calc(var(--p) * 4);
    background: var(--purple);
    box-shadow:
        0 calc(var(--p) * -1) 0 0 var(--ink), 0 var(--p) 0 0 var(--ink),
        calc(var(--p) * -1) 0 0 0 var(--ink), var(--p) 0 0 0 var(--ink),
        inset var(--p) var(--p) 0 0 #c9a8f5, inset calc(var(--p) * -1) calc(var(--p) * -1) 0 0 #8c62cf;
    filter: drop-shadow(0 calc(var(--p) * 2) 0 rgba(75, 52, 132, 0.4));
}
.cc-machine::before, .cc-machine::after {
    content: ""; position: absolute; top: calc(var(--p) * 2); width: calc(var(--p) * 2); height: calc(var(--p) * 2);
    background: #e6dcfb; box-shadow: var(--p) var(--p) 0 0 #6347aa, 0 calc(var(--p) * 66) 0 0 transparent;
}
.cc-machine::before { left: calc(var(--p) * 2); }
.cc-machine::after { right: calc(var(--p) * 3); }
.cc-head { display: flex; align-items: center; gap: calc(var(--p) * 2); padding: 0 var(--p); }
.cc-back { flex: none; min-width: calc(var(--p) * 11); }
/* Латунная табличка с названием */
.cc-title {
    flex: 0 1 auto; min-width: 0; margin: 0 auto; padding: calc(var(--p) * 2) calc(var(--p) * 2);
    font-family: var(--display); font-size: 10px; line-height: 1.6; text-align: center; color: #6b4a1e;
    background: var(--yellow);
    box-shadow: 0 0 0 var(--p) var(--ink), inset var(--p) var(--p) 0 0 #fff1c7, inset calc(var(--p) * -1) calc(var(--p) * -1) 0 0 #e3ae43;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cc-chip {
    flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: var(--p); padding: var(--p) calc(var(--p) * 2);
    background: var(--lcd); color: var(--yellow); font-family: var(--display); font-size: 10px; line-height: 1;
    box-shadow: 0 0 0 var(--p) var(--ink);
}
.cc-chip-label { font-family: "Tiny5", monospace; font-size: 13px; line-height: 1; color: #b5a4dd; }
.cc-frame { display: flex; justify-content: center; padding: var(--p); background: var(--ink); box-shadow: inset var(--p) var(--p) 0 0 #2e2160; }
.cc-scene { width: calc(var(--p) * var(--w, 100)); height: calc(var(--p) * 72); image-rendering: pixelated; display: block; }
.cc-panel { display: flex; flex-direction: column; align-items: center; gap: calc(var(--p) * 2); }
.cc-lcd { min-height: calc(var(--p) * 11); display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 var(--p) var(--ink); transition: color 0.6s; }
.cc-lcd.is-good { color: var(--yellow); }
.cc-lcd.is-busy { color: #a1c9fd; }
.cc-bar { display: flex; gap: var(--p); padding: var(--p); background: var(--lcd); box-shadow: 0 0 0 var(--p) var(--ink); }
.cc-bar span { width: calc(var(--p) * 2); height: calc(var(--p) * 3); background: #5d4597; transition: background-color 0.25s; }
.cc-bar span.on { background: var(--yellow); box-shadow: inset 0 var(--p) 0 0 #fff1c7; }
/* Лист в линейку: строки по сетке, поля слева, вкладка «Пост» сверху */
.cc-sheet { position: relative; display: flex; flex-direction: column; margin-top: calc(var(--p) * 4); }
.cc-sheet-tab {
    position: absolute; top: calc(var(--p) * -7); left: calc(var(--p) * 4); padding: var(--p) calc(var(--p) * 3);
    font-family: var(--display); font-size: 10px; line-height: 1.6; color: var(--white); background: var(--line);
    box-shadow: 0 0 0 var(--p) var(--ink);
}
.cc-area {
    display: block; width: 100%; min-height: calc(var(--p) * 8 * 7 + var(--p) * 4); resize: none;
    margin: 0; padding: calc(var(--p) * 2) calc(var(--p) * 3) calc(var(--p) * 2) calc(var(--p) * 10);
    border: 0; border-radius: 0; outline: none;
    font: inherit; font-size: 18px; line-height: calc(var(--p) * 8); color: var(--ink);
    background-color: var(--white);
    background-image:
        linear-gradient(90deg, transparent calc(var(--p) * 7), #f4b4e3 0 calc(var(--p) * 8), transparent 0),
        repeating-linear-gradient(180deg, transparent 0 calc(var(--p) * 7), #e3d8f6 0 calc(var(--p) * 8));
    background-position: 0 0, 0 calc(var(--p) * 2);
    background-attachment: local;
    box-shadow: 0 0 0 var(--p) var(--ink), inset 0 var(--p) 0 0 var(--lavender);
    -webkit-user-select: text; user-select: text;
}
/* Пиксельный скроллбар листа: жёлоб с контуром, ползунок-кирпичик со скосами, без стрелок и скруглений */
/* Firefox не знает ::-webkit-scrollbar — ему только цвета; Chrome со scrollbar-color игнорирует пиксельные стили, поэтому раздельно */
@supports not selector(::-webkit-scrollbar) { .cc-area { scrollbar-color: var(--purple) var(--lavender); } }
.cc-area::-webkit-scrollbar { width: calc(var(--p) * 5); }
.cc-area::-webkit-scrollbar-track { background: var(--lavender); box-shadow: inset var(--p) 0 0 0 var(--ink); }
.cc-area::-webkit-scrollbar-thumb {
    background: var(--purple);
    box-shadow: inset var(--p) 0 0 0 var(--ink), inset 0 var(--p) 0 0 var(--ink), inset calc(var(--p) * -1) 0 0 0 var(--ink), inset 0 calc(var(--p) * -1) 0 0 var(--ink),
        inset calc(var(--p) * 2) calc(var(--p) * 2) 0 0 #c9a8f5, inset calc(var(--p) * -2) calc(var(--p) * -2) 0 0 #8c62cf;
}
.cc-area::-webkit-scrollbar-thumb:hover { background: #b98ce8; }
.cc-area::-webkit-scrollbar-button { display: none; height: 0; }
.cc-area::-webkit-scrollbar-corner { background: var(--lavender); }
.cc-area::placeholder { color: #b5a4dd; }
.cc-area:focus { box-shadow: 0 0 0 var(--p) var(--ink), 0 0 0 calc(var(--p) * 2) var(--pink), inset 0 var(--p) 0 0 var(--lavender); }
.cc-sheet-foot {
    display: flex; align-items: center; justify-content: space-between; gap: calc(var(--p) * 3); min-height: calc(var(--p) * 10);
    padding: var(--p) var(--p) var(--p) calc(var(--p) * 3); background: var(--lavender);
    box-shadow: 0 0 0 var(--p) var(--ink); margin-top: var(--p);
}
.cc-note { font-size: 15px; color: var(--ink); min-width: 0; }
.cc-clear {
    flex: none; padding: var(--p) calc(var(--p) * 2); border: 0; cursor: pointer; font-size: 15px; color: var(--ink);
    background: var(--pink-light); box-shadow: 0 0 0 var(--p) var(--ink), inset calc(var(--p) * -1) calc(var(--p) * -1) 0 0 #d98fcb;
}
.cc-clear:active { transform: translateY(var(--p)); }
.cc-clear[hidden] { display: none; }
/* Чек: бумага с пиксельной «пилой» сверху и снизу; контур идёт по зубцам (drop-shadow без размытия) */
.cc-receipt {
    position: relative; margin: calc(var(--p) * 2) 0; padding: calc(var(--p) * 4) calc(var(--p) * 4) calc(var(--p) * 3);
    display: flex; flex-direction: column; gap: var(--p);
    background: var(--white); color: var(--ink);
    filter: drop-shadow(var(--p) 0 0 var(--ink)) drop-shadow(calc(var(--p) * -1) 0 0 var(--ink)) drop-shadow(0 var(--p) 0 var(--ink)) drop-shadow(0 calc(var(--p) * -1) 0 var(--ink)) drop-shadow(0 calc(var(--p) * 2) 0 rgba(117, 83, 187, 0.35));
    transition: opacity 0.5s;
}
.cc-receipt::before, .cc-receipt::after { content: ""; position: absolute; left: 0; right: 0; height: calc(var(--p) * 2); background-size: calc(var(--p) * 4) calc(var(--p) * 2); background-repeat: repeat-x; }
.cc-receipt::before { top: calc(var(--p) * -2); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 2' shape-rendering='crispEdges'%3E%3Cpath fill='%23fffdfb' d='M0 2h4V1H3V0H1v1H0z'/%3E%3C/svg%3E"); }
.cc-receipt::after { bottom: calc(var(--p) * -2); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 2' shape-rendering='crispEdges'%3E%3Cpath fill='%23fffdfb' d='M0 0h4v1H3v1H1V1H0z'/%3E%3C/svg%3E"); }
.cc-receipt.is-waiting { opacity: 0.45; }
.cc-receipt.is-printing > * { animation: ccPrint 0.35s ease-out both; animation-delay: calc(var(--i, 0) * 110ms); }
@keyframes ccPrint { from { opacity: 0; transform: translateY(calc(var(--p) * -2)); } }
.cc-r-head { display: flex; justify-content: space-between; align-items: baseline; gap: calc(var(--p) * 2); padding-bottom: calc(var(--p) * 2); margin-bottom: var(--p); box-shadow: 0 var(--p) 0 0 var(--lavender); }
.cc-r-shop { font-family: var(--display); font-size: 10px; line-height: 1.6; color: var(--line); }
.cc-r-no { font-size: 15px; color: #9b88cf; }
.cc-r-row { display: flex; align-items: baseline; gap: var(--p); font-size: 16px; line-height: 1.3; }
.cc-r-label { flex: none; }
.cc-r-dots { flex: 1; min-width: calc(var(--p) * 3); height: var(--p); align-self: flex-end; margin-bottom: calc(var(--p) * 2);
    background-image: linear-gradient(90deg, #c9b8ee 0 var(--p), transparent 0); background-size: calc(var(--p) * 2) var(--p); }
.cc-r-value { flex: none; font-family: var(--display); font-size: 10px; line-height: 1.6; text-align: right; }
.cc-r-row.is-sub { color: #9b88cf; font-size: 15px; }
.cc-r-row.is-ok .cc-r-value { color: #3c8f5a; }
.cc-r-row.is-bad .cc-r-value { color: var(--red); }
.cc-r-row.is-big { font-family: var(--display); font-size: 10px; }
.cc-r-row.is-big .cc-r-value { font-size: 16px; color: #3c8f5a; }
.cc-r-row.is-total .cc-r-value { font-size: 16px; }
.cc-r-cut { height: var(--p); margin: var(--p) 0; background-image: linear-gradient(90deg, var(--line) 0 calc(var(--p) * 2), transparent 0); background-size: calc(var(--p) * 4) var(--p); }
.cc-r-fine { margin: 0; font-size: 15px; line-height: 1.25; color: #8d79c4; }
/* Корешки: отрывные талоны с пилой справа */
.cc-stubs { display: flex; flex-direction: column; gap: calc(var(--p) * 3); }
.cc-stubs-head { display: flex; justify-content: space-between; align-items: baseline; gap: calc(var(--p) * 3); flex-wrap: wrap; }
.cc-stubs-month { font-size: 15px; color: var(--line); }
.cc-stubs-list { display: flex; flex-direction: column; gap: calc(var(--p) * 3); }
.cc-stub {
    position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: calc(var(--p) * 3); align-items: baseline;
    margin-right: calc(var(--p) * 3); padding: calc(var(--p) * 2) calc(var(--p) * 3); background: var(--cream);
    filter: drop-shadow(var(--p) 0 0 var(--line)) drop-shadow(calc(var(--p) * -1) 0 0 var(--line)) drop-shadow(0 var(--p) 0 var(--line)) drop-shadow(0 calc(var(--p) * -1) 0 var(--line));
}
.cc-stub::after { content: ""; position: absolute; top: 0; bottom: 0; right: calc(var(--p) * -2); width: calc(var(--p) * 2); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 4' shape-rendering='crispEdges'%3E%3Cpath fill='%23fdf6e4' d='M0 0h1v1h1v2H1v1H0z'/%3E%3C/svg%3E"); background-size: calc(var(--p) * 2) calc(var(--p) * 4); background-repeat: repeat-y; }
.cc-stub.is-empty { display: flex; align-items: center; justify-content: center; text-align: center; min-height: calc(var(--p) * 20); font-size: 15px; color: var(--line); }
@media (min-width: 860px) {
    .cc-stubs, .cc-stubs-list { flex: 1; }
    .cc-stub.is-empty { flex: 1; }   /* без корешков правая колонка всё равно дотягивается до низа листа */
}
.cc-stub-when { font-size: 15px; color: var(--line); }
.cc-stub-letters { font-size: 15px; }
.cc-stub-sum { font-family: var(--display); font-size: 10px; color: #3c8f5a; }
@media (prefers-reduced-motion: reduce) { .cc-receipt.is-printing > * { animation: none; } }
.casino-back { flex: none; align-self: stretch; min-width: calc(var(--p) * 11); }

/* --- Мини-игры --- */
.games-section, .players-section { display: flex; flex-direction: column; gap: calc(var(--p) * 4); }
.games-list { display: flex; flex-wrap: wrap; gap: calc(var(--p) * 5); }
.game-card { width: calc(var(--p) * 106); display: flex; flex-direction: column; gap: calc(var(--p) * 3); padding: calc(var(--p) * 3); text-align: left; font: inherit; color: inherit; cursor: pointer; }
.game-banner { width: calc(var(--p) * 100); height: calc(var(--p) * 40); image-rendering: pixelated; }   /* строго ×--p */
.game-text { display: flex; flex-direction: column; gap: var(--p); padding: 0 var(--p); }
.game-title { font-family: var(--display); font-size: 12px; line-height: 1.6; }
@media (hover: hover) { .game-card:hover { transform: translateY(calc(var(--p) * -1)); } }
.game-card:active { transform: translateY(var(--p)); }
.game-badge { align-self: flex-start; margin-top: var(--p); }
/* Закрытая игра («Лавка»): серая карточка, не подпрыгивает */
.game-card.is-locked { cursor: not-allowed; background: #ece8f1; }
.game-card.is-locked .game-title, .game-card.is-locked .char-sub { color: #8a8494; }
.game-card.is-locked .game-badge { background: #cfcad6; color: #4a4552; }
/* Игра доделывается и на проде закрыта: своя вывеска, но выцветшая, как у Лавки */
.game-card.is-soon .game-banner { filter: grayscale(1) contrast(0.85) brightness(1.08); }
@media (hover: hover) { .game-card.is-locked:hover { transform: none; } }
.game-card.is-locked:active { transform: none; }

/* --- Ежедневный бонус --- */
.bonus-section { display: flex; flex-direction: column; gap: calc(var(--p) * 4); }
.bonus-head { display: flex; align-items: center; gap: calc(var(--p) * 3); }
.bonus-head .section-title { margin: 0; }
.bonus-stage { display: flex; flex-direction: column; align-items: center; gap: calc(var(--p) * 3); padding: calc(var(--p) * 3); }
.bonus-scene { width: calc(var(--p) * 100); height: calc(var(--p) * 64); image-rendering: pixelated; cursor: pointer; box-shadow: 0 0 0 var(--p) var(--line); }   /* строго ×--p */
.bonus-msg { align-self: stretch; min-height: calc(var(--p) * 16); }
.bonus-result { display: flex; flex-direction: column; align-items: center; gap: var(--p); text-align: center; }
.bonus-result:empty { display: none; }
.bonus-line { font-size: 16px; }
.bonus-line.is-good, .bonus-karma.is-good { color: #3c8f5a; }
.bonus-line.is-bad, .bonus-karma.is-bad { color: #c04a6a; }
.bonus-sum { font-family: var(--display); font-size: 16px; line-height: 1.6; color: var(--ink); }
.bonus-open { min-width: calc(var(--p) * 70); font-size: 18px; }
.bonus-charge { display: flex; flex-direction: column; align-items: center; gap: calc(var(--p) * 2); }
.bonus-bar { display: flex; gap: var(--p); padding: var(--p); background: var(--lcd); }
.bonus-bar span { width: calc(var(--p) * 2); height: calc(var(--p) * 4); background: #5d4597; }
.bonus-bar span.on { background: var(--yellow); }
.bonus-rules, .bonus-log { padding: calc(var(--p) * 4); display: flex; flex-direction: column; gap: calc(var(--p) * 2); }
.bonus-rules .section-title, .bonus-log .section-title { margin: 0; }
.bonus-karma { font-size: 16px; }
.bonus-log-list { display: flex; flex-direction: column; gap: var(--p); }
.bonus-log-row { display: grid; grid-template-columns: auto 1fr auto; gap: calc(var(--p) * 3); align-items: baseline; }
.bonus-log-sum { font-family: var(--display); font-size: 10px; color: #3c8f5a; }

/* --- Каталог игроков и персонажей --- */
.dir-search { margin: 0; }
.dir-filters { padding: calc(var(--p) * 4); display: flex; flex-direction: column; gap: calc(var(--p) * 3); }
.dir-filters summary { cursor: pointer; }
.dir-filters[open] { gap: calc(var(--p) * 4); }
.dir-field { display: flex; flex-direction: column; gap: calc(var(--p) * 2); margin-top: calc(var(--p) * 2); }
.dir-filters > .pbtn { align-self: flex-start; margin-top: calc(var(--p) * 3); }
.dir-choice { display: flex; flex-wrap: wrap; gap: calc(var(--p) * 2); padding: var(--p); }
.dir-add { display: flex; flex-wrap: wrap; gap: calc(var(--p) * 2); align-items: center; }
.dir-add select { flex: 1 1 calc(var(--p) * 50); margin: 0; }
.dir-owners { display: flex; flex-direction: column; gap: calc(var(--p) * 2); }
.dir-chips { display: flex; flex-wrap: wrap; gap: calc(var(--p) * 2); }
.dir-chips:empty { display: none; }
.dir-chip { display: inline-flex; box-shadow: 0 0 0 var(--p) var(--line); }
.dir-chip button { border: 0; font: inherit; font-size: 14px; color: var(--ink); cursor: pointer; padding: var(--p) calc(var(--p) * 2); }
.dir-chip.is-only .dir-chip-main { background: #bfe8cf; }
.dir-chip.is-exclude .dir-chip-main { background: #ffd1dc; }
.dir-chip-x { background: var(--white); }
.dir-results { display: flex; flex-direction: column; gap: calc(var(--p) * 4); }

/* --- Тестовая панель (только вне VK) --- */
.testbar { display: flex; flex-wrap: wrap; align-items: center; gap: calc(var(--p) * 2); padding: calc(var(--p) * 2) calc(var(--p) * 3); background: var(--lcd); color: var(--lcd-text); font-size: 15px; }
.testbar .ed-input { flex: 1; min-width: 50%; margin: 0; font-size: 15px; }
.testbar .pbtn { color: var(--ink); flex: none; }
.testbar { position: sticky; top: 0; z-index: 30; }
/* Заставка на весь экран, пока не пришёл первый ответ сервера (boot.js): пустую оболочку приложения не видно */
.boot { position: fixed; inset: 0; z-index: 40; display: grid; place-items: center; padding: 16px;
    background: repeating-conic-gradient(var(--bg) 0 25%, var(--bg-dither) 0 50%) 0 0 / calc(var(--p) * 2) calc(var(--p) * 2); }
.boot-card { width: min(100%, calc(var(--p) * 120)); display: grid; gap: calc(var(--p) * 4); justify-items: center; padding: calc(var(--p) * 6); text-align: center; }
.boot-card p { margin: 0; font-size: 16px; line-height: 1.4; }
/* Паппи на заставке — тот же спрайт, что в новелле, строго ×--p */
.boot-pappy { width: calc(var(--p) * var(--w)); height: calc(var(--p) * var(--h)); image-rendering: pixelated; animation: introBob 1.2s steps(1) infinite; }
.boot-title { font-family: var(--display); font-size: 12px; line-height: 1.6; }
/* Вход на сайте (boot.js): кнопка «написать боту», поле кода, VK ID */
.boot-card .boot-wide { width: 100%; text-align: center; text-decoration: none; }
.boot-code { display: flex; gap: calc(var(--p) * 2); width: 100%; }
.boot-code .ed-input { flex: 1; min-width: 0; text-align: center; text-transform: uppercase; letter-spacing: 2px; font-size: 18px; }
.boot-card p.boot-note { min-height: 1.4em; font-size: 14px; color: var(--ink); }
.boot-card p.boot-note:empty { display: none; }
.boot-link { color: var(--ink); font-size: 14px; }
.boot-card a.pbtn { text-decoration: none; color: var(--ink); }

/* --- Админка --- */
.admin-section { display: flex; flex-direction: column; gap: calc(var(--p) * 4); }
.admin-list, .admin-detail { display: flex; flex-direction: column; gap: calc(var(--p) * 4); }
.admin-filters { display: flex; flex-wrap: wrap; gap: calc(var(--p) * 2); }
.admin-row { display: flex; align-items: center; gap: calc(var(--p) * 4); padding: calc(var(--p) * 3); text-align: left; width: 100%; font: inherit; color: inherit; cursor: pointer; }
div.admin-row { cursor: default; flex-wrap: wrap; }
.admin-row .portrait.admin-pic { flex: none; width: calc(var(--p) * 20); }
.admin-row-text { flex: 1; min-width: calc(var(--p) * 40); display: flex; flex-direction: column; gap: var(--p); align-items: flex-start; }
.admin-row-actions { display: flex; flex-wrap: wrap; gap: calc(var(--p) * 2); }
/* Актив: полоса слева — сколько человек молчит (пиксельная, без скруглений) */
.activity-row { border-left: calc(var(--p) * 2) solid var(--lavender); padding: calc(var(--p) * 2) calc(var(--p) * 3); margin-top: calc(var(--p) * 2); background: var(--white); }
.activity-row[data-idle="warn"] { border-left-color: var(--yellow); }
.activity-row[data-idle="afk"] { border-left-color: var(--red); background: #ffe9ee; }
.activity-row[data-idle="vacation"] { border-left-color: var(--sky); }
.activity-reminded { color: var(--line); }
.cult-role { display: flex; flex-direction: column; gap: calc(var(--p) * 2); }
.cult-head { display: flex; align-items: center; justify-content: space-between; gap: calc(var(--p) * 3); }
.cult-head .section-title { margin: 0; }
.cult-perms { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--p); font-size: 15px; }
.cult-perms li::before { content: "◆ "; color: var(--line); }
.cult-perms li.is-none { color: #9c8fb8; }
.admin-veterans { width: 100%; resize: vertical; }
.admin-error-stack { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; margin: 0; }
.cult-perms li.is-none::before { content: "◇ "; }
.dir-chip.is-focus { box-shadow: 0 0 0 var(--p) var(--line), 0 0 0 calc(var(--p) * 2) var(--yellow); }
.ed-locked { padding: var(--p) 0; color: #7a6c8c; cursor: not-allowed; }
.admin-empty { padding: calc(var(--p) * 4); }
.admin-head, .admin-part { padding: calc(var(--p) * 4); display: flex; flex-direction: column; gap: calc(var(--p) * 2); align-items: flex-start; }
.admin-part .block { width: 100%; }
.admin-part summary { cursor: pointer; }
.admin-decide .ed-input { width: 100%; }
/* «Отклонить» — отдельно справа, подальше от «Принять» под большим пальцем */
.admin-decide-row .admin-reject { margin-left: auto; }
/* «Удалить персонажа» — не впритык к «◀ К игроку», а в другом конце строки */
.char-bar .char-delete { margin-left: auto; }
.block-label .admin-changed { margin-left: calc(var(--p) * 2); background: #ffe08a; vertical-align: middle; }
.admin-error { margin: 0; color: var(--red); font-size: 15px; }
.admin-error:empty { display: none; }
.admin-look { display: flex; flex-direction: column; gap: calc(var(--p) * 2); }

/* Статусы анкет */
.status-badge { display: inline-block; padding: 0 calc(var(--p) * 2); font-size: 14px; background: var(--lavender); box-shadow: 0 0 0 var(--p) var(--line); }
.status-review .status-badge { background: var(--yellow); }
.status-revision .status-badge { background: #ffd1dc; }
.status-accepted .status-badge { background: #bfe8cf; }
.status-rejected .status-badge { background: #e3dbe9; color: #7a6c8c; }
.pending-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: calc(var(--p) * 2); }
.pending-comment { margin: 0; font-size: 15px; padding: calc(var(--p) * 2) calc(var(--p) * 3); background: var(--white); box-shadow: inset 0 0 0 var(--p) var(--lilac); }
.pending-row .ed-btn { align-self: flex-start; }

/* Редактор профиля */
.ed-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(calc(var(--p) * 36), 1fr)); gap: calc(var(--p) * 2); }
.ed-field { display: flex; flex-direction: column; gap: var(--p); }
.ed-field .ed-input { margin: 0; }
.portrait { position: relative; }
.portrait-tools { position: absolute; left: 0; right: 0; bottom: calc(var(--p) * 2); display: flex; justify-content: center; gap: var(--p); }
.portrait-tools .pbtn { font-size: 13px; padding: 0 calc(var(--p) * 2); white-space: nowrap; cursor: pointer; }

/* Персонаж, которого оформляет администрация: игроку — серым и без перехода */
.char-tile.is-forming .portrait img { filter: grayscale(1) opacity(0.6); }
.char-tile.is-forming .status-badge { align-self: flex-start; font-size: 12px; }
div.char-tile.is-forming { cursor: default; }
.char-tile.is-forming .char-sub { font-size: 12px; }
.publish-bar { padding: calc(var(--p) * 3) calc(var(--p) * 4); display: flex; flex-wrap: wrap; align-items: center; gap: calc(var(--p) * 3); }
.publish-bar p { margin: 0; flex: 1; min-width: calc(var(--p) * 60); font-size: 15px; }
.publish-bar.is-hidden { background: #fff3c4; }

/* Кадрирование аватарки */
.avatar-editor { position: fixed; inset: 0; z-index: 50; display: flex; align-items: center; justify-content: center; padding: calc(var(--p) * 5); background: rgba(42, 30, 74, 0.82); }
.avatar-panel { width: 100%; max-width: calc(var(--p) * 110); padding: calc(var(--p) * 5); display: flex; flex-direction: column; gap: calc(var(--p) * 3); }
.avatar-frame { position: relative; width: 100%; aspect-ratio: 1; overflow: hidden; touch-action: none; cursor: grab; background: var(--bg-dither); box-shadow: 0 0 0 var(--p) var(--line), inset 0 0 0 var(--p) var(--pink-light); }
.avatar-frame:active { cursor: grabbing; }
.avatar-picture { position: absolute; max-width: none; image-rendering: auto; user-select: none; pointer-events: none; }
.avatar-frame::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 0 var(--p) var(--line); }
.avatar-zoom { display: flex; align-items: center; gap: calc(var(--p) * 2); }
.avatar-zoom input { flex: 1; accent-color: var(--purple); }
.avatar-actions { justify-content: flex-end; }
.portrait img.is-placeholder { image-rendering: pixelated; object-fit: contain; padding: 20%; background: var(--bg-dither); }
.about { padding: calc(var(--p) * 4); display: flex; flex-direction: column; gap: calc(var(--p) * 2); }
.about summary { cursor: pointer; }

/* --- Профиль --- */
.profile-section { display: flex; flex-direction: column; gap: calc(var(--p) * 4); }
.profile-tools { display: flex; flex-wrap: wrap; gap: calc(var(--p) * 2); justify-content: flex-end; }
.profile-view { display: flex; flex-direction: column; gap: calc(var(--p) * 5); }
.profile-view.is-editing { --edit: 1; }
.ed-btn { font-size: 15px; padding: var(--p) calc(var(--p) * 3); }

/* Пиксельная рамка, гладкий арт внутри */
.portrait {
    flex: none;
    width: calc(var(--p) * 32);
    aspect-ratio: 1;
    padding: var(--p);
    background: var(--white);
    box-shadow: 0 0 0 var(--p) var(--line), inset 0 0 0 var(--p) var(--pink-light);
}
.portrait img, .entry-pic img { image-rendering: auto; width: 100%; height: 100%; object-fit: cover; }
img.is-pixel, .portrait img.is-pixel { image-rendering: pixelated; }
.portrait.small { width: 100%; }

.player-card, .char-head { display: flex; gap: calc(var(--p) * 5); padding: calc(var(--p) * 4); align-items: flex-start; }
@media (max-width: 419px) {
    .player-card { flex-direction: column; align-items: center; }
    .player-card .player-info { width: 100%; }
    .player-card .player-name { text-align: center; }
}
.player-info, .char-info { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: calc(var(--p) * 2); }
.player-name { font-family: var(--display); font-size: 12px; line-height: 1.6; word-break: break-word; }
.facts { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: var(--p) calc(var(--p) * 3); font-size: 15px; }
.facts dt { color: var(--line); }
.facts dd { margin: 0; overflow-wrap: anywhere; }

.section-head { display: flex; align-items: baseline; justify-content: space-between; }
.char-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(calc(var(--p) * 34), 1fr)); gap: calc(var(--p) * 4); }
.char-tile {
    border: 0;
    cursor: pointer;
    padding: calc(var(--p) * 3);
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: calc(var(--p) * 2);
    font: inherit;
    color: inherit;
}
.char-tile.empty {
    cursor: default;
    background: transparent;
    box-shadow: 0 0 0 var(--p) var(--lilac);
}
/* Картинка пустого слота (slot-art.js): пиксель-арт 32×32 строго ×--p по центру квадрата, края с дизерингом */
.slot-art { display: grid; place-items: center; overflow: hidden;
    background: repeating-conic-gradient(var(--white) 0 25%, var(--bg-dither) 0 50%) 0 0 / calc(var(--p) * 2) calc(var(--p) * 2); }
.portrait.slot-art img { width: calc(var(--p) * 32); height: calc(var(--p) * 32); max-width: none; object-fit: fill; image-rendering: pixelated; }
.slot-art.is-idle img { filter: grayscale(1) opacity(0.5); }
/* Кнопка анкеты внизу слота, во всю ширину; mt:auto — на одной линии у соседних слотов */
.slot-btn { margin-top: auto; width: 100%; font-size: 15px; line-height: 1.15; padding: var(--p) var(--p); }
.slot-btn:disabled { cursor: default; opacity: 0.7; }
.slot-btn { display: inline-flex; align-items: center; justify-content: center; gap: calc(var(--p) * 2); }
/* Меню правой колонки: иконка 16×16 строго ×--p, заголовок и подпись; «в разработке» — серое с замочком */
.side-btn { display: flex; align-items: center; gap: calc(var(--p) * 3); width: 100%; padding: calc(var(--p) * 3) calc(var(--p) * 4);
    border: 0; font: inherit; color: inherit; text-align: left; cursor: pointer; }
@media (hover: hover) { .side-btn:not(:disabled):hover { transform: translateY(calc(var(--p) * -1)); } }
.side-btn:not(:disabled):active { transform: translateY(var(--p)); }
.side-icon { flex: none; width: calc(var(--p) * 16); height: calc(var(--p) * 16); image-rendering: pixelated; }
.side-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--p); }
.side-lock { flex: none; width: calc(var(--p) * 7); height: calc(var(--p) * 8); image-rendering: pixelated; }
.side-btn.is-soon { cursor: not-allowed; background: #ece8f1; }
.side-btn.is-soon .side-icon { filter: grayscale(1) opacity(0.55); }
.side-btn.is-soon .char-name, .side-btn.is-soon .char-sub { color: #8a8494; }
/* Карточка игрока и Паппи: на широком экране рядом, на телефоне — Паппи под карточкой */
.profile-top { display: grid; gap: calc(var(--p) * 4); }
@media (min-width: 860px) { .profile-top { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
/* Под ними — слоты (с моими анкетами) и правая колонка; слотам места больше */
.profile-lower { display: grid; gap: calc(var(--p) * 4); align-items: start; }
.profile-side { display: flex; flex-direction: column; gap: calc(var(--p) * 4); }
@media (min-width: 860px) {
    .profile-lower { grid-template-columns: minmax(0, 2fr) minmax(calc(var(--p) * 66), 1fr); row-gap: calc(var(--p) * 2); }
    .profile-lower .lower-head { grid-column: 1 / -1; }
    .profile-lower .char-grid { grid-template-columns: repeat(auto-fill, minmax(calc(var(--p) * 56), 1fr)); }
}
/* Кнопка-действие в пузыре Паппи (открыть сундук, написать анкету) */
.pappy-corner-actions { display: flex; justify-content: flex-end; }
.pappy-action { display: inline-flex; align-items: center; gap: calc(var(--p) * 2); }
.pappy-action-icon { flex: none; width: calc(var(--p) * 14); height: calc(var(--p) * 12); image-rendering: pixelated; }
/* Паппи слева, окно реплики справа, поле ввода во всю ширину снизу */
.pappy-corner { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: 1fr auto;
    gap: calc(var(--p) * 3); padding: calc(var(--p) * 4); }
.pappy-corner-name { position: absolute; top: calc(var(--p) * -3); left: calc(var(--p) * 4); z-index: 1; }
/* Масштаб Паппи ×1 всегда: общее правило .intro-stage на высоких экранах делает ×2 — здесь перебиваем */
.pappy-corner .pappy-corner-stage { cursor: pointer; --s: 1; align-self: end; margin-top: calc(var(--p) * 10); }
/* Значок эмоции — над головой, но левее обычного, чтобы не залезал за пузырь реплики */
.pappy-corner .intro-emoji { right: calc(var(--p) * 4); z-index: 2; }
/* Пузырь реплики с хвостиком к Паппи; длинные ответы прокручиваются вслед за печатью */
.pappy-corner-bubble { position: relative; display: flex; flex-direction: column; gap: calc(var(--p) * 2); min-width: 0;
    padding: calc(var(--p) * 3) calc(var(--p) * 4); background: var(--white); box-shadow: 0 0 0 var(--p) var(--line); }
.pappy-corner-bubble::before { content: ""; position: absolute; left: calc(var(--p) * -4); bottom: calc(var(--p) * 6);
    width: calc(var(--p) * 3); height: calc(var(--p) * 3); background: var(--white); box-shadow: 0 calc(var(--p) * -1) 0 0 var(--line), 0 var(--p) 0 0 var(--line), calc(var(--p) * -1) 0 0 0 var(--line); }
.pappy-corner-asked { margin: 0; font-size: 14px; color: var(--line); overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pappy-corner-text { margin: 0; flex: 1; font-size: 16px; line-height: 1.35; min-height: 7em; max-height: 13.5em; overflow-y: auto; scrollbar-width: none; overflow-wrap: anywhere; }
.pappy-corner-text::-webkit-scrollbar { display: none; }
@media (min-width: 860px) { .pappy-corner-text { max-height: 11em; } }
/* Телефон: Паппи над пузырём, пузырь во всю ширину, хвостик смотрит вверх */
@media (max-width: 559px) {
    .pappy-corner { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; }
    .pappy-corner .pappy-corner-stage { justify-self: start; margin: calc(var(--p) * 4) 0 0 calc(var(--p) * 4); }
    .pappy-corner-bubble::before { left: calc(var(--p) * 12); top: calc(var(--p) * -4); bottom: auto;
        box-shadow: calc(var(--p) * -1) 0 0 0 var(--line), var(--p) 0 0 0 var(--line), 0 calc(var(--p) * -1) 0 0 var(--line); }
    .pappy-corner-text { min-height: 5.4em; max-height: 12em; }
}
.pappy-corner-form { grid-column: 1 / -1; display: flex; gap: calc(var(--p) * 2); }
.pappy-corner-form .ed-input { flex: 1; min-width: 0; margin: 0; }
/* Окно приложения (dialog.js) вместо confirm/alert браузера */
.dlg-back { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: 16px; background: rgba(59, 42, 107, 0.55); }
.dlg { width: min(100%, calc(var(--p) * 150)); max-height: calc(100svh - 32px); overflow-y: auto; display: flex; flex-direction: column; gap: calc(var(--p) * 3); padding: calc(var(--p) * 5); }
.dlg-title { margin: 0; }
.dlg-body { display: flex; flex-direction: column; gap: calc(var(--p) * 3); }
.dlg-text { margin: 0; font-size: 16px; line-height: 1.35; }
.dlg-error { margin: 0; font-size: 15px; color: var(--red); }
.dlg-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: calc(var(--p) * 3); }
.dlg-danger { background: var(--red); color: var(--white); }
body.dlg-open { overflow: hidden; }
/* Отпуск: анкета и счётчик до дембеля (vacation.js) */
.vac-dates { grid-template-columns: 1fr 1fr; }
.vac-days { margin: 0; }
.vac-timer { display: flex; flex-direction: column; gap: var(--p); padding: calc(var(--p) * 2) calc(var(--p) * 3); }
.vac-label { font-size: 13px; opacity: 0.85; }
.vac-time { font-family: var(--display); font-size: 12px; letter-spacing: 1px; }
.vac-bar { display: grid; grid-template-columns: repeat(20, 1fr); gap: var(--p); height: calc(var(--p) * 2); }
.vac-bar span { background: #5a4590; }
.vac-bar span.on { background: var(--yellow); }
/* Статус карточки: штамп и приглушённый портрет */
.player-card { position: relative; }
.card-stamp { position: absolute; z-index: 1; top: calc(var(--p) * 3); right: calc(var(--p) * 3); padding: var(--p) calc(var(--p) * 3);
    font-family: var(--display); font-size: 10px; color: var(--white); background: var(--red); box-shadow: 0 0 0 var(--p) var(--ink); transform: rotate(-4deg); }
.player-card.is-vacation .card-stamp { background: var(--sky); color: var(--ink); }
.player-card.is-left .portrait img, .admin-row.is-left .portrait img { filter: grayscale(1) contrast(1.1); }
.slot-btn { min-width: 0; flex-wrap: wrap; }
/* Узкий слот на телефоне: перо над подписью, чтобы кнопка не вылезала за карточку */
@media (max-width: 559px) { .slot-btn { flex-direction: column; gap: var(--p); padding: calc(var(--p) * 2) var(--p); } }
.slot-comment { margin: 0; font-size: 14px; }
.char-tile.empty.is-revision { box-shadow: 0 0 0 var(--p) var(--red); }
.slot-icon { flex: none; width: calc(var(--p) * 8); height: calc(var(--p) * 8); image-rendering: pixelated; }
.char-name { font-family: var(--display); font-size: 10px; line-height: 1.6; }
@media (max-width: 419px) { .char-tile .char-name { font-size: 8px; } }   /* «Маразматик» влезает целиком */
.char-sub { font-size: 15px; color: var(--line); }
@media (hover: hover) { .char-tile:not(.empty):hover { transform: translateY(calc(var(--p) * -1)); } }
.profile-foot { display: flex; flex-wrap: wrap; justify-content: center; gap: calc(var(--p) * 3); }
.char-bar { display: flex; }
/* Не принят (profile.js, gate): разделов нет, только анкета */
body.gated .main-nav { display: none; }
.char-bar .bar-end { margin-left: auto; }

.stats, .entries { padding: calc(var(--p) * 4); }
.stats { display: flex; flex-direction: column; gap: calc(var(--p) * 2); }

/* Вкладки категорий: обложки, выбранная — в рамке цвета категории */
/* Обложки категорий — пиксель-арт 48×40 в масштабе общей сетки; столбцов столько, сколько влезает */
.cat-tabs { display: grid; grid-template-columns: repeat(auto-fill, calc(var(--p) * 50)); justify-content: center; gap: calc(var(--p) * 3); }
@media (min-width: 860px) {
    .char-grid { grid-template-columns: repeat(auto-fill, minmax(calc(var(--p) * 56), 1fr)); }
    .player-card .portrait, .char-head .portrait { width: calc(var(--p) * 48); }
    .char-name { font-size: 12px; }
}
.cat-tab {
    position: relative;
    border: 0;
    padding: var(--p);
    background: none;
    cursor: pointer;
    opacity: 0.6;
}
.cat-tab img { display: block; width: calc(var(--p) * 48); height: calc(var(--p) * 40); }
.cat-tab[aria-selected="true"] { opacity: 1; box-shadow: 0 0 0 var(--p) var(--line); background: var(--white); }
@media (hover: hover) { .cat-tab:hover { opacity: 1; } }
.cat-name {
    position: absolute;
    left: var(--p);
    right: var(--p);
    bottom: calc(var(--p) * 3);
    height: calc(var(--p) * 6);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-size: 15px;
    text-shadow: var(--p) var(--p) 0 rgba(43, 25, 80, 0.55);
    pointer-events: none;
}
.cat-count {
    position: absolute;
    right: calc(var(--p) * -1);
    top: calc(var(--p) * -2);
    min-width: calc(var(--p) * 7);
    padding: 0 var(--p);
    background: var(--cat);
    color: var(--white);
    font-family: var(--display);
    font-size: 9px;
    line-height: calc(var(--p) * 7);
    box-shadow: 0 0 0 var(--p) var(--line);
}

.entries { display: flex; flex-direction: column; gap: calc(var(--p) * 4); background: transparent; }
.entries-head { display: flex; align-items: baseline; gap: calc(var(--p) * 3); }
.entries-head .section-title { color: var(--cat); font-family: var(--display); font-size: 12px; }
.entries-hint { font-size: 15px; color: var(--line); }
.entries-empty { margin: 0; color: var(--line); }
.entry-group { font-family: var(--display); font-size: 10px; line-height: 1.6; color: var(--cat); }
.entry { padding: calc(var(--p) * 4); display: flex; flex-direction: column; gap: calc(var(--p) * 3); }
.entry::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: calc(var(--p) * 2); background: var(--cat); }
.entry-head { display: flex; gap: calc(var(--p) * 2); align-items: flex-start; }
.entry-title { margin: 0; font-family: var(--display); font-size: 10px; line-height: 1.7; }
.entry-pic { width: 100%; max-width: calc(var(--p) * 80); aspect-ratio: 1.53; padding: var(--p); box-shadow: 0 0 0 var(--p) var(--lilac); }

/* Блоки записи */
.blocks { display: flex; flex-direction: column; gap: calc(var(--p) * 3); }
.block-label { font-size: 15px; color: var(--line); margin-bottom: var(--p); }
/* b-* — содержимое блока (не путать с классами строк block-text, block-list…) */
.b-text { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }   /* абзацы анкеты и блоков персонажа — как их написали */
.b-list { margin: 0; padding-left: calc(var(--p) * 6); }
.b-list li { margin: var(--p) 0; }
.b-line { display: flex; align-items: center; flex-wrap: wrap; gap: calc(var(--p) * 2); }
.b-note, .b-counter { font-family: var(--display); font-size: 10px; }
.rhombs { display: inline-flex; flex-wrap: wrap; gap: var(--p); }
.rhomb { width: calc(var(--p) * 5); height: calc(var(--p) * 5); }

/* Редактор */
.block.editing { padding: calc(var(--p) * 2); box-shadow: 0 0 0 var(--p) var(--lilac); background: var(--white); }
.ed-head, .ed-line, .ed-add { display: flex; align-items: center; flex-wrap: wrap; gap: calc(var(--p) * 2); }
.ed-head .ed-input { flex: 1; min-width: calc(var(--p) * 30); }
.ed-input {
    font: inherit;
    font-size: 16px;
    color: var(--ink);
    background: var(--white);
    border: 0;
    padding: var(--p) calc(var(--p) * 2);
    box-shadow: 0 0 0 var(--p) var(--purple);
    margin: var(--p) 0;
    width: 100%;
    resize: vertical;
}
.ed-line .ed-input { width: auto; flex: 1; min-width: calc(var(--p) * 14); }
.ed-line .ed-input[type="number"] { flex: none; width: calc(var(--p) * 22); }
.ed-input:focus { outline: none; box-shadow: 0 0 0 var(--p) var(--line); }
.ed-cap { font-size: 15px; color: var(--line); }
.ed-icon { min-width: calc(var(--p) * 11); padding: var(--p); font-size: 15px; }
.ed-danger { background: #ff9fa6; }
.ed-new { align-self: flex-start; font-size: 15px; }
.entry-fields { flex: 1; display: flex; flex-direction: column; }
.mastery-picker { display: flex; gap: var(--p); }
.mastery-cell { border: 0; background: none; padding: var(--p); cursor: pointer; }
.mastery-cell img { width: calc(var(--p) * 5); height: calc(var(--p) * 5); }

/* --- Анкеты --- */
.profile-section.anketa-open :is(#view-profile, #profile-tools) { display: none; }
.profile-section:not(.anketa-open) #anketa-view { display: none; }
/* Прокрутка к началу экрана (scrollIntoView) — с тем же отступом, что у .app: в мобильном VK верх иначе уезжает под капсулу «••• ✕» */
.anketa-view, .ank-quiz, #view-profile, .admin-decide { scroll-margin-top: calc(var(--p) * 5 + var(--vk-top) + env(safe-area-inset-top)); }
.anketa-view { display: flex; flex-direction: column; gap: calc(var(--p) * 5); min-height: 100svh; }
.anketa-view.waiting { min-height: 0; }
.anketa-view .ank-form { flex: 1; }          /* панель Паппи всегда у нижнего края, даже на короткой странице */
.ank-head { padding: calc(var(--p) * 4); display: flex; flex-direction: column; gap: calc(var(--p) * 3); }
.ank-note { margin: 0; font-size: 15px; color: var(--line); }
.ank-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(var(--p) * 2); }
.ank-steps .pbtn { padding-left: var(--p); padding-right: var(--p); font-size: 15px; }
.ank-form { display: flex; flex-direction: column; gap: calc(var(--p) * 5); }
.ank-rules { font-size: 15px; color: var(--line); word-break: break-all; }
.ank-field { padding: calc(var(--p) * 4); display: flex; flex-direction: column; gap: calc(var(--p) * 2); }
.ank-field.missing { box-shadow:
    0 calc(var(--p) * -1) 0 0 var(--red), 0 var(--p) 0 0 var(--red),
    calc(var(--p) * -1) 0 0 0 var(--red), var(--p) 0 0 0 var(--red),
    inset 0 0 0 var(--p) #ffd1dc; }
/* Пропущенный пункт подсвечен и плавно «дышит» — без тряски */
.ank-field.missing { animation: ankBreathe 2.4s ease-in-out 2; }
@keyframes ankBreathe { 50% { background-color: #ffe4ec; } }
@media (prefers-reduced-motion: reduce) { .ank-field.missing { animation: none; } }
.ank-label { display: flex; gap: calc(var(--p) * 3); align-items: baseline; }
.ank-num {
    flex: none;
    min-width: calc(var(--p) * 9);
    padding: 0 var(--p);
    text-align: center;
    background: var(--lavender);
    font-family: var(--display);
    font-size: 9px;
    line-height: calc(var(--p) * 7);
    box-shadow: 0 0 0 var(--p) var(--line);
}
.ank-hint { font-size: 15px; color: var(--line); }
.ank-input { font-size: 17px; }
.ank-meter { font-size: 15px; color: var(--red); text-align: right; }
.ank-meter.ok { color: var(--green); }
.ank-choice { display: flex; gap: calc(var(--p) * 3); }
.ank-choice .pbtn { min-width: calc(var(--p) * 22); }
.ank-ars { display: grid; grid-template-columns: calc(var(--p) * 28) 1fr 1fr; gap: calc(var(--p) * 2); }
.ank-ars .ed-input { margin: 0; }
.ank-ars input[placeholder="Своя раса"] { grid-column: 1 / -1; }
@media (max-width: 400px) { .ank-ars { grid-template-columns: 1fr 1fr; } .ank-ars input[type="number"] { grid-column: 1 / -1; } }
.ank-sub { font-size: 15px; color: var(--line); margin-top: var(--p); }
.ank-age { max-width: calc(var(--p) * 40); }
.ank-races { display: flex; flex-wrap: wrap; gap: calc(var(--p) * 3); padding: var(--p); }
.ank-race { font-size: 15px; padding: var(--p) calc(var(--p) * 3); }
.ank-image { display: flex; flex-direction: column; align-items: flex-start; gap: calc(var(--p) * 2); }
.ank-image label { cursor: pointer; }
.ank-preview img { max-width: 100%; max-height: calc(var(--p) * 80); image-rendering: auto; box-shadow: 0 0 0 var(--p) var(--lilac); }
.ank-actions { display: flex; }
.ank-actions .play { flex: 1; font-size: 15px; }
/* Шаг «Лор»: вопросы Паппи и проверка */
.ank-asks { display: flex; flex-wrap: wrap; gap: calc(var(--p) * 3); padding: var(--p); }
.ank-ask { font-size: 15px; padding: var(--p) calc(var(--p) * 3); text-align: left; }
.ank-lore-actions { display: flex; flex-wrap: wrap; gap: calc(var(--p) * 3); }
.ank-lore-actions:empty { display: none; }
.ank-articles { display: flex; flex-wrap: wrap; gap: var(--p) calc(var(--p) * 4); font-size: 15px; }
.ank-articles a { color: var(--line); }
.ank-quiz { display: flex; flex-direction: column; gap: calc(var(--p) * 5); }
.ank-options { display: flex; flex-direction: column; gap: calc(var(--p) * 2); padding: var(--p); }
.ank-option { font-size: 15px; text-align: left; padding: calc(var(--p) * 2) calc(var(--p) * 3); }
.ank-option.wrong { background: #ffd1dc; text-decoration: line-through; }
.ank-option:disabled { cursor: default; }
.ank-option:disabled:not([aria-pressed="true"]):not(.wrong) { opacity: 0.55; }
.ank-option[aria-pressed="true"] { background: #bfe8cf; }
.ank-field.solved .ank-num { background: #bfe8cf; }
/* На шаге «Лор» ответы Паппи длинные — пузырь выше */
.ank-dock.long .ank-text { max-height: min(13em, 34svh); }
.ank-done { padding: calc(var(--p) * 5); display: flex; flex-direction: column; gap: calc(var(--p) * 3); align-items: flex-start; }
/* Экран ожидания непринятого: своя анкета только для чтения */
.ank-waiting p { margin: 0; }
.ank-mine { align-self: stretch; }
.ank-mine summary { cursor: pointer; font-size: 15px; color: var(--line); }
.ank-mine-row { display: flex; flex-direction: column; gap: var(--p); margin-top: calc(var(--p) * 4); }
.ank-mine-text { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.pending { display: flex; flex-direction: column; gap: calc(var(--p) * 3); }
.pending:empty { display: none; }
.pending-row { padding: calc(var(--p) * 3); display: flex; flex-direction: column; gap: var(--p); }

/* Паппи-комментатор: прилипает к низу экрана */
.ank-dock {
    position: sticky;
    bottom: 0;
    z-index: 6;
    display: flex;
    align-items: flex-end;
    gap: calc(var(--p) * 2);
    margin: 0 calc(var(--p) * -5) calc(var(--p) * -10);
    padding: calc(var(--p) * 3) calc(var(--p) * 4) calc(var(--p) * 3 + env(safe-area-inset-bottom));
    background-color: #2a1e4a;
    background-image: conic-gradient(#2a1e4a 25%, #32245a 0 50%, #2a1e4a 0 75%, #32245a 0);
    background-size: calc(var(--p) * 2) calc(var(--p) * 2);
    box-shadow: 0 calc(var(--p) * -1) 0 0 var(--line);
}
.ank-dock .ank-stage { flex: none; cursor: pointer; --s: 1; }
.ank-bubble { flex: 1; min-width: 0; padding: calc(var(--p) * 5) calc(var(--p) * 4) calc(var(--p) * 3); align-self: stretch; }
.ank-text { margin: 0; font-size: 16px; line-height: 1.3; min-height: 3.9em; max-height: 6.5em; overflow-y: auto; scrollbar-width: none; }
.ank-text::-webkit-scrollbar { display: none; }
.ank-text { cursor: pointer; }
/* Не влезло — подсказка; тап раскрывает реплику целиком */
.ank-bubble.more::after {
    content: "▲ весь текст";
    position: absolute;
    right: calc(var(--p) * 3);
    bottom: var(--p);
    padding: 0 var(--p);
    font-size: 12px;
    color: var(--line);
    background: var(--cream);
    pointer-events: none;
}
.ank-dock.open .ank-text { max-height: min(60svh, 40em); overflow-y: auto; }
.ank-dock.open .ank-bubble.more::after { display: none; }
.ank-hide { position: absolute; top: calc(var(--p) * -4); right: calc(var(--p) * 3); min-width: calc(var(--p) * 9); font-size: 12px; padding: 0; }
.ank-dock.collapsed .ank-bubble { display: none; }
.ank-dock.collapsed { padding-top: var(--p); }
/* На широком экране Паппи — не полоса на всю ширину с одной строчкой, а угол справа снизу, текст крупнее */
@media (min-width: 860px) {
    .ank-dock { margin: 0; align-self: flex-end; width: min(100%, calc(var(--p) * 150)); box-shadow: 0 0 0 var(--p) var(--line); }
    .ank-text { font-size: 18px; max-height: 7.8em; }
}

/* --- Мини-новелла --- */
.intro {
    position: fixed;
    inset: 0;
    z-index: 40;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: calc(var(--p) * 4);
    padding: calc(var(--p) * 6) calc(var(--p) * 5) calc(var(--p) * 8 + env(safe-area-inset-bottom));
    background-color: #2a1e4a;
    background-image: conic-gradient(#2a1e4a 25%, #32245a 0 50%, #2a1e4a 0 75%, #32245a 0);
    background-size: calc(var(--p) * 2) calc(var(--p) * 2);
    animation: introIn 0.5s steps(5) both;
    cursor: pointer;
}
.intro.closing { animation: introOut 0.4s steps(4) both; }
@keyframes introIn { from { opacity: 0; } }
@keyframes introOut { to { opacity: 0; } }
body.intro-open { overflow: hidden; }
.intro-skip { position: absolute; z-index: 2; top: calc(var(--p) * 5 + var(--vk-top) + env(safe-area-inset-top)); right: calc(var(--p) * 5); font-size: 15px; }
.intro-pappy {
    width: calc(var(--p) * var(--w) * var(--s));
    height: calc(var(--p) * var(--h) * var(--s));
    animation: introBob 1.2s steps(1) infinite;
}
.intro-pappy.talking { animation-duration: 0.36s; }
.intro-stage { position: relative; --s: 1; }
/* Эмодзи всплывает справа над головой: ступенчато «выпрыгивает» и покачивается */
.intro-emoji {
    position: absolute;
    right: calc(var(--p) * -4 * var(--s));
    top: calc(var(--p) * -8 * var(--s));
    width: calc(var(--p) * 10 * var(--s));
    height: calc(var(--p) * 10 * var(--s));
}
.intro-emoji.pop { animation: emojiPop 0.3s steps(3) both, emojiFloat 0.8s steps(1) 0.3s infinite; }
@keyframes emojiPop { from { transform: translateY(calc(var(--p) * 4)) scale(0.4); } }
@keyframes emojiFloat { 50% { transform: translateY(calc(var(--p) * -1)); } }
@keyframes introBob { 50% { transform: translateY(calc(var(--p) * -1)); } }
@media (min-width: 360px) and (min-height: 620px) { .intro-stage { --s: 2; } }
/* Гость (Отец, Юрий) выходит слева от Паппи; на узком экране Паппи уменьшается, чтобы оба влезли */
.intro-stage { display: flex; align-items: flex-end; }
/* Низ рубашки уходит под окно реплики, как в визуальной новелле */
.intro-guest {
    position: relative;
    z-index: 0;
    margin-right: calc(var(--p) * -6);
    margin-bottom: calc(var(--p) * -12);
    animation: guestIn 0.5s steps(5) both;
}
.intro-guest img { display: block; width: calc(var(--p) * var(--fw)); height: calc(var(--p) * var(--fh)); }
.intro-box { position: relative; z-index: 1; }
.intro-guest.leaving { animation: guestOut 0.3s steps(3) both; }
.intro-guest-name {
    position: absolute;
    left: 0;
    top: calc(var(--p) * 4);
    padding: var(--p) calc(var(--p) * 3);
    background: var(--yellow);
    color: var(--ink);
    font-family: var(--display);
    font-size: 10px;
    white-space: nowrap;
    box-shadow: 0 0 0 var(--p) var(--line);
}
.intro-pappy { position: relative; z-index: 1; }
@keyframes guestIn { from { opacity: 0; transform: translateX(calc(var(--p) * -16)); } }
@keyframes guestOut { to { opacity: 0; transform: translateX(calc(var(--p) * -16)); } }
/* На узком экране Паппи уменьшается и заходит Отцу на плечо, чтобы оба влезли по ширине */
@media (max-width: 599px) {
    .intro-stage.guest-on { --s: 1; }
    .intro-guest { margin-right: min(calc(var(--p) * -6), calc(100vw - var(--p) * 10 - var(--p) * (var(--fw) + 52))); }
}
.intro-box { width: 100%; max-width: calc(var(--p) * 140); padding: calc(var(--p) * 6) calc(var(--p) * 5) calc(var(--p) * 5); }
.intro-name {
    position: absolute;
    top: calc(var(--p) * -4);
    left: calc(var(--p) * 4);
    padding: var(--p) calc(var(--p) * 3);
    background: var(--pink);
    font-family: var(--display);
    font-size: 10px;
    box-shadow: 0 0 0 var(--p) var(--line);
}
.intro-text { margin: 0; min-height: 4.2em; font-size: 20px; line-height: 1.35; }
/* Паппи и его реплики не выделяются и не перетаскиваются: в новелле по ним кликают, чтобы листать */
:is(.intro, .ank-dock, .pappy-corner-stage, .pappy-corner-text, .boot-pappy, .intro-pappy, .intro-emoji) { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
:is(.intro-pappy, .intro-emoji, .boot-pappy) { -webkit-user-drag: none; }
.intro-more { position: absolute; right: calc(var(--p) * 5); bottom: calc(var(--p) * 3); transform: rotate(90deg); animation: blink 0.8s steps(1) infinite; }

[hidden] { display: none !important; }

.visually-hidden {
    position: absolute; width: 1px; height: 1px; overflow: hidden;
    clip: rect(0 0 0 0); white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
    .bulbs span, .lcd.good, .reel.hit, .machine.shake, .balance.bump { animation: none !important; }
}

/* --- ЧиллСтоун (chillstone.js, графика — chillstone-ui-art.js) ---
   Игра открывается на весь экран поверх приложения: верхняя полоса, тело экрана по высоте окна, разделы снизу (на ПК — сверху).
   Шрифты только в «родных» размерах (у Tiny5 и Press Start 2P пиксель = 1/8 em): Tiny5 16 / 24 / 32, Press Start 8 / 16.
   Портреты 96×96 из сетки 48: показ 48 / 96 / 192 — целые кратные. Остальное — по сетке --p. */
.stone-section, .cs-summon { --art: 96px; --u: 72px; --fs: 16px; --fs-l: 24px; --fs-h: 24px;
    --k: #1d1830; --night: #15102a; --stone: #2f2448; --stone2: #2a2040; --edge: #4a3a6e; --txt: #efe6ff; --dim: #a796cc; --gold: #ffd96b; --pink: #f4b4e3; --red: #ff7a98; --green: #7fe0a8;
    font-size: var(--fs); line-height: 1.25; color: var(--txt); }
.cs-summon img { image-rendering: pixelated; }
body[data-view="stone"] { overflow: hidden; }
body[data-view="stone"] #stone-section { position: fixed; inset: 0; z-index: 40; display: block;
    background-color: var(--night); background-image: conic-gradient(var(--night) 25%, #19132f 0 50%, var(--night) 0 75%, #19132f 0); background-size: calc(var(--p) * 2) calc(var(--p) * 2); }
.stone-section img { image-rendering: pixelated; }
:where(.stone-section) button { font: inherit; color: inherit; }
/* Игра подгружается при первом открытии (ChillBoot.need) */
.game-loading { min-height: 70vh; display: grid; place-items: center; padding: calc(var(--p) * 6) 16px; color: var(--ink); }
/* Плитка ЧиллСтоуна в «Мини-играх»: мерцающая рамка новинки */
.game-card.is-fresh { animation: csFresh 1.4s steps(1) infinite; }
.game-card.is-fresh .game-badge { background: var(--yellow); }
@keyframes csFresh { 50% { box-shadow: 0 calc(var(--p) * -1) 0 0 #ffd96b, 0 var(--p) 0 0 #ffd96b, calc(var(--p) * -1) 0 0 0 #ffd96b, var(--p) 0 0 0 #ffd96b, inset var(--p) var(--p) 0 0 var(--white), 0 0 0 calc(var(--p) * 2) var(--line); } }


/* --- РомЧиллКом (romcom.js, графика — romcom-art.js) ---
   Холсты — целым масштабом --rs (его ставит romcom.js), текст только 8/16/24 px. */
body:not([data-view="romcom"]) #romcom-section { display: none; }
body[data-view="romcom"] { overflow: hidden; }
body[data-view="romcom"] #romcom-section { position: fixed; inset: 0; z-index: 40; display: block; overflow: hidden;
    --rs: 2px; --k: #15102a; --deep: #221a3d; --edge: #4b3f72; --txt: #f4ecff; --dim: #a796cc; --pink: #ff8fb8; --gold: #ffd96b;
    background: var(--k); color: var(--txt); font-family: Tiny5, monospace; font-size: 16px; line-height: 1.25; user-select: none; }
