:root {
  --canvas:#f4f7f8;
  --paper:#fff;
  --ink:#12363f;
  --muted:#526b73;
  --brand:#155b66;
  --soft:#e6f0f0;
  --line:#c9d7db;
  --control-border:#788f97;
  --signal:#e96746;
  --focus:#b54228;
  --max:1240px;
  --receipt-rule:#bacdca;
  --ticket-paper:#fefefa;
  --receipt-paper:#fffefb;
  --paper-grain:url("paper-grain.dfa10edb9e5a.svg");
  --paper-perforation:repeating-linear-gradient(90deg,#acbfb5 0 2px,transparent 2px 5px);
  --paper-edge:#cdd8d2;
  --paper-thickness:#c6d2cb;
  --paper-radius:18px;
  --paper-shadow:0 1px 0 var(--paper-thickness),0 3px 4px #163e4307,0 18px 28px -26px #163e4352;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { margin:0; min-width:0; color:var(--ink); background:var(--canvas); font:400 16px/1.5 "Golos Text",sans-serif; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; }
a { color:inherit; text-decoration:none; }
img,svg { max-width:100%; }
h1,h2,h3,p { overflow-wrap:break-word; }
h1,h2,h3 { text-wrap:balance; }
h1,h2,h3,p,dl { margin-top:0; }
button[hidden],[hidden] { display:none !important; }
:focus-visible { outline:3px solid var(--focus); outline-offset:4px; }
input:focus-visible,select:focus-visible,textarea:focus-visible { outline-offset:2px; }
.wrap { width:min(calc(100% - 80px),var(--max)); margin-inline:auto; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:12px; left:16px; z-index:100; padding:12px 18px; background:var(--ink); color:var(--paper); border-radius:8px; translate:0 -160%; }
.skip-link:focus { translate:0 0; }
.topline { background:var(--ink); color:#e3eeee; font-size:12px; }
.topline .wrap { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:34px; }
.topline span:last-child { color:#b9d6d9; }
.header { position:sticky; top:0; z-index:30; background:var(--paper); border-bottom:1px solid var(--line); }
.header-inner { display:flex; align-items:center; gap:32px; min-height:80px; }
.brand { display:inline-flex; gap:10px; align-items:center; flex-shrink:0; }
.brand-symbol { display:block; width:35px; height:35px; color:var(--ink); flex-shrink:0; }
.brand-dot { fill:#ee8769; }
.brand-name { font:800 22px/1 "Golos Text",sans-serif; letter-spacing:-.055em; }
.nav { display:flex; gap:23px; align-items:center; font-size:14px; font-weight:600; }
.nav a { padding-block:12px; white-space:nowrap; }
.nav [aria-current="page"] { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:9px; }
.actions { display:flex; gap:12px; align-items:center; margin-left:auto; }
.search-mini { display:flex; align-items:center; gap:12px; width:180px; height:44px; padding:0 14px; border:1px solid var(--control-border); border-radius:8px; }
.search-mini input { width:100%; min-width:0; border:0; outline:0; background:transparent; font-size:14px; color:var(--ink); }
.search-mini:focus-within { outline:3px solid var(--focus); outline-offset:3px; }
.account-link { font-size:14px; font-weight:600; white-space:nowrap; }
.mobile-account { display:none; }
.icon-button,.menu-toggle { display:inline-flex; justify-content:center; align-items:center; min-width:44px; min-height:44px; border:1px solid var(--line); border-radius:9px; background:var(--paper); color:var(--ink); }
.menu-toggle { display:none; gap:9px; padding:0 13px; font-size:14px; font-weight:600; }
.menu-toggle span { font-size:18px; }
.magnify { width:16px; height:16px; display:inline-block; border:2px solid currentColor; border-radius:50%; position:relative; flex-shrink:0; }
.magnify::after { content:""; position:absolute; width:7px; height:2px; right:-5px; bottom:-3px; background:currentColor; rotate:45deg; border-radius:2px; }
.bag { width:17px; height:18px; border:1.8px solid currentColor; border-radius:3px 3px 5px 5px; position:relative; display:block; margin-top:5px; }
.bag::before { content:""; position:absolute; width:8px; height:7px; border:1.8px solid currentColor; border-bottom:0; border-radius:6px 6px 0 0; top:-7px; left:2.7px; }
.cart-link { position:relative; }
.cart-count { position:absolute; top:-6px; right:-6px; min-width:20px; height:20px; padding:0 4px; border:2px solid var(--paper); border-radius:12px; background:var(--brand); color:var(--paper); font-size:11px; line-height:16px; text-align:center; font-weight:700; }
.primary-button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:13px 22px; border:1px solid transparent; border-radius:9px; background:var(--ink); color:var(--paper); font-weight:600; text-align:center; line-height:1.35; }
.primary-button:disabled { background:#d9e2e4; color:var(--muted); }
.text-button { border:0; padding:8px 0; background:none; color:var(--brand); text-decoration:underline; text-underline-offset:4px; font-size:14px; }
input::placeholder { color:var(--muted); opacity:1; }
.section-heading,.catalog-head { display:flex; gap:20px; align-items:baseline; justify-content:space-between; margin-bottom:20px; }
.section-heading h2,.catalog-head h2 { margin:0; font-size:30px; font-weight:700; line-height:1.2; letter-spacing:-.04em; }
.section-heading p,.catalog-head p { margin:7px 0 0; color:var(--muted); font-size:14px; }
.catalog-head > a { font-size:14px; font-weight:600; white-space:nowrap; }
.catalog { padding:52px 0 0; }
.grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; align-items:stretch; }
.card { min-width:0; padding:6px; border:1px solid var(--paper-edge); border-radius:var(--paper-radius); overflow:hidden; background:var(--paper); box-shadow:var(--paper-shadow); }
.product-card .cover { border-radius:11px; }
.card-link { display:flex; flex-direction:column; height:100%; }
.card-link:focus-visible { outline-offset:-4px; border-radius:12px; }
.cover { position:relative; display:flex; flex-direction:column; justify-content:space-between; height:215px; min-height:215px; margin:0; padding:18px; overflow:hidden; color:var(--paper); }
.cover small { font-size:11px; }
.cover strong { font-size:25px; }
.card-body { display:flex; flex:1; flex-direction:column; min-width:0; padding:20px 14px 13px; }
.card-platform { margin:0 0 7px; color:var(--brand); font-size:12px; font-weight:500; line-height:1.45; }
.card-name { min-height:2.7em; margin:0 0 16px; font-size:18px; font-weight:700; line-height:1.35; letter-spacing:-.025em; text-wrap:pretty; }
.card-facts { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0; font-size:12px; line-height:1.5; }
.card-facts > div { display:grid; grid-template-columns:1fr; gap:3px; align-content:start; }
.card-facts dt { color:var(--muted); }
.card-facts dd { margin:0; font-weight:500; overflow-wrap:anywhere; }
.card-facts dd.fact-pending { font-weight:400; color:var(--muted); }
.card-description { min-block-size:4.65em; margin:0; color:var(--muted); font-size:13px; line-height:1.55; text-wrap:pretty; }
.card-variant-count { display:grid; gap:4px; min-width:0; }
.card-variant-count > span { color:var(--muted); font-size:11px; }
.card-variant-count > strong { font-size:19px; line-height:1.25; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.card-bottom { position:relative; display:flex; align-items:end; justify-content:space-between; gap:10px; margin-top:auto; padding-top:17px; border-top:1px dashed var(--receipt-rule); }
.card-bottom::before,.card-bottom::after { content:""; position:absolute; top:-6px; width:10px; height:10px; border:1px solid var(--paper-edge); border-radius:50%; background:var(--canvas); pointer-events:none; }
.card-bottom::before { left:-26px; }
.card-bottom::after { right:-26px; }
.price-label { display:block; margin-bottom:5px; color:var(--muted); font-size:11px; font-weight:400; line-height:1.4; }
.price strong { font-size:24px; font-weight:700; line-height:1.15; letter-spacing:-.04em; }
.price strong.price-pending { font-size:15px; line-height:1.3; letter-spacing:-.02em; }
.price:has(.price-pending) .price-label { display:none; }
.catalog-pagination { flex-wrap:wrap; gap:12px; margin-block:28px 0; }
.catalog-pagination .primary-button:disabled { opacity:.55; }
.cover.service { background:#dceadf; color:var(--ink); }
.cover.service > strong { font-size:clamp(20px,2.2vw,28px); line-height:1.15; max-width:100%; overflow-wrap:anywhere; }
.cover.service .cover-scene { position:absolute; width:110px; height:110px; inset:auto 10px 12px auto; rotate:12deg; }
.cover.service[data-kind="ai"] { background:#173e46; color:#fffefb; }
.catalog-grid .card-name { overflow-wrap:anywhere; }
.catalog-grid[aria-busy="true"] { opacity:.6; pointer-events:none; }
.ticket-placeholder { min-height:375px; padding:7px; border:1px solid var(--paper-edge); border-radius:var(--paper-radius); background:var(--ticket-paper); }
.ticket-placeholder > span { display:block; height:165px; margin-bottom:24px; border-radius:11px; background:#dfe9e5; }
.ticket-placeholder > i { display:block; height:14px; width:75%; margin:14px 12px; border-radius:3px; background:#e3e9e5; }
.ticket-placeholder > i + i { width:52%; }
.ticket-placeholder > b { display:block; border-top:1px dashed var(--receipt-rule); margin-top:48px; }
.spotlight-foot b.price-pending { font-size:17px; line-height:1.25; letter-spacing:-.02em; }
.card-arrow { display:inline-flex; gap:7px; align-items:center; min-height:31px; font-size:11px; font-weight:500; color:var(--ink); white-space:nowrap; }
.card-arrow > span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--ink); color:var(--paper); font-size:18px; line-height:1; }
.price,.cart-count,.category-count,.cart-total,.cart-item-price,.quantity-control,.purchase-panel strong { font-variant-numeric:tabular-nums; }
.choice-guide { display:grid; grid-template-columns:1.3fr repeat(3,minmax(0,1fr)); gap:28px; align-items:start; margin-block:60px 76px; padding:30px 0 0; border-top:1px dashed var(--receipt-rule); }
.choice-guide h2 { margin:0 0 8px; max-width:250px; font-size:23px; line-height:1.2; letter-spacing:-.03em; }
.choice-guide p { color:var(--muted); font-size:14px; margin:0; }
.choice-guide a { display:grid; gap:8px; min-height:62px; font-size:14px; }
.choice-guide a strong { font-weight:600; }
.choice-guide a span { color:var(--muted); font-size:13px; line-height:1.5; }
/* Catalog. */
.page-main { min-height:65vh; padding:26px 0 80px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 34px; color:var(--muted); font-size:13px; line-height:1.5; }
.breadcrumbs span:last-child { color:var(--ink); }
.page-intro { margin:0 0 35px; }
.page-intro h1,.missing-product h1 { margin:0 0 12px; font-size:clamp(32px,4vw,46px); font-weight:700; line-height:1.15; letter-spacing:-.045em; }
.page-intro p,.missing-product p { max-width:650px; margin:0; color:var(--muted); }
body[data-page="catalog"] .breadcrumbs { margin-bottom:22px; }
body[data-page="catalog"] .page-intro { margin-bottom:28px; }
body[data-page="catalog"] .page-intro h1 { font-size:clamp(30px,3.4vw,42px); }
body[data-page="catalog"] .page-intro p { max-width:900px; font-size:15px; }
.catalog-layout { display:grid; grid-template-columns:205px minmax(0,1fr); gap:32px; align-items:start; }
.catalog-sidebar { position:sticky; top:110px; }
.catalog-sidebar h2 { margin:0 0 15px; font-size:14px; font-weight:600; }
.catalog-collections { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:-8px 0 28px; }
.collection-ticket { position:relative; display:flex; flex-direction:column; justify-content:center; gap:3px; min-height:88px; min-width:0; padding:15px 46px 15px 16px; text-align:left; color:var(--ink); border:1px solid #aac5bc; border-radius:10px; background:#dcebe1 var(--paper-grain); background-size:180px; transition:border-color 160ms,background-color 160ms,color 160ms; }
.collection-ticket:nth-child(2) { background-color:#eee6d5; border-color:#d3c6ad; }
.collection-ticket:nth-child(3) { background-color:#dce6ed; border-color:#b3c6d2; }
.collection-ticket:nth-child(4) { background-color:#e7e1ec; border-color:#c8bcd2; }
.collection-ticket::after { content:""; position:absolute; right:36px; top:8px; bottom:8px; border-left:1px dashed currentColor; opacity:.24; }
.collection-ticket strong { font-size:15px; line-height:1.3; font-weight:750; }
.collection-ticket span { font-size:12px; line-height:1.4; }
.collection-ticket i { position:absolute; right:10px; top:calc(50% - 8px); width:16px; height:16px; border:1.5px solid currentColor; border-radius:50%; }
.collection-ticket[aria-pressed="true"] { background-color:var(--ink); border-color:var(--ink); color:var(--ticket-paper); }
.collection-ticket[aria-pressed="true"] i::before { content:""; position:absolute; left:4px; top:2px; width:4px; height:7px; border:solid currentColor; border-width:0 1.5px 1.5px 0; transform:rotate(45deg); }
@media (hover:hover) { .collection-ticket:hover { border-color:var(--ink); } }
@media (max-width:800px) { .catalog-collections { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:22px; } .collection-ticket { min-height:82px; } }
@media (max-width:580px) { .collection-ticket { min-height:66px; padding:12px 36px 12px 12px; } .collection-ticket strong { font-size:14px; } .collection-ticket span { display:none; } .collection-ticket::after { right:29px; } .collection-ticket i { right:8px; width:14px; height:14px; top:calc(50% - 7px); } .collection-ticket[aria-pressed="true"] i::before { left:3px; top:1px; } }
@media (prefers-reduced-motion:reduce) { .collection-ticket { transition:none; } }
.category-list { display:grid; gap:5px; }
.category-list button { display:flex; align-items:center; justify-content:space-between; width:100%; gap:12px; padding:12px; min-height:46px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--ink); text-align:left; font-size:14px; line-height:1.3; }
.category-list button[aria-pressed="true"] { background:var(--ink); color:var(--paper); }
.category-count { display:grid; place-items:center; min-width:25px; min-height:25px; padding:2px 6px; border:1px solid var(--line); border-radius:6px; font-size:11px; }
.category-list button[aria-pressed="true"] .category-count { border-color:#62848a; }
.sidebar-note { margin-top:27px; padding:18px 0 0; border-top:1px dashed var(--receipt-rule); font-size:13px; }
.sidebar-note strong { display:block; font-weight:600; }
.sidebar-note p { margin:10px 0; color:var(--muted); }
.sidebar-note a { text-decoration:underline; text-underline-offset:4px; font-weight:500; }
.catalog-results { min-width:0; }
.catalog-controls { display:grid; gap:16px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.catalog-search { display:flex; align-items:center; gap:16px; min-height:52px; padding:0 16px; border:1px solid var(--control-border); border-radius:9px; color:var(--brand); background:#f7faf9; }
.catalog-search input { width:100%; min-width:0; border:0; outline:0; background:none; color:var(--ink); font-size:16px; }
.catalog-search:focus-within { outline:3px solid var(--focus); outline-offset:3px; }
.catalog-selects { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding-top:0; border:0; }
.sort-label { display:grid; gap:7px; color:var(--muted); font-size:12px; min-width:0; }
.sort-label select,.account-region-check select { min-width:0; width:100%; min-height:44px; padding:9px 12px; border:1px solid var(--control-border); border-radius:8px; background:var(--paper); color:var(--ink); font-size:14px; }
.results-toolbar { display:flex; align-items:center; justify-content:space-between; gap:15px; min-height:60px; padding:10px 0; }
.results-count { color:var(--muted); font-size:13px; margin:0; }
.catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.catalog-grid .cover { min-height:165px; height:165px; }
.catalog-grid .card-body { padding:16px 12px 14px; }
.catalog-grid .card-bottom { flex-wrap:wrap; gap:7px; }
.catalog-grid .card-name { font-size:17px; }
@media (min-width:1081px) {
  .catalog-controls { grid-template-columns:minmax(220px,1fr) minmax(350px,1.25fr); align-items:end; }
  .catalog-controls .catalog-search { min-height:45px; }
}
.empty-state,.empty-cart { padding:60px 25px; border:1px solid var(--paper-edge); border-radius:var(--paper-radius); background:var(--paper); box-shadow:var(--paper-shadow); text-align:center; }
.empty-state h2,.empty-cart h2 { margin:22px 0 11px; font-size:27px; letter-spacing:-.03em; line-height:1.2; }
.empty-state p,.empty-cart p { max-width:420px; margin:0 auto 25px; color:var(--muted); }
.empty-state-symbol,.empty-cart-mark { display:inline-flex; align-items:center; justify-content:center; width:60px; height:60px; border-radius:50%; background:var(--soft); color:var(--brand); font-size:30px; }
/* Product details. */
.detail-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:52px; align-items:start; }
.detail-art { padding:7px; border:1px solid var(--paper-edge); border-radius:var(--paper-radius); background:var(--paper); box-shadow:var(--paper-shadow); }
.detail-panel { min-width:0; padding:28px; border:1px solid var(--paper-edge); border-radius:var(--paper-radius); background:var(--paper); box-shadow:var(--paper-shadow); }
.cover-large { height:430px; min-height:430px; margin:0; padding:30px; border-radius:8px; }
.detail-art > p { margin:15px 14px 10px; padding-top:12px; border-top:1px dashed var(--receipt-rule); color:var(--muted); font-size:12px; }
.detail-kind { display:inline-flex; flex-wrap:wrap; gap:9px; color:var(--brand); font-size:13px; font-weight:500; }
.detail-panel h1 { margin:12px 0 20px; font-size:clamp(29px,3.4vw,44px); font-weight:700; line-height:1.15; letter-spacing:-.04em; }
.detail-description { color:var(--muted); font-size:16px; line-height:1.65; }
.detail-art-inline { display:none; }
.detail-facts { margin:25px 0; }
.detail-facts > div { display:grid; grid-template-columns:140px minmax(0,1fr); gap:18px; padding:13px 0; border-bottom:1px dashed var(--receipt-rule); font-size:14px; }
.detail-facts dt { color:var(--muted); }
.detail-facts dd { margin:0; font-weight:600; overflow-wrap:anywhere; }
.account-region-check { padding:19px; border:1px solid #c5d9d0; border-radius:9px; background:#e9f3ed; margin:23px 0; }
.account-region-check label { display:block; font-size:14px; font-weight:600; margin-bottom:11px; }
.account-region-check p { margin:12px 0 0; font-size:13px; line-height:1.5; }
.detail-activation { padding-left:17px; border-left:3px solid var(--brand); margin:24px 0; font-size:14px; }
.detail-activation strong { font-weight:600; }
.detail-activation p { margin:8px 0; color:var(--muted); line-height:1.6; }
.detail-activation a { text-decoration:underline; text-underline-offset:4px; font-size:13px; font-weight:500; }
.purchase-panel { display:flex; flex-wrap:wrap; gap:22px; align-items:center; justify-content:space-between; padding:24px 0 0; border-top:1px dashed var(--receipt-rule); }
.purchase-panel > div > span { display:block; margin-bottom:5px; font-size:12px; color:var(--muted); }
.purchase-panel strong { font-size:36px; line-height:1.15; letter-spacing:-.045em; }
.purchase-note { min-height:42px; margin:12px 4px 0; font-size:13px; color:var(--muted); line-height:1.5; }
.variant-picker { margin:26px 0; padding:22px 0; border-block:1px dashed var(--receipt-rule); }
.variant-return-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; }
.variant-picker-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 14px; }
.variant-picker-heading h2 { margin:0; font-size:20px; line-height:1.3; letter-spacing:-.03em; }
.variant-picker-heading > span { color:var(--brand); font-size:13px; font-weight:500; font-variant-numeric:tabular-nums; }
.variant-picker > p { margin:10px 0 18px; color:var(--muted); font-size:13px; }
.variant-ticket { min-width:0; border:1px solid var(--control-border); border-radius:12px; background:var(--ticket-paper) var(--paper-grain) repeat; box-shadow:0 2px 0 var(--paper-thickness); }
.variant-ticket > summary { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:84px; padding:16px; border-radius:11px; cursor:pointer; list-style:none; }
.variant-ticket > summary::-webkit-details-marker { display:none; }
.variant-ticket > summary::marker { content:""; }
.variant-summary-copy { display:grid; gap:6px; min-width:0; }
.variant-summary-copy > strong { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 10px; font-size:16px; font-weight:600; line-height:1.35; }
.variant-summary-copy > span { color:var(--muted); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.variant-summary-platform,.variant-platform { display:inline-block; max-width:100%; padding:2px 6px; border:1px solid #afc8bb; border-radius:4px; color:var(--ink); background:#e8f0e7; font-size:11px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.variant-summary-arrow { display:grid; flex:0 0 30px; width:30px; height:30px; place-items:center; border:1px solid var(--receipt-rule); border-radius:50%; }
.variant-summary-arrow svg { width:18px; height:18px; }
.variant-ticket[open] > summary { border-radius:11px 11px 0 0; background:var(--paper-perforation) left bottom / 100% 1px no-repeat; }
.variant-ticket[open] .variant-summary-arrow { transform:rotate(180deg); }
.variant-picker-body { min-width:0; padding:16px; }
.variant-delivery-filters { min-width:0; margin:0 0 20px; padding:0 0 18px; border:0; border-bottom:1px dashed var(--receipt-rule); }
.variant-delivery-filters legend { margin-bottom:10px; padding:0; font-size:12px; font-weight:600; }
.variant-delivery-options { display:flex; flex-wrap:wrap; gap:7px; }
.variant-delivery-option { display:flex; align-items:center; justify-content:space-between; gap:9px; max-width:100%; min-height:44px; padding:9px 11px; border:1px solid var(--receipt-rule); border-radius:6px; background:var(--ticket-paper); color:var(--ink); text-align:left; font-size:12px; line-height:1.4; }
.variant-delivery-option > span { min-width:0; overflow-wrap:anywhere; }
.variant-delivery-option > small { flex-shrink:0; color:var(--muted); font-size:10px; font-variant-numeric:tabular-nums; }
.variant-delivery-option[aria-pressed="true"] { border-color:var(--ink); background:var(--ink); color:var(--paper); box-shadow:inset 3px 0 var(--accent,#ee8769); }
.variant-delivery-option[aria-pressed="true"] > small { color:var(--paper); }
.variant-search-label { display:block; margin-bottom:8px; font-size:12px; font-weight:600; }
.variant-search-field { display:flex; align-items:center; gap:11px; min-height:46px; padding:0 12px; border:1px solid var(--control-border); border-radius:7px; background:#fff; }
.variant-search-field .magnify { width:14px; height:14px; border-width:1.5px; }
.variant-search-field:focus-within { outline:3px solid var(--focus); outline-offset:2px; }
.variant-search-field input { min-width:0; width:100%; min-height:44px; padding:10px 0; border:0; outline:0; color:var(--ink); background:none; font-size:16px; line-height:1.4; }
.variant-search-field input:focus-visible { outline:0; }
.variant-search-scope { margin:9px 0 15px; color:var(--muted); font-size:11px; line-height:1.55; }
.variant-filter-status { margin:0 0 10px; color:var(--brand); font-size:12px; font-variant-numeric:tabular-nums; }
.variant-filter-status:empty { display:none; }
.variant-choices { min-width:0; margin:0; padding:0; border:0; }
.variant-options { max-height:clamp(14rem,42vh,23rem); overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scrollbar-width:thin; scroll-padding-block:10px; border-block:1px solid var(--receipt-rule); }
.variant-option { position:relative; display:grid; grid-template-columns:18px minmax(0,1fr); align-items:start; gap:11px; min-width:0; min-height:76px; padding:14px 9px; cursor:pointer; border-bottom:1px dashed var(--receipt-rule); }
.variant-option:last-child { border-bottom:0; }
.variant-option input { width:17px; height:17px; margin:3px 0 0; accent-color:var(--ink); cursor:pointer; }
.variant-option-copy { display:grid; gap:6px; min-width:0; }
.variant-option-heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 9px; min-width:0; }
.variant-option-heading > strong { font-size:14px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.variant-option-name { color:var(--brand); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.variant-option-conditions { color:var(--muted); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.variant-offer-note { color:var(--muted); font-size:11px; line-height:1.5; }
.variant-option-conditions > span + span::before { content:" · "; white-space:pre; }
.variant-option:has(input:checked) { background:#e6f0e7; box-shadow:inset 3px 0 #ee8769; }
.variant-option:has(input:focus-visible) { outline:2px solid var(--focus); outline-offset:-3px; }
.variant-empty { margin:0; padding:20px 10px; color:var(--muted); font-size:13px; line-height:1.6; }
.variant-picker-foot { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:4px 12px; padding-block:6px; }
.variant-picker-foot p { margin:0; color:var(--muted); font-size:11px; font-variant-numeric:tabular-nums; }
.variant-picker-foot .text-button { min-height:44px; font-size:12px; }
.variant-done { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; width:100%; margin-top:5px; padding:11px 13px; border:1px solid var(--ink); border-radius:7px; background:var(--ink); color:var(--paper); font-size:13px; font-weight:500; text-align:left; line-height:1.5; }
.variant-done > span { flex-shrink:0; font-size:19px; line-height:1; }
.variant-done:disabled { border-color:var(--line); background:#e8ede8; color:var(--muted); }
.variant-request-error { margin:0 0 14px; color:var(--focus); font-size:13px; }
.variant-picker .variant-load-status { margin:12px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.variant-load-status:empty { display:none; }
@media (hover:hover) and (pointer:fine) {
.variant-ticket > summary:hover { background-color:#f0f5ed; }
.variant-option:hover { background:#f0f5ed; }
.variant-delivery-option[aria-pressed="false"]:hover { border-color:var(--ink); background:#f0f5ed; }
.variant-option:has(input:checked):hover { background:#e6f0e7; }
}
@media (prefers-reduced-motion:no-preference) {
.variant-summary-arrow { transition:transform 160ms ease; }
}
@media (max-width:480px) {
.variant-ticket > summary { padding:14px 12px; }
.variant-picker-body { padding:14px 12px; }
.variant-option { gap:9px; padding-inline:7px; }
}
@media (forced-colors:active) {
.variant-ticket,.variant-summary-platform,.variant-platform,.variant-search-field,.variant-options,.variant-delivery-option { border-color:CanvasText; }
.variant-delivery-option[aria-pressed="true"] { outline:2px solid Highlight; outline-offset:-2px; }
.variant-option:has(input:checked) { outline:1px solid Highlight; outline-offset:-2px; }
.variant-option:has(input:focus-visible) { outline:2px solid Highlight; outline-offset:-3px; }
.variant-search-field:focus-within { outline-color:Highlight; }
}
.variant-unselected { padding:22px; border:1px dashed var(--receipt-rule); border-radius:12px; background:var(--ticket-paper); }
.variant-unselected strong { font-size:16px; font-weight:600; }
.variant-unselected p { margin:9px 0 0; color:var(--muted); font-size:14px; line-height:1.6; }
.selected-variant-label { margin:0 0 8px; color:var(--brand); font-size:12px; }
.selected-variant h2 { margin:0; font-size:21px; line-height:1.4; letter-spacing:-.025em; text-wrap:pretty; }
.selected-variant .detail-facts { margin-top:16px; }
.selected-variant .purchase-panel strong.price-pending { font-size:22px; letter-spacing:-.025em; }
.related-section { margin-top:65px; }
/* Cart. */
.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:30px; align-items:start; }
.cart-items { display:grid; gap:14px; }
.cart-item { display:grid; grid-template-columns:115px minmax(0,1fr) auto; gap:22px; padding:18px; border:1px solid var(--paper-edge); border-radius:var(--paper-radius); background:var(--paper); box-shadow:var(--paper-shadow); align-items:start; }
.cart-item .cover { height:155px; min-height:155px; padding:10px; border-radius:10px; }
.cart-item .cover strong { font-size:17px; }
.cart-item .cover small { font-size:9px; }
.cart-item .cover-platform { display:none; }
.cart-item .cover-value { font-size:26px; right:8px; }
.cart-item-info > span { font-size:12px; color:var(--brand); }
.cart-item h2 { margin:6px 0 10px; font-size:18px; line-height:1.35; letter-spacing:-.025em; }
.cart-item-info > p { color:var(--muted); font-size:13px; margin:0 0 17px; }
.cart-item-controls { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.quantity-control { display:inline-flex; align-items:center; gap:4px; border:1px solid var(--control-border); border-radius:8px; }
.quantity-control button { min-width:38px; min-height:38px; border:0; background:none; color:var(--ink); font-size:20px; border-radius:7px; }
.quantity-control span { min-width:26px; text-align:center; font-size:14px; }
.quantity-control button:disabled { color:#899b9e; }
.remove-item { padding:8px 0; border:0; background:none; color:var(--muted); font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.cart-item-price { display:flex; flex-direction:column; justify-content:center; min-width:130px; align-self:stretch; padding-left:18px; border-left:1px dashed var(--receipt-rule); text-align:right; }
.cart-item-price small { display:block; color:var(--muted); font-size:11px; margin-bottom:5px; }
.cart-item-price strong { font-size:24px; font-weight:700; line-height:1.2; letter-spacing:-.035em; white-space:nowrap; }
.cart-summary { position:sticky; top:110px; padding:25px; border:1px solid var(--paper-edge); border-top:5px solid #b8d8ca; border-radius:var(--paper-radius); background:var(--paper); box-shadow:var(--paper-shadow); }
.cart-summary h2 { margin:0 0 12px; padding-bottom:18px; border-bottom:1px dashed var(--receipt-rule); font-size:22px; font-weight:700; line-height:1.2; letter-spacing:-.035em; }
.cart-summary > div { display:flex; justify-content:space-between; gap:15px; padding:10px 0; font-size:14px; }
.cart-summary > div > span { color:var(--muted); }
.cart-summary .cart-total { align-items:baseline; border-top:1px dashed var(--receipt-rule); margin-top:10px; padding-top:20px; }
.cart-total strong { font-size:30px; line-height:1.15; letter-spacing:-.04em; }
.cart-summary p { margin:20px 0; color:var(--muted); font-size:13px; line-height:1.5; }
.summary-catalog-link { display:flex; align-items:center; justify-content:center; min-height:46px; padding:11px 14px; border:1px solid var(--line); border-radius:8px; background:#edf4f0; font-size:14px; font-weight:600; text-align:center; }
.cart-feedback { margin:14px 0 0; min-height:24px; color:var(--brand); font-size:14px; }
/* An activation guide with a concrete example. */
.help-opening { max-width:900px; margin-bottom:28px; }
.help-opening h1 { margin:0 0 22px; font-size:clamp(37px,5.3vw,65px); font-weight:700; line-height:1.06; letter-spacing:-.05em; }
.help-opening > p { max-width:610px; color:var(--muted); font-size:18px; line-height:1.6; }
.help-links { display:flex; gap:10px; flex-wrap:wrap; margin:0 0 35px; }
.help-links a { display:inline-flex; min-height:42px; align-items:center; padding:8px 16px; border:1px solid var(--control-border); border-radius:22px; background:var(--paper); font-size:14px; }
.help-case { padding:29px 36px; border:1px solid var(--paper-edge); border-radius:var(--paper-radius); background:var(--paper); color:var(--ink); box-shadow:var(--paper-shadow); }
.help-case-top { display:flex; align-items:baseline; justify-content:space-between; gap:18px; padding-bottom:20px; border-bottom:1px dashed var(--receipt-rule); }
.help-case-top h2 { font-size:16px; margin:0; font-weight:600; }
.help-case-top > span { color:var(--muted); font-size:13px; }
.help-case-compare { display:grid; grid-template-columns:1fr auto 1fr; gap:35px; align-items:center; padding:30px 0; }
.help-case-compare > div { display:grid; gap:8px; }
.help-case-compare > div:last-child { text-align:right; }
.help-case-compare strong { font-size:clamp(35px,5vw,61px); font-weight:600; letter-spacing:-.045em; line-height:1.05; }
.help-case-compare > div > span { color:var(--muted); font-size:13px; }
.help-case-sign { font-size:62px; font-weight:400; color:var(--focus); }
.help-case-conclusion { max-width:900px; margin:0; padding-top:22px; border-top:1px dashed var(--receipt-rule); color:var(--muted); font-size:15px; line-height:1.65; }
.help-case-conclusion strong { color:var(--focus); font-weight:600; }
.help-decisions { max-width:960px; margin:52px auto 0; }
.help-decisions > h2 { font-size:29px; letter-spacing:-.035em; font-weight:600; margin-bottom:23px; }
.help-decisions ol { list-style:none; margin:0; padding:0; }
.help-decisions li { display:grid; grid-template-columns:270px minmax(0,1fr); gap:35px; padding:29px 0; border-top:1px dashed var(--receipt-rule); scroll-margin-top:110px; }
.help-decision-title { display:flex; gap:15px; align-items:baseline; }
.help-decision-title > span { display:inline-grid; place-items:center; width:28px; height:28px; flex-shrink:0; border:1px solid #b8d0c7; border-radius:50%; background:#e6f0e9; color:var(--brand); font-weight:600; font-size:12px; }
.help-decision-title h3 { margin:0; font-size:20px; line-height:1.3; font-weight:600; letter-spacing:-.025em; }
.help-decisions li p { font-size:15px; color:var(--muted); line-height:1.7; margin:0; }
.help-decisions li p + p { margin-top:12px; }
.help-status { max-width:960px; display:grid; grid-template-columns:270px minmax(0,1fr); gap:35px; margin:25px auto 0; padding:26px; border-left:3px solid #9fc9b9; background:#e9f1ec; border-radius:0 9px 9px 0; scroll-margin-top:110px; }
.help-status h2 { font-size:19px; font-weight:600; line-height:1.3; margin:0; }
.help-status p { margin:0; font-size:14px; line-height:1.65; color:var(--muted); }
/* Shared closing navigation. */
.site-footer { padding:44px 0 20px; background:var(--ink); color:#e3eeee; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:40px; padding-bottom:32px; }
.brand-footer .brand-symbol { color:#d9eeee; }
.footer-grid p { max-width:290px; margin:19px 0 0; color:#b9d6d9; font-size:14px; line-height:1.65; }
.footer-grid h2 { margin:0 0 18px; font-size:14px; font-weight:600; }
.footer-grid > div > a:not(.brand) { display:block; width:fit-content; padding-block:5px; color:#b9d6d9; font-size:14px; }
.footer-bottom { display:flex; gap:25px; justify-content:space-between; align-items:start; padding-top:22px; border-top:1px solid #496970; color:#b9d6d9; font-size:12px; line-height:1.5; }
.footer-bottom > span:nth-child(2) { max-width:510px; }
.footer-bottom > a { color:#e3eeee; white-space:nowrap; }
.missing-product { padding-block:50px; }
.missing-product .primary-button { margin-top:24px; }
/* Feedback responds to actions, never to each keystroke. */
@media (hover:hover) {
.nav a:hover,.account-link:hover,.catalog-head > a:hover,.breadcrumbs a:hover,.cart-item h2 a:hover { color:var(--brand); text-decoration:underline; text-underline-offset:5px; }
.card:hover { border-color:var(--brand); }
.card:hover .card-arrow { text-decoration:underline; text-underline-offset:4px; }
.category-list button:not([aria-pressed="true"]):hover,.icon-button:hover,.menu-toggle:hover,.help-links a:hover,.quantity-control button:not(:disabled):hover { background:var(--soft); }
.primary-button:not(:disabled):hover { background:var(--brand); }
.footer-grid a:hover,.footer-bottom a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
}
@media (prefers-reduced-motion:no-preference) {
.primary-button { transition:background-color 150ms ease-out,scale 150ms ease-out; }
.primary-button:not(:disabled):active { scale:.96; }
}
@media (prefers-reduced-motion:reduce) {
html { scroll-behavior:auto; }
}
@media (forced-colors:active) {
.card,.primary-button { border:1px solid CanvasText; }
}
/* Breakpoints change structure rather than shrinking essential information. */
@media (max-width:1350px) {
.search-mini { display:none; }
.header-inner { gap:25px; }
}
@media (max-width:1120px) {
.grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.choice-guide { grid-template-columns:repeat(3,minmax(0,1fr)); }
.choice-guide > div { grid-column:1/-1; }
.choice-guide h2 { max-width:none; }
.cart-layout { grid-template-columns:minmax(0,1fr) 280px; gap:20px; }
.cart-item { grid-template-columns:95px minmax(0,1fr); gap:18px; }
.cart-item-price { grid-column:2; flex-direction:row; justify-content:space-between; min-width:0; padding:12px 0 0; border-left:0; border-top:1px dashed var(--receipt-rule); text-align:left; gap:12px; align-items:baseline; }
.cart-item-price small { margin:0; }
.cart-item .cover { grid-row:span 2; }
}
@media (max-width:1080px) {
.header-inner { min-height:72px; }
.nav { display:none; position:absolute; top:100%; left:0; right:0; padding:16px 32px 25px; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 12px 15px -15px #12363f; }
.nav.open { display:grid; gap:0; }
.nav a { min-height:48px; padding:12px 8px; font-size:16px; white-space:normal; }
.nav .mobile-account { display:block; }
.menu-toggle { display:inline-flex; }
.catalog-layout { grid-template-columns:180px minmax(0,1fr); gap:22px; }
.catalog-grid .card-facts > div { grid-template-columns:1fr; gap:2px; }
.detail-panel { padding:24px; }
.detail-grid { gap:30px; grid-template-columns:40% minmax(0,1fr); }
.purchase-panel { align-items:stretch; flex-direction:column; gap:17px; }
.help-decisions li,.help-status { grid-template-columns:220px minmax(0,1fr); gap:26px; }
}
@media (max-width:800px) {
.wrap { width:calc(100% - 40px); }
.catalog-layout { grid-template-columns:minmax(0,1fr); gap:22px; }
.catalog-sidebar { position:static; min-width:0; }
.catalog-sidebar h2 { display:none; }
.category-list { display:flex; flex-wrap:nowrap; gap:7px; max-width:100%; overflow-x:auto; padding:2px 1px 9px; scrollbar-width:thin; overscroll-behavior-x:contain; }
.category-list button { flex:0 0 auto; width:auto; white-space:nowrap; border-color:var(--line); background:var(--paper); min-height:44px; }
.category-list button[aria-pressed="true"] { background:var(--ink); }
.sidebar-note { display:none; }
.catalog-grid .card-facts > div { grid-template-columns:65px minmax(0,1fr); }
.detail-grid { grid-template-columns:1fr; }
.detail-art { display:none; }
.detail-art-inline { display:block; margin:24px 0; }
.detail-art-inline .cover { min-height:160px; height:160px; border-radius:10px; padding:20px; }
.purchase-panel { flex-direction:row; align-items:center; }
.cart-layout { grid-template-columns:1fr; }
.cart-summary { position:static; }
.cart-item { grid-template-columns:115px minmax(0,1fr) auto; }
.cart-item-price { grid-column:auto; flex-direction:column; justify-content:center; min-width:125px; padding:0 0 0 18px; border-top:0; border-left:1px dashed var(--receipt-rule); text-align:right; }
.cart-item .cover { grid-row:auto; }
.help-opening h1 { font-size:clamp(37px,6vw,52px); }
.help-decisions li { grid-template-columns:1fr; gap:14px; }
.help-status { grid-template-columns:1fr; gap:12px; }
}
@media (max-width:600px) {
.wrap { width:calc(100% - 32px); }
.topline .wrap { min-height:31px; }
.topline span:last-child { display:none; }
.topline { font-size:11px; }
.header-inner { gap:12px; min-height:68px; }
.brand-symbol { width:30px; height:30px; }
.brand-name { font-size:19px; }
.brand { gap:7px; }
.actions { gap:8px; }
.account-link { display:none; }
.menu-toggle { padding:0 10px; font-size:13px; gap:7px; }
.nav { padding-inline:16px; max-height:calc(100dvh - 100px); overflow-y:auto; overscroll-behavior:contain; }
.section-heading,.catalog-head { align-items:start; gap:14px; }
.section-heading { display:block; margin-bottom:17px; }
.section-heading h2,.catalog-head h2 { font-size:26px; }
.section-heading p,.catalog-head p { font-size:13px; }
.catalog-head > a { font-size:13px; padding-top:6px; }
.catalog { padding-top:36px; }
.grid,.catalog-grid { grid-template-columns:1fr; gap:14px; }
.card-link { display:grid; grid-template-columns:34% minmax(0,1fr); min-height:230px; }
.cover,.catalog-grid .cover { height:100%; min-height:230px; padding:14px; }
.card-body,.catalog-grid .card-body { padding:15px 12px 12px; min-width:0; }
.card-name,.catalog-grid .card-name { height:auto; min-height:0; font-size:17px; line-height:1.35; margin-bottom:14px; }
.card-platform { font-size:12px; }
.card-facts,.catalog-grid .card-facts { font-size:13px; gap:8px; margin-bottom:16px; }
.card-facts > div,.catalog-grid .card-facts > div { grid-template-columns:1fr; gap:1px; }
.card-bottom,.catalog-grid .card-bottom { gap:8px; flex-wrap:wrap; }
.card-arrow { font-size:12px; }
.card-arrow > span { font-size:18px; }
.price strong { font-size:22px; }
.choice-guide { grid-template-columns:1fr; gap:0; margin-block:40px 50px; padding-top:25px; }
.choice-guide > div { margin-bottom:15px; }
.choice-guide a { padding:14px 0; border-top:1px solid var(--line); gap:4px; }
.page-main { padding-top:20px; padding-bottom:50px; }
.breadcrumbs { font-size:12px; margin-bottom:28px; }
.page-intro { margin-bottom:27px; }
.page-intro h1 { font-size:34px; }
.page-intro p { font-size:15px; }
.catalog-controls { padding:0; gap:16px; }
.catalog-selects { gap:12px; }
.sort-label { font-size:12px; }
.sort-label select,.account-region-check select { font-size:16px; min-height:46px; padding-inline:8px; }
.results-count { font-size:12px; }
.text-button { font-size:12px; }
.detail-panel h1 { font-size:34px; }
.detail-description { font-size:15px; }
.detail-facts > div { grid-template-columns:110px minmax(0,1fr); gap:14px; font-size:14px; }
.detail-panel { padding:21px; }
.purchase-panel { padding:22px 0 0; gap:20px; flex-direction:column; align-items:stretch; }
.purchase-panel .primary-button { width:100%; }
.related-section { margin-top:40px; }
.cart-item { grid-template-columns:85px minmax(0,1fr); gap:16px; padding:16px; }
.cart-item .cover { height:150px; min-height:150px; grid-row:span 2; padding:8px; }
.cart-item .cover small { font-size:8px; }
.cart-item .cover strong { font-size:16px; }
.cart-item h2 { font-size:17px; }
.cart-item-controls { gap:14px; }
.cart-item-price { grid-column:2; flex-direction:row; justify-content:space-between; flex-wrap:wrap; min-width:0; padding:12px 0 0; border-left:0; border-top:1px dashed var(--receipt-rule); gap:8px; text-align:left; align-items:baseline; }
.cart-item-price small { margin:0; }
.quantity-control button { min-width:40px; min-height:40px; }
.cart-summary { padding:22px; }
.help-opening h1 { font-size:39px; }
.help-opening > p { font-size:16px; }
.help-links { gap:8px; }
.help-links a { padding:8px 13px; font-size:13px; min-height:44px; }
.help-case { padding:23px; border-radius:var(--paper-radius); }
.help-case-top { display:grid; gap:6px; }
.help-case-compare { gap:10px; padding:25px 0; }
.help-case-compare strong { font-size:30px; line-height:1.1; }
.help-case-compare > div > span { font-size:11px; }
.help-case-sign { font-size:35px; }
.help-case-conclusion { font-size:14px; }
.help-decisions { margin-top:35px; }
.help-decisions > h2 { font-size:26px; }
.help-decisions li { padding:23px 0; }
.help-status { padding:22px; margin-top:15px; }
.footer-grid { grid-template-columns:1fr 1fr; gap:30px 20px; }
.footer-grid > div:first-child { grid-column:1/-1; }
.footer-grid p { margin-top:13px; }
.footer-grid h2 { font-size:13px; }
.footer-grid > div > a:not(.brand) { font-size:13px; }
.footer-bottom { flex-wrap:wrap; gap:12px 20px; }
.footer-bottom > span:nth-child(2) { order:3; flex-basis:100%; }
.footer-bottom > a { margin-left:auto; }
}
@media (max-width:360px) {
.brand-name { font-size:17px; }
.brand-symbol { width:27px; height:27px; }
.header-inner { gap:8px; }
.actions { gap:6px; }
.icon-button { min-width:42px; }
.menu-toggle { padding-inline:9px; min-width:55px; }
.card-link { grid-template-columns:29% minmax(0,1fr); }
.card { padding:5px; }
.card-body,.catalog-grid .card-body { padding:14px 10px 11px; }
.card-arrow { gap:5px; }
.card-arrow > span { width:25px; height:25px; }
.detail-panel { padding:18px; }
.detail-facts > div { grid-template-columns:95px minmax(0,1fr); gap:10px; }
.help-case { padding:20px; }
.help-case-compare { grid-template-columns:1fr; gap:13px; }
.help-case-compare > div:last-child { text-align:left; }
.help-case-sign { font-size:30px; line-height:.8; }
}
/* The entrance is a gaming poster; trading information stays on quiet surfaces. */
.showcase { padding-top:25px; }
.showcase-poster { position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); grid-template-areas:"copy visual" "search visual"; grid-template-rows:min-content 1fr; column-gap:12px; min-height:540px; padding:46px 42px 34px; background:#c8e3d7; border-radius:14px 78px 14px 14px; }
.showcase-copy { grid-area:copy; position:relative; z-index:4; align-self:start; }
.showcase h1 { margin:0 0 24px; font:700 clamp(42px,4.4vw,64px)/1.08 "Unbounded","Golos Text",sans-serif; letter-spacing:-.06em; }
.showcase-copy > p { max-width:420px; margin:0; color:#315d58; font-size:16px; line-height:1.65; }
.showcase-visual { grid-area:visual; position:relative; display:flex; flex-direction:column; align-items:center; min-width:0; min-height:0; margin-top:-15px; }
.showcase-portal { position:absolute; width:390px; height:440px; max-width:none; right:10px; top:-4px; color:#25635c; opacity:.9; }
.showcase-back { position:absolute; z-index:1; width:192px; height:274px; border:6px solid #fff; border-radius:15px; overflow:hidden; box-shadow:0 17px 25px -19px #163e43; }
.showcase-back .cover { height:100%; min-height:0; padding:16px; }
.showcase-back-left { top:64px; left:-7px; transform:rotate(-19deg); }
.showcase-back-right { top:122px; right:-13px; transform:rotate(18deg); }
.showcase-back .cover-platform,.showcase-back .cover-value { display:none; }
.showcase-back .cover > strong { max-width:100%; font-size:24px; }
.showcase-back .cover > small { font-size:10px; }
.showcase-selected { position:relative; z-index:3; width:310px; margin:12px auto 0; }
.spotlight-pass { display:block; padding:7px; border:1px solid var(--paper-edge); border-radius:20px; background:var(--ticket-paper) var(--paper-grain) repeat; box-shadow:var(--paper-shadow); transform:rotate(-2deg); }
.spotlight-art.cover { height:219px; min-height:219px; padding:18px; border-radius:12px; }
.spotlight-art.cover > small { font-size:11px; }
.spotlight-art.cover > strong { font-size:24px; }
.spotlight-info { display:flex; flex-direction:column; padding:16px 12px 11px; }
.spotlight-platform { display:flex; align-items:baseline; justify-content:space-between; gap:10px; color:var(--muted); font-size:11px; font-weight:500; }
.spotlight-platform > span { text-align:right; }
.spotlight-name { display:block; min-height:2.3em; margin:7px 0 10px; font-size:21px; line-height:1.15; letter-spacing:-.035em; }
.spotlight-facts { display:flex; flex-wrap:wrap; gap:2px 12px; font-size:13px; color:var(--muted); line-height:1.5; }
.spotlight-facts > span { display:block; }
.spotlight-foot { display:flex; justify-content:space-between; align-items:end; gap:12px; margin-top:14px; padding-top:13px; border-top:0; background:var(--paper-perforation) left top / 100% 1px no-repeat; }
.spotlight-foot small { display:block; margin-bottom:3px; color:var(--muted); font-size:11px; }
.spotlight-foot b { font-size:24px; line-height:1.2; font-weight:700; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.spotlight-open { display:flex; gap:9px; align-items:center; font-size:11px; font-weight:600; }
.spotlight-open > span { display:grid; place-items:center; width:31px; height:31px; border-radius:50%; background:var(--ink); color:#fff; font-size:20px; line-height:1; }
.spotlight-empty { display:flex; flex-direction:column; justify-content:center; min-height:410px; padding:28px; border-radius:18px; background:var(--paper); box-shadow:0 24px 35px -26px #12363f80; }
.spotlight-empty-symbol { display:grid; place-items:center; width:58px; height:58px; margin-bottom:28px; border-radius:50%; background:#eeeaf7; font-size:32px; color:#514682; }
.spotlight-empty strong { font-size:30px; line-height:1.1; letter-spacing:-.04em; }
.spotlight-empty p { margin:16px 0 23px; color:var(--muted); font-size:15px; }
.spotlight-empty a { width:fit-content; min-height:44px; text-decoration:underline; text-underline-offset:5px; font-size:14px; font-weight:600; }
.showcase-picks { position:relative; z-index:5; display:flex; justify-content:center; gap:6px; margin-top:24px; }
.showcase-picks button { min-height:44px; padding:8px 12px; border:0; border-radius:0; border-bottom:3px solid transparent; background:none; color:#315d58; font-size:12px; white-space:nowrap; }
.showcase-picks button[aria-pressed="true"] { color:var(--ink); font-weight:700; border-bottom-color:var(--ink); }
.showcase-dock { grid-area:search; position:relative; z-index:4; align-self:start; margin:34px 0 15px; }
.showcase-search { display:flex; align-items:center; gap:15px; min-height:67px; padding:7px; background:var(--paper); border:1px solid #507d73; border-radius:12px; box-shadow:0 5px 0 #12363f0d; }
.showcase-search .magnify { margin-left:13px; color:var(--brand); }
.showcase-search input { flex:1; min-width:0; width:100%; border:0; outline:0; color:var(--ink); background:none; font-size:15px; }
.showcase-search button { display:inline-flex; align-items:center; gap:12px; justify-content:center; min-height:51px; padding:12px 18px; border:0; border-radius:6px; background:#ee8769; color:var(--ink); font-size:15px; font-weight:700; }
.showcase-search button > span { font-size:20px; font-weight:400; }
.showcase-search:focus-within { outline:3px solid var(--focus); outline-offset:4px; }
.showcase-search-foot { display:flex; justify-content:space-between; align-items:start; gap:16px; margin-top:17px; font-size:12px; }
.showcase-examples { display:flex; gap:9px; flex-wrap:wrap; max-width:320px; color:#315d58; }
.showcase-examples a { text-decoration:underline; text-decoration-color:#7ba395; text-underline-offset:4px; }
.showcase-browse { white-space:nowrap; font-weight:600; padding-bottom:5px; }
.showcase-browse > span { margin-left:7px; }
.format-shelf { padding-top:32px; }
.format-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:0; padding:7px 0 25px; border-bottom:1px solid var(--line); }
.format-link { display:flex; align-items:center; gap:8px; min-width:0; min-height:105px; padding:0 15px; border-right:1px solid var(--line); }
.format-link:first-child { padding-left:0; }
.format-link:last-child { padding-right:0; border-right:0; }
.format-art { display:block; flex-shrink:0; width:86px; height:80px; }
.format-link strong { display:block; font-size:19px; line-height:1.2; font-weight:700; letter-spacing:-.03em; }
.format-link small { display:block; margin-top:7px; max-width:160px; color:var(--muted); font-size:12px; line-height:1.5; }
.home-catalog { padding-top:33px; }
.home-catalog .grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:1000px) { .home-catalog .grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .home-catalog .grid { grid-template-columns:1fr; } }
.home-catalog .catalog-head h2 { font:600 28px/1.2 "Unbounded","Golos Text",sans-serif; letter-spacing:-.055em; }
.home-catalog .catalog-head { margin-bottom:24px; }
.home-catalog .cover { min-height:210px; height:210px; }
@media (hover:hover) and (pointer:fine) {
  .showcase-picks button:hover { background:#b4d4c6; }
  .showcase-search button:hover { background:#f29c82; }
  .format-link:hover strong,.showcase-browse:hover { text-decoration:underline; text-underline-offset:5px; }
  .spotlight-pass:hover .spotlight-open > span { background:var(--brand); }
}
@media (prefers-reduced-motion:no-preference) {
  .showcase-selected { animation:deal-pass 520ms cubic-bezier(.2,.75,.25,1) both; }
  .spotlight-pass { transition:transform 180ms cubic-bezier(.2,0,0,1),box-shadow 180ms ease; }
  .spotlight-pass:focus-visible { transform:rotate(0deg) translateY(-4px); }
  @media (hover:hover) and (pointer:fine) { .spotlight-pass:hover { transform:rotate(0deg) translateY(-4px); } }
  .showcase-search button { transition:background-color 150ms ease-out,scale 150ms ease-out; }
  .showcase-search button:not(:disabled):active { scale:.96; }
}
@media (forced-colors:active) {
  .spotlight-pass,.showcase-search { border:1px solid CanvasText; }
  .spotlight-open > span { border:1px solid ButtonText; }
}
@media (max-width:1200px) {
  .showcase-poster { padding:38px 30px 30px; min-height:0; column-gap:22px; }
  .showcase h1 { font-size:clamp(39px,4.5vw,55px); }
  .showcase-visual { min-height:0; }
  .showcase-portal { width:330px; right:-15px; }
  .showcase-back { width:160px; height:255px; }
  .showcase-back-left { left:-2px; top:68px; }
  .showcase-back-right { right:-12px; top:122px; }
  .showcase-selected { width:280px; }
  .spotlight-art.cover { min-height:210px; height:210px; }
  .showcase-search { gap:10px; }
  .showcase-search button { gap:5px; padding-inline:13px; }
  .showcase-search input { font-size:14px; }
  .format-link { padding-inline:10px; gap:3px; }
  .format-art { width:68px; height:74px; }
  .format-link strong { font-size:17px; }
  .format-link small { font-size:11px; }
}
@media (max-width:900px) {
  .showcase-poster { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-areas:"copy visual" "search search"; column-gap:25px; min-height:0; padding:35px 28px 28px; border-top-right-radius:54px; }
  .showcase-copy { padding-top:8px; }
  .showcase h1 { font-size:clamp(37px,5vw,46px); line-height:1.1; }
  .showcase-copy > p { font-size:15px; line-height:1.6; }
  .showcase-visual { min-height:0; margin-top:0; }
  .showcase-selected { width:255px; margin-top:3px; }
  .spotlight-art.cover { min-height:180px; height:180px; }
  .spotlight-name { font-size:20px; }
  .spotlight-info { padding:13px 10px 9px; }
  .showcase-back { width:137px; height:220px; }
  .showcase-back-left { left:-8px; top:45px; }
  .showcase-back-right { right:-8px; top:104px; }
  .showcase-portal { width:290px; height:370px; right:-7px; top:-20px; }

  .showcase-dock { margin:24px 0 0; }
  .showcase-search input { font-size:16px; }
  .showcase-search-foot { align-items:center; }
  .showcase-examples { max-width:none; }
  .format-list { grid-template-columns:repeat(2,minmax(0,1fr)); padding:0 0 19px; row-gap:10px; }
  .format-link { min-height:105px; padding-inline:20px; gap:16px; }
  .format-link:nth-child(odd) { padding-left:0; }
  .format-link:nth-child(even) { border-right:0; padding-right:0; }
  .format-art { width:93px; height:84px; }
  .format-link strong { font-size:20px; }
  .format-link small { font-size:12px; }
}
@media (max-width:650px) {
  .showcase { padding-top:16px; }
  .showcase-poster { display:flex; flex-direction:column; padding:28px 22px 25px; border-radius:10px 46px 10px 10px; }
  .showcase-copy { padding-top:0; }
  .showcase h1 { font-size:clamp(32px,7.3vw,44px); margin-bottom:17px; letter-spacing:-.055em; }
  .showcase-copy > p { max-width:430px; font-size:15px; }
  .showcase-visual { order:2; width:min(100%,400px); min-height:0; margin:30px auto 0; }
  .showcase-selected { width:265px; margin-top:10px; }
  .spotlight-art.cover { min-height:188px; height:188px; }
  .showcase-back-left { left:1px; top:56px; }
  .showcase-back-right { right:0; top:101px; }
  .showcase-portal { width:325px; height:380px; right:0; top:-14px; }

  .showcase-dock { order:1; margin:25px 0 0; width:100%; }
  .showcase-search { min-height:60px; gap:10px; padding:5px; border-radius:10px; }
  .showcase-search .magnify { margin-left:9px; width:14px; height:14px; }
  .showcase-search input { font-size:16px; }
  .showcase-search button { min-height:48px; font-size:14px; padding:10px 13px; border-radius:5px; }
  .showcase-search button > span { display:none; }
  .showcase-search-foot { gap:8px; flex-wrap:wrap; font-size:12px; margin-top:15px; }
  .showcase-examples { max-width:100%; gap:8px; }
  .showcase-browse { margin-left:auto; }
  .format-shelf { padding-top:16px; }
  .format-list { row-gap:0; padding-bottom:22px; }
  .format-link { display:block; text-align:center; min-height:170px; padding:15px 12px 18px; }
  .format-link:nth-child(odd),.format-link:nth-child(even) { padding-inline:8px; }
  .format-link:nth-child(n+3) { border-top:1px solid var(--line); }
  .format-art { width:100px; height:76px; margin:0 auto 4px; }
  .format-link strong { font-size:19px; }
  .format-link small { max-width:180px; margin:7px auto 0; font-size:12px; }
  .home-catalog { padding-top:30px; }
  .home-catalog .catalog-head h2 { font-size:24px; }
  .home-catalog .catalog-head p { max-width:210px; }
  .home-catalog .cover { height:100%; min-height:230px; }
}
@media (max-width:380px) {
  .showcase-poster { padding:25px 16px 20px; }
  .showcase h1 { font-size:29px; }
  .showcase-copy > p { font-size:14px; }
  .showcase-search { gap:7px; }
  .showcase-search .magnify { display:none; }
  .showcase-search input { padding-left:8px; }
  .showcase-search button { padding-inline:11px; }
  .showcase-visual { min-height:0; margin-top:28px; }
  .showcase-selected { width:234px; }
  .spotlight-art.cover { min-height:168px; height:168px; }
  .spotlight-info { padding:12px 8px 9px; }
  .spotlight-name { font-size:19px; }
  .spotlight-facts { font-size:12px; gap:3px 7px; }
  .spotlight-foot b { font-size:22px; }
  .showcase-back { width:115px; height:205px; border-width:4px; }
  .showcase-back-left { left:-4px; top:40px; transform:rotate(-13deg); }
  .showcase-back-right { right:-7px; top:105px; transform:rotate(12deg); }
  .showcase-portal { width:260px; right:-5px; height:335px; top:0; }
  .showcase-picks { gap:0; }
  .showcase-picks button { padding-inline:10px; }
  .format-link strong { font-size:17px; }
  .format-link small { font-size:11px; }
}

@keyframes deal-pass { from { opacity:.2; transform:translate(16px,20px) rotate(6deg); } to { opacity:1; transform:translate(0,0) rotate(0); } }
