@font-face { font-family: Outfit; src: url('zdjecia/outfit-latin.woff2') format('woff2'); font-weight: 400 800; font-display: swap; }
@font-face { font-family: Outfit; src: url('zdjecia/outfit-latin-ext.woff2') format('woff2'); font-weight: 400 800; font-display: swap; unicode-range: U+0100-02FF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
:root {
    --bg-dark: #090909;
    --bg-panel: #11100f;
    --bg-card: rgba(15, 14, 13, .91);
    --bg-card-solid: #141311;
    --bg-card-border: rgba(231, 205, 157, .2);
    --accent-gold: #d7b779;
    --accent-gold-soft: #e6c994;
    --accent-gold-glow: rgba(215, 183, 121, .1);
    --text-primary: #f5f1e9;
    --text-secondary: #c2bdb4;
    --text-muted: #a59d90;
    --font-body: Outfit, 'Segoe UI', sans-serif;
    --font-display: Outfit, 'Segoe UI', sans-serif;
    --glass-bg: rgba(14, 13, 12, .88);
    --glass-blur: blur(8px);
}
html { background: #090909; scroll-padding-top: 100px; scroll-behavior: auto; }
body { background: transparent; isolation: isolate; color: var(--text-primary); font-family: var(--font-body); letter-spacing: 0; }
body::before { content: ''; position: fixed; inset: 0; z-index: -2; background: url('zdjecia/bd496b50-2c81-4390-ac2b-9b909482ff88.png') 54% center / cover no-repeat; filter: blur(1.8px); pointer-events: none; }
body::after { content: ''; position: fixed; inset: 0; z-index: -1; background: linear-gradient(100deg,#0505057d,#08080845 45%,#05050559),linear-gradient(0deg,#0505056b,transparent 65%); pointer-events: none; }
button,input,select,textarea { font-family: var(--font-body); }
[hidden] { display: none !important; }
.app-shell { min-height: 100vh; }
.main-wrapper { margin: 0; width: 100%; max-width: none; }
.portal-header { position: sticky; top: 0; z-index: 100; height: 94px; width: 100%; display: grid; grid-template-columns: minmax(190px,1fr) auto minmax(420px,1fr); align-items: center; gap: 14px; padding: 0 clamp(24px,4.5vw,90px); border-bottom: 1px solid rgba(231,205,157,.12); background: rgba(8,8,8,.92); backdrop-filter: blur(18px); }
.portal-brand { display: flex; align-items: center; gap: 12px; color: #fff8ed; text-decoration: none; width: fit-content; }
.portal-brand img { width: 48px; height: 49px; object-fit: contain; }
.portal-brand strong { display: block; font-size: 26px; font-weight: 800; line-height: 1.08; letter-spacing: .05em; }
.portal-brand small { display: block; margin-top: 5px; font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: .13em; color: #b7ab98; white-space: nowrap; }
.portal-nav { display: flex; align-items: center; gap: 4px; justify-content: center; }
.portal-nav .nav-section + .nav-section { margin-top: 0; padding-top: 0; border-top: 0; }
.portal-nav .nav-home { margin: 0; }
.portal-nav .nav-home, .portal-nav .nav-section-title { display: inline-flex; justify-content: center; align-items: center; gap: 9px; min-height: 44px; padding: 11px 11px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #c7c1b7; font-size: 11px; font-weight: 650; text-decoration: none; text-transform: none; letter-spacing: 0; white-space: nowrap; cursor: pointer; }
.portal-nav .nav-home::after, .portal-nav .nav-section-title::after { display: none; }
.portal-nav .nav-home:hover, .portal-nav .nav-section-title:hover, .portal-nav .nav-section[open] > .nav-section-title { color: #f2dfbc; border-color: rgba(215,183,121,.26); background: rgba(215,183,121,.06); }
.portal-nav .nav-home.active, .portal-nav .nav-section.has-current > .nav-section-title { color: #ebce99; border-color: rgba(215,183,121,.2); background: rgba(215,183,121,.06); }
.portal-nav .nav-section { display: block; position: relative; }
.portal-nav .nav-section-title { margin: 0; list-style: none; }
.portal-nav .nav-section-title::-webkit-details-marker { display: none; }
.portal-chevron { width: 6px; height: 6px; border-right: 1px solid #ad9871; border-bottom: 1px solid #ad9871; transform: rotate(45deg); transition: transform .2s; }
.portal-nav .nav-section[open] .portal-chevron { transform: rotate(225deg); }
.portal-nav .nav-section-panel { position: absolute; top: calc(100% + 10px); left: 0; display: grid; gap: 2px; width: 255px; padding: 12px; border: 1px solid rgba(215,183,121,.32); border-radius: 13px; background: rgba(17,16,14,.98); box-shadow: 0 18px 48px rgba(0,0,0,.65); }
.portal-nav .nav-section:last-child .nav-section-panel { left: auto; right: 0; }
.portal-nav .nav-section-label { padding: 6px 10px 8px; font-size: 8px; font-weight: 700; color: #baa57e; text-transform: uppercase; letter-spacing: .16em; }
.portal-nav .nav-section-panel .nav-item { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; min-height: 42px; border: 1px solid transparent; border-radius: 7px; color: #d6cfc2; font-size: 12px; font-weight: 550; background: transparent; white-space: nowrap; }
.portal-nav .nav-section-panel .nav-item svg { width: 18px; height: 18px; flex: none; color: #bda87d; }
.portal-nav .nav-section-panel .nav-item:hover, .portal-nav .nav-section-panel .nav-item.active { padding-right: 12px; color: #f3ddb4; border-color: rgba(215,183,121,.18); border-left-color: var(--accent-gold); background: rgba(215,183,121,.07); }
.portal-actions { display: flex; justify-content: flex-end; align-items: center; gap: 8px; min-width: 0; }
.portal-panel-link { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px; border: 1px solid rgba(222,194,141,.5); border-radius: 10px; color: #e9ce9c; background: rgba(215,183,121,.065); font-size: 11px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.portal-panel-link:hover, .portal-panel-link.active { background: rgba(215,183,121,.13); border-color: #dec28d; color: #f5ddb0; }
.portal-actions .search-wrap { position: relative; margin: 0; width: 42px; flex: 0 0 42px; max-width: none; min-width: 42px; height: 42px; border: 1px solid rgba(231,205,157,.18); border-radius: 10px; background: rgba(0,0,0,.22); }
.portal-actions .search-wrap:focus-within { border-color: rgba(215,183,121,.7); background: rgba(215,183,121,.07); }
.portal-actions .site-search { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; color: var(--text-primary); font-size: 12px; background: transparent; border: 0; opacity: 0; cursor: pointer; }
.portal-actions .search-wrap:focus-within .site-search { inset: calc(100% + 40px) 0 auto auto; width: min(360px,calc(100vw - 36px)); height: 46px; padding: 0 15px; border: 1px solid rgba(215,183,121,.56); border-radius: 10px; background: #11100e; box-shadow: 0 16px 42px rgba(0,0,0,.55); opacity: 1; cursor: text; }
.portal-actions .site-search:focus { border-color: rgba(215,183,121,.75); }
.portal-actions .search-icon { left: 13px; color: #d8c8a7; }
.portal-actions svg.search-icon { width: 16px; height: 16px; top: 12px; }
.portal-actions .search-kbd { display: none; }
.portal-actions .search-results { position: absolute; top: calc(100% + 92px); right: 0; left: auto; width: min(360px,calc(100vw - 36px)); border-color: rgba(215,183,121,.3); background: rgba(16,15,13,.99); }
.portal-actions .search-hit:hover, .portal-actions .search-hit.is-active { border-color: rgba(215,183,121,.26); background: rgba(215,183,121,.08); }
.portal-actions .search-hit-icon { border-color: rgba(215,183,121,.24); background: rgba(215,183,121,.06); }
.portal-actions .top-bar-right { gap: 10px; }
.portal-actions .editor-bar { gap: 6px; }
.portal-actions .editor-btn { min-height: 39px; padding: 8px 11px; border-radius: 8px; font-size: 11px; }
.portal-actions .user-chip { border: 1px solid rgba(215,183,121,.35); background: rgba(215,183,121,.06); border-radius: 9px; }
.portal-actions .user-chip-profile { min-height: 40px; font-size: 11px; }
.portal-actions .badge-tag { display: none; }
.portal-menu-toggle { display: none; }
.portal-menu-toggle svg { width: 19px; height: 19px; }
.top-bar { display: none; }
.top-bar .breadcrumbs { font-size: 11px; color: #ad9f88; }
.top-bar .breadcrumbs span { color: #f4ead8; }
body[data-page='regulamin'] .top-bar { display: none; }
.edit-banner { position: fixed; inset: auto 24px 20px; max-width: 1280px; margin: auto; z-index: 120; border: 1px solid rgba(222,194,141,.55); border-radius: 13px; background: rgba(18,17,14,.97); box-shadow: 0 18px 60px #0009; backdrop-filter: blur(18px); }
.edit-banner-inner { padding: 15px 18px; }
.edit-banner-text strong { color: #e6cb99; }
.edit-banner.has-changes { border-color: #e2c084; box-shadow: 0 18px 60px #0009,0 0 0 1px #e2c08427; }
body.edit-mode .main-wrapper { padding-bottom: 105px; }
body.edit-mode .edit-row { border: 1px dashed rgba(222,194,141,.54) !important; border-left: 2px solid #dec28d !important; background: rgba(13,12,10,.9) !important; }
body.edit-mode .edit-row:focus-within { border-style: solid !important; box-shadow: 0 0 0 3px rgba(222,194,141,.1); }
body.edit-mode .edit-row input:focus, body.edit-mode .edit-row textarea:focus, body.edit-mode .edit-row select:focus { outline: 2px solid rgba(222,194,141,.55); outline-offset: 2px; }
body.edit-mode .portal-actions #btn-save, body.edit-mode .portal-actions #btn-cancel { display: none !important; }
.content-container { width: 100%; max-width: 1336px; margin-inline: auto; padding: 0 32px 70px; }
.card { background: rgba(12,11,10,.9) !important; border-color: rgba(231,205,157,.17); border-radius: 12px; backdrop-filter: blur(7px); }
.card:hover { border-color: rgba(231,205,157,.3); }
.card-title { font-family: var(--font-display); font-weight: 650; font-size: 17px; letter-spacing: -.01em; text-transform: none; }
footer { background: rgba(7,7,7,.88); border-top-color: rgba(231,205,157,.14); }
#regulamin > .content-container { padding: 0; max-width: none; }
#regulamin > .content-container > .card { max-width: 1330px; margin: 0 auto 42px; width: calc(100% - 64px); background: rgba(11,10,9,.9) !important; }
.portal-hero { min-height: calc(100svh - 94px); display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: 110px 32px 30px; }
.portal-hero-heading { text-align: center; }
.portal-hero-logo { width: 76px; height: 76px; object-fit: contain; margin-bottom: 12px; filter: drop-shadow(0 6px 18px rgba(0,0,0,.7)); }
.portal-hero-kicker { color: #e4c991; text-transform: uppercase; letter-spacing: .35em; font-size: 9px; font-weight: 700; }
.portal-wordmark { margin: 9px 0 3px; color: #fff9ef; font-size: clamp(82px,9.2vw,150px); font-weight: 800; letter-spacing: -.075em; line-height: 1; }
.portal-wordmark span { color: transparent; -webkit-text-stroke: 1.4px #e6c995; }
.portal-hero-subtitle { margin: 6px auto 0; max-width: 620px; color: #e2d7c5; font-size: 13px; text-shadow: 0 2px 12px #000; }
.portal-gates { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 12px; width: 100%; max-width: 1400px; margin: 52px auto 36px; }
.portal-gate { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between; min-height: 245px; overflow: hidden; padding: 18px 16px 20px; border: 1px solid rgba(241,228,205,.25); border-radius: 16px; color: #f8efe0; text-decoration: none; background: rgba(10,9,8,.66); transition: border-color .2s, transform .2s; }
.portal-gate::before { content: ''; position: absolute; inset: 0; z-index: -2; background: url('zdjecia/bd496b50-2c81-4390-ac2b-9b909482ff88.png') var(--gate-position,50%) 70% / auto 390px; filter: grayscale(.8) brightness(.63); }
.portal-gate::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,rgba(4,4,4,.63),rgba(4,4,4,.12) 40%,rgba(4,4,4,.95)); }
.portal-gate:nth-child(1) { --gate-position: 5%; }.portal-gate:nth-child(2) { --gate-position: 20%; }.portal-gate:nth-child(3) { --gate-position: 35%; }.portal-gate:nth-child(4) { --gate-position: 50%; }.portal-gate:nth-child(5) { --gate-position: 65%; }.portal-gate:nth-child(6) { --gate-position: 80%; }.portal-gate:nth-child(7) { --gate-position: 95%; }
.portal-gate:hover, .portal-gate:focus-visible { transform: translateY(-4px); border-color: rgba(215,183,121,.8); outline: none; }
.gate-index { color: #e6d5b6; font-size: 8px; font-weight: 700; letter-spacing: .15em; }
.portal-gate-icon { align-self: center; color: #e5d0a8; width: 45px; height: 45px; }
.gate-copy strong { display: block; font-size: 16px; font-weight: 700; }
.gate-copy small { display: block; margin-top: 4px; color: #c8bba6; font-size: 10px; }
.portal-hero-actions { display: flex; gap: 12px; justify-content: center; }
.portal-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 20px; padding: 11px 20px; border: 1px solid rgba(241,228,205,.3); border-radius: 8px; background: rgba(6,6,6,.65); color: #efe4d0; font-size: 11px; font-weight: 650; text-decoration: none; }
.portal-button-primary { color: #211b11; border-color: #f2d39b; background: #dfbd7d; }
.portal-button:hover { border-color: #e3c48b; }
.portal-signature { margin-top: 40px; color: #ab9c82; font-size: 8px; text-transform: uppercase; letter-spacing: .3em; }
.portal-section-hero { padding: 63px 0 37px; }
.portal-section-hero-inner { width: 100%; }
.portal-section-hero h1 { margin: 14px 0 13px; color: #f5f1e9; font-size: clamp(33px,3vw,44px); letter-spacing: -.03em; line-height: 1.1; font-weight: 650; text-shadow: 0 2px 14px #0006; }
.portal-section-hero .portal-section-eyebrow { margin: 0; color: #dfc58f; text-transform: uppercase; letter-spacing: .22em; font-size: 9px; font-weight: 700; }
.portal-section-hero .portal-section-description { margin: 0; color: #d0c6b6; text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 450; line-height: 1.7; }
.portal-page-grid { display: grid; grid-template-columns: minmax(0,1fr) 270px; gap: 25px; align-items: start; }
#awanse .rules-grid { display: block; overflow: hidden; border: 1px solid rgba(245,236,213,.18); border-radius: 16px; background: linear-gradient(125deg,#111111b8,#080808a8); backdrop-filter: blur(12px); }
#awanse .rule-card { margin: 0; padding: 24px 27px; border: 0; border-bottom: 1px solid rgba(245,236,213,.11); border-radius: 0; background: transparent !important; backdrop-filter: none; scroll-margin-top: 115px; }
#awanse .rule-card:last-child { border-bottom: 0; }
#awanse .rule-card:hover { background: rgba(255,255,255,.025) !important; }
#awanse .rule-card .card-title { font-size: 16px; margin: 0 0 13px; padding: 0; border: 0; color: #f5f1e9; }
#awanse .rule-list { gap: 7px; }
#awanse .rule-list li { background: rgba(255,255,255,.018); border: 0; border-left: 2px solid rgba(222,194,141,.38); border-radius: 0; padding: 10px 13px; color: #d1c7b9; font-size: 13px; }
.portal-page-aside { display: grid; gap: 20px; }
.portal-aside-card { overflow: hidden; border: 1px solid rgba(245,236,213,.18); border-radius: 16px; background: linear-gradient(125deg,#111111b8,#080808a8); backdrop-filter: blur(12px); }
.portal-aside-card h2 { margin: 0 0 9px; padding: 24px 26px 20px; border-bottom: 1px solid rgba(245,236,213,.12); font-size: 15px; font-weight: 600; }
.portal-aside-card a { display: block; padding: 10px 26px; color: #c4b89f; font-size: 12px; text-decoration: none; }
.portal-aside-card a::before { content: '—'; margin-right: 12px; color: #a88750; }
.portal-aside-card a:hover { color: #f6dca9; }
.portal-aside-card a:last-child { padding-bottom: 24px; }
.portal-aside-return a::before { content: none; }
/* Keep operational surfaces readable while matching the portal's quieter palette. */
.fit-group .fit-card, .stats-rank-card, .profile-block, .car-card, .tactic-card { background: rgba(11,10,9,.95) !important; border-color: rgba(231,205,157,.16); }
.fit-edit.fit-card { background: #12110f !important; }
.edit-row { background: rgba(15,14,12,.96) !important; }
/* Legacy content used a blue glass palette; bring the inner cards into the portal palette. */
#limity > .content-container > .card,
#unity > .content-container > .card,
#skroty > .content-container > .card,
#kody .card,
#manewry .card,
#miranda > .content-container > .card {
    background: rgba(14,13,11,.87) !important;
    border: 1px solid rgba(231,205,157,.22);
    box-shadow: 0 16px 42px rgba(0,0,0,.18);
}
#limity .card-title { color: #f4eee2; border-bottom-color: rgba(231,205,157,.17); }
#unity .card-title, #skroty .card-title, #kody .card-title, #manewry .card-title, #miranda .card-title { color: #f4eee2; border-bottom-color: rgba(231,205,157,.17); }
#limity .eq-item { background: rgba(23,21,18,.92); border-color: rgba(231,205,157,.16); box-shadow: inset 0 1px rgba(255,255,255,.025); backdrop-filter: none; }
#limity .eq-item:hover { background: rgba(34,29,22,.96); border-color: rgba(215,183,121,.48); }
#limity .eq-item:hover .eq-icon-box { border-color: rgba(215,183,121,.38); background: rgba(215,183,121,.12); }
#limity .eq-icon-box { color: #e2c48d; border-color: rgba(215,183,121,.26); background: rgba(215,183,121,.08); }
#limity .eq-text strong { color: #f5efe3; }
#limity .eq-qty { color: #e1c58f; border-color: rgba(215,183,121,.23); background: rgba(215,183,121,.07); }
#unity th, #unity td, #skroty th, #skroty td, #kody th, #kody td { background: rgba(22,20,17,.89); color: #ded5c7; border-color: rgba(231,205,157,.13); }
#unity td:first-child, #skroty td:first-child, #kody td:first-child { color: #e8cb96; border-right-color: rgba(231,205,157,.24); }
#unity tr:hover td, #skroty tr:hover td, #kody tr:hover td { background: rgba(39,33,24,.94); border-color: rgba(215,183,121,.3); }
#unity tr:hover td:first-child, #skroty tr:hover td:first-child, #kody tr:hover td:first-child { border-right-color: rgba(215,183,121,.35); }
#manewry .tactic-desc, #pojazdy .car-desc { color: #cfc4b3; }
#manewry .tactic-title i[style*="--accent-blue"] { color: #d7b779 !important; }
#pojazdy .car-card { background: rgba(15,14,12,.94) !important; border-color: rgba(231,205,157,.19); }
#pojazdy .card--notice { background: rgba(14,13,11,.87) !important; }
/* Profile: remove the stretched empty panel and give each metric its own clear surface. */
#profil .profile-page { max-width: 1336px; gap: 20px; }
#profil .profile-back { color: #e1c58f; border-color: rgba(215,183,121,.28); background: rgba(15,14,12,.82); }
#profil .profile-back:hover { color: #fff0d2; border-color: rgba(215,183,121,.62); background: rgba(31,27,21,.96); }
#profil .profile-hero { min-height: 148px; padding: 24px 28px; border-color: rgba(215,183,121,.25); background: linear-gradient(112deg,rgba(17,16,14,.96),rgba(13,12,11,.82)); box-shadow: 0 18px 46px rgba(0,0,0,.2); }
#profil .profile-avatar { width: 88px; height: 88px; border: 2px solid rgba(215,183,121,.52); box-shadow: 0 0 0 5px rgba(215,183,121,.07); }
#profil .profile-eyebrow { color: #d6b879; letter-spacing: .18em; }
#profil .profile-hero-text h2 { color: #f7f1e7; font-size: clamp(27px,3vw,36px); font-weight: 650; letter-spacing: -.025em; }
#profil .profile-user { color: #b4aa99; }
#profil .profile-rank-badge { color: #e1d2b6; border-color: rgba(215,183,121,.25); background: rgba(215,183,121,.07); }
#profil .profile-rank-badge i { color: #d7b779; }
#profil .profile-block { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent !important; box-shadow: none; backdrop-filter: none; }
#profil .profile-split { align-items: start; gap: 18px; }
#profil .profile-block-head { min-height: 48px; align-items: center; margin-bottom: 12px; padding-bottom: 11px; border-bottom-color: rgba(215,183,121,.2); }
#profil .profile-block-head h3 { color: #eee6d8; font-size: 18px; font-weight: 600; letter-spacing: .055em; }
#profil .profile-block-head h3 i { color: #c7a86c; }
#profil .profile-block-head p { color: #aaa092; font-size: 11px; }
#profil .profile-kadry-card, #profil .profile-life-card, #profil .profile-week-card, #profil .stat-meter { border-color: rgba(215,183,121,.16); background: linear-gradient(145deg,rgba(20,19,17,.96),rgba(12,11,10,.94)); box-shadow: inset 0 1px rgba(255,255,255,.025); }
#profil .profile-kadry-card:hover, #profil .profile-life-card:hover, #profil .profile-week-card:hover, #profil .stat-meter:hover { border-color: rgba(215,183,121,.38); }
#profil .profile-kadry-card--poch .stat-label i { color: #d8bd8c; }
#profil .profile-kadry-card--nag .stat-label i { color: #d58f83; }
#profil .profile-life-icon, #profil .profile-week-top .stat-label i, #profil .stat-meter .stat-label i { color: #c9aa6e; }
#profil .profile-life-label, #profil .profile-week-top .stat-label { color: #c9c0b2; }
#profil .profile-life-value, #profil .profile-week-top strong, #profil .profile-kadry-value, #profil .stat-meter-top > strong { color: #f6f1e8; }
#profil .profile-week-norm, #profil .stat-meter-sub { color: #a99f90; }
#profil .stat-meter-bar { background: rgba(255,255,255,.08); }
#profil .stat-meter-bar span { background: linear-gradient(90deg,#a8874f,#e0c58f); }
#profil .profile-history { border-color: rgba(215,183,121,.16); background: rgba(13,12,10,.8); }
#profil .profile-history-filter { color: #c7bdad; border-color: rgba(215,183,121,.16); background: rgba(19,18,16,.88); }
#profil .profile-history-filter:hover, #profil .profile-history-filter.is-active { color: #f1d9a9; border-color: rgba(215,183,121,.42); background: rgba(215,183,121,.1); }
#profil .profile-history-row { border-bottom-color: rgba(215,183,121,.1); }
#profil .profile-history-ico { border-color: rgba(215,183,121,.17); background: rgba(215,183,121,.06); }
#profil .profile-history-row--poch .profile-history-ico { color: #d8bd8c; }
#profil .profile-history-row--odz .profile-history-ico { color: #d7b779; }
#profil .profile-note { color: #b8ae9d; border-color: rgba(215,183,121,.16); background: rgba(15,14,12,.72); }
@media (max-width: 1320px) {
    .portal-header { grid-template-columns: 1fr auto; height: 82px; padding-inline: 24px; }
    .portal-menu-toggle { display: grid; place-items: center; order: 3; width: 42px; height: 42px; border: 1px solid rgba(231,205,157,.3); border-radius: 8px; background: rgba(7,7,7,.65); color: #e8d2aa; cursor: pointer; }
    .portal-nav { display: none; position: absolute; top: 82px; left: 0; right: 0; flex-direction: column; align-items: stretch; padding: 18px 24px 25px; background: rgba(10,10,10,.98); border-bottom: 1px solid rgba(231,205,157,.2); box-shadow: 0 25px 50px #0009; }
    body.portal-menu-open .portal-nav { display: flex; }
    .portal-nav .nav-home, .portal-nav .nav-section-title { justify-content: space-between; width: 100%; }
    .portal-nav .nav-section-panel { position: static; width: 100%; margin: 3px 0 8px; box-shadow: none; background: #15130f; }
    .portal-actions { justify-self: end; margin-left: auto; }
    .edit-banner { left: 18px; right: 18px; bottom: 16px; }
    .portal-gates { grid-template-columns: repeat(4,minmax(0,1fr)); max-width: 760px; }
    .portal-gate { min-height: 180px; }
    .portal-page-grid { grid-template-columns: minmax(0,1fr) 230px; }
}
@media (max-width: 760px) {
    .portal-header { display: flex; height: 72px; padding-inline: 18px; gap: 10px; }
    .portal-brand img { width: 39px; height: 40px; }
    .portal-brand strong { font-size: 21px; }
    .portal-brand small { font-size: 7px; }
    .portal-menu-toggle { order: 2; margin-left: auto; flex: none; }
    .portal-actions { order: 1; margin-left: auto; gap: 7px; }
    .portal-actions .search-wrap { width: 38px; height: 38px; min-width: 38px; flex-basis: 38px; }
    .portal-actions .search-wrap:focus-within .site-search { position: fixed; top: 82px; right: 18px; width: min(360px,calc(100vw - 36px)); }
    .portal-actions .search-results { position: fixed; top: 136px; right: 18px; width: min(360px,calc(100vw - 36px)); }
    .portal-actions .user-chip, .portal-actions .edit-lock-status { display: none !important; }
    .portal-actions .editor-btn { padding: 7px 8px; min-height: 36px; font-size: 10px; }
    .portal-actions .editor-btn i { display: none; }
    .portal-nav { top: 72px; max-height: calc(100svh - 72px); overflow-y: auto; }
    .top-bar { min-height: 38px; height: 38px; padding-inline: 18px; }
    .edit-banner { left: 12px; right: 12px; bottom: 12px; }
    .edit-banner-inner { padding: 12px; gap: 10px; }
    .edit-banner-inner > i { display: none; }
    .edit-banner-actions { width: 100%; }
    .edit-banner-actions .editor-btn { flex: 1; }
    .portal-panel-link { padding: 0 10px; min-height: 38px; font-size: 10px; }
    .portal-panel-link svg { display: none; }
    .content-container { padding: 0 18px 35px; }
    #regulamin > .content-container > .card { width: calc(100% - 36px); }
    .portal-hero { min-height: 0; padding: 34px 18px 40px; }
    .portal-hero-logo { width: 65px; height: 65px; }
    .portal-wordmark { font-size: clamp(64px,15vw,100px); }
    .portal-hero-kicker { font-size: 7px; }
    .portal-hero-subtitle { font-size: 12px; }
    .portal-gates { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 35px auto 25px; }
    .portal-gate { min-height: 175px; padding: 14px; }
    .portal-gate-icon { width: 37px; height: 37px; }
    .portal-gate:last-child { grid-column: span 2; min-height: 120px; }
    .portal-hero-actions { width: 100%; }
    .portal-button { flex: 1; padding: 10px 11px; gap: 8px; text-align: center; }
    .portal-section-hero { padding: 42px 0 27px; }
    .portal-section-hero h1 { font-size: 33px; }
    .portal-section-hero .portal-section-description { font-size: 12px; }
    .portal-page-grid { grid-template-columns: 1fr; }
    .portal-page-aside { grid-template-columns: repeat(2,minmax(0,1fr)); }
    #profil .profile-hero { min-height: 0; padding: 20px; flex-direction: row; align-items: center; }
    #profil .profile-avatar { width: 70px; height: 70px; }
    #profil .profile-block-head { min-height: 0; }
    #profil .profile-block-head h3 { font-size: 16px; }
    #profil .profile-kadry-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    #profil .profile-split { gap: 22px; }
}
@media (max-width: 420px) {
    .portal-brand small { display: none; }
    .portal-actions .editor-btn { font-size: 10px; }
    .portal-actions .editor-btn i { display: none; }
    .portal-gate { min-height: 160px; }
    .portal-page-aside { grid-template-columns: 1fr; }
    #profil .profile-hero { gap: 14px; padding: 17px; }
    #profil .profile-hero-text h2 { font-size: 24px; overflow-wrap: anywhere; }
    #profil .profile-kadry-grid { grid-template-columns: 1fr; }
    #profil .profile-block-head { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) { .portal-gate, .portal-nav .nav-section-title i { transition: none; } }
