:root {
  --blue: #0000aa;
  --blue-dark: #000064;
  --blue-bright: #173fe2;
  --gray: #c0c0c0;
  --gray-light: #f4f4ee;
  --gray-dark: #7b7b7b;
  --black: #050505;
  --ink: #101020;
  --pink: #ff11b5;
  --pink-dark: #a80078;
  --yellow: #fff500;
  --green: #00d35a;
  --cyan: #00e7e7;
  --red: #d40000;
  --shadow: #111142;
  --bevel-light: #fff;
  --bevel-mid: #dfdfdf;
  --bevel-dark: #666;
  --bevel-deep: #111;
  font-family: Tahoma, Arial, sans-serif;
  color: var(--ink);
  background: var(--blue-dark);
}

* { box-sizing: border-box; }
html { min-width: 300px; background: var(--blue-dark); }
body { margin: 0; min-width: 300px; background: var(--blue-dark); color: var(--ink); font-size: 13px; line-height: 1.22; }
body, button, input, textarea { font-family: Tahoma, Arial, sans-serif; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: #0000ad; font-weight: 700; }
img, svg { max-width: 100%; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; }
[hidden] { display: none !important; }

.skip-link { position: fixed; left: 8px; top: -60px; z-index: 1000; padding: 8px 12px; background: var(--yellow); color: #000; border: 2px solid #000; }
.skip-link:focus { top: 8px; }
.site-shell { width: min(1680px, calc(100% - 10px)); margin: 5px auto 10px; padding: 5px; background: #d9d9d9; border: 2px solid #fff; box-shadow: 2px 2px 0 #000, inset 1px 1px 0 #777; }

.win-window { border: 2px solid #111; border-right-color: #fff; border-bottom-color: #fff; background: var(--gray-light); box-shadow: inset 1px 1px 0 var(--gray), 2px 2px 0 #333; }
.win-titlebar { min-height: 25px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 3px 7px; overflow: hidden; color: #fff; background: linear-gradient(90deg, var(--blue), var(--blue-bright) 72%, #4e68e9); font-family: Tahoma, Arial, sans-serif; font-size: 13px; font-weight: 900; letter-spacing: .02em; text-transform: uppercase; }
.win-titlebar > span:first-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.window-chrome { display: inline-flex; flex: 0 0 auto; gap: 2px; align-items: center; color: #111; font-family: Arial, sans-serif; font-weight: 900; }
.window-chrome span, .window-chrome { text-shadow: none; }
.window-chrome span { display: inline-grid; width: 17px; height: 17px; place-items: center; background: var(--gray); border: 1px solid #111; border-right-color: #fff; border-bottom-color: #fff; }
.titlebar-caption { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.titlebar-star { color: #fff; }
.titlebar-note { margin-left: auto; font-size: 11px; font-weight: 700; white-space: nowrap; }
.site-titlebar { min-height: 25px; padding-left: 7px; }

.portal-header { margin-top: 6px; overflow: visible; background: linear-gradient(#e7e8ff 0 25%, #b6c0fd 51%, #9ab5ff 52%, #c9eeff); }
.mobile-brand-banner { display: none; }
.brand-banner { min-height: 100px; display: grid; grid-template-columns: minmax(280px, 1.25fr) minmax(180px, .8fr) minmax(120px, .55fr) minmax(180px, .8fr) minmax(170px, .7fr) minmax(170px, .65fr); align-items: center; gap: 8px; padding: 6px 9px; background-image: linear-gradient(transparent 79%, rgba(255,255,255,.55) 80%), repeating-linear-gradient(0deg, transparent 0 10px, rgba(83,111,217,.12) 11px 12px); }
.brand-lockup { display: flex; align-items: center; gap: 7px; color: #111; text-decoration: none; }
.brand-lockup img { width: 69px; height: 69px; flex: 0 0 auto; }
.brand-word { display: block; color: #090909; font-family: Arial Black, Impact, Arial, sans-serif; font-size: clamp(38px, 5vw, 66px); line-height: .78; letter-spacing: -3px; text-shadow: 3px 3px 0 #fff, 5px 5px 0 var(--pink), 7px 7px 0 #111; white-space: nowrap; }
.brand-word sup { font-family: Arial, sans-serif; font-size: 12px; letter-spacing: 0; vertical-align: top; text-shadow: none; }
.brand-word small { display: block; margin: 10px 0 0 6px; color: #111; font-family: Arial Black, Arial, sans-serif; font-size: 14px; letter-spacing: 0; line-height: 1; text-shadow: 1px 1px #fff; }
.header-starburst { width: 100%; max-height: 91px; object-fit: contain; }
.header-cat { width: 100%; max-height: 96px; object-fit: contain; }
.slogan-panel { padding: 10px 8px; border: 2px solid #111; background: var(--pink); color: #111; font: 900 16px/1.15 Arial Black, Arial, sans-serif; text-align: center; box-shadow: 3px 3px 0 #fff; }
.slogan-panel span { color: #fff; text-shadow: 1px 1px #111; }
.win-counter { min-width: 0; padding: 6px 7px; border: 2px solid #777; border-top-color: #fff; border-left-color: #fff; background: #efefef; text-align: center; }
.win-counter span, .win-counter small { display: block; font-size: 11px; }
.win-counter strong { display: block; margin: 3px 0; padding: 2px 3px; background: #050505; color: #00ff62; font: 900 24px/1 'Courier New', monospace; letter-spacing: 2px; text-shadow: 0 0 4px #00ff62; overflow: hidden; }
.header-status-panel { display: flex; align-items: center; gap: 6px; min-height: 75px; padding: 5px; border: 2px solid #777; border-top-color: #fff; border-left-color: #fff; background: #efefef; font-size: 11px; }
.header-status-panel img { width: 45px; height: 45px; flex: 0 0 auto; }
.header-status-panel span { flex: 1; }
.header-status-panel small { align-self: flex-start; font-size: 8px; }

.toolbar-row { display: flex; align-items: stretch; gap: 5px; padding: 5px; border-top: 2px solid #fff; background: var(--gray); }
.desktop-nav { display: flex; flex: 1 1 auto; flex-wrap: wrap; gap: 4px; min-width: 0; }
.toolbar-actions { display: flex; align-items: stretch; flex: 0 0 auto; gap: 4px; }
.nav-link { min-height: 34px; padding: 5px 9px; }
.ui-icon { width: 21px; height: 21px; flex: 0 0 auto; vertical-align: middle; }
.toolbar-toggle { padding: 5px 7px; white-space: nowrap; font-size: 11px; }
.toolbar-toggle b { padding: 1px 3px; background: #7fffad; color: #004b19; }
.toolbar-symbol { font-size: 18px; line-height: .8; }
.win-button.mobile-menu-toggle { display: none; }
.mobile-menu { display: none; }

@media (min-width: 1200px) and (max-width: 1500px) {
  .desktop-nav .nav-link { padding-inline: 5px; font-size: 10px; }
  .desktop-nav .nav-link:last-child { display: none; }
  .desktop-nav .ui-icon { width: 17px; height: 17px; }
  .toolbar-toggle { padding-inline: 5px; font-size: 10px; }
  .toolbar-support { padding-inline: 7px; }
  .brand-word { font-size: 57px; }
  .brand-word small { font-size: 12px; }
}

.win-button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 28px; padding: 4px 10px; border: 2px solid #111; border-top-color: #fff; border-left-color: #fff; border-right-color: #666; border-bottom-color: #666; border-radius: 0; background: var(--gray); color: #111; font-size: 12px; font-weight: 900; line-height: 1.05; text-decoration: none; text-align: center; box-shadow: 1px 1px 0 #222; }
.win-button:hover { background: #dedede; color: #000; }
.win-button:active, .win-button.is-active, .win-button[aria-pressed="true"] { border-top-color: #666; border-left-color: #666; border-right-color: #fff; border-bottom-color: #fff; background: var(--blue); color: #fff; transform: translate(1px, 1px); box-shadow: none; }
.win-button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, .wall-grid:focus-visible { outline: 2px dashed var(--pink); outline-offset: 2px; }
.win-button-primary { border-color: #111; background: var(--pink); color: #111; box-shadow: 2px 2px 0 #fff, 3px 3px 0 #111; }
.win-button-primary:hover { background: #ff55c8; }
.win-button-primary:active { background: #bf008c; color: #fff; }
.win-button:disabled, .win-button.is-disabled { opacity: .58; color: #666; background: #a8a8a8; filter: grayscale(.55); transform: none; }
.win-button.is-loading { position: relative; color: #333; background: #d8d8d8; }
.win-button.is-loading::after { content: ' ⌛'; }
.win-button.is-success { background: #73ed9a; }
.win-button.is-error { background: #ff8d8d; color: #800; }
.primary-action { width: 100%; min-height: 44px; font-size: 16px; }

.win-statusbar { display: flex; align-items: center; gap: 9px; min-height: 30px; padding: 4px 8px; border: 2px solid #111; border-top-color: #fff; border-left-color: #fff; background: var(--gray); font-size: 11px; font-weight: 900; }
.sse-live { color: #008d2d; }
.sse-reconnecting { color: #9b7100; }
.sse-offline { color: #a30000; }
.status-divider { color: #666; }
.status-spacer { flex: 1; }
.status-message { color: #333; font-size: 10px; }
.owned-button-slot { position: relative; z-index: 2; }

.ticker-shell { display: flex; align-items: stretch; min-height: 30px; margin-top: 6px; overflow: hidden; background: #040404; border-color: #fff; }
.ticker-label { flex: 0 0 auto; display: flex; align-items: center; padding: 4px 7px; background: #111; color: var(--yellow); font: 900 12px 'Courier New', monospace; }
.ticker { min-width: 0; flex: 1 1 auto; overflow: hidden; color: var(--green); background: #000; font: 900 13px 'Courier New', monospace; }
.ticker-track { display: flex; align-items: center; width: max-content; min-height: 26px; gap: 36px; padding: 3px 12px; animation: ticker-scroll 35s linear infinite; }
.ticker:hover .ticker-track, .ticker:focus-within .ticker-track, .ticker:focus .ticker-track { animation-play-state: paused; }
.ticker-item { color: var(--green); text-decoration: none; white-space: nowrap; }
.ticker-item::after { content: ' ♥'; color: var(--pink); }
.ticker-arrow { min-width: 31px; padding: 2px 4px; }
.new-events-badge { position: absolute; z-index: 2; margin: 3px 0 0 -100px; padding: 3px 6px; background: var(--yellow); color: #111; border: 2px solid #111; font-weight: 900; }
@keyframes ticker-scroll { from { transform: translateX(0); } to { transform: translateX(-30%); } }

.portal-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 8px; margin-top: 7px; }
.main-column { min-width: 0; }
.sidebar { display: flex; min-width: 0; flex-direction: column; gap: 8px; }
body[data-route="/"] .portal-layout { display: block; }
body[data-route="/"] .portal-layout > .sidebar { display: none; }
.win-window-body { padding: 8px; }
.rail-window { overflow: hidden; }
.rail-window .win-titlebar { min-height: 29px; }
.window-badge { padding: 2px 4px; background: #001000; color: var(--green); font-family: 'Courier New', monospace; }
.effect-row { display: grid; grid-template-columns: 26px minmax(52px, .8fr) minmax(50px, 1fr) 52px; gap: 4px; width: 100%; padding: 7px 3px; border: 0; border-bottom: 1px solid #999; background: transparent; color: #111; text-align: left; font-size: 11px; }
.effect-row:hover { background: #fff; color: var(--blue); }
.effect-icon { color: #5a00b8; font-size: 20px; text-align: center; }
.effect-countdown { font-family: 'Courier New', monospace; text-align: right; }
.muted { color: #555; }
.full-width { width: 100%; }
.quick-panel .win-window-body { display: grid; gap: 8px; }
.plain-link { display: block; padding: 4px; color: #0000aa; text-decoration: underline; }

.ad-slot { margin-top: 8px; overflow: hidden; background: #fff; }
.ad-titlebar { background: linear-gradient(90deg, #001b98, #0d58df); }
.ad-creative { min-height: 64px; display: grid; place-items: center; overflow: hidden; background: #fff; }
.ad-creative a { display: block; max-width: 100%; }
.ad-creative img, .ad-creative iframe { max-width: 100%; }

.panel { padding: 10px; }
.notice { margin: 10px 0; padding: 8px; border: 2px solid var(--red); background: var(--yellow); color: #111; font-weight: 900; text-align: center; }
.eyebrow { margin: 0 0 5px; color: #0000aa; font: 900 12px 'Courier New', monospace; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: Arial Black, Impact, Tahoma, sans-serif; }
h1 { margin-bottom: 8px; font-size: clamp(30px, 4vw, 58px); line-height: .98; }
h2 { font-size: 18px; }

.route-page { display: grid; gap: 8px; }
.page-banner { position: relative; display: grid; min-height: 136px; align-items: center; overflow: hidden; padding: 10px 18px; border: 2px solid #111; background: linear-gradient(#bde9ff 0 62%, #7dd247 63% 100%); }
.page-banner::after { content: ''; position: absolute; inset: auto 0 0; height: 35%; background: repeating-linear-gradient(0deg, rgba(255,255,255,.15) 0 2px, transparent 2px 8px); opacity: .65; }
.page-banner h1, .page-banner p, .page-banner .banner-copy { position: relative; z-index: 1; }
.page-banner h1 { margin: 0; color: var(--pink); font-size: clamp(38px, 7vw, 84px); letter-spacing: -3px; text-shadow: 3px 3px 0 #fff, 6px 6px 0 var(--blue-dark), 8px 8px 0 #111; }
.page-banner p { margin: 5px 0 0; font-weight: 900; }
.page-banner-art { position: absolute; z-index: 1; right: 20px; bottom: 8px; width: 145px; max-height: 125px; object-fit: contain; }
.page-banner-note { position: absolute; z-index: 2; right: 10px; top: 9px; max-width: 185px; padding: 7px; background: var(--pink); border: 2px solid #111; font-weight: 900; transform: rotate(2deg); }

.portal-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 12px; min-height: 342px; overflow: hidden; padding: 17px 17px 13px; border: 2px solid #111; background: linear-gradient(#8bd6ff 0 60%, #68c744 61% 100%); }
.portal-hero::before { content: ''; position: absolute; inset: 0 0 39%; background: radial-gradient(ellipse at 15% 35%, #fff 0 4%, transparent 5%), radial-gradient(ellipse at 65% 22%, #fff 0 5%, transparent 6%), radial-gradient(ellipse at 50% 56%, rgba(255,255,255,.85) 0 5%, transparent 6%); opacity: .65; }
.portal-hero::after { content: ''; position: absolute; inset: auto 0 0; height: 40%; background: repeating-linear-gradient(0deg, rgba(30,129,43,.45) 0 2px, transparent 2px 12px); }
.hero-content, .hero-effects { position: relative; z-index: 2; }
.hero-content { display: flex; min-width: 0; flex-direction: column; justify-content: flex-end; align-items: center; padding-top: 76px; text-align: center; }
.hero-title { margin: 0; color: var(--pink); font: 900 clamp(44px, 8vw, 106px)/.82 Arial Black, Impact, Arial, sans-serif; letter-spacing: -6px; text-shadow: 4px 4px 0 #fff, 8px 8px 0 var(--blue-dark), 10px 10px 0 #111; }
.hero-subtitle { margin: 8px 0 10px; color: #111; font: 900 clamp(15px, 2vw, 24px)/1.05 Arial Black, Arial, sans-serif; text-shadow: 1px 1px #fff; }
.hero-copy { max-width: 530px; margin: 0 auto 9px; font-weight: 900; }
.hero-paperclip { position: absolute; z-index: 3; left: 16px; bottom: 40px; width: 60px; height: 145px; }
.hero-cow { position: absolute; z-index: 3; right: 35%; top: 12px; width: 120px; }
.hero-cat { position: absolute; z-index: 3; right: 15px; top: 7px; width: 130px; }
.hero-globe { position: absolute; z-index: 1; right: 15px; bottom: 12px; width: 64px; }
.hero-actions { display: flex; justify-content: center; gap: 10px; width: min(100%, 650px); margin-top: 8px; }
.hero-actions .win-button { min-width: 200px; min-height: 49px; font-size: 17px; }
.hero-actions .win-button-primary { min-width: 340px; font-size: 19px; }
.mobile-hero-stats { display: none; }
.hero-effects { display: flex; min-width: 0; flex-direction: column; gap: 8px; align-self: stretch; }
.hero-effects .win-window { flex: 1; }
.feed-window { min-height: 0; }
.live-feed { max-height: 225px; overflow: auto; background: #fff; }
.feed-row { display: grid; grid-template-columns: 72px 1fr; gap: 5px; padding: 6px; border-bottom: 1px solid #aaa; font-size: 11px; }
.feed-row time { color: #555; font: 11px 'Courier New', monospace; }
.feed-row a { color: #0000aa; }
.home-counters { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.win-counter-large { min-height: 75px; padding: 7px; border: 2px solid #111; background: #eee; }
.win-counter-large > span { display: block; font: 900 12px 'Courier New', monospace; }
.digital-display { display: block; margin-top: 5px; padding: 6px 8px; background: #000; color: #00ff67; font: 900 clamp(23px, 3vw, 37px)/1 'Courier New', monospace; letter-spacing: 2px; text-align: center; text-shadow: 0 0 5px #00ff67; }
.degradation-window { display: grid; grid-template-columns: 1fr 75px; gap: 8px; align-items: center; padding: 8px; border: 2px solid #111; background: #eee; }
.degradation-window h2 { margin: 0; font: 900 13px 'Courier New', monospace; }
.win-progress { height: 23px; padding: 3px; border: 2px inset #fff; background: #222; }
.win-progress span { display: block; height: 100%; background: repeating-linear-gradient(90deg, var(--pink) 0 10px, #b3007c 10px 12px); }
.degradation-percent { padding: 6px 4px; background: #111; color: #fff; font: 900 20px 'Courier New', monospace; text-align: center; }
.promo-grid, .home-modules { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.promo-card { position: relative; min-height: 105px; padding: 9px; overflow: hidden; background: var(--gray-light); border: 2px solid #111; border-top-color: #fff; border-left-color: #fff; text-decoration: none; }
.promo-card:hover { background: #fff; }
.promo-card h2 { margin: 0 0 6px; color: var(--blue); font-size: 17px; }
.promo-card p { margin: 0; color: #111; }
.promo-card .ui-icon { float: right; width: 42px; height: 42px; }
.module-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 8px; }
.module-window { overflow: hidden; }
.module-window .win-titlebar { min-height: 30px; }

.shop-toolbar { display: flex; align-items: center; gap: 8px; padding: 7px; overflow: hidden; }
.filter-buttons { display: flex; flex-wrap: wrap; gap: 4px; }
.filter-button { min-height: 31px; display: inline-flex; align-items: center; gap: 4px; padding: 5px 8px; border: 2px solid #111; border-top-color: #fff; border-left-color: #fff; background: var(--gray); color: #111; font-weight: 900; text-decoration: none; }
.filter-button:hover, .filter-button.is-active { background: var(--blue); color: #fff; }
.search-label { display: flex; align-items: center; gap: 5px; margin-left: auto; white-space: nowrap; font-weight: 900; }
.win-input, .search-label input, .admin-field input, .admin-field textarea, input, textarea { min-height: 30px; padding: 5px 7px; border: 2px inset #fff; border-radius: 0; background: #fff; color: #111; }
.search-label input { width: 185px; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 1250px) { .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.product-card { display: flex; min-width: 0; flex-direction: column; padding: 7px; overflow: hidden; background: var(--gray-light); border: 2px solid #111; border-top-color: #fff; border-left-color: #fff; box-shadow: 2px 2px 0 #111; }
.product-preview { position: relative; display: grid; min-height: 102px; place-items: center; overflow: hidden; background: #fff; border: 2px inset #fff; color: var(--blue); font: 900 16px Arial Black, Arial, sans-serif; text-align: center; }
.product-preview::before { content: ''; position: absolute; inset: 0; opacity: .75; background: repeating-linear-gradient(135deg, #24f 0 7px, #f2f 7px 14px, #ff0 14px 20px, #0c5 20px 27px); }
.preview-support::before { background: #ff146a; }
.preview-support::after { content: '♥'; position: relative; z-index: 1; color: #fff; font-size: 76px; text-shadow: 3px 3px 0 #111; }
.preview-ticker::before { background: #000; }
.preview-ticker::after { content: 'Всем привет!  ♥  Это кто-то ...'; position: relative; z-index: 1; color: var(--green); font: 900 13px 'Courier New', monospace; }
.preview-background::before { background: linear-gradient(#ff16ab 0 43%, #ffef4a 44% 63%, #1160d9 64%); }
.preview-background::after { content: '☀  PALM  ☀'; position: relative; z-index: 1; color: #111; font-size: 22px; }
.preview-music::after { content: '♫  ♫'; position: relative; z-index: 1; color: #a400ff; font-size: 55px; }
.preview-gif::after { content: '🌈  CAT'; position: relative; z-index: 1; font-size: 26px; }
.preview-button::after { content: 'МОЯ КНОПКА!!!'; position: relative; z-index: 1; color: #111; }
.preview-rename::after { content: 'Aa'; position: relative; z-index: 1; color: #22f; font: 900 62px Arial Black, Arial, sans-serif; text-shadow: 3px 3px #f2f; }
.preview-director::after { content: '♛'; position: relative; z-index: 1; color: #ff0; font-size: 70px; text-shadow: 3px 3px #111; }
.preview-wall_1::after, .preview-wall_2::after, .preview-wall_3::after, .preview-wall_5::after { content: '▦▦▦▦▦▦'; position: relative; z-index: 1; color: #ff1cab; font-size: 30px; letter-spacing: -5px; }
.preview-battle::after { content: '🐱  VS  🐱'; position: relative; z-index: 1; font-size: 24px; }
.product-preview > .choice-list { position: relative; z-index: 2; display: flex; flex-wrap: wrap; justify-content: center; gap: 3px; align-self: end; padding: 3px; }
.choice-button { padding: 2px 4px; border: 1px solid #111; background: var(--yellow); color: #111; font: 900 9px 'Courier New', monospace; }
.choice-button.is-selected { background: var(--pink); color: #fff; }
.product-card h2 { margin: 7px 0 3px; color: var(--blue); font-size: 16px; }
.product-card p { min-height: 34px; margin-bottom: 4px; }
.product-duration { display: block; margin: auto 0 5px; padding: 3px; border: 1px solid #999; background: #fff; color: #333; font: 900 11px 'Courier New', monospace; }
.product-card > .win-button { width: 100%; background: var(--pink); font-size: 13px; }
.empty-results { padding: 20px; border: 2px dashed var(--pink); background: #fff; text-align: center; }

.wall-layout { display: grid; grid-template-columns: 210px minmax(420px, 1fr) 265px; gap: 8px; align-items: start; }
.wall-controls, .wall-side, .wall-details { overflow: hidden; }
.wall-controls .win-window-body, .wall-side .win-window-body, .wall-details .win-window-body { display: grid; gap: 8px; }
.wall-sizes { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.wall-sizes .win-button { min-height: 48px; }
.wall-color-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 3px; }
.wall-color { height: 25px; border: 2px solid #111; border-top-color: #fff; border-left-color: #fff; }
.wall-nickname { width: 100%; }
.wall-buy { min-height: 52px; font-size: 16px; }
.wall-panel { min-width: 0; overflow: auto; padding: 8px; background: #eee; }
.wall-grid { display: grid; grid-template-columns: repeat(100, minmax(0, 1fr)); width: 100%; aspect-ratio: 1; overflow: hidden; background: #fff; border: 4px inset #fff; }
.wall-cell { min-width: 0; min-height: 0; padding: 0; border: 1px solid #b7b7b7; background: #fff; }
.wall-cell:hover, .wall-cell.is-selected { background: var(--pink); }
.wall-cell.is-occupied { background: var(--blue-bright); }
.wall-cell.is-reserved { background: var(--yellow); }
.wall-cell.is-conflict { background: var(--red); }
.wall-legend { display: flex; flex-wrap: wrap; gap: 7px; padding: 6px; background: #fff; font-size: 10px; }
.legend-item::before { content: ''; display: inline-block; width: 11px; height: 11px; margin-right: 3px; vertical-align: -2px; border: 1px solid #111; background: #fff; }
.legend-item.occupied::before { background: var(--blue-bright); }.legend-item.selected::before { background: var(--pink); }.legend-item.reserved::before { background: var(--yellow); }
.wall-side .win-table, .wall-details .win-table { margin: 0; }

.period-tabs { display: flex; flex-wrap: wrap; gap: 4px; }
.period-tabs a { min-width: 105px; padding: 9px 12px; border: 2px solid #111; border-top-color: #fff; border-left-color: #fff; background: var(--gray); color: #111; font: 900 14px Arial, sans-serif; text-align: center; text-decoration: none; }
.period-tabs a:hover, .period-tabs a.is-active { background: var(--pink); }
.hall-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 8px; }
.win-table { width: 100%; border-collapse: collapse; background: #fff; font-size: 12px; }
.win-table th { padding: 6px 4px; background: var(--blue); color: #fff; font-size: 11px; }
.win-table td { padding: 6px 4px; border: 1px solid #aaa; }
.win-table tr:nth-child(even) { background: #dfe8ff; }.win-table tr:hover { background: #fff69a; }
.leaderboard-list { margin: 0; padding: 0; list-style: none; }
.leader-row { display: grid; grid-template-columns: 36px 1fr 110px 100px; align-items: center; padding: 5px; border-bottom: 1px solid #aaa; background: #fff; }
.leader-row:nth-child(even) { background: #e3ecff; }.leader-rank { font-weight: 900; }.leader-total { font: 900 16px 'Courier New', monospace; text-align: right; }
.rank-badge { display: inline-block; padding: 2px 4px; background: #ffa3e4; color: #111; font-size: 10px; font-weight: 900; }
.hall-side { display: grid; gap: 8px; }

.battle-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.battle-option { overflow: hidden; padding: 0; background: #fff; }.battle-option h2 { margin: 0; padding: 7px; background: var(--pink); font-size: 18px; }.battle-option:nth-child(2) h2 { background: #8fff9e; }
.battle-option .progress { height: 24px; margin: 8px; padding: 2px; border: 2px inset #fff; background: #111; }.battle-option .progress span { display: block; height: 100%; background: var(--pink); }.battle-option:nth-child(2) .progress span { background: #25a74d; }
.battle-option .win-button { width: calc(100% - 16px); margin: 0 8px 8px; background: var(--blue); color: #fff; }

.guestbook-layout, .stats-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 8px; }
.guestbook-form, .admin-login { display: grid; gap: 6px; }.guestbook-form textarea { min-height: 105px; resize: vertical; }.form-status { min-height: 18px; margin: 5px 0 0; color: #003c95; font-weight: 900; }.field-error { display: block; min-height: 16px; color: var(--red); }
.guestbook-entry { padding: 6px; border-bottom: 1px solid #aaa; background: #fff; }.guestbook-entry:nth-child(even) { background: #e3ecff; }
.stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }.stat-card { min-height: 90px; padding: 9px; border: 2px solid #111; border-top-color: #fff; border-left-color: #fff; background: #eee; color: #111; text-align: left; }.stat-card:hover { background: #fff; }.stat-label { display: block; color: var(--blue); font: 900 12px 'Courier New', monospace; }.stat-card strong { display: block; margin-top: 9px; color: var(--pink-dark); font: 900 28px 'Courier New', monospace; }

.admin-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }.admin-kpi { min-height: 83px; padding: 7px; border: 2px solid #111; border-top-color: #fff; border-left-color: #fff; background: #eee; }.admin-kpi strong { display: block; margin-top: 12px; font: 900 24px 'Courier New', monospace; }.admin-kpi.good strong { color: #07992b; }.admin-kpi.warn strong { color: #c40000; }
.admin-controls { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }.admin-controls .win-button { min-height: 75px; font-size: 15px; }.admin-controls .destructive { background: #f33; color: #fff; }.admin-controls .safe { background: #ffe900; }.admin-console-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.admin-table-wrap { overflow: auto; }
.service-list { display: grid; gap: 3px; }.service-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 5px; border-bottom: 1px solid #aaa; background: #fff; }.service-online { color: #078c22; font-weight: 900; }.service-online::before { content: '● '; }

.legal-page { min-height: 300px; padding: 20px; background: #fff; border: 2px solid #111; }.legal-page ul { padding-left: 22px; }.route-placeholder { padding: 20px; background: #fff; }

.taskbar { position: relative; display: flex; align-items: center; gap: 5px; min-height: 34px; margin-top: 8px; padding: 4px; border: 2px solid #111; border-top-color: #fff; border-left-color: #fff; background: var(--gray); }
.mobile-taskbar-label, .mobile-taskbar-sound, .mobile-taskbar-live { display: none; }
.start-button { flex: 0 0 auto; font-size: 13px; }.windows-logo { color: #06e; font-size: 18px; }.taskbar-window { display: flex; min-width: 150px; align-items: center; gap: 4px; padding: 5px 8px; border: 2px inset #fff; background: #eee; font-size: 11px; font-weight: 900; }.taskbar-window img { width: 21px; height: 21px; }.taskbar-ticker { flex: 1; overflow: hidden; padding: 5px 10px; background: #000; color: var(--yellow); font: 900 11px 'Courier New', monospace; text-align: center; white-space: nowrap; }.footer-links { display: flex; gap: 9px; font-size: 10px; white-space: nowrap; }.taskbar-status { padding: 5px 7px; border: 2px inset #fff; font-weight: 900; white-space: nowrap; }.start-menu { position: absolute; z-index: 30; bottom: calc(100% - 4px); left: 4px; width: 245px; padding: 5px; background: var(--gray); }.start-menu a, .start-menu button { display: block; width: 100%; padding: 8px; border: 1px solid transparent; background: transparent; color: #111; font-weight: 900; text-align: left; text-decoration: none; }.start-menu a:hover, .start-menu button:hover { border-color: #111; background: var(--blue); color: #fff; }

.modal-backdrop { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(0,0,80,.72); }.win-dialog { width: min(540px, 100%); max-height: calc(100vh - 36px); overflow: auto; }.dialog-titlebar { min-height: 30px; }.window-close-button { display: inline-grid; width: 21px; height: 21px; place-items: center; padding: 0; border: 2px solid #111; border-top-color: #fff; border-left-color: #fff; background: var(--gray); color: #111; font-size: 17px; font-weight: 900; line-height: 1; }.win-dialog-body { padding: 13px; background: var(--gray-light); }.win-dialog-body h2 { margin-bottom: 7px; color: var(--blue); }.win-dialog-body form { display: grid; gap: 5px; }.win-dialog-body label { margin-top: 4px; color: #111; font-weight: 900; }.payment-terms { font-size: 11px; }.payment-result-actions { display: flex; flex-wrap: wrap; gap: 5px; }.toast { position: fixed; right: 14px; bottom: 14px; z-index: 120; max-width: 340px; padding: 9px 11px; border: 2px solid #111; background: var(--yellow); color: #111; font-weight: 900; box-shadow: 3px 3px 0 #fff; }
.floating-chaos-layer { position: fixed; z-index: 15; inset: 0; pointer-events: none; }.floating-gif { position: absolute; width: 58px; animation: float-chaos 4s ease-in-out infinite alternate; }.floating-gif button { pointer-events: auto; }.floating-gif img { width: 100%; }.reduced-motion *, .reduced-motion *::before, .reduced-motion *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }.reduced-motion .ticker-track { animation: none; }.reduced-motion .floating-chaos-layer { display: none; }

@keyframes float-chaos { from { transform: translateY(0) rotate(-4deg); } to { transform: translateY(14px) rotate(5deg); } }
@media (prefers-reduced-motion: reduce) { .ticker-track { animation: none; } *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; } }

@media (max-width: 1120px) {
  .brand-banner { grid-template-columns: 1.2fr .75fr .55fr .75fr; }.header-cat { display: none; }.slogan-panel { grid-column: 2; grid-row: 1; }.visitor-counter { grid-column: 3; grid-row: 1; }.header-status-panel { grid-column: 4; grid-row: 1; }.portal-layout { grid-template-columns: minmax(0, 1fr) 250px; }.desktop-nav .nav-link { padding-inline: 6px; }.desktop-nav .ui-icon { width: 17px; height: 17px; }.toolbar-toggle { font-size: 10px; }.product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.wall-layout { grid-template-columns: 180px minmax(360px, 1fr); }.wall-side, .wall-details { grid-column: 1 / -1; }.wall-side .win-window-body, .wall-details .win-window-body { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  body { font-size: 13px; }.site-shell { width: calc(100% - 6px); margin: 3px auto; padding: 3px; }.titlebar-note, .site-titlebar .window-chrome { display: none; }.site-titlebar { justify-content: center; text-align: center; }
  .brand-banner { grid-template-columns: 1fr 1fr; min-height: 92px; padding: 5px; }.brand-lockup { grid-column: 1 / -1; }.brand-lockup img { width: 48px; height: 48px; }.brand-word { font-size: 42px; }.brand-word small { margin-top: 7px; font-size: 11px; }.header-starburst, .slogan-panel, .header-status-panel { display: none; }.visitor-counter { display: none; }
  .toolbar-row { flex-wrap: wrap; }.desktop-nav { display: none; }.toolbar-actions { display: grid; grid-template-columns: 42px minmax(0, 1fr) minmax(118px, 1.25fr) auto; width: 100%; gap: 4px; }.toolbar-toggle { display: inline-flex; min-width: 0; min-height: 36px; padding-inline: 4px; font-size: 10px; white-space: normal; }.toolbar-toggle#local-sound-toggle { position: relative; font-size: 0; }.toolbar-toggle#local-sound-toggle::before { content: '🔊'; font-size: 18px; }.toolbar-toggle#local-sound-toggle .toolbar-symbol, .toolbar-toggle#local-sound-toggle b { display: none; }.toolbar-support { display: inline-flex; order: 3; min-height: 36px; font-size: 11px; }.win-button.mobile-menu-toggle { display: inline-flex; order: 4; min-height: 36px; }
  .mobile-menu { position: absolute; z-index: 25; top: calc(100% - 3px); left: 3px; right: 3px; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 5px; background: var(--gray); }.mobile-menu-titlebar { grid-column: 1 / -1; }.mobile-menu .nav-link { min-height: 39px; justify-content: flex-start; }.mobile-menu .nav-link:nth-last-child(1) { grid-column: 1 / -1; background: var(--pink); }
  .site-statusbar { flex-wrap: wrap; min-height: 42px; }.status-message { display: none; }.ticker-shell { margin-top: 5px; }.ticker-label { font-size: 10px; }.ticker-track { animation-duration: 28s; }.ticker-arrow { min-width: 25px; }.portal-layout { display: block; }.main-column { width: 100%; }.sidebar { margin-top: 8px; }.sidebar .rail-window { display: block; }
  .portal-hero { display: block; min-height: 425px; padding: 10px 8px 8px; }.hero-content { min-height: 400px; padding-top: 68px; justify-content: flex-end; }.hero-title { font-size: clamp(45px, 16vw, 78px); letter-spacing: -4px; }.hero-subtitle { max-width: 300px; }.hero-paperclip { left: 5px; bottom: 92px; width: 42px; height: 108px; }.hero-cow { right: 25%; top: 20px; width: 85px; }.hero-cat { right: 2px; top: 5px; width: 84px; }.hero-globe { left: auto; right: 5px; bottom: 17px; width: 42px; }.hero-actions { flex-direction: column; align-items: stretch; gap: 7px; }.hero-actions .win-button, .hero-actions .win-button-primary { width: 100%; min-width: 0; min-height: 43px; font-size: 14px; }.hero-effects { display: none; }
  .home-counters, .stat-grid, .promo-grid, .home-modules, .module-grid, .battle-grid, .guestbook-layout, .stats-layout, .admin-console-grid { grid-template-columns: 1fr; }.degradation-window { grid-template-columns: 1fr 66px; }.digital-display { font-size: 25px; }.page-banner { min-height: 122px; padding: 8px; }.page-banner h1 { font-size: clamp(36px, 12vw, 60px); }.page-banner-art { width: 90px; right: 4px; }.page-banner-note { display: none; }
  .shop-toolbar { display: block; }.filter-buttons { margin-bottom: 7px; }.filter-button { min-height: 34px; }.search-label { display: flex; margin: 0; }.search-label input { flex: 1; width: auto; }.product-grid { grid-template-columns: 1fr; }.product-card { min-height: 0; }.product-preview { min-height: 120px; }.product-card p { min-height: 0; }
  .wall-layout { display: flex; flex-direction: column; }.wall-controls, .wall-panel, .wall-side, .wall-details { width: 100%; }.wall-side .win-window-body, .wall-details .win-window-body { grid-template-columns: 1fr; }.wall-grid { min-width: 0; }.wall-sizes { grid-template-columns: repeat(4, 1fr); }.wall-sizes .win-button { min-height: 39px; padding-inline: 2px; font-size: 10px; }
  .period-tabs { display: grid; grid-template-columns: repeat(2, 1fr); }.period-tabs a { min-width: 0; }.hall-layout { display: block; }.leader-row { grid-template-columns: 28px 1fr 80px; }.leader-row .rank-badge { display: none; }.hall-side { margin-top: 8px; }
  .admin-kpis { grid-template-columns: 1fr 1fr; }.admin-controls { grid-template-columns: 1fr 1fr; }.admin-controls .win-button { min-height: 56px; font-size: 12px; }.win-table { font-size: 11px; }.win-table th, .win-table td { padding: 5px 3px; }
  .taskbar { position: sticky; bottom: 0; z-index: 20; margin-inline: -1px; }.taskbar-window, .taskbar-ticker, .footer-links { display: none; }.taskbar-status { margin-left: auto; }.start-menu { bottom: calc(100% - 3px); }
  .modal-backdrop { padding: 7px; }.win-dialog { max-height: calc(100vh - 14px); }.win-dialog-body { padding: 10px; }.payment-result-actions { display: grid; }.payment-result-actions .win-button { width: 100%; }.primary-action { min-height: 48px; }
}

@media (max-width: 370px) {
  .brand-word { font-size: 37px; }.toolbar-support { font-size: 11px; }.wall-sizes { grid-template-columns: 1fr 1fr; }.admin-kpis { grid-template-columns: 1fr; }
}

/* Dedicated phone composition. Keep this layer below 600px so desktop/tablet
   layout rules above remain the source of truth for larger viewports. */
@media (max-width: 600px) {
  html, body { min-width: 0; overflow-x: hidden; }
  body { background: linear-gradient(#6ecbff 0 47%, #6acb46 48% 100%); font-size: 14px; }
  .site-shell { width: calc(100% - 8px); margin: max(3px, env(safe-area-inset-top)) auto max(8px, env(safe-area-inset-bottom)); padding: 3px; background: #c0c0c0; }
  .site-titlebar { min-height: 29px; padding: 4px 5px; }
  .site-titlebar .titlebar-caption { font-size: 0; }
  .site-titlebar .titlebar-caption::after { content: '★ НИЧЕГО.FUN'; font-size: 13px; letter-spacing: 0; }
  .site-titlebar .titlebar-note { display: none; }
  .site-titlebar .window-chrome { display: inline-flex; gap: 2px; }
  .site-titlebar .window-chrome span { width: 16px; height: 16px; font-size: 11px; }
  .portal-header { position: relative; margin-top: 4px; }
  .brand-banner { display: none; }
  .mobile-brand-banner { display: grid; grid-template-columns: minmax(0, 1fr) 126px; align-items: center; gap: 5px; min-height: 72px; padding: 5px; overflow: hidden; background: linear-gradient(#e7e8ff, #b6c0fd); }
  .mobile-brand-lockup { display: flex; min-width: 0; align-items: center; gap: 5px; color: #111; text-decoration: none; }
  .mobile-brand-lockup img { width: 46px; height: 46px; flex: 0 0 auto; object-fit: contain; }
  .mobile-brand-lockup b { display: block; color: #090909; font: 900 clamp(31px, 10vw, 43px)/.82 Arial Black, Impact, Arial, sans-serif; letter-spacing: -2px; white-space: nowrap; text-shadow: 2px 2px #fff, 3px 3px var(--pink), 5px 5px #111; }
  .mobile-brand-lockup sup { font: 900 8px Arial, sans-serif; letter-spacing: 0; text-shadow: none; }
  .mobile-brand-lockup small { display: block; margin: 5px 0 0 3px; color: #111; font: 900 9px/1 Arial Black, Arial, sans-serif; white-space: nowrap; text-shadow: 1px 1px #fff; }
  .mobile-visitor-counter { min-width: 0; padding: 4px; }
  .mobile-visitor-counter span, .mobile-visitor-counter small { font-size: 9px; }
  .mobile-visitor-counter strong { margin: 2px 0; padding: 3px 1px; font-size: 16px; letter-spacing: 1px; }
  .toolbar-row { display: block; padding: 4px; }
  .desktop-nav { display: none; }
  .toolbar-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); width: 100%; gap: 4px; }
  .toolbar-toggle { min-width: 0; min-height: 44px; padding: 5px; font-size: 11px; white-space: normal; }
  .toolbar-toggle#local-sound-toggle { font-size: 0; }
  .toolbar-toggle#local-sound-toggle::before { content: '🔊'; font-size: 20px; }
  .toolbar-toggle#local-sound-toggle[data-muted="true"]::before { content: '🔇'; }
  .toolbar-toggle#local-sound-toggle .toolbar-symbol, .toolbar-toggle#local-sound-toggle b { display: none; }
  .toolbar-support { display: none !important; }
  .win-button.mobile-menu-toggle { display: inline-flex; grid-column: 1 / -1; width: 100%; min-height: 46px; font-size: 17px; }
  .mobile-menu { top: calc(100% + 2px); left: 0; right: 0; display: grid; grid-template-columns: 1fr; gap: 4px; width: 100%; padding: 5px; background: var(--gray); box-shadow: 3px 3px 0 #111; }
  .mobile-menu-titlebar { min-height: 35px; }
  .mobile-menu-titlebar .window-close-button { width: 23px; height: 23px; }
  .mobile-menu .mobile-nav-link { min-height: 44px; justify-content: flex-start; padding-inline: 10px; font-size: 14px; }
  .mobile-menu .mobile-nav-link .ui-icon { width: 22px; height: 22px; }
  .site-statusbar { min-height: 31px; gap: 5px; padding: 4px 6px; font-size: 10px; }
  .status-message { display: none; }
  .ticker-shell { min-height: 29px; margin-top: 4px; }
  .ticker-label { padding-inline: 5px; font-size: 9px; }
  .ticker { font-size: 11px; }
  .ticker-track { min-height: 25px; gap: 18px; padding-inline: 7px; animation-duration: 28s; }
  .ticker-arrow { min-width: 25px; }
  .portal-layout { display: block; margin-top: 5px; }
  .main-column, .sidebar { width: 100%; }
  .sidebar { margin-top: 6px; }
  .sidebar .ad-slot, .sidebar .rail-window { width: 100%; max-width: 100%; }
  .ad-slot { max-width: 100%; }
  .ad-creative, .ad-creative > *, .ad-creative img, .ad-creative iframe { max-width: 100%; width: auto; overflow: hidden; }
  .route-page, .main-column, .wall-page, .wall-layout, .wall-controls, .wall-panel, .wall-side, .wall-details { min-width: 0; }
  .route-page { gap: 6px; }
  .portal-hero { display: block; min-height: 0; padding: 8px 7px 7px; }
  .hero-content { min-height: 0; padding-top: 83px; justify-content: flex-start; }
  .hero-title { font-size: clamp(42px, 14vw, 54px); letter-spacing: -3px; line-height: .86; }
  .hero-subtitle { max-width: 320px; margin: 7px 0; font-size: 15px; line-height: 1.12; }
  .hero-paperclip { left: 5px; top: 205px; bottom: auto; width: 32px; height: 84px; object-fit: contain; }
  .hero-cow { right: 28%; top: 14px; width: 72px; max-width: 24%; height: auto; object-fit: contain; }
  .hero-cat { right: 4px; top: 8px; width: 72px; max-width: 24%; height: auto; object-fit: contain; }
  .hero-globe { right: 5px; bottom: 10px; width: 38px; height: 38px; object-fit: contain; }
  .notice { width: 100%; margin: 7px 0; padding: 7px 5px; font-size: 12px; }
  .mobile-hero-stats { display: grid; gap: 6px; width: 100%; margin-top: 4px; }
  .mobile-hero-stats .win-counter-large { min-height: 70px; padding: 6px; }
  .mobile-hero-stats .win-counter-large > span { font-size: 10px; }
  .mobile-hero-stats .digital-display { margin-top: 3px; padding: 5px; font-size: 23px; }
  .mobile-hero-stats .degradation-window { grid-template-columns: minmax(0, 1fr) 55px; gap: 5px; padding: 6px; }
  .mobile-hero-stats .degradation-window h2 { font-size: 11px; }
  .mobile-hero-stats .win-progress { height: 19px; padding: 2px; }
  .mobile-hero-stats .degradation-percent { padding: 5px 2px; font-size: 17px; }
  body[data-route="/"] .home-counters { display: none; }
  .hero-actions { flex-direction: column; align-items: stretch; gap: 5px; width: 100%; margin-top: 7px; }
  .hero-actions .win-button, .hero-actions .win-button-primary { width: 100%; min-width: 0; min-height: 48px; font-size: 16px; border-radius: 0; }
  .hero-actions .win-button-primary { font-size: 18px; }
  .hero-effects { display: grid; gap: 6px; margin-top: 7px; }
  .hero-effects .win-window { flex: none; }
  .hero-effects .win-titlebar { min-height: 29px; font-size: 11px; }
  .hero-effects .win-window-body { max-height: 86px; overflow: auto; padding: 5px; }
  .hero-effects .live-feed { max-height: 86px; padding: 5px; }
  .hero-effects .effect-row { grid-template-columns: 22px 1fr 40px; padding: 5px 2px; font-size: 10px; }
  .hero-effects .effect-row .effect-countdown { display: none; }
  .page-banner { min-height: 105px; padding: 8px 10px; }
  .page-banner h1 { max-width: 86%; font-size: clamp(32px, 10vw, 47px); letter-spacing: -2px; }
  .page-banner p { max-width: 75%; font-size: 11px; }
  .page-banner-art { right: 5px; bottom: 5px; width: 76px; max-height: 72px; }
  .page-banner-note { display: none; }
  .shop-toolbar { display: block; padding: 5px; }
  .filter-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; margin-bottom: 5px; }
  .filter-button { min-height: 40px; justify-content: center; padding: 4px; font-size: 11px; }
  .search-label { display: flex; width: 100%; margin: 0; font-size: 11px; }
  .search-label input { width: auto; min-width: 0; flex: 1; min-height: 38px; }
  .product-grid { grid-template-columns: 1fr; gap: 6px; }
  .product-card { min-height: 0; padding: 5px; }
  .product-preview { min-height: 76px; max-height: 88px; }
  .product-card h2 { margin: 5px 0 2px; font-size: 15px; }
  .product-card p { min-height: 0; margin-bottom: 3px; font-size: 12px; }
  .product-duration { margin-top: 2px; margin-bottom: 4px; padding: 2px; font-size: 9px; }
  .product-card > .win-button { min-height: 40px; font-size: 13px; }
  .wall-layout { display: flex; flex-direction: column; gap: 6px; width: 100%; }
  .wall-controls, .wall-panel, .wall-side, .wall-details { width: 100%; max-width: 100%; }
  .wall-sizes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wall-panel { overflow: hidden; }
  .wall-panel .win-window-body { overflow: hidden; padding: 5px; }
  .wall-scroll-viewport { width: 100%; max-width: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; }
  .wall-scroll-viewport .wall-grid { width: 680px; min-width: 680px; max-width: none; aspect-ratio: 1; }
  .wall-legend { min-width: 680px; font-size: 9px; }
  .wall-sizes .win-button { min-height: 44px; }
  .period-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .period-tabs a { min-height: 42px; padding: 8px 4px; font-size: 12px; }
  .admin-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-controls { grid-template-columns: 1fr; }
  .admin-controls .win-button { min-height: 52px; }
  .taskbar { position: sticky; bottom: 0; z-index: 20; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; min-height: 40px; margin-inline: -1px; padding: 4px 5px max(4px, env(safe-area-inset-bottom)); }
  .start-button { min-height: 34px; padding-inline: 8px; }
  .taskbar-window, .taskbar-ticker, .footer-links, .taskbar-status { display: none; }
  .mobile-taskbar-label { display: block; min-width: 0; overflow: hidden; padding: 7px 4px; font-size: 11px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-taskbar-sound, .mobile-taskbar-live { display: block; padding: 7px 3px; font-size: 11px; font-weight: 900; white-space: nowrap; }
  .mobile-taskbar-live { color: #008d2d; }
  .start-menu { bottom: calc(100% - 3px); left: 3px; width: min(280px, calc(100vw - 16px)); }
  .modal-backdrop { padding: max(7px, env(safe-area-inset-top)) 8px max(7px, env(safe-area-inset-bottom)); }
  .win-dialog { width: calc(100vw - 16px); max-width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  .win-dialog-body { padding: 9px; }
  .win-dialog-body input, .win-dialog-body textarea, .win-dialog-body .win-input { min-height: 42px; width: 100%; }
  .win-dialog-body textarea { min-height: 74px; }
  .payment-terms { font-size: 10px; line-height: 1.2; }
  .primary-action { min-height: 50px; font-size: 16px; }
  .payment-result-actions { display: grid; }
  .payment-result-actions .win-button { width: 100%; min-height: 44px; }
  .floating-chaos-layer { display: none; }
  [data-local-asset], .ad-creative img, .ad-creative iframe { max-width: 100%; height: auto; object-fit: contain; }
}
