:root {
    --color-ink: #102a43;
    --color-muted: #526f89;
    --color-paper: #f7fbff;
    --color-canvas: #dce8f3;
    --color-line: #b8cddd;
    --color-teal-900: #0d355d;
    --color-teal-700: #165b96;
    --color-teal-500: #2d82c4;
    --color-teal-200: #a8d2ec;
    --color-teal-100: #dcecf8;
    --color-plum-800: #163f6a;
    --color-plum-600: #2d6fa5;
    --color-plum-100: #dfeefa;
    --color-gold-600: #9a6c20;
    --color-gold-400: #e1b554;
    --color-gold-200: #f5e4b6;
    --color-coral: #5b91bb;
    --color-success: #25835a;
    --shadow-sm: 0 3px 12px rgb(10 47 82 / 10%);
    --shadow-md: 0 12px 30px rgb(10 47 82 / 14%);
    --shadow-lg: 0 22px 55px rgb(6 31 57 / 20%);
    --game-teal-950: #102a43;
    --game-teal-800: #0d4778;
    --game-teal-600: #267ab7;
    --game-plum-800: #173f68;
    --game-plum-600: #2d6fa5;
    --game-coral: #5b91bb;
    --game-cream: #eef5fb;
    --game-surface: rgb(247 251 255 / 96%);
    --game-line: rgb(38 102 153 / 22%);
    --game-shadow: 0 16px 38px rgb(8 43 75 / 14%);
    --bg: #dce8f3;
    --panel: #f7fbff;
    --ink: #102a43;
    --mute: #526f89;
    --line: #b8cddd;
    --en: #2d82c4;
    --btn: #165b96;
}

