.vk-game {
    --vk-ink: #2b211c;
    --vk-ink-soft: #5f5043;
    --vk-paper: #d9c89e;
    --vk-paper-light: #eadfbe;
    --vk-paper-deep: #b79b68;
    --vk-wine: #742b3b;
    --vk-wine-deep: #4e1723;
    --vk-moss: #44563f;
    --vk-moss-light: #718069;
    --vk-night: #17242c;
    --vk-night-soft: #263943;
    --vk-gold: #ae8952;
    --vk-purple: #6a3f74;
    --vk-purple-deep: #38213f;
    --vk-danger: #7a2e2e;
    --vk-shadow: rgba(9, 15, 18, .36);
    position: relative;
    isolation: isolate;
    box-sizing: border-box;
    width: min(100%, 760px);
    min-height: 720px;
    margin: clamp(12px, 3vw, 36px) auto;
    overflow: hidden;
    color: var(--vk-ink);
    font-family: Georgia, "Times New Roman", "Noto Serif", serif;
    background:
        radial-gradient(circle at 15% 0%, rgba(167, 192, 179, .18), transparent 28%),
        radial-gradient(circle at 90% 90%, rgba(105, 57, 72, .2), transparent 36%),
        linear-gradient(145deg, #2b3b43, var(--vk-night) 65%);
    border: 1px solid rgba(234, 223, 190, .14);
    border-radius: 28px;
    box-shadow: 0 26px 72px var(--vk-shadow);
}

.vk-game *,
.vk-game *::before,
.vk-game *::after {
    box-sizing: inherit;
}

.vk-game [hidden] {
    display: none !important;
}

.vk-game button,
.vk-game select,
.vk-game a {
    font: inherit;
}

.vk-game a {
    color: inherit;
}

.vk-game__ambient {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(120deg, transparent 0 42%, rgba(255, 255, 255, .035) 48%, transparent 54%),
        repeating-linear-gradient(90deg, transparent 0 47px, rgba(255, 255, 255, .018) 48px, transparent 49px);
    opacity: .65;
}

.vk-game__book {
    position: relative;
    width: calc(100% - clamp(14px, 3vw, 28px));
    min-height: 690px;
    margin: clamp(7px, 1.5vw, 14px);
    overflow: hidden;
    background:
        radial-gradient(circle at 48% -8%, rgba(255, 255, 255, .3), transparent 33%),
        linear-gradient(rgba(78, 55, 28, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(78, 55, 28, .025) 1px, transparent 1px),
        linear-gradient(145deg, var(--vk-paper-light), var(--vk-paper));
    background-size: auto, 19px 19px, 19px 19px, auto;
    border: 1px solid rgba(70, 48, 28, .58);
    border-radius: 19px;
    box-shadow:
        inset 0 0 0 5px rgba(85, 57, 28, .06),
        inset 0 0 72px rgba(82, 52, 24, .16),
        0 10px 26px rgba(0, 0, 0, .24);
}

.vk-game__book::before,
.vk-game__book::after {
    position: absolute;
    z-index: 0;
    width: 124px;
    height: 124px;
    content: "";
    border: 1px solid rgba(116, 43, 59, .19);
    transform: rotate(45deg);
    pointer-events: none;
}

.vk-game__book::before {
    top: -86px;
    left: -86px;
}

.vk-game__book::after {
    right: -86px;
    bottom: -86px;
}

.vk-game__masthead,
.vk-game__viewport,
.vk-game__footer {
    position: relative;
    z-index: 1;
}

.vk-game__masthead {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 12px;
    align-items: center;
    min-height: 76px;
    padding: 14px clamp(16px, 4vw, 28px);
    color: #f2e7c8;
    background:
        linear-gradient(90deg, rgba(255,255,255,.035), transparent 35%),
        linear-gradient(180deg, var(--vk-night-soft), var(--vk-night));
    border-bottom: 2px solid rgba(174, 137, 82, .5);
}

.vk-game__brand-mark {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: var(--vk-gold);
    border: 1px solid rgba(174, 137, 82, .72);
    border-radius: 50%;
    box-shadow: inset 0 0 0 4px rgba(174, 137, 82, .08);
}

.vk-game__brand-mark span {
    transform: translateY(-1px);
}

.vk-game__eyebrow {
    margin: 0 0 2px;
    color: rgba(242, 231, 200, .66);
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.vk-game__brand-title {
    margin: 0;
    font-size: clamp(1.15rem, 4vw, 1.55rem);
    line-height: 1.1;
}

.vk-game__icon-button {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    color: #f2e7c8;
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(242, 231, 200, .22);
    border-radius: 50%;
    cursor: pointer;
}

.vk-game__icon-button:hover {
    background: rgba(255, 255, 255, .1);
}

.vk-game__icon-button:focus-visible,
.vk-game button:focus-visible,
.vk-game a:focus-visible,
.vk-game select:focus-visible,
.vk-scene__narrative:focus-visible {
    outline: 3px solid rgba(68, 86, 63, .56);
    outline-offset: 3px;
}

.vk-game__settings {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(170px, 250px) 1fr;
    gap: 16px;
    align-items: end;
    padding: 14px clamp(16px, 4vw, 28px);
    color: #ece0c2;
    background: #24343c;
    border-bottom: 1px solid rgba(174, 137, 82, .34);
}

.vk-game__settings p {
    margin: 0;
    color: rgba(236, 224, 194, .68);
    font-size: .78rem;
    line-height: 1.45;
}

.vk-game__field {
    display: grid;
    gap: 6px;
    font-size: .78rem;
    font-weight: 700;
}

.vk-game__field select {
    width: 100%;
    min-height: 40px;
    padding: 6px 34px 6px 10px;
    color: var(--vk-ink);
    background: var(--vk-paper-light);
    border: 1px solid rgba(174, 137, 82, .8);
    border-radius: 7px;
}

.vk-game__viewport {
    min-height: 540px;
}

.vk-screen {
    min-height: 540px;
    padding: clamp(28px, 6vw, 54px) clamp(18px, 6vw, 54px);
    animation: vk-page-enter .32s ease both;
}

.vk-screen--landing,
.vk-screen--birth,
.vk-screen--result,
.vk-screen--trial,
.vk-screen--account,
.vk-screen--error {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.vk-landing__ornament {
    margin-bottom: 18px;
    color: var(--vk-wine);
    letter-spacing: .2em;
}

.vk-landing__lead {
    max-width: 580px;
    margin: 0 auto 28px;
    font-size: clamp(1rem, 3.4vw, 1.24rem);
    line-height: 1.78;
    text-wrap: balance;
}

.vk-gender {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
    max-width: 610px;
    margin: 0 0 24px;
    padding: 0;
    border: 0;
}

.vk-gender legend {
    width: 100%;
    margin-bottom: 12px;
    color: var(--vk-moss);
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.vk-gender__card {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    gap: 2px 12px;
    min-height: 112px;
    padding: 17px;
    color: var(--vk-ink);
    text-align: left;
    background:
        radial-gradient(circle at 15% 0%, rgba(255,255,255,.38), transparent 40%),
        rgba(246, 236, 209, .52);
    border: 1px solid rgba(91, 68, 42, .36);
    border-radius: 12px;
    box-shadow: 0 6px 14px rgba(72, 49, 27, .08);
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.vk-gender__card:hover {
    transform: translateY(-2px);
    border-color: rgba(116, 43, 59, .58);
}

.vk-gender__card[aria-pressed="true"] {
    background: rgba(234, 222, 187, .92);
    border-color: var(--vk-wine);
    box-shadow: inset 0 0 0 2px rgba(116, 43, 59, .16), 0 7px 18px rgba(72, 49, 27, .12);
}

.vk-gender__sigil {
    grid-row: 1 / span 2;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    color: var(--vk-wine);
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 1.35rem;
}

.vk-gender__card strong {
    font-size: 1.08rem;
}

.vk-gender__card small {
    color: var(--vk-ink-soft);
    line-height: 1.45;
}

.vk-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 11px 21px;
    color: var(--vk-ink);
    text-align: center;
    text-decoration: none;
    background: rgba(234, 223, 190, .72);
    border: 1px solid rgba(79, 57, 34, .42);
    border-radius: 8px;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.vk-button:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 8px 16px rgba(67, 44, 25, .14);
}

.vk-button:disabled {
    cursor: not-allowed;
    filter: grayscale(.5);
    opacity: .55;
}

.vk-button--primary {
    color: #fff6df;
    font-weight: 700;
    background: linear-gradient(180deg, #87384b, var(--vk-wine));
    border-color: var(--vk-wine-deep);
    box-shadow: 0 8px 18px rgba(78, 23, 35, .22);
}

.vk-button--secondary {
    color: #f6edd5;
    background: linear-gradient(180deg, #52674d, var(--vk-moss));
    border-color: #344332;
}

.vk-button--text {
    min-height: 38px;
    padding: 6px 10px;
    color: var(--vk-wine);
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.vk-birth__seal,
.vk-screen__symbol {
    display: grid;
    width: 74px;
    height: 74px;
    margin-bottom: 18px;
    place-items: center;
    color: var(--vk-wine);
    border: 1px solid currentColor;
    border-radius: 50%;
    box-shadow: inset 0 0 0 7px rgba(116, 43, 59, .07);
    font-size: 2rem;
}

.vk-screen__kicker {
    margin: 0 0 8px;
    color: var(--vk-moss);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.vk-screen h3 {
    margin: 0 0 14px;
    color: var(--vk-wine);
    font-size: clamp(1.55rem, 5.5vw, 2.5rem);
    line-height: 1.14;
    text-wrap: balance;
}

.vk-screen--birth > p:not(.vk-screen__kicker),
.vk-screen--result > p:not(.vk-screen__kicker),
.vk-screen--trial > p:not(.vk-screen__kicker),
.vk-screen--account > p:not(.vk-screen__kicker),
.vk-screen--error > p:not(.vk-screen__kicker) {
    max-width: 560px;
    margin: 0 0 22px;
    color: var(--vk-ink-soft);
    font-size: 1rem;
    line-height: 1.7;
}

.vk-birth__facts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: min(100%, 580px);
    margin: 0 0 24px;
    overflow: hidden;
    background: rgba(75, 53, 29, .18);
    border: 1px solid rgba(75, 53, 29, .18);
    border-radius: 10px;
}

.vk-birth__facts div {
    padding: 13px 9px;
    background: rgba(246, 235, 207, .62);
}

.vk-birth__facts dt,
.vk-result__summary dt {
    color: var(--vk-ink-soft);
    font-size: .68rem;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.vk-birth__facts dd,
.vk-result__summary dd {
    margin: 5px 0 0;
    font-weight: 700;
}

.vk-screen--main {
    padding: 18px clamp(14px, 4vw, 28px) 30px;
}

.vk-character {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 13px;
    align-items: center;
    margin-bottom: 14px;
    padding: 10px 12px;
    color: #f1e7ca;
    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.08), transparent 34%),
        linear-gradient(135deg, var(--vk-night-soft), var(--vk-night));
    border: 1px solid rgba(174, 137, 82, .45);
    border-radius: 12px;
}

.vk-character__portrait {
    display: grid;
    width: 56px;
    height: 64px;
    place-items: center;
    color: var(--vk-gold);
    background:
        linear-gradient(145deg, rgba(255,255,255,.09), transparent),
        #1d2b33;
    border: 1px solid rgba(174, 137, 82, .6);
    border-radius: 40% 40% 14px 14px;
    box-shadow: inset 0 -10px 20px rgba(0,0,0,.18);
}

.vk-character__portrait span {
    font-size: .72rem;
    letter-spacing: .08em;
}

.vk-character__identity p,
.vk-character__identity h3,
.vk-character__identity small {
    margin: 0;
}

.vk-character__identity p {
    color: rgba(241, 231, 202, .65);
    font-size: .72rem;
    text-transform: uppercase;
}

.vk-character__identity h3 {
    margin: 3px 0 2px;
    color: #f5e8c5;
    font-size: clamp(1.03rem, 4vw, 1.32rem);
}

.vk-character__identity small {
    color: rgba(241, 231, 202, .72);
}

.vk-route-signal {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    color: var(--vk-gold);
    border: 1px solid currentColor;
    border-radius: 50%;
    opacity: .54;
}

.vk-route-signal[data-tone="devil"],
.vk-game[data-route-tone="devil"] .vk-route-signal {
    color: #d3a6dc;
    background: rgba(106, 63, 116, .28);
    box-shadow: 0 0 18px rgba(106, 63, 116, .38);
}

.vk-game[data-route-tone="devil"] .vk-character {
    background: linear-gradient(135deg, #35283a, var(--vk-purple-deep));
    border-color: rgba(184, 123, 194, .5);
}

.vk-state {
    display: grid;
    gap: 9px;
    margin-bottom: 14px;
}

.vk-stats,
.vk-wealth {
    display: grid;
    margin: 0;
}

.vk-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
}

.vk-stats div {
    min-width: 0;
    padding: 8px 7px;
    text-align: center;
    background: rgba(245, 234, 205, .6);
    border: 1px solid rgba(79, 57, 34, .22);
    border-radius: 8px;
}

.vk-stats dt {
    overflow: hidden;
    color: var(--vk-ink-soft);
    font-size: .62rem;
    letter-spacing: .03em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.vk-stats dd {
    margin: 3px 0 0;
    color: var(--vk-moss);
    font-size: 1rem;
    font-weight: 700;
}

.vk-wealth {
    grid-template-columns: 1.3fr .8fr 1fr;
    overflow: hidden;
    color: #f3e7ca;
    background: var(--vk-moss);
    border: 1px solid #344332;
    border-radius: 8px;
}

.vk-wealth div {
    padding: 8px 10px;
    border-right: 1px solid rgba(255,255,255,.13);
}

.vk-wealth div:last-child {
    border-right: 0;
}

.vk-wealth dt {
    color: rgba(243, 231, 202, .67);
    font-size: .61rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.vk-wealth dd {
    margin: 2px 0 0;
    font-size: .83rem;
    font-weight: 700;
}

.vk-scene {
    position: relative;
    overflow: hidden;
    padding: 0 clamp(14px, 4vw, 25px) clamp(20px, 5vw, 30px);
    background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.42), transparent 34%),
        rgba(243, 232, 201, .62);
    border: 1px solid rgba(84, 58, 32, .3);
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(71, 48, 27, .12);
}

.vk-scene__illustration {
    position: relative;
    display: grid;
    height: clamp(118px, 27vw, 184px);
    margin: 0 calc(clamp(14px, 4vw, 25px) * -1) 20px;
    place-items: center;
    overflow: hidden;
    color: rgba(238, 222, 180, .9);
    background:
        radial-gradient(circle at 48% 22%, rgba(238, 222, 180, .15), transparent 24%),
        linear-gradient(160deg, #3c4e50, #1f3038 58%, #17242c);
    border-bottom: 2px solid rgba(174, 137, 82, .52);
}

.vk-scene__illustration::before,
.vk-scene__illustration::after {
    position: absolute;
    content: "";
    pointer-events: none;
}

.vk-scene__illustration::before {
    inset: 16px;
    border: 1px solid rgba(238, 222, 180, .16);
    border-radius: 50% 50% 8px 8px;
}

.vk-scene__illustration::after {
    right: 8%;
    bottom: -35px;
    left: 8%;
    height: 80px;
    background: repeating-linear-gradient(120deg, rgba(6, 13, 16, .7) 0 14px, rgba(20, 35, 40, .7) 14px 29px);
    clip-path: polygon(0 100%, 8% 20%, 18% 70%, 27% 4%, 37% 62%, 48% 18%, 58% 70%, 70% 10%, 82% 68%, 91% 26%, 100% 100%);
}

.vk-scene__illustration span {
    z-index: 1;
    display: grid;
    width: 68px;
    height: 68px;
    place-items: center;
    border: 1px solid rgba(238, 222, 180, .4);
    border-radius: 50%;
    box-shadow: 0 0 34px rgba(238, 222, 180, .08);
    font-size: 2rem;
}

.vk-scene__illustration[data-illustration*="court"] {
    background: linear-gradient(160deg, #5a3a43, #2c2b35 58%, #17242c);
}

.vk-scene__illustration[data-illustration*="forest"] {
    background: linear-gradient(160deg, #50604c, #2f4339 58%, #18282a);
}

.vk-scene__illustration[data-illustration*="village"] {
    background: linear-gradient(160deg, #675742, #3f483f 58%, #1e3033);
}

.vk-scene__illustration[data-illustration*="battle"] {
    background: linear-gradient(160deg, #6b453f, #40343a 58%, #1e2930);
}

.vk-scene__illustration[data-illustration*="devil"] {
    background: linear-gradient(160deg, #68456d, #392c42 58%, #1f1824);
}

.vk-scene__title {
    margin: 0 0 12px;
    color: var(--vk-wine);
    font-size: clamp(1.45rem, 5vw, 2.15rem);
    line-height: 1.15;
}

.vk-scene__narrative-wrap {
    position: relative;
}

.vk-scene__narrative {
    min-height: 5.2em;
    margin: 0;
    color: var(--vk-ink);
    font-size: clamp(1rem, 3vw, 1.1rem);
    line-height: 1.75;
    white-space: pre-line;
}

.vk-scene__narrative::first-letter {
    float: left;
    margin: .08em .1em 0 0;
    color: var(--vk-wine);
    font-size: 2.8em;
    font-weight: 700;
    line-height: .75;
}

.vk-scene__skip {
    position: absolute;
    right: 0;
    bottom: -22px;
    padding: 3px 7px;
    color: var(--vk-moss);
    background: transparent;
    border: 0;
    cursor: pointer;
    font-size: .72rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.vk-outcome {
    margin: 22px 0 4px;
    padding: 11px 12px;
    color: #f1e5c6;
    background: linear-gradient(135deg, #52644f, var(--vk-moss));
    border-left: 4px solid var(--vk-gold);
    border-radius: 6px;
}

.vk-outcome p {
    margin: 0;
    line-height: 1.55;
}

.vk-outcome ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
}

.vk-outcome li {
    padding: 3px 7px;
    color: #f4ebd3;
    background: rgba(255,255,255,.09);
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 99px;
    font-size: .72rem;
}

.vk-outcome li[data-direction="negative"] {
    background: rgba(80, 21, 27, .28);
}

.vk-choices {
    display: grid;
    gap: 9px;
    margin-top: 28px;
}

.vk-choice {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 11px;
    align-items: center;
    width: 100%;
    min-height: 54px;
    padding: 11px 13px;
    color: var(--vk-ink);
    text-align: left;
    background: rgba(237, 224, 190, .72);
    border: 1px solid rgba(91, 65, 37, .36);
    border-radius: 9px;
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.vk-choice:hover:not(:disabled) {
    transform: translateX(2px);
    background: rgba(244, 234, 208, .94);
    border-color: rgba(116, 43, 59, .54);
}

.vk-choice:disabled {
    cursor: wait;
    opacity: .58;
}

.vk-choice__index {
    display: grid;
    width: 27px;
    height: 27px;
    place-items: center;
    color: var(--vk-wine);
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: .73rem;
    font-weight: 700;
}

.vk-choice__arrow {
    color: var(--vk-wine);
}

.vk-result__epitaph {
    font-style: italic;
}

.vk-result__summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    width: min(100%, 600px);
    margin: 0 0 20px;
    overflow: hidden;
    text-align: left;
    background: rgba(73, 52, 30, .18);
    border: 1px solid rgba(73, 52, 30, .18);
    border-radius: 10px;
}

.vk-result__summary div {
    padding: 12px;
    background: rgba(246, 235, 207, .65);
}

.vk-result__marks {
    width: min(100%, 600px);
    margin-bottom: 22px;
    padding: 13px;
    text-align: left;
    border: 1px solid rgba(116, 43, 59, .28);
    border-radius: 10px;
}

.vk-result__marks h4 {
    margin: 0 0 8px;
    color: var(--vk-wine);
}

.vk-result__marks ul {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vk-result__marks li {
    padding: 5px 9px;
    background: rgba(116, 43, 59, .08);
    border: 1px solid rgba(116, 43, 59, .19);
    border-radius: 99px;
    font-size: .78rem;
}

.vk-screen__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.vk-game__footer {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px clamp(16px, 4vw, 28px);
    color: rgba(241, 231, 202, .7);
    background: var(--vk-night);
    border-top: 1px solid rgba(174, 137, 82, .35);
    font-size: .74rem;
}

.vk-game__footer p {
    margin: 0;
}

.vk-game__footer [data-vk-connection] {
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    background: #819477;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(129, 148, 119, .15);
}

.vk-game[data-online="false"] .vk-game__footer [data-vk-connection] {
    background: #a45b52;
    box-shadow: 0 0 0 3px rgba(164, 91, 82, .15);
}

.vk-loading {
    position: absolute;
    inset: 0;
    z-index: 8;
    display: grid;
    place-content: center;
    padding: 20px;
    color: #f1e4c3;
    text-align: center;
    background: rgba(17, 29, 35, .88);
    backdrop-filter: blur(3px);
}

.vk-loading__seal {
    display: grid;
    grid-template-columns: 36px auto 36px;
    gap: 10px;
    align-items: center;
    margin: 0 auto 14px;
    color: var(--vk-gold);
}

.vk-loading__seal span {
    height: 1px;
    background: currentColor;
    animation: vk-pulse 1.25s ease-in-out infinite alternate;
}

.vk-loading__seal b {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    animation: vk-turn 2.2s linear infinite;
}

.vk-loading p {
    margin: 0;
}

.vk-game__noscript,
.vk-game-error {
    padding: 16px;
    color: #fff1d2;
    background: #702d39;
}

.vk-game__sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.vk-game[data-busy="true"] .vk-choice {
    pointer-events: none;
}

@keyframes vk-page-enter {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes vk-pulse {
    from { opacity: .25; transform: scaleX(.72); }
    to { opacity: .95; transform: scaleX(1); }
}

@keyframes vk-turn {
    to { transform: rotate(360deg); }
}

@media (max-width: 560px) {
    .vk-game {
        min-height: 640px;
        margin: 8px auto;
        border-radius: 18px;
    }

    .vk-game__book {
        min-height: 620px;
        border-radius: 12px;
    }

    .vk-game__masthead {
        min-height: 66px;
        padding: 10px 13px;
    }

    .vk-game__brand-mark {
        width: 36px;
        height: 36px;
    }

    .vk-game__settings {
        grid-template-columns: 1fr;
        padding: 12px 14px;
    }

    .vk-screen {
        min-height: 500px;
        padding: 28px 14px;
    }

    .vk-gender {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .vk-gender__card {
        min-height: 92px;
        padding: 13px;
    }

    .vk-birth__facts {
        grid-template-columns: 1fr;
    }

    .vk-screen--main {
        padding: 12px 9px 20px;
    }

    .vk-character {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 9px;
        padding: 9px;
    }

    .vk-character__portrait {
        width: 48px;
        height: 54px;
    }

    .vk-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vk-wealth {
        grid-template-columns: 1fr;
    }

    .vk-wealth div {
        display: flex;
        justify-content: space-between;
        gap: 10px;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.13);
    }

    .vk-wealth div:last-child {
        border-bottom: 0;
    }

    .vk-wealth dd {
        margin: 0;
    }

    .vk-scene {
        padding-right: 13px;
        padding-left: 13px;
    }

    .vk-scene__illustration {
        margin-right: -13px;
        margin-left: -13px;
    }

    .vk-result__summary {
        grid-template-columns: 1fr;
    }

    .vk-screen__actions,
    .vk-screen__actions .vk-button,
    .vk-screen--landing > .vk-button {
        width: 100%;
    }

    .vk-game__footer {
        padding: 8px 12px;
    }
}

@media (max-width: 350px) {
    .vk-game {
        border-radius: 0;
    }

    .vk-game__book {
        width: calc(100% - 8px);
        margin: 4px;
    }

    .vk-game__brand-title {
        font-size: 1rem;
    }

    .vk-game__eyebrow {
        font-size: .56rem;
        letter-spacing: .08em;
    }

    .vk-character__identity small {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

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


.vk-access-status {
    margin: 0.25rem 0 1rem;
    padding: 0.6rem 0.75rem;
    border: 1px solid rgba(140, 111, 63, 0.35);
    border-radius: 0.5rem;
    background: rgba(255, 248, 224, 0.45);
    font-size: 0.9rem;
    line-height: 1.45;
}

/* Phase 16: causal ending, supreme sequence, and rebirth preview. */
.vk-result__causality,
.vk-result__rebirth,
.vk-result__supreme {
    margin: 1rem 0;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(118, 92, 62, 0.4);
    background: rgba(42, 34, 27, 0.08);
}

.vk-result__causality p,
.vk-result__rebirth p {
    margin: 0.35rem 0;
}

.vk-result__hint {
    font-style: italic;
    opacity: 0.82;
}

.vk-result__rebirth h4,
.vk-result__supreme h4 {
    margin: 0 0 0.65rem;
}

.vk-result__rebirth ul {
    margin: 0.65rem 0 0;
    padding-left: 1.25rem;
}

.vk-result__supreme {
    text-align: center;
    border-color: rgba(144, 128, 77, 0.72);
    box-shadow: inset 0 0 24px rgba(255, 239, 170, 0.12);
}

.vk-result__supreme > * {
    opacity: 0;
    transform: translateY(0.4rem);
    animation: vk-supreme-line 720ms ease forwards;
    animation-delay: calc(var(--vk-sequence, 0) * 850ms);
}

@keyframes vk-supreme-line {
    to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .vk-result__supreme > * {
        opacity: 1;
        transform: none;
        animation: none;
    }
}

/* Phase 17 — local media, audio controls and share card actions. */
.vk-game__field--inline { align-items: center; display: flex; justify-content: space-between; }
.vk-button--compact { min-height: 34px; padding: .35rem .65rem; }
.vk-game__settings input[type="range"] { accent-color: #6a2639; width: 100%; }
.vk-character__portrait,
.vk-scene__illustration { background-position: center; background-repeat: no-repeat; background-size: cover; }
.vk-character__portrait { overflow: hidden; }
.vk-character__portrait span { background: rgba(20, 39, 40, .66); border-radius: 999px; color: #f2e4c3; padding: .25rem .4rem; text-shadow: 0 1px 2px #000; }
.vk-scene__illustration { min-height: 168px; position: relative; }
.vk-scene__illustration::after { background: linear-gradient(180deg, transparent 45%, rgba(17, 29, 29, .52)); content: ""; inset: 0; pointer-events: none; position: absolute; }
.vk-scene__illustration > span { position: relative; z-index: 1; }
.vk-share-actions { display: flex; flex-wrap: wrap; gap: .55rem; justify-content: center; margin: 1rem 0; }
.vk-share-actions .vk-button { min-height: 42px; }
@media (max-width: 430px) {
    .vk-share-actions { align-items: stretch; flex-direction: column; }
    .vk-share-actions .vk-button { width: 100%; }
}


/* Plugin-owned full-screen page: keeps WordPress hooks while removing theme chrome. */
body.vk-fullscreen-game-page {
    min-width: 320px;
    min-height: 100vh;
    min-height: 100svh;
    margin: 0;
    overflow-x: hidden;
    background: #101a20;
}

body.vk-fullscreen-game-page.admin-bar {
    min-height: calc(100svh - 32px);
}

.vk-fullscreen-shell {
    display: grid;
    min-height: 100vh;
    min-height: 100svh;
    padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
    place-items: center;
    background:
        radial-gradient(circle at 12% 0%, rgba(113, 128, 105, .22), transparent 30%),
        radial-gradient(circle at 88% 100%, rgba(116, 43, 59, .22), transparent 34%),
        linear-gradient(145deg, #263943, #101a20 70%);
}

.vk-fullscreen-shell .vk-game {
    width: min(100%, 860px);
    min-height: 100svh;
    margin: 0;
    border-radius: 0;
    box-shadow: 0 0 90px rgba(0, 0, 0, .48);
}

.vk-fullscreen-shell .vk-game__book {
    min-height: calc(100svh - 14px);
}

@media (min-width: 880px) and (min-height: 780px) {
    .vk-fullscreen-shell {
        padding: 18px;
    }

    .vk-fullscreen-shell .vk-game {
        min-height: calc(100svh - 36px);
        border-radius: 28px;
    }

    .vk-fullscreen-shell .vk-game__book {
        min-height: calc(100svh - 64px);
    }
}

@media screen and (max-width: 782px) {
    body.vk-fullscreen-game-page.admin-bar {
        min-height: calc(100svh - 46px);
    }
}

/* Guest-first birth and naming flow (v1.1). */
.vk-birth__story {
    max-width: 590px;
    margin: 0 auto 16px;
    font-size: clamp(1rem, 3.2vw, 1.16rem);
    line-height: 1.75;
    text-wrap: pretty;
}

.vk-birth__prompt {
    max-width: 540px;
    margin: 0 auto 20px;
    color: var(--vk-wine-deep);
    font-style: italic;
    line-height: 1.55;
}

.vk-screen--birth[data-birth-tone="joyful"] .vk-birth__seal {
    color: var(--vk-moss);
    box-shadow: inset 0 0 0 7px rgba(68, 86, 63, .08), 0 0 24px rgba(113, 128, 105, .15);
}

.vk-screen--birth[data-birth-tone="worried"] .vk-birth__seal {
    color: var(--vk-wine);
    box-shadow: inset 0 0 0 7px rgba(116, 43, 59, .08), 0 0 24px rgba(116, 43, 59, .14);
}

.vk-name-dialog {
    width: min(calc(100vw - 28px), 520px);
    max-height: min(90vh, 640px);
    margin: auto;
    padding: 0;
    overflow: visible;
    color: var(--vk-ink, #2b211c);
    background: transparent;
    border: 0;
}

.vk-name-dialog::backdrop {
    background: rgba(10, 17, 21, .76);
    backdrop-filter: blur(4px);
}

.vk-name-dialog__form {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: clamp(24px, 6vw, 38px);
    text-align: center;
    background:
        radial-gradient(circle at 50% -5%, rgba(255,255,255,.45), transparent 34%),
        linear-gradient(145deg, var(--vk-paper-light, #eadfbe), var(--vk-paper, #d9c89e));
    border: 1px solid rgba(174, 137, 82, .88);
    border-radius: 18px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .42), inset 0 0 0 5px rgba(85, 57, 28, .055);
}

.vk-name-dialog__seal {
    display: grid;
    width: 62px;
    height: 62px;
    margin: 0 auto 14px;
    place-items: center;
    color: var(--vk-wine, #742b3b);
    border: 1px solid currentColor;
    border-radius: 50%;
    box-shadow: inset 0 0 0 6px rgba(116, 43, 59, .07);
    font-size: 1.65rem;
}

.vk-name-dialog h3 {
    margin: 0 0 12px;
    color: var(--vk-wine, #742b3b);
    font-size: clamp(1.45rem, 6vw, 2.15rem);
    line-height: 1.15;
}

.vk-name-dialog__form > p:not(.vk-screen__kicker):not(.vk-name-dialog__error) {
    margin: 0 auto 18px;
    color: var(--vk-ink-soft, #5f5043);
    line-height: 1.55;
}

.vk-name-dialog__field {
    display: grid;
    gap: 7px;
    margin-bottom: 12px;
    text-align: left;
}

.vk-name-dialog__field span {
    color: var(--vk-moss, #44563f);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.vk-name-dialog__field input {
    width: 100%;
    min-height: 52px;
    padding: 10px 14px;
    color: var(--vk-ink, #2b211c);
    font: 700 clamp(1.05rem, 4vw, 1.28rem)/1.2 Georgia, "Times New Roman", serif;
    background: rgba(255, 249, 228, .72);
    border: 1px solid rgba(79, 57, 34, .45);
    border-radius: 9px;
    box-shadow: inset 0 2px 5px rgba(72, 49, 27, .08);
}

.vk-name-dialog__field input:focus {
    outline: 3px solid rgba(68, 86, 63, .35);
    outline-offset: 2px;
    border-color: var(--vk-moss, #44563f);
}

.vk-name-dialog__error {
    margin: 0 0 12px;
    padding: 9px 11px;
    color: #681d26;
    background: rgba(255, 226, 219, .65);
    border: 1px solid rgba(122, 46, 46, .32);
    border-radius: 7px;
    font-size: .86rem;
    line-height: 1.4;
}

.vk-name-dialog .vk-button {
    width: 100%;
    margin-top: 4px;
}

.vk-character__identity [data-vk-role] {
    color: rgba(241, 231, 202, .8);
}

@media (max-width: 430px) {
    .vk-name-dialog {
        width: calc(100vw - 18px);
    }

    .vk-name-dialog__form {
        padding: 24px 18px;
        border-radius: 14px;
    }
}

/* v1.2 — conversion-oriented landing page and explicit theme isolation. */
.vk-game__brand-title {
    color: #f6e9c9 !important;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .28);
}

.vk-game__eyebrow {
    color: rgba(246, 233, 201, .72) !important;
}

.vk-screen--landing {
    display: block;
    min-height: 610px;
    padding: clamp(24px, 5vw, 46px) clamp(16px, 5vw, 42px) clamp(28px, 6vw, 52px);
    text-align: left;
    background:
        radial-gradient(circle at 18% 20%, rgba(116, 43, 59, .09), transparent 27%),
        radial-gradient(circle at 84% 8%, rgba(68, 86, 63, .10), transparent 26%);
}

.vk-landing__hero {
    display: grid;
    grid-template-columns: minmax(210px, .78fr) minmax(0, 1.35fr);
    gap: clamp(24px, 5vw, 54px);
    align-items: center;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
}

.vk-landing__fate {
    position: relative;
    display: grid;
    width: min(100%, 270px);
    aspect-ratio: 1;
    margin: 0 auto;
    place-items: center;
    color: var(--vk-wine);
    filter: drop-shadow(0 18px 22px rgba(72, 49, 27, .14));
}

.vk-landing__fate::before {
    position: absolute;
    inset: 9%;
    content: "";
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 250, 230, .75), rgba(218, 199, 154, .18) 56%, transparent 57%),
        conic-gradient(from 22deg, rgba(116, 43, 59, .07), rgba(68, 86, 63, .12), rgba(174, 137, 82, .10), rgba(116, 43, 59, .07));
    border: 1px solid rgba(116, 43, 59, .28);
    border-radius: 50%;
    box-shadow: inset 0 0 0 8px rgba(255, 248, 224, .24), inset 0 0 40px rgba(90, 62, 30, .12);
}

.vk-landing__orbit {
    position: absolute;
    border: 1px solid rgba(116, 43, 59, .28);
    border-radius: 50%;
}

.vk-landing__orbit--one {
    inset: 3%;
    animation: vk-orbit 22s linear infinite;
}

.vk-landing__orbit--two {
    inset: 19%;
    border-color: rgba(68, 86, 63, .32);
    border-style: dashed;
    animation: vk-orbit-reverse 17s linear infinite;
}

.vk-landing__orbit::before,
.vk-landing__orbit::after {
    position: absolute;
    width: 8px;
    height: 8px;
    content: "";
    background: var(--vk-gold);
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(174, 137, 82, .10);
}

.vk-landing__orbit::before {
    top: -4px;
    left: 50%;
}

.vk-landing__orbit::after {
    right: -4px;
    top: 50%;
}

.vk-landing__fate-core {
    position: relative;
    z-index: 2;
    display: grid;
    width: 94px;
    height: 112px;
    align-content: center;
    justify-items: center;
    color: #f4e7c5;
    background:
        radial-gradient(circle at 50% 18%, rgba(255,255,255,.12), transparent 34%),
        linear-gradient(160deg, var(--vk-night-soft), var(--vk-night));
    border: 1px solid rgba(174, 137, 82, .72);
    border-radius: 48% 48% 18px 18px;
    box-shadow: inset 0 -22px 28px rgba(0,0,0,.20), 0 12px 30px rgba(23, 36, 44, .28);
}

.vk-landing__fate-core span {
    color: var(--vk-gold);
    font-size: 2.5rem;
    line-height: 1;
}

.vk-landing__fate-core small {
    margin-top: 8px;
    color: rgba(244, 231, 197, .65);
    font-size: .62rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.vk-landing__fate-label {
    position: absolute;
    z-index: 3;
    padding: 5px 9px;
    color: var(--vk-ink-soft);
    background: rgba(246, 236, 209, .86);
    border: 1px solid rgba(79, 57, 34, .24);
    border-radius: 999px;
    box-shadow: 0 5px 12px rgba(72, 49, 27, .10);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .03em;
}

.vk-landing__fate-label--one { top: 8%; left: 0; }
.vk-landing__fate-label--two { top: 17%; right: -1%; }
.vk-landing__fate-label--three { right: 5%; bottom: 5%; }

.vk-landing__copy .vk-screen__kicker {
    margin-bottom: 10px;
}

.vk-landing__copy h3 {
    max-width: 470px;
    margin: 0 0 15px;
    color: var(--vk-wine);
    font-size: clamp(1.9rem, 5vw, 3rem);
    line-height: 1.04;
    letter-spacing: -.025em;
}

.vk-landing__lead {
    max-width: 520px;
    margin: 0 0 17px;
    color: var(--vk-ink-soft);
    font-size: clamp(.98rem, 2.6vw, 1.08rem);
    line-height: 1.65;
    text-wrap: pretty;
}

.vk-landing__benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 15px;
    padding: 0;
    list-style: none;
}

.vk-landing__benefits li {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    gap: 7px;
    padding: 6px 10px;
    color: var(--vk-moss);
    background: rgba(246, 236, 209, .58);
    border: 1px solid rgba(68, 86, 63, .24);
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 700;
}

.vk-landing__benefits li span {
    color: var(--vk-wine);
}

.vk-screen--landing .vk-access-status {
    width: fit-content;
    margin: 0 0 12px;
    padding: 0;
    color: var(--vk-ink-soft);
    background: transparent;
    border: 0;
    font-size: .78rem;
}

.vk-landing__cta {
    width: min(100%, 440px);
    min-height: 66px;
    justify-content: space-between;
    padding: 11px 15px 11px 18px;
    border-radius: 12px;
    box-shadow: 0 12px 25px rgba(78, 23, 35, .25), inset 0 1px 0 rgba(255,255,255,.14);
}

.vk-landing__cta-copy {
    display: grid;
    gap: 2px;
    text-align: left;
}

.vk-landing__cta-copy strong {
    font-size: clamp(1rem, 3vw, 1.14rem);
    line-height: 1.2;
}

.vk-landing__cta-copy small {
    color: rgba(255, 246, 223, .72);
    font-size: .7rem;
    font-weight: 400;
}

.vk-landing__cta-arrow {
    display: grid;
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    place-items: center;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
    font-size: 1.15rem;
    transition: transform .18s ease;
}

.vk-landing__cta:hover:not(:disabled) .vk-landing__cta-arrow {
    transform: translateX(3px);
}

.vk-landing__resume {
    display: block;
    width: fit-content;
    margin-top: 8px;
    padding-left: 0;
}

.vk-landing__promise {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    max-width: 720px;
    margin: clamp(26px, 5vw, 42px) auto 0;
    padding-top: 18px;
    border-top: 1px solid rgba(79, 57, 34, .20);
}

.vk-landing__promise > div {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    gap: 2px 8px;
    padding: 10px;
    background: rgba(246, 236, 209, .34);
    border: 1px solid rgba(79, 57, 34, .14);
    border-radius: 10px;
}

.vk-landing__promise > div > span {
    grid-row: 1 / span 2;
    color: var(--vk-wine);
    font-size: 1.1rem;
}

.vk-landing__promise strong {
    color: var(--vk-ink);
    font-size: .77rem;
}

.vk-landing__promise small {
    color: var(--vk-ink-soft);
    font-size: .68rem;
    line-height: 1.4;
}

@keyframes vk-orbit {
    to { transform: rotate(360deg); }
}

@keyframes vk-orbit-reverse {
    to { transform: rotate(-360deg); }
}

@media (max-width: 680px) {
    .vk-screen--landing {
        padding-top: 20px;
    }

    .vk-landing__hero {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .vk-landing__fate {
        width: 178px;
    }

    .vk-landing__fate-core {
        width: 70px;
        height: 82px;
    }

    .vk-landing__fate-core span {
        font-size: 1.85rem;
    }

    .vk-landing__fate-label {
        padding: 4px 7px;
        font-size: .58rem;
    }

    .vk-landing__copy {
        text-align: center;
    }

    .vk-landing__copy h3,
    .vk-landing__lead {
        margin-right: auto;
        margin-left: auto;
    }

    .vk-landing__benefits {
        justify-content: center;
    }

    .vk-screen--landing .vk-access-status,
    .vk-landing__resume {
        margin-right: auto;
        margin-left: auto;
    }

    .vk-landing__cta {
        margin-right: auto;
        margin-left: auto;
    }

    .vk-landing__promise {
        grid-template-columns: 1fr;
        margin-top: 24px;
    }

    .vk-landing__promise > div {
        text-align: left;
    }
}

@media (max-width: 430px) {
    .vk-game__masthead {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .vk-game__brand-title {
        font-size: 1.08rem;
    }

    .vk-game__eyebrow {
        overflow: hidden;
        font-size: .55rem;
        letter-spacing: .08em;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .vk-screen--landing {
        min-height: auto;
        padding: 17px 13px 28px;
    }

    .vk-landing__fate {
        width: 148px;
    }

    .vk-landing__fate-label--one { left: -8%; }
    .vk-landing__fate-label--two { right: -8%; }

    .vk-landing__copy h3 {
        font-size: clamp(1.72rem, 8.5vw, 2.2rem);
        line-height: 1.06;
    }

    .vk-landing__lead {
        font-size: .94rem;
        line-height: 1.55;
    }

    .vk-landing__benefits {
        gap: 6px;
    }

    .vk-landing__benefits li {
        min-height: 29px;
        padding: 5px 8px;
        font-size: .68rem;
    }

    .vk-landing__cta {
        min-height: 62px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vk-landing__orbit {
        animation: none;
    }
}

/* 1.6.0 — mobile-first one-screen layout and lighter visual refresh */
.vk-game {
    --vk-ink: #2f2925;
    --vk-ink-soft: #71655a;
    --vk-paper: #f6f1e7;
    --vk-paper-light: #fffdfa;
    --vk-paper-deep: #e6dbc7;
    --vk-wine: #8a3451;
    --vk-wine-deep: #63253a;
    --vk-moss: #556b5d;
    --vk-moss-light: #7e9487;
    --vk-night: #173446;
    --vk-night-soft: #22495f;
    --vk-gold: #ba9560;
    background: linear-gradient(180deg, #f8f6f1, #edf2f5 96%);
    border-color: rgba(23, 52, 70, .08);
    box-shadow: 0 24px 64px rgba(23, 52, 70, .12);
}

.vk-game__book {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    height: 100%;
    min-height: 0;
    background:
        linear-gradient(rgba(88, 71, 48, .038) 1px, transparent 1px),
        linear-gradient(90deg, rgba(88, 71, 48, .028) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(246, 241, 231, .98));
    background-size: 18px 18px, 18px 18px, auto;
    border-color: rgba(91, 73, 53, .16);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.75), 0 12px 30px rgba(20, 33, 44, .08);
}

.vk-game__masthead {
    min-height: 68px;
    padding: 10px 16px;
    color: #fff9eb;
    background: linear-gradient(90deg, #173446, #22495f 78%, #173446);
    border-bottom: 1px solid rgba(186, 149, 96, .35);
}

.vk-game__brand-title {
    color: #fff7e6 !important;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .18);
}

.vk-game__viewport {
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

.vk-screen {
    min-height: 0;
}

.vk-screen--main {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: 10px;
    height: 100%;
    min-height: 0;
    padding: 10px 12px 10px;
    overflow: hidden;
}

.vk-character {
    gap: 10px;
    margin-bottom: 0;
    padding: 8px 10px;
    background: linear-gradient(90deg, #173446, #21495f);
    border-color: rgba(186, 149, 96, .26);
    border-radius: 14px;
    box-shadow: 0 8px 18px rgba(16, 36, 48, .14);
}

.vk-character__portrait {
    width: 46px;
    height: 52px;
    border-radius: 16px 16px 12px 12px;
}

.vk-character__identity p {
    font-size: .68rem;
    letter-spacing: .04em;
}

.vk-character__identity h3 {
    margin: 2px 0 1px;
    font-size: 1.18rem;
}

.vk-character__identity small,
.vk-character__identity [data-vk-role] {
    color: rgba(255, 247, 230, .82);
    font-size: .78rem;
}

.vk-state {
    gap: 7px;
    margin-bottom: 0;
}

.vk-stats {
    gap: 6px;
}

.vk-stats div {
    padding: 6px 7px;
    background: rgba(255,255,255,.82);
    border-color: rgba(65, 84, 76, .14);
    border-radius: 10px;
}

.vk-stats dt {
    font-size: .59rem;
    letter-spacing: .04em;
}

.vk-stats dd {
    margin-top: 2px;
    font-size: .98rem;
}

.vk-wealth {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    color: #234535;
    background: linear-gradient(180deg, rgba(235,243,238,.95), rgba(222,236,228,.98));
    border-color: rgba(85,107,93,.18);
    border-radius: 12px;
}

.vk-wealth div {
    padding: 7px 8px;
    border-right-color: rgba(85,107,93,.12);
}

.vk-wealth dt {
    color: rgba(35, 69, 53, .72);
    font-size: .58rem;
}

.vk-wealth dd {
    font-size: .82rem;
    color: #234535;
}

.vk-scene {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto auto;
    min-height: 0;
    padding: 0 12px 12px;
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248, 243, 235, .96));
    border-color: rgba(95, 81, 65, .14);
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(20, 33, 44, .08);
}

.vk-scene__illustration {
    height: 76px;
    min-height: 76px;
    margin-right: -12px;
    margin-left: -12px;
    border-radius: 16px 16px 12px 12px;
}

.vk-scene__illustration::after {
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(23, 52, 70, .18));
}

.vk-screen__kicker,
.vk-scene__title {
    text-wrap: balance;
}

.vk-screen__kicker {
    margin: 10px 0 4px;
    font-size: .74rem;
}

.vk-scene__title {
    margin: 0 0 6px;
    font-size: clamp(1.12rem, 4.4vw, 1.36rem);
    line-height: 1.15;
    color: #7f304c;
}

.vk-scene__narrative-wrap {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto auto;
    min-height: 0;
    overflow: hidden;
    gap: 6px;
}

.vk-scene__narrative {
    margin: 0;
    overflow: hidden;
    font-size: .98rem;
    line-height: 1.58;
    color: #3a312c;
    text-wrap: pretty;
}

.vk-scene__narrative::first-letter {
    font-size: 2.1rem;
    line-height: .88;
    color: var(--vk-wine);
}

.vk-scene__pager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 30px;
    padding-top: 2px;
}

.vk-scene__page-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 30px;
    color: var(--vk-wine);
    background: rgba(138, 52, 81, .06);
    border: 1px solid rgba(138, 52, 81, .18);
    border-radius: 999px;
    cursor: pointer;
}

.vk-scene__page-button:disabled {
    opacity: .35;
    cursor: default;
}

.vk-scene__page-info {
    color: var(--vk-ink-soft);
    font-size: .75rem;
    letter-spacing: .04em;
}

.vk-outcome {
    margin-top: 6px;
}

.vk-choices {
    gap: 7px;
    margin-top: 8px;
}

.vk-choice {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    min-height: 52px;
    padding: 10px 11px;
    background: #fffdf9;
    border-color: rgba(127, 48, 76, .18);
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(20, 33, 44, .04);
}

.vk-choice:hover:not(:disabled) {
    transform: translateX(0);
    background: #ffffff;
    border-color: rgba(127, 48, 76, .35);
    box-shadow: 0 8px 18px rgba(20, 33, 44, .08);
}

.vk-choice__index {
    width: 26px;
    height: 26px;
    font-size: .72rem;
    color: var(--vk-wine);
    background: rgba(138, 52, 81, .05);
}

.vk-choice span:nth-child(2) {
    font-size: .94rem;
    line-height: 1.35;
    color: #3d332d;
    text-wrap: pretty;
}

.vk-choice__arrow {
    font-size: 1rem;
}

.vk-game__footer {
    min-height: 26px;
    padding: 7px 10px;
    color: rgba(255, 247, 230, .82);
    background: linear-gradient(90deg, #173446, #21495f);
}

body.vk-fullscreen-game-page,
body.vk-fullscreen-game-page .site,
body.vk-fullscreen-game-page #page {
    overflow: hidden;
}

.vk-fullscreen-shell {
    background: linear-gradient(180deg, #f3f5f6, #e7edf1 100%);
}

.vk-fullscreen-shell .vk-game {
    min-height: 100svh;
    min-height: 100dvh;
    border-radius: 0;
}

.vk-fullscreen-shell .vk-game__book {
    min-height: calc(100svh - 10px);
    min-height: calc(100dvh - 10px);
}

@media (max-width: 560px) {
    .vk-game {
        min-height: 100svh;
        min-height: 100dvh;
        margin: 0 auto;
        border-radius: 0;
    }

    .vk-game__book {
        width: 100%;
        min-height: 100svh;
        min-height: 100dvh;
        margin: 0;
        border-radius: 0;
    }

    .vk-game__masthead {
        min-height: 60px;
        padding: 9px 12px;
    }

    .vk-game__brand-mark {
        width: 34px;
        height: 34px;
    }

    .vk-game__viewport,
    .vk-screen--main {
        min-height: 0;
    }

    .vk-screen--main {
        padding: 8px 8px 8px;
        gap: 8px;
    }

    .vk-character {
        padding: 8px;
        gap: 8px;
    }

    .vk-character__identity h3 {
        font-size: 1.08rem;
    }

    .vk-character__identity small {
        font-size: .72rem;
    }

    .vk-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .vk-stats div {
        padding: 6px 4px;
    }

    .vk-stats dt {
        white-space: normal;
        line-height: 1.12;
        min-height: 1.8em;
    }

    .vk-wealth {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .vk-wealth div {
        display: block;
        padding: 6px 6px;
        border-bottom: 0;
    }

    .vk-wealth dd {
        margin-top: 2px;
        font-size: .77rem;
    }

    .vk-scene {
        padding: 0 10px 10px;
    }

    .vk-scene__illustration {
        height: 66px;
        min-height: 66px;
        margin-right: -10px;
        margin-left: -10px;
    }

    .vk-screen__kicker {
        margin: 8px 0 3px;
        font-size: .7rem;
    }

    .vk-scene__title {
        margin-bottom: 4px;
        font-size: 1.05rem;
    }

    .vk-scene__narrative {
        font-size: .95rem;
        line-height: 1.5;
    }

    .vk-scene__narrative::first-letter {
        font-size: 1.8rem;
    }

    .vk-choice {
        min-height: 48px;
        padding: 9px 10px;
    }

    .vk-choice span:nth-child(2) {
        font-size: .9rem;
    }
}

/* 1.6.0 — refined manuscript UI: neutral palette, compact top bar, cleaner mobile layout */
.vk-game {
    --vk-ink: #1f1c19;
    --vk-ink-soft: #6f665e;
    --vk-paper: #f7f4ee;
    --vk-paper-light: #fffdfa;
    --vk-paper-deep: #ece6dd;
    --vk-wine: #8a3451;
    --vk-wine-deep: #61273a;
    --vk-moss: #4e4a46;
    --vk-moss-light: #8d847d;
    --vk-night: #f7f4ee;
    --vk-night-soft: #fffdfa;
    --vk-gold: #b49266;
    color: var(--vk-ink);
    background: linear-gradient(180deg, #f9f7f2, #f2eee8);
    border-color: rgba(31, 28, 25, .08);
    box-shadow: 0 20px 56px rgba(27, 24, 22, .08);
}

.vk-game__ambient { opacity: .28; }

.vk-game__book {
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    background:
        linear-gradient(rgba(40, 32, 25, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(40, 32, 25, .028) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,244,238,.99));
    background-size: 18px 18px, 18px 18px, auto;
    border-color: rgba(31, 28, 25, .1);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.8), 0 10px 24px rgba(27, 24, 22, .06);
}

.vk-game__book::before,
.vk-game__book::after {
    width: 88px;
    height: 88px;
    border-color: rgba(138, 52, 81, .14);
}

.vk-game__masthead {
    min-height: 50px;
    gap: 10px;
    padding: 8px 12px;
    color: var(--vk-ink);
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,244,238,.98));
    border-bottom: 1px solid rgba(31, 28, 25, .08);
}

.vk-game__brand-mark {
    width: 28px;
    height: 28px;
    color: var(--vk-wine);
    background: rgba(138, 52, 81, .04);
    border-color: rgba(138, 52, 81, .28);
    box-shadow: inset 0 0 0 2px rgba(138, 52, 81, .06);
}

.vk-game__brand-copy {
    display: flex;
    align-items: center;
    min-width: 0;
}

.vk-game__eyebrow {
    margin: 0;
    color: var(--vk-ink-soft);
    font-size: .66rem;
    letter-spacing: .14em;
}

.vk-game__brand-title { display: none; }

.vk-game__icon-button {
    width: 32px;
    height: 32px;
    color: var(--vk-ink-soft);
    background: rgba(255,255,255,.85);
    border-color: rgba(31, 28, 25, .14);
}

.vk-game__settings {
    color: var(--vk-ink);
    background: rgba(255,255,255,.92);
    border-bottom-color: rgba(31, 28, 25, .08);
}

.vk-game__settings p { color: var(--vk-ink-soft); }

.vk-game__field select {
    background: #fffdfa;
    border-color: rgba(31, 28, 25, .18);
}

.vk-loading {
    color: var(--vk-ink);
    background: rgba(250, 247, 242, .88);
    backdrop-filter: blur(4px);
}

.vk-loading__seal { color: var(--vk-wine); }
.vk-loading p { font-weight: 600; }

.vk-screen--main {
    gap: 8px;
    padding: 8px;
}

.vk-character {
    position: relative;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
    padding: 8px 10px;
    margin-bottom: 0;
    color: var(--vk-ink);
    background: rgba(255,255,255,.96);
    border-color: rgba(31, 28, 25, .1);
    box-shadow: 0 4px 14px rgba(27,24,22,.04);
}

.vk-character__portrait {
    width: 42px;
    height: 48px;
    color: var(--vk-wine);
    background: linear-gradient(180deg, #fffdfa, #f3ece4);
    border-color: rgba(138, 52, 81, .22);
    box-shadow: inset 0 -6px 12px rgba(0,0,0,.04);
}

.vk-character__portrait span {
    background: rgba(138,52,81,.08);
    color: var(--vk-wine);
    text-shadow: none;
}

.vk-character__identity p {
    color: var(--vk-ink-soft);
    font-size: .64rem;
    letter-spacing: .08em;
}

.vk-character__identity h3 {
    margin: 0;
    color: var(--vk-ink);
    font-size: 1.02rem;
    line-height: 1.15;
}

.vk-character__identity small,
.vk-character__identity [data-vk-role] {
    display: block;
    margin-top: 2px;
    color: var(--vk-ink-soft);
    font-size: .76rem;
    line-height: 1.25;
}

.vk-route-signal {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    color: var(--vk-wine);
    background: rgba(138, 52, 81, .04);
    border-color: rgba(138, 52, 81, .18);
    opacity: .75;
}

.vk-game[data-route-tone="devil"] .vk-character {
    background: rgba(255, 250, 252, .97);
    border-color: rgba(138, 52, 81, .18);
}

.vk-state { gap: 6px; }

.vk-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
}

.vk-stats div,
.vk-wealth {
    background: rgba(255,255,255,.88);
    border-color: rgba(31, 28, 25, .08);
}

.vk-stats div {
    padding: 6px 4px;
    border-radius: 12px;
}

.vk-stats dt {
    color: var(--vk-ink-soft);
    font-size: .57rem;
    line-height: 1.1;
    letter-spacing: .05em;
    white-space: normal;
    min-height: 1.9em;
}

.vk-stats dd {
    color: #4f5c52;
    font-size: .92rem;
    margin-top: 2px;
}

.vk-wealth {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    color: var(--vk-ink);
    border-radius: 12px;
    overflow: hidden;
}

.vk-wealth div {
    padding: 6px 7px;
    border-right-color: rgba(31, 28, 25, .08);
}

.vk-wealth dt {
    color: var(--vk-ink-soft);
    font-size: .56rem;
}

.vk-wealth dd {
    color: var(--vk-ink);
    font-size: .82rem;
}

.vk-scene {
    grid-template-rows: auto auto auto minmax(0, 1fr) auto auto;
    padding: 0 10px 10px;
    background: rgba(255,255,255,.84);
    border-color: rgba(31, 28, 25, .08);
    box-shadow: 0 6px 18px rgba(27,24,22,.04);
}

.vk-scene__illustration {
    height: 94px;
    min-height: 94px;
    margin-right: -10px;
    margin-left: -10px;
    border-radius: 14px 14px 10px 10px;
    background-color: #f4efe7;
    background-size: cover;
}

.vk-scene__illustration::after {
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.08));
}

.vk-scene__illustration > span { display: none; }

.vk-screen__kicker {
    margin: 8px 0 2px;
    color: var(--vk-ink-soft);
    font-size: .66rem;
    letter-spacing: .12em;
}

.vk-scene__title {
    margin: 0 0 4px;
    color: var(--vk-wine);
    font-size: clamp(1.02rem, 4.8vw, 1.24rem);
    line-height: 1.1;
}

.vk-scene__narrative-wrap {
    gap: 4px;
}

.vk-scene__narrative {
    font-size: .97rem;
    line-height: 1.55;
    color: var(--vk-ink);
}

.vk-scene__narrative::first-letter {
    color: var(--vk-wine);
    font-size: 1.85rem;
}

.vk-scene__pager {
    min-height: 24px;
    padding-top: 0;
}

.vk-scene__page-button {
    min-width: 32px;
    min-height: 32px;
    color: var(--vk-wine);
    background: rgba(138, 52, 81, .04);
    border-color: rgba(138, 52, 81, .12);
}

.vk-scene__page-info {
    color: var(--vk-ink-soft);
    font-size: .72rem;
}

.vk-outcome {
    margin-top: 4px;
    background: rgba(138, 52, 81, .04);
    border-color: rgba(138, 52, 81, .12);
}

.vk-choices {
    gap: 6px;
    margin-top: 6px;
}

.vk-choice {
    min-height: 46px;
    padding: 8px 10px;
    gap: 8px;
    align-items: center;
    background: rgba(255,255,255,.94);
    border-color: rgba(138, 52, 81, .14);
    box-shadow: none;
}

.vk-choice:hover:not(:disabled) {
    background: #fffdfa;
    border-color: rgba(138, 52, 81, .3);
    box-shadow: 0 4px 12px rgba(27,24,22,.04);
}

.vk-choice__index {
    width: 24px;
    height: 24px;
    color: var(--vk-wine);
    background: rgba(138,52,81,.04);
}

.vk-choice span:nth-child(2) {
    font-size: .89rem;
    line-height: 1.28;
    color: var(--vk-ink);
}

.vk-choice__arrow { color: var(--vk-wine); }

.vk-game__footer {
    min-height: 22px;
    padding: 6px 9px;
    color: var(--vk-ink-soft);
    background: rgba(255,255,255,.9);
    border-top: 1px solid rgba(31, 28, 25, .08);
}

.vk-fullscreen-shell {
    background: linear-gradient(180deg, #f7f4ee, #efebe5);
}

@media (max-width: 560px) {
    .vk-game,
    .vk-game__book {
        min-height: 100svh;
        min-height: 100dvh;
    }

    .vk-game__masthead {
        min-height: 44px;
        padding: 6px 10px;
    }

    .vk-game__eyebrow { font-size: .62rem; }

    .vk-screen--main {
        padding: 6px;
        gap: 6px;
    }

    .vk-character {
        padding: 7px 8px;
        border-radius: 14px;
    }

    .vk-character__portrait {
        width: 38px;
        height: 44px;
    }

    .vk-character__identity h3 { font-size: .98rem; }
    .vk-character__identity small,
    .vk-character__identity [data-vk-role] { font-size: .72rem; }

    .vk-stats dt { font-size: .54rem; }
    .vk-stats dd { font-size: .88rem; }

    .vk-wealth dd { font-size: .76rem; }

    .vk-scene { padding: 0 8px 8px; }

    .vk-scene__illustration {
        height: 88px;
        min-height: 88px;
        margin-right: -8px;
        margin-left: -8px;
    }

    .vk-screen__kicker {
        margin-top: 7px;
        font-size: .64rem;
    }

    .vk-scene__title {
        font-size: 1rem;
        margin-bottom: 3px;
    }

    .vk-scene__narrative {
        font-size: .94rem;
        line-height: 1.5;
    }

    .vk-choice {
        min-height: 44px;
        padding: 8px 9px;
    }

    .vk-choice span:nth-child(2) { font-size: .86rem; }
}

/* 1.6.0 — keep mobile choice targets accessible after the compact layout. */
@media (max-width: 560px) {
    .vk-choice { min-height: 50px; }
}

/* 1.6.0 — portrait-card manuscript interface inspired by the supplied reference */
.vk-game {
    --vk-ref-ink: #2e2925;
    --vk-ref-muted: #786e65;
    --vk-ref-paper: #fffdf9;
    --vk-ref-line: #e8ded2;
    --vk-ref-gold: #b58a4c;
    --vk-ref-blue: #314b6b;
    --vk-ref-green: #60785b;
    --vk-ref-wine: #8c3850;
    --vk-ref-shadow: 0 6px 16px rgba(45, 37, 30, .08);
    background: #fbfaf7;
}

.vk-game[data-screen="main"] .vk-game__masthead,
.vk-game[data-screen="main"] .vk-game__footer {
    display: none;
}

.vk-game[data-screen="main"] .vk-game__book {
    grid-template-rows: minmax(0, 1fr);
}

.vk-game[data-screen="main"] .vk-game__viewport {
    height: 100%;
}

.vk-game[data-screen="main"] .vk-screen--main {
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: 9px;
    height: 100%;
    padding: 10px;
}

.vk-game[data-screen="main"] .vk-character {
    grid-template-columns: 72px minmax(0, 1fr) auto;
    min-height: 76px;
    padding: 3px 8px 5px 8px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.vk-game[data-screen="main"] .vk-character::after {
    position: absolute;
    right: 8px;
    bottom: 0;
    left: 80px;
    height: 1px;
    content: "";
    background: linear-gradient(90deg, rgba(181,138,76,.5), rgba(181,138,76,0));
}

.vk-game[data-screen="main"] .vk-character__portrait {
    width: 66px;
    height: 66px;
    border: 2px solid #fff;
    border-radius: 50%;
    background-color: #f4eee5;
    box-shadow:
        0 0 0 1px var(--vk-ref-gold),
        0 4px 12px rgba(45,37,30,.12);
}

.vk-game[data-screen="main"] .vk-character__portrait span {
    display: none;
}

.vk-game[data-screen="main"] .vk-character__identity {
    display: grid;
    align-self: center;
    min-width: 0;
}

.vk-game[data-screen="main"] .vk-character__identity p {
    order: 3;
    margin-top: 5px;
    color: var(--vk-ref-muted);
    font-size: .72rem;
    letter-spacing: .02em;
    text-transform: none;
}

.vk-game[data-screen="main"] .vk-character__identity h3 {
    order: 1;
    margin: 0;
    color: var(--vk-ref-ink);
    font-size: clamp(1.28rem, 5.6vw, 1.58rem);
    font-weight: 700;
    line-height: 1.05;
}

.vk-game[data-screen="main"] .vk-character__identity h3::after {
    margin-left: 8px;
    color: var(--vk-ref-gold);
    content: "❧";
    font-size: .75em;
    font-weight: 400;
}

.vk-game[data-screen="main"] .vk-character__identity small,
.vk-game[data-screen="main"] .vk-character__identity [data-vk-role] {
    order: 2;
    margin-top: 4px;
    color: var(--vk-ref-muted);
    font-size: .78rem;
    line-height: 1.2;
}

.vk-game[data-screen="main"] .vk-route-signal {
    position: static;
    align-self: center;
    width: 30px;
    height: 30px;
    color: var(--vk-ref-gold);
    background: #fff;
    border-color: rgba(181,138,76,.3);
}

.vk-game[data-screen="main"] .vk-state {
    gap: 9px;
}

.vk-game[data-screen="main"] .vk-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
}

.vk-game[data-screen="main"] .vk-stats > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 5px;
    align-items: center;
    min-width: 0;
    min-height: 44px;
    padding: 7px 8px;
    text-align: left;
    background: rgba(255,255,255,.96);
    border: 1px solid var(--vk-ref-line);
    border-radius: 9px;
    box-shadow: 0 2px 8px rgba(45,37,30,.035);
}

.vk-game[data-screen="main"] .vk-stat__icon {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    color: var(--vk-ref-gold);
    font-size: .95rem;
}

.vk-game[data-screen="main"] .vk-stats dt {
    min-height: 0;
    overflow: hidden;
    color: var(--vk-ref-ink);
    font-size: .69rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    text-overflow: ellipsis;
    text-transform: none;
    white-space: nowrap;
}

.vk-game[data-screen="main"] .vk-stats dd {
    margin: 0;
    color: var(--vk-ref-ink);
    font-size: .76rem;
    font-weight: 700;
}

.vk-game[data-screen="main"] .vk-stats > div[data-stat-id="health"] .vk-stat__icon { color: #b5424c; }
.vk-game[data-screen="main"] .vk-stats > div[data-stat-id="reputation"] .vk-stat__icon { color: var(--vk-ref-blue); }
.vk-game[data-screen="main"] .vk-stats > div[data-stat-id="skill"] .vk-stat__icon { color: var(--vk-ref-gold); }
.vk-game[data-screen="main"] .vk-stats > div[data-stat-id="influence"] .vk-stat__icon { color: var(--vk-ref-green); }

.vk-game[data-screen="main"] .vk-wealth {
    position: relative;
    display: grid;
    grid-template-columns: 1.6fr .7fr .7fr;
    min-height: 52px;
    color: var(--vk-ref-ink);
    background:
        radial-gradient(circle at 90% 50%, rgba(181,138,76,.08), transparent 24%),
        linear-gradient(180deg, #fffefa, #fbf7f0);
    border: 1px solid rgba(181,138,76,.55);
    border-radius: 11px;
    box-shadow: 0 4px 12px rgba(45,37,30,.07), inset 0 0 0 3px rgba(181,138,76,.035);
}

.vk-game[data-screen="main"] .vk-wealth::before {
    position: absolute;
    top: 50%;
    left: 11px;
    color: var(--vk-ref-gold);
    content: "♜";
    font-size: 1.15rem;
    transform: translateY(-50%);
}

.vk-game[data-screen="main"] .vk-wealth::after {
    position: absolute;
    right: 10px;
    bottom: 3px;
    color: rgba(181,138,76,.3);
    content: "❧";
    font-size: 1.5rem;
}

.vk-game[data-screen="main"] .vk-wealth > div {
    display: grid;
    align-content: center;
    min-width: 0;
    padding: 7px 8px;
    border-right: 1px solid rgba(181,138,76,.13);
}

.vk-game[data-screen="main"] .vk-wealth > div:first-child {
    padding-left: 42px;
}

.vk-game[data-screen="main"] .vk-wealth > div:last-child {
    padding-right: 28px;
    border-right: 0;
}

.vk-game[data-screen="main"] .vk-wealth dt {
    color: var(--vk-ref-muted);
    font-size: .57rem;
    letter-spacing: .06em;
}

.vk-game[data-screen="main"] .vk-wealth dd {
    margin: 3px 0 0;
    color: var(--vk-ref-ink);
    font-size: .79rem;
    font-weight: 700;
}

.vk-game[data-screen="main"] .vk-wealth > div:first-child dd {
    font-size: 1rem;
    font-weight: 500;
}

.vk-game[data-screen="main"] .vk-scene {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto auto;
    min-height: 0;
    padding: 12px 10px 10px;
    overflow: hidden;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.vk-game[data-screen="main"] .vk-scene__illustration {
    display: none;
}

.vk-game[data-screen="main"] .vk-screen__kicker {
    display: none;
}

.vk-game[data-screen="main"] .vk-scene__title {
    display: none;
}

.vk-game[data-screen="main"] .vk-scene__narrative-wrap {
    position: relative;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto auto;
    min-height: 0;
    padding: 19px 18px 13px 52px;
    background:
        radial-gradient(circle at 95% 10%, rgba(181,138,76,.055), transparent 25%),
        rgba(255,255,255,.96);
    border: 1px solid var(--vk-ref-line);
    border-radius: 13px;
    box-shadow:
        0 0 0 5px rgba(255,255,255,.82),
        0 0 0 6px rgba(232,222,210,.65),
        var(--vk-ref-shadow);
}

.vk-game[data-screen="main"] .vk-scene__narrative-wrap::before {
    position: absolute;
    top: 17px;
    left: 17px;
    display: grid;
    width: 29px;
    height: 35px;
    place-items: center;
    color: var(--vk-ref-wine);
    content: "❦";
    font-size: 1.45rem;
    font-weight: 700;
    background: #fffdfa;
    border: 1px solid rgba(181,138,76,.55);
    box-shadow: inset 0 0 0 3px rgba(181,138,76,.07);
}

.vk-game[data-screen="main"] .vk-scene__narrative-wrap::after {
    position: absolute;
    right: 36%;
    bottom: -10px;
    width: 28%;
    height: 20px;
    content: "";
    opacity: .48;
    background:
        radial-gradient(ellipse at center, transparent 0 28%, rgba(181,138,76,.35) 30% 34%, transparent 36%),
        linear-gradient(90deg, transparent, rgba(181,138,76,.45), transparent) center/100% 1px no-repeat;
}

.vk-game[data-screen="main"] .vk-scene__narrative {
    margin: 0;
    overflow: hidden;
    color: var(--vk-ref-ink);
    font-size: clamp(.92rem, 3.55vw, 1.02rem);
    line-height: 1.5;
    text-align: left;
}

.vk-game[data-screen="main"] .vk-scene__narrative::first-letter {
    font-size: inherit;
    color: inherit;
}

.vk-game[data-screen="main"] .vk-scene__pager {
    margin-top: 4px;
}

.vk-game[data-screen="main"] .vk-scene__page-button {
    min-width: 30px;
    min-height: 30px;
    color: var(--vk-ref-wine);
    background: rgba(140,56,80,.035);
    border-color: rgba(140,56,80,.15);
}

.vk-game[data-screen="main"] .vk-outcome {
    margin: 8px 0 0;
    padding: 7px 10px;
    border-color: rgba(181,138,76,.22);
    background: rgba(181,138,76,.05);
}

.vk-game[data-screen="main"] .vk-choices {
    gap: 7px;
    margin-top: 11px;
}

.vk-game[data-screen="main"] .vk-choice {
    --vk-choice-tone: var(--vk-ref-blue);
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 20px;
    gap: 9px;
    align-items: center;
    min-height: 52px;
    padding: 6px 10px 6px 7px;
    color: var(--vk-ref-ink);
    background: rgba(255,255,255,.97);
    border: 1px solid color-mix(in srgb, var(--vk-choice-tone) 58%, white);
    border-radius: 11px;
    box-shadow: 0 3px 10px rgba(45,37,30,.07), inset 0 0 0 3px color-mix(in srgb, var(--vk-choice-tone) 5%, white);
}

.vk-game[data-screen="main"] .vk-choice--blue { --vk-choice-tone: #314b6b; }
.vk-game[data-screen="main"] .vk-choice--green { --vk-choice-tone: #60785b; }
.vk-game[data-screen="main"] .vk-choice--gold { --vk-choice-tone: #b58a4c; }
.vk-game[data-screen="main"] .vk-choice--wine { --vk-choice-tone: #8c3850; }

.vk-game[data-screen="main"] .vk-choice:hover:not(:disabled) {
    transform: translateY(-1px);
    background: #fff;
    border-color: var(--vk-choice-tone);
    box-shadow: 0 6px 14px rgba(45,37,30,.1), inset 0 0 0 3px color-mix(in srgb, var(--vk-choice-tone) 5%, white);
}

.vk-game[data-screen="main"] .vk-choice__index {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: #fff;
    background: var(--vk-choice-tone);
    border: 0;
    border-radius: 50%;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.16);
    font-size: 1.05rem;
}

.vk-game[data-screen="main"] .vk-choice__label {
    color: var(--vk-ref-ink);
    font-size: .9rem;
    line-height: 1.25;
    text-align: left;
}

.vk-game[data-screen="main"] .vk-choice__arrow {
    color: var(--vk-choice-tone);
    font-size: 1.8rem;
    font-weight: 300;
    line-height: 1;
}

@supports not (color: color-mix(in srgb, red, white)) {
    .vk-game[data-screen="main"] .vk-choice { border-color: rgba(181,138,76,.35); }
}

@media (max-width: 430px) {
    .vk-game[data-screen="main"] .vk-screen--main {
        gap: 7px;
        padding: 7px;
    }

    .vk-game[data-screen="main"] .vk-character {
        grid-template-columns: 62px minmax(0, 1fr) auto;
        min-height: 67px;
        padding: 2px 7px 4px;
    }

    .vk-game[data-screen="main"] .vk-character::after { left: 69px; }

    .vk-game[data-screen="main"] .vk-character__portrait {
        width: 56px;
        height: 56px;
    }

    .vk-game[data-screen="main"] .vk-character__identity h3 {
        font-size: 1.18rem;
    }

    .vk-game[data-screen="main"] .vk-character__identity p,
    .vk-game[data-screen="main"] .vk-character__identity small,
    .vk-game[data-screen="main"] .vk-character__identity [data-vk-role] {
        font-size: .69rem;
    }

    .vk-game[data-screen="main"] .vk-stats { gap: 5px; }

    .vk-game[data-screen="main"] .vk-stats > div {
        grid-template-columns: 18px minmax(0, 1fr);
        grid-template-rows: auto auto;
        gap: 1px 4px;
        min-height: 43px;
        padding: 5px;
    }

    .vk-game[data-screen="main"] .vk-stat__icon {
        grid-row: 1 / 3;
        width: 18px;
        height: 18px;
        font-size: .8rem;
    }

    .vk-game[data-screen="main"] .vk-stats dt {
        font-size: .57rem;
        white-space: nowrap;
    }

    .vk-game[data-screen="main"] .vk-stats dd {
        font-size: .72rem;
    }

    .vk-game[data-screen="main"] .vk-wealth {
        min-height: 46px;
    }

    .vk-game[data-screen="main"] .vk-wealth::before {
        left: 8px;
        font-size: 1rem;
    }

    .vk-game[data-screen="main"] .vk-wealth > div {
        padding: 5px 5px;
    }

    .vk-game[data-screen="main"] .vk-wealth > div:first-child {
        padding-left: 31px;
    }

    .vk-game[data-screen="main"] .vk-wealth > div:last-child {
        padding-right: 19px;
    }

    .vk-game[data-screen="main"] .vk-wealth dt { font-size: .52rem; }
    .vk-game[data-screen="main"] .vk-wealth dd { font-size: .68rem; }
    .vk-game[data-screen="main"] .vk-wealth > div:first-child dd { font-size: .82rem; }

    .vk-game[data-screen="main"] .vk-scene {
        padding: 8px 7px 7px;
    }

    .vk-game[data-screen="main"] .vk-scene__narrative-wrap {
        padding: 14px 12px 10px 42px;
        border-radius: 11px;
        box-shadow: 0 0 0 3px rgba(255,255,255,.82), 0 0 0 4px rgba(232,222,210,.58), 0 4px 12px rgba(45,37,30,.06);
    }

    .vk-game[data-screen="main"] .vk-scene__narrative-wrap::before {
        top: 13px;
        left: 12px;
        width: 24px;
        height: 30px;
        font-size: 1.2rem;
    }

    .vk-game[data-screen="main"] .vk-scene__narrative {
        font-size: .9rem;
        line-height: 1.46;
    }

    .vk-game[data-screen="main"] .vk-choices {
        gap: 6px;
        margin-top: 9px;
    }

    .vk-game[data-screen="main"] .vk-choice {
        grid-template-columns: 36px minmax(0, 1fr) 16px;
        min-height: 49px;
        padding: 5px 8px 5px 6px;
    }

    .vk-game[data-screen="main"] .vk-choice__index {
        width: 34px;
        height: 34px;
        font-size: .94rem;
    }

    .vk-game[data-screen="main"] .vk-choice__label {
        font-size: .84rem;
        line-height: 1.22;
    }

    .vk-game[data-screen="main"] .vk-choice__arrow {
        font-size: 1.55rem;
    }
}
