/* The catalogue /yasayis-kompleksleri (docs/complexes.md), in the frame the owner chose for /ustalar (2026-10-17:
   the plain list was "dazhe huzhe"): the glow, the masthead with its trail, one search bar, the closing block in the
   house colour (the stage tiles under the bar went, "uberi eto") - the rules of workers-index.css under names of their
   own (cxv-), as that file is 33 KB with the worker card it pulls in. The picture is this page's own ("takoe uzhe
   est v ustalar, tut sdelay drugoe"): not the orbit but a street of three houses, one a stage - the drawing, the
   finished tower with the house's door, the one going up under a crane. Inline on this page only; ASCII only. */

/* -- the masthead and the closing block (workers-index.css) -------------------------------------------------- */
.cxv-page{padding-top:6px;padding-bottom:40px}
.cxv-hero{position:relative;isolation:isolate;z-index:20;padding:34px 0 8px}
.cxv-hero:before{position:absolute;z-index:-1;top:-320px;right:-200px;width:820px;height:820px;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),.11) 0%,transparent 64%);content:"";pointer-events:none}
.cxv-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:center;margin-bottom:34px}
.cxv-lede{max-width:520px;margin:16px 0 0;color:var(--ink-2);font-size:16.5px;line-height:1.6}
.cxv-trust{display:flex;flex-wrap:wrap;gap:8px 20px;margin:20px 0 0;padding:0;list-style:none;color:var(--ink-2);font-size:13.5px;font-weight:600}
.cxv-trust li{display:inline-flex;align-items:center;gap:7px}
.cxv-trust i{color:var(--ok);font-size:17px}
.cxv-join{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:48px;padding:32px 36px;overflow:hidden;border-radius:24px;background:linear-gradient(120deg,var(--accent),color-mix(in srgb,var(--accent) 62%,#1B1916));color:#fff}
.cxv-join::after{position:absolute;z-index:-1;right:150px;top:-50px;width:96px;height:270px;background:rgba(255,255,255,.08);-webkit-mask:url('/assets/front/logo/birev-door-pink.svg?v=74ddddfdbf') no-repeat center/contain;mask:url('/assets/front/logo/birev-door-pink.svg?v=74ddddfdbf') no-repeat center/contain;content:"";transform:rotate(12deg)}
.cxv-join h2{margin:0;color:#fff;font-size:28px;letter-spacing:-.02em}
.cxv-join p{margin:6px 0 0;color:rgba(255,255,255,.86);font-size:15px}
.cxv-join-btn{display:inline-flex;align-items:center;flex:none;gap:8px;height:50px;padding:0 24px;border-radius:13px;background:#fff;color:var(--accent);font-weight:800;text-decoration:none;box-shadow:0 10px 24px -12px rgba(0,0,0,.45);transition:transform .2s}
.cxv-join-btn i{font-size:18px}
@media (hover:hover) and (pointer:fine){.cxv-join-btn:hover{transform:translateY(-2px)}}
.cxv-masthead{max-width:760px;margin:0 0 0 4px}
.cxv-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.14em}.cxv-kicker i{font-size:15px}
.cxv-kicker a{color:inherit;text-decoration:none}
@media (hover:hover) and (pointer:fine){.cxv-kicker a:hover{text-decoration:underline;text-underline-offset:3px}}
.cxv-hero h1{margin:16px 0 0;color:var(--ink);font-size:clamp(38px,4.6vw,56px);line-height:1.04;letter-spacing:-.03em}
.cxv-hero h1 em{display:block}

/* -- the street: three houses on a model's plinth, a stage each ---------------------------------------------- */
.cxv-scene{position:relative;width:100%;max-width:470px;height:330px;margin-left:auto}
.cxv-scene svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
/* The plinth the houses stand on, as an architect's model, lit from above: a thin slab - the top the palest, a strip
   of lawn along its front, a narrow face with a bevel of light - and its shadow on the table. No captions: every one
   tried under the houses was turned down (2026-10-17), the stage picker names the stages. */
.cxv-plinth-shadow{fill:rgba(var(--ink-rgb),.16)}
.cxv-plinth-top{fill:var(--white);stroke:rgba(var(--ink-rgb),.06);stroke-width:1;stroke-linejoin:round}
.cxv-plinth-lawn{fill:color-mix(in srgb,#16A34A 15%,var(--white))}
.cxv-plinth-face{fill:color-mix(in srgb,var(--ink) 7%,var(--white));stroke:rgba(var(--ink-rgb),.06);stroke-width:1}
.cxv-plinth-edge{stroke:rgba(255,255,255,.85);stroke-width:1.2}
/* Each house's foot darkens the plinth a little; the trees are a model's - a ball on a stick. */
.cxv-ao{fill:rgba(var(--ink-rgb),.16)}
.cxv-tree line{stroke:#9A6B3F;stroke-width:2;stroke-linecap:round}
.cxv-tree-shadow{fill:rgba(var(--ink-rgb),.12)}
/* The project: a blueprint on an architect's easel - the sheet in the stage's purple with a faint grid, the house in
   white drawing itself (its outline traced, then its windows), holding, fading, again; a pencil on the ledge. */
.cxv-easel line{stroke:#A87A4E;stroke-width:4;stroke-linecap:round}
.cxv-easel .cxv-easel-back{stroke:#8C6440;stroke-width:3.5}
.cxv-ledge{fill:#A87A4E}
.cxv-sheet-shadow{fill:rgba(var(--ink-rgb),.18)}
.cxv-bp-grid{stroke:rgba(255,255,255,.1);stroke-width:.8}
.cxv-bp-clip{fill:#3F2A9E}
.cxv-bp-line{fill:none;stroke:#fff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cxv-bp-thin{fill:none;stroke:rgba(255,255,255,.62);stroke-width:.9}
.cxv-draw{stroke-dasharray:100;animation:cxv-draw 8s ease-in-out infinite}
@keyframes cxv-draw{0%{stroke-dashoffset:100;opacity:1}38%,86%{stroke-dashoffset:0;opacity:1}96%,100%{stroke-dashoffset:0;opacity:0}}
.cxv-draw-win{animation:cxv-draw-win 8s ease-in-out infinite}
@keyframes cxv-draw-win{0%,34%{opacity:0}46%,86%{opacity:1}96%,100%{opacity:0}}
.cxv-pencil{fill:#F5B83D}
.cxv-pencil-tip{fill:#EBCB9C}
.cxv-pencil-lead{fill:#4A4A4A}
/* The finished tower: the app icon's rose, its windows lit at random, a light on the roof, and the logo's door -
   white, its handle cut out - for its way in. */
.cxv-tower-side{fill:#A0144A}
.cxv-sheen{fill:#fff;opacity:.09}
.cxv-tower-roof{fill:#B71A50}
.cxv-win{fill:rgba(255,255,255,.16)}
/* A window's lamp: on for a quarter of its cycle (a), half (b) or most of it (c) - the cycle's length, its start and
   the lamp's tone are the window's own (complexes.tsx), so the lights come and go with no pattern. */
.cxv-win--a,.cxv-win--b,.cxv-win--c{animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.cxv-win--a{animation-name:cxv-on-a}
.cxv-win--b{animation-name:cxv-on-b}
.cxv-win--c{animation-name:cxv-on-c}
@keyframes cxv-on-a{0%,64%,100%{fill:rgba(255,255,255,.16)}67%,91%{fill:var(--lit)}}
@keyframes cxv-on-b{0%,40%,100%{fill:rgba(255,255,255,.16)}43%,91%{fill:var(--lit)}}
@keyframes cxv-on-c{0%,16%,100%{fill:rgba(255,255,255,.16)}19%,93%{fill:var(--lit)}}
.cxv-mast{stroke:#B71A50;stroke-width:2;stroke-linecap:round}
.cxv-beacon{fill:#FF4D6D;animation:cxv-beacon 2.4s steps(1) infinite}
@keyframes cxv-beacon{0%{opacity:1}50%{opacity:.15}}
.cxv-logo-door{fill:#fff}
/* The one going up: the floors built, the frame of the next two, the crane bringing the beam down to them. */
.cxv-site{fill:color-mix(in srgb,#B45309 14%,var(--white))}
.cxv-site--side{fill:color-mix(in srgb,#B45309 26%,var(--white))}
.cxv-site-win{fill:color-mix(in srgb,#B45309 30%,var(--white))}
.cxv-site-line{stroke:color-mix(in srgb,#B45309 30%,transparent);stroke-width:1}
.cxv-frame{fill:none;stroke:#B45309;stroke-width:2;stroke-linecap:round}
.cxv-next{fill:color-mix(in srgb,#B45309 14%,var(--white));animation:cxv-next 6s ease-in-out infinite}
@keyframes cxv-next{0%,30%{opacity:0}55%,85%{opacity:1}100%{opacity:0}}
.cxv-crane{fill:none;stroke:#B45309;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.cxv-crane-fill{fill:#B45309}
.cxv-cable{stroke:#B45309;stroke-width:1.2}
.cxv-load{animation:cxv-load 6s ease-in-out infinite}
@keyframes cxv-load{0%,100%{transform:translateY(0)}50%,60%{transform:translateY(16px)}}
/* The cable pays out as the beam goes down: 42 units long, 58 at the bottom. */
.cxv-cable--run{transform-box:fill-box;transform-origin:50% 0;animation:cxv-cable 6s ease-in-out infinite}
@keyframes cxv-cable{0%,100%{transform:scaleY(1)}50%,60%{transform:scaleY(1.381)}}
@media (prefers-reduced-motion:reduce){.cxv-draw,.cxv-draw-win,.cxv-win,.cxv-beacon,.cxv-next,.cxv-load,.cxv-cable--run{animation:none}.cxv-next{opacity:1}.cxv-win--c{fill:var(--lit)}}

/* -- the search bar: the /ustalar bar with three plain fields - the words, the town, the stage - and "Axtar". One
   line in each, the mark and what it stands for; a hairline the full height between them. --------------------- */
.cxv-search{position:relative;z-index:2;display:flex;align-items:stretch;margin:0;padding:0;border:1px solid rgba(var(--ink-rgb),.09);border-radius:22px;background:var(--white);box-shadow:0 12px 24px -20px rgba(27,25,22,.28),0 2px 6px -3px rgba(27,25,22,.08)}
.cxv-seg{position:relative;display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:0 20px;transition:background .15s}
/* No overflow:hidden on the bar (a picker's list hangs out of it): the first field keeps the bar's round corner. */
.cxv-seg:first-child{border-radius:21px 0 0 21px}
.cxv-seg--q{flex:1.6}
.cxv-seg+.cxv-seg:before{position:absolute;z-index:2;left:0;top:0;bottom:0;width:1px;background:rgba(var(--ink-rgb),.07);content:""}
.cxv-seg>i{flex:none;color:var(--ink-3);font-size:16px}
.cxv-seg input{flex:1;width:100%;min-width:0;height:64px;margin:0;padding:0;border:0;border-radius:0;outline:0;background:none;box-shadow:none;color:var(--ink);font:inherit;font-size:14px;font-weight:600;-webkit-appearance:none;appearance:none}
.cxv-seg input::placeholder{color:var(--ink-2);font-weight:500;opacity:1}
.cxv-seg input::-webkit-search-cancel-button{display:none}
/* The town's and the stage's pickers (CatalogSearch): the field is a button, its list a white card under it - the
   sort menu's look (.sort-select-dd), a stage with its tile's mark and count, a tick on the one chosen. */
.cxv-pick{padding:0}
.cxv-pick-btn{display:flex;align-items:center;gap:10px;width:100%;height:64px;margin:0;padding:0 20px;border:0;background:none;color:var(--ink);font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}
.cxv-pick-btn:focus-visible{outline:2px solid rgba(var(--accent-rgb),.45);outline-offset:-6px;border-radius:14px}
.cxv-pick-btn>i:first-child{flex:none;color:var(--ink-3);font-size:16px}
.cxv-pick-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cxv-pick-label.is-empty{color:var(--ink-2);font-weight:500}
.cxv-pick-btn .cxv-caret{flex:none;color:var(--ink-3);font-size:12px;transition:transform .2s}
.cxv-pick.is-open .cxv-caret{transform:rotate(180deg)}
.cxv-pick-list{position:absolute;z-index:40;top:calc(100% + 8px);left:0;right:0;min-width:250px;max-height:340px;margin:0;padding:6px;overflow:auto;list-style:none;border:1px solid var(--line);border-radius:16px;background:var(--white);box-shadow:0 18px 40px -16px rgba(27,25,22,.28),0 4px 10px -6px rgba(27,25,22,.1);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s,transform .16s,visibility 0s .16s}
.cxv-seg.is-open .cxv-pick-list{opacity:1;visibility:visible;transform:none;transition:opacity .16s,transform .16s}
.cxv-pick-item{display:flex;align-items:center;gap:12px;min-height:44px;padding:7px 10px;border-radius:11px;color:var(--ink-2);font-size:14px;font-weight:600;cursor:pointer;transition:background .12s,color .12s}
.cxv-pick-item.is-lit{background:var(--paper);color:var(--ink)}
.cxv-pick-item.is-on{color:var(--ink);font-weight:700}
.cxv-pick-ic{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--card-accent) 14%,var(--white));color:var(--card-accent);font-size:17px}
.cxv-pick-txt{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.3}
.cxv-pick-txt small{color:var(--ink-3);font-size:12px;font-weight:500}
.cxv-pick-check{flex:none;color:var(--accent);font-size:15px}
/* The words' suggestions: a complex's cover (or the brand's tile), its name with the letters typed lit, where and the
   stage, its ads; the last row searches for the words. */
.cxv-seg-ic{display:flex;align-items:center;flex:none;color:var(--ink-3);font-size:16px;cursor:text}
.cxv-suggest-list{min-width:320px}
.cxv-suggest-cover{display:grid;place-items:center;flex:none;width:42px;height:42px;overflow:hidden;border-radius:11px;background:var(--paper)}
.cxv-suggest-cover img{display:block;width:100%;height:100%;object-fit:cover}
.cxv-suggest-cover--empty{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 88%,#fff),color-mix(in srgb,var(--accent) 78%,#000));color:rgba(255,255,255,.85);font-size:20px}
.cxv-suggest-name{overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}
.cxv-suggest-name mark{background:none;color:var(--accent);font-weight:800}
.cxv-suggest-live{flex:none;padding:3px 8px;border-radius:9px;background:var(--accent-deep-tint);color:var(--accent);font-size:12px;font-weight:700;white-space:nowrap}
.cxv-suggest-all{gap:10px;min-height:40px;color:var(--accent);font-size:13.5px}
.cxv-suggest-all i{font-size:16px}
.cxv-seg:focus-within{background:var(--line-soft)}
.cxv-search-go{display:flex;align-items:center;flex:none;padding:0 12px 0 10px}
.cxv-search-go .btn{height:46px;gap:8px;padding:0 26px;border-radius:14px;font-size:14px;font-weight:700;box-shadow:0 8px 16px rgba(var(--accent-rgb),.16)}
.cxv-search-go .btn i{font-size:17px}
@media (hover:hover) and (pointer:fine){.cxv-seg:hover{background:var(--line-soft)}.cxv-pick-btn:hover .cxv-caret{color:var(--ink-2)}}

/* -- the list: the catalogue's own head (.results-head--latest), then the cards ------------------------------- */
.cxv-list-head{margin:40px 0 18px}
.cxv-reset{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-size:13.5px;font-weight:700;text-decoration:none}
@media (hover:hover) and (pointer:fine){.cxv-reset:hover{text-decoration:underline;text-underline-offset:3px}}
.cxv-join-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 18px;flex:none}
.cxv-join-mine{display:inline-flex;align-items:center;gap:6px;color:#fff;font-size:14px;font-weight:700;text-decoration:none;opacity:.9}
@media (hover:hover) and (pointer:fine){.cxv-join-mine:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}}

/* -- a complex as its card: the cover with its stage on it, then where, the handover, the prices ------------- */
.cx-stage{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:9px;background:rgba(var(--ink-rgb),.72);color:#fff;font-size:12px;font-weight:700;line-height:1.3;backdrop-filter:blur(6px)}
.cx-stage i{font-size:13px}
.cx-stage--building{background:rgba(183,121,31,.92)}
.cx-stage--completed{background:color-mix(in srgb,var(--ok) 92%,#000)}
.cx-stage--planned{background:rgba(var(--ink-rgb),.72)}
.cx-stage--inline{backdrop-filter:none}
.cx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.cx-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line-soft);border-radius:18px;background:var(--white);color:var(--ink);box-shadow:0 1px 2px rgba(var(--ink-rgb),.04);transition:border-color .15s,box-shadow .15s,transform .15s}
.cx-card-cover{position:relative;display:grid;place-items:center;aspect-ratio:16/10;overflow:hidden;background:var(--paper)}
.cx-card-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
/* No photograph: the brand's tile with the building's mark ghosted across it, as the complex's own page (and the
   roommate cards) draw it - a field as dense as a photo, not a pale gap in a grid of them. */
.cx-card-cover--empty{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 88%,#ffffff) 0%,color-mix(in srgb,var(--accent) 64%,#12161b) 100%)}
.cx-card-cover--empty>i{position:absolute;right:-14px;bottom:-34px;color:rgba(255,255,255,.16);font-size:190px;line-height:1;transform:rotate(-8deg)}
.cx-card-cover .cx-stage{position:absolute;top:12px;left:12px}
.cx-card-photos{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:9px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;font-weight:600}
.cx-card-body{display:flex;flex-direction:column;gap:5px;flex:1;padding:14px 16px 16px}
.cx-card-name{font-size:17px;font-weight:700;line-height:1.3}
.cx-card-dev{color:var(--ink-3);font-size:12.5px;font-weight:600}
.cx-card-line{display:flex;align-items:center;gap:6px;min-width:0;color:var(--ink-2);font-size:13px;line-height:1.4}
.cx-card-line i{flex:none;color:var(--ink-3);font-size:14px}
.cx-card-line span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cx-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.cx-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:9px;background:rgba(var(--ink-rgb),.05);color:var(--ink-2);font-size:12px;line-height:1.5}
.cx-tag i{color:var(--ink-3);font-size:13px}
.cx-card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line-soft)}
.cx-card-price{display:flex;flex-direction:column;color:var(--ink-2);font-size:13px}
.cx-card-price b{color:var(--price);font-size:17px;font-weight:800}
.cx-card-price small{color:var(--ink-3);font-size:12px}
.cx-card-price--none{color:var(--ink-3)}
.cx-card-ads{display:inline-flex;align-items:center;gap:5px;flex:none;padding:4px 9px;border-radius:9px;background:var(--accent-deep-tint);color:var(--accent);font-size:12.5px;font-weight:700}
.cx-card-ads--none{background:rgba(var(--ink-rgb),.05);color:var(--ink-3);font-weight:600}
@media (hover:hover) and (pointer:fine){
  .cx-card:hover{border-color:rgba(var(--ink-rgb),.18);box-shadow:var(--rest-shadow);transform:translateY(-2px)}
  .cx-card:hover .cx-card-cover img{transform:scale(1.03)}
}

@media (max-width:1100px){.cxv-hero-grid{grid-template-columns:1fr}.cxv-scene{display:none}}
@media (max-width:760px){
  .cxv-hero{padding:18px 0 22px}
  .cxv-hero:before{top:-300px;right:-300px}
  .cxv-hero-grid{margin-bottom:24px}
  .cxv-masthead{margin:0 0 0 2px}
  .cxv-hero h1{margin-top:12px;font-size:clamp(34px,9.4vw,50px)}
  .cxv-lede{font-size:15px}
  .cxv-trust{gap:6px 14px;font-size:12.5px}
  .cxv-search{flex-direction:column;border-radius:20px}
  .cxv-seg{padding:0 16px}
  .cxv-seg+.cxv-seg:before{left:16px;right:16px;top:0;bottom:auto;width:auto;height:1px}
  .cxv-seg:first-child{border-radius:19px 19px 0 0}
  .cxv-seg input,.cxv-pick-btn{height:56px}
  .cxv-pick{padding:0}
  .cxv-pick-btn{padding:0 16px}
  .cxv-search-go{padding:10px}
  .cxv-search-go .btn{width:100%;height:48px;justify-content:center}
  .cxv-list-head{margin:20px 0 14px}
  .cxv-join{flex-direction:column;align-items:flex-start;padding:26px 22px}
  .cxv-join h2{font-size:24px}
  .cxv-join-links{width:100%;justify-content:center}
  .cxv-join-btn{width:100%;justify-content:center}
}