body { background: var(--color-canvas); }
.surface-card { border-color: #c4d6e4; background: rgb(247 251 255 / 96%); }
.field-control, .button-quiet, .icon-button { background: #f9fcff; }
.field-control:focus-within { box-shadow: 0 0 0 4px rgb(45 130 196 / 14%); }
.app-loading { background: radial-gradient(circle at 50% 35%, #f7fbff, #c9ddec 72%); }

/* Logowanie i rejestracja */
.auth-view { background: #0b2845; }
.auth-scenery { background-image: linear-gradient(90deg, rgb(5 25 46 / 88%) 0%, rgb(10 43 73 / 67%) 45%, rgb(12 45 75 / 34%) 72%, rgb(4 22 41 / 58%) 100%), linear-gradient(0deg, rgb(4 17 32 / 58%) 0%, transparent 45%), url("../images/auth-hero-realistic.webp"); }
.auth-scenery::after { background: linear-gradient(180deg, rgb(7 31 55 / 20%), transparent 32%, rgb(3 18 34 / 34%)); }
.brand-light, .feature-pills li { background: rgb(8 39 67 / 48%); }
.welcome-copy .eyebrow, .welcome-copy h1 span { color: #9ddcff; }
.feature-pills li::before { background: #70c8f5; box-shadow: 0 0 0 3px rgb(112 200 245 / 18%); }
.auth-card { border-color: rgb(202 226 243 / 78%); background: rgb(241 247 252 / 96%); box-shadow: 0 28px 80px rgb(2 17 31 / 48%); }
.auth-tabs { border-color: #bfd1df; background: #dce8f1; }
.auth-tab.is-active { color: #124f83; box-shadow: 0 3px 12px rgb(14 70 113 / 14%); }
.heading-icon { border-color: #a9c9df; background: #dceefa; color: #174f7b; }

/* Panel gracza */
.dashboard-view { background: radial-gradient(circle at 86% 4%, #b9d5e8 0, transparent 24rem), linear-gradient(180deg, #d6e4ef, #e7f0f7); }
.sidebar { border-right-color: #264c6e; background: linear-gradient(180deg, rgb(9 37 64 / 98%), rgb(12 48 80 / 98%)); box-shadow: 10px 0 32px rgb(4 24 43 / 18%); }
.sidebar .brand { color: #eef8ff; }
.sidebar .brand strong { color: #84d2fa; }
.sidebar .nav-label { color: #7fa6c4; }
.sidebar .nav-item { color: #c2d8e8; }
.sidebar .nav-item:hover { background: rgb(91 166 215 / 15%); color: #fff; }
.sidebar .nav-item.is-active { background: linear-gradient(110deg, rgb(54 132 190 / 34%), rgb(79 155 210 / 12%)); color: #fff; }
.sidebar .nav-item.is-active::before { background: #6fc9f6; }
.sidebar .nav-icon { background: rgb(255 255 255 / 10%); box-shadow: none; }
.sidebar .nav-item-play { background: linear-gradient(135deg, #1766a2, #2889c8) !important; box-shadow: 0 8px 20px rgb(2 20 36 / 28%); }
.sidebar-footer { border-top-color: rgb(164 204 231 / 19%); }
.sidebar .mini-profile-link { color: #fff; }
.sidebar .mini-profile-link:hover, .sidebar .mini-profile-link.is-active { background: rgb(93 171 221 / 17%); box-shadow: inset 0 0 0 1px rgb(137 200 239 / 18%); }
.sidebar .mini-profile small { color: #a9c5d9; }
.sidebar .mini-profile-settings { background: rgb(255 255 255 / 11%); }
.sidebar .icon-button { border-color: rgb(174 210 234 / 22%); background: rgb(255 255 255 / 9%); color: #fff; }
.topbar { border-bottom-color: #274e70; background: rgb(13 48 80 / 96%); box-shadow: 0 5px 20px rgb(5 27 48 / 18%); }
.topbar .resource { border-color: rgb(157 205 236 / 28%); background: rgb(255 255 255 / 10%); color: #fff; box-shadow: none; }
.topbar .resource small { color: #b8d2e4; }
.hero-banner { background: linear-gradient(125deg, #0d2d4d, #155b8e 58%, #398db9); }
.hero-banner::before { background: linear-gradient(90deg, rgb(6 32 57 / 97%) 0%, rgb(10 55 91 / 88%) 40%, rgb(20 76 113 / 36%) 72%, transparent 100%); }
.stat-card, .dog-card, .dog-summary-card { border-color: #c0d3e1; background: #f7fbff; }
.stat-icon, .dog-summary-icon, .profile-card-heading > span, .settings-card-heading > span { background: linear-gradient(145deg, #d4e9f7, #eaf4fb); }
.stat-level .stat-icon { background: #c5e0f1; }
.stat-days .stat-icon { background: #d6e8f4; }
.stat-achievements .stat-icon { background: #bcd8eb; }
.quest-list li, .news-feature, .profile-empty-note { background: #eaf2f8; }
.quest-check, .news-emoji { background: #d4e9f7; color: #165b96; }
.dog-card-image { background: linear-gradient(145deg, #bdd8ea, #e6f0f7); }
.dog-tags span { background: #e3edf5; }
.dog-card-open { background: #174f7f; }
.dog-card-open:hover { background: #2375ad; }
.finance-grid .balance-coins { background: linear-gradient(135deg, #174f7f, #2d82c4); }
.finance-grid .balance-gems { background: linear-gradient(135deg, #153e68, #397eb0); }
.finance-grid .balance-xp { background: linear-gradient(135deg, #102e4d, #275e8b); }
.account-facts > div, .security-note, .dog-training-row, .dog-toy-panel, .dog-show-summary-item { border-color: #c8d9e6; background: #eef5fa; }
.progress-track, .profile-meter-track { background: #cddce8; }
.switch-field input:checked + i { background: #2d82c4; }

/* Profil psa */
.dog-profile-page .dog-profile-hero { border-color: #294f70; background: linear-gradient(125deg, #0d2b4f, #174f7f 68%, #1e638f); }
.dog-profile-back { color: #164f7e; }
.dog-profile-back:hover { background: #d9eaf6; }
.dog-profile-page .dog-doc-badge { border-color: rgb(170 210 237 / 32%); background: rgb(255 255 255 / 12%); color: #dceffc; }
.dog-profile-page .dog-profile-nav { border-color: #294f70; background: rgb(12 42 70 / 95%); }
.dog-profile-page .dog-profile-nav a { color: #b8d1e3; }
.dog-profile-page .dog-profile-nav a:hover { background: rgb(93 171 221 / 16%); color: #fff; }
.dog-profile-page .dog-profile-nav a.is-active { background: #2d82c4; color: #fff; box-shadow: 0 5px 14px rgb(7 37 63 / 28%); }
.dog-profile-page .dog-profile-card { border-color: #c1d4e2; background: #f4f9fd; }
.dog-profile-page .profile-meter-track { background: #cddce8; }
.dog-profile-page .profile-meter-track span { background: linear-gradient(90deg, #1d6ca7, #55afe3 72%, #8cd7f5); }
.dog-profile-page .profile-action-link { color: #1d6ca7; }
.dog-profile-page .button-primary { background: linear-gradient(135deg, #1766a2, #2d82c4); }
.dog-profile-page .dog-training-button { border-color: #15578a; background: linear-gradient(135deg, #155b91, #2d82c4); color: #fff; }
.dog-profile-page .dog-training-button:hover:not(:disabled) { background: linear-gradient(135deg, #104a78, #2376b4); }
.dog-profile-page .dog-training-button:disabled { border-color: #aabfce; background: #c8d6e0; color: #526879; }
.dog-profile-page .button-quiet { border-color: rgb(179 211 232 / 34%); background: rgb(255 255 255 / 11%); color: #e4f3fc; }
.dog-profile-page .dog-care-action { border-color: #c7d9e6; background: linear-gradient(145deg, #f8fbfe, #eaf3f9); }
.dog-profile-page .dog-care-action-icon, .dog-profile-page .dog-toy-icon { background: #d9eaf6; }
.dog-profile-page .owner-history::before { background: #c5d7e4; }
.dog-profile-page .owner-history-marker { background: #d8e7f2; box-shadow: 0 0 0 1px #bfd2e1; }
.dog-profile-page .owner-history-copy, .dog-profile-page .pedigree-generation { border-color: #c9dae6; background: #f1f7fb; }
.dog-profile-page .pedigree-people span { background: #dce7ef; color: #61788b; }
.dog-profile-page .profile-subheading small, .dog-document-dialog .profile-subheading small { background: #dfeaf2; }
.dog-profile-page .profile-table th, .dog-document-dialog .profile-table th { background: #e2edf5; }
.dog-profile-page .profile-table th, .dog-profile-page .profile-table td, .dog-document-dialog .profile-table th, .dog-document-dialog .profile-table td { border-bottom-color: #d4e1eb; }

/* Wewnętrzne moduły gry */
body.game-page { background: radial-gradient(circle at 10% 4%, rgb(76 143 190 / 22%), transparent 26rem), radial-gradient(circle at 90% 14%, rgb(158 198 226 / 30%), transparent 28rem), linear-gradient(180deg, #d2e2ee 0, #e9f1f7 42rem, #dce8f3 100%); color: #102a43; }
body.game-page::before { background-image: radial-gradient(rgb(20 73 113 / 9%) 1px, transparent 1px); }
.game-sidebar { border-right-color: #264c6e; background: linear-gradient(180deg, rgb(9 37 64 / 98%), rgb(12 48 80 / 98%)); box-shadow: 10px 0 32px rgb(4 24 43 / 18%); color: #eff8ff; }
.game-sidebar__brand { color: #eff8ff; }
.game-sidebar__brand strong { color: #84d2fa; }
.game-sidebar__label { color: #7fa6c4; }
.game-sidebar__item { color: #c2d8e8; }
.game-sidebar__item:hover { background: rgb(91 166 215 / 15%); color: #fff; }
.game-sidebar__item.is-active { background: linear-gradient(110deg, rgb(54 132 190 / 34%), rgb(79 155 210 / 12%)); color: #fff; }
.game-sidebar__item.is-active::before { background: #6fc9f6; }
.game-sidebar__icon { background: rgb(255 255 255 / 10%); box-shadow: none; }
.game-sidebar__item--play { background: linear-gradient(135deg, #1766a2, #2889c8) !important; box-shadow: 0 8px 20px rgb(2 20 36 / 28%); }
.game-sidebar__footer { border-top-color: rgb(164 204 231 / 19%); color: #fff; }
.game-sidebar__footer:hover { background: rgb(93 171 221 / 17%); box-shadow: inset 0 0 0 1px rgb(137 200 239 / 18%); }
.game-sidebar__footer small { color: #a9c5d9; }
.game-sidebar__settings { background: rgb(255 255 255 / 11%); }
.game-sidebar__avatar { border-color: rgb(255 255 255 / 70%); background: linear-gradient(145deg, #acd9f3, #3d92ca); color: #0d355d; box-shadow: 0 4px 12px rgb(2 22 39 / 24%); }
.game-sidebar__close { background: rgb(255 255 255 / 10%); color: #fff; }
.game-menu-toggle { border-color: #abc7da; background: #edf6fc; color: #0d355d; }
.game-topbar { border-bottom-color: #274e70; background: rgb(13 48 80 / 96%); color: #fff; box-shadow: 0 5px 20px rgb(5 27 48 / 18%); }
.game-resource { border-color: rgb(157 205 236 / 28%); background: rgb(255 255 255 / 10%); color: #fff; box-shadow: none; }
.game-resource small { color: #b8d2e4; }
.game-layout > section, .game-layout .view > section, .game-layout > .cartbox, .game-layout .dcard, .game-layout .pcard, .game-layout .cartbox, .game-layout .kennel, .game-layout .stud, .game-layout .tbox { border-color: var(--game-line); background: rgb(247 251 255 / 92%); box-shadow: var(--game-shadow); }
.game-layout .menu { border-color: var(--game-line); background: rgb(235 244 251 / 85%); }
.game-layout .menu button { color: #102a43; }
.game-layout .cur, .game-layout .show-rules, .game-layout .fci-grid .fgrp { border-color: #b8cddd; background: #e2eef7; color: #163f68; }
.game-layout .bar { background: #c7d8e5; }
.game-layout .dcard img, .game-layout .pcard img, .game-layout .dogimg { background: #eaf3f9; }
.game-layout th { background: rgb(45 130 196 / 10%); }
.game-layout .modalbg { background: rgb(4 18 34 / 68%); }

/* Zasady i prywatność */
.legal-page { background: radial-gradient(circle at 15% 0, #b8d6e9 0, transparent 28rem), linear-gradient(145deg, #d3e2ee, #eaf2f8 56%, #cedfeb); }
.legal-card { border-color: rgb(35 104 154 / 20%); background: rgb(247 251 255 / 94%); }
.legal-brand span { background: #e3f1fb; }

@media (max-width: 520px) {
    .auth-scenery { background-image: linear-gradient(rgb(5 29 52 / 82%), rgb(7 34 59 / 88%)), url("../images/auth-hero-realistic.webp"); }
}
