/* 28.28 Chapter AI Concierge — written by Apply while the concierge is on */
@property --cga{syntax:'<angle>';inherits:false;initial-value:0deg}
.cgx{position:relative;margin:18px 0 4px;text-align:left}
.cgx .cgfr{position:relative;border-radius:14px;padding:1.6px;background:conic-gradient(from var(--cga),#d4af37,#f5d67b,#f26522,#7a5c14,#f5d67b,#d4af37);animation:cgSpin 4s linear infinite,cgGlow 2.8s ease-in-out infinite}   /* the glow frames the question line only; the answer sits below */
@keyframes cgSpin{to{--cga:360deg}}@keyframes cgGlow{0%,100%{box-shadow:0 0 14px rgba(212,175,55,.22)}50%{box-shadow:0 0 30px rgba(242,101,34,.38)}}
.cgx .cgtag{position:absolute;top:-10px;left:14px;z-index:1;background:#141414;padding:0 8px;font-size:10.5px;letter-spacing:2px;color:#f5d67b;font-weight:700;border-radius:6px;line-height:20px}
.cgx .cgin{display:flex;align-items:center;gap:10px;border-radius:12.5px;background:linear-gradient(180deg,#1b1915,#131210);padding:10px 10px 10px 13px}
.cgx .cgs{width:24px;height:24px;flex:none;animation:cgTw 1.8s ease-in-out infinite}
@keyframes cgTw{0%,100%{transform:scale(.85) rotate(0);opacity:.75}50%{transform:scale(1.12) rotate(18deg);opacity:1;filter:drop-shadow(0 0 6px #f5d67b)}}
.cgx .cgq{all:unset;display:block;flex:1;min-width:0;box-sizing:border-box;font:inherit;font-size:16px;line-height:1.4;color:#f4f1ea;caret-color:#f5d67b;padding:6px 0;resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;max-height:calc(1.4em * 4 + 12px)}.cgx .cgq::placeholder{color:#bdb7ab;opacity:1}   /* 28.29: a wrapping box, up to 4 lines */
.cgx .cghp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.cgx .cggo{all:unset;cursor:pointer;position:relative;overflow:hidden;width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;background:linear-gradient(135deg,#f5d67b,#d4af37 55%,#b8901f);color:#141414;font-weight:800;font-size:17px}
.cgx .cggo::before{content:none!important}.cgx .cggo::after{content:'';position:absolute;inset:-40%;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.75) 50%,transparent 60%);transform:translateX(-100%);animation:cgSh 3.2s ease-in-out infinite}
@keyframes cgSh{60%,100%{transform:translateX(100%)}}.cgx .cggo:focus-visible{outline:2px solid #f5d67b;outline-offset:2px}.cgx .cggo[disabled]{opacity:.6;cursor:default}
.cgx .cgans{margin:12px 0 0;border-radius:12px;padding:12px 14px;background:linear-gradient(180deg,#24211b,#191713);border:1px solid rgba(212,175,55,.25);color:#ece8df;font-size:15px;line-height:1.55}
.cgx .cgans[hidden]{display:none}.cgx .cgwho{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:#d4af37;margin-bottom:6px}
.cgx .cgthink{background:linear-gradient(90deg,#8f897e 0%,#f5d67b 50%,#8f897e 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:cgShim 1.2s linear infinite}@keyframes cgShim{to{background-position:-200% 0}}
.cgx .cgans b{color:#f5d67b;font-weight:600}
.cgx .cgans a{all:unset;display:inline;cursor:pointer;color:#f26522;text-decoration:underline;text-underline-offset:3px}.cgx .cgans a::before,.cgx .cgans a::after{content:none!important;display:none!important}
/* 28.30: clear ✕ in the box (only while there is text) and close ✕ on the answer (option A — like the directory's Ask AI) */
.cgx .cgclr{all:unset;cursor:pointer;flex:none;width:26px;height:26px;display:none;place-items:center;border-radius:50%;color:#8f897e;font-size:14px;line-height:1}.cgx.has .cgclr{display:grid}
.cgx .cgclr:hover,.cgx .cgclr:focus-visible{color:#f5d67b;background:rgba(212,175,55,.12);outline:none}
.cgx .cgans{position:relative}.cgx .cgans .cgwho{padding-right:44px}
.cgx .cgcl{all:unset;box-sizing:border-box;cursor:pointer;position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(212,175,55,.35);display:grid;place-items:center;color:#d4af37;font-size:17px;line-height:1;transition:background .2s,color .2s,border-color .2s}
.cgx .cgcl:hover,.cgx .cgcl:focus-visible{background:rgba(212,175,55,.14);color:#f5d67b;border-color:#d4af37;outline:none}.cgx .cgcl::before,.cgx .cgcl::after{content:none!important}
.cgx .cgrefs{margin-top:8px;font-size:14px;line-height:1.5}.cgx .cgrefs b{color:#f5d67b;font-weight:600}   /* 28.32 */
.cgx .cgrefs b{display:block}.cgx .cgref{margin-top:3px}.cgx .cgref a{white-space:nowrap}.cgx .cgseat{color:#bdb7ab}.cgx .cgmeet{margin-top:8px;font-size:14px;line-height:1.5}   /* 28.32.1 */
.cgx .cgref{display:flex;align-items:flex-start;gap:8px;margin-top:8px}.cgx .cgrt{flex:1;min-width:0}.cgx .cgrt a{white-space:normal}.cgx .cgph{width:28px;height:28px;flex:none;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1.5px #d4af37;background:#1b1915;display:grid;place-items:center;color:#8f897e;font-size:14px;line-height:1;margin:calc((1.5em - 28px) / 2) 0 0;padding:0;max-width:none}   /* 28.32.2: photo centred on the name's line; a long seat wraps under the name, not under the photo */
.cgx .cgmeet{margin-top:14px}
.cgx .cgans .cgcta{all:unset;box-sizing:border-box;width:100%;text-align:left;cursor:pointer;display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:linear-gradient(135deg,rgba(212,175,55,.18),rgba(242,101,34,.08) 70%);border:1px solid rgba(212,175,55,.5);box-shadow:inset 0 1px 0 rgba(255,243,196,.12);transition:box-shadow .2s}
.cgx .cgans .cgcta:hover,.cgx .cgans .cgcta:focus-visible{box-shadow:inset 0 1px 0 rgba(255,243,196,.12),0 0 18px rgba(212,175,55,.3);outline:2px solid #f5d67b;outline-offset:2px}.cgx .cgans .cgcta:hover:not(:focus-visible){outline:none}
.cgx .cgans .cgcta::before,.cgx .cgans .cgcta::after{content:none!important;display:none!important}
.cgx .cgctp{position:relative;flex:none;width:50px;height:50px}
.cgx .cgctp img,.cgx .cgctp .cgph0{width:50px;height:50px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#1b1915;color:#8f897e;font-size:20px;line-height:1;max-width:none;margin:0;padding:0;box-shadow:0 0 0 2px #d4af37,0 0 14px rgba(212,175,55,.35)}
.cgx .cgcal{position:absolute;right:-6px;bottom:-4px;transform:scale(.72);transform-origin:bottom right;display:inline-grid;grid-template-rows:9px 1fr;width:26px;height:28px;border-radius:5px;overflow:hidden;background:#f4f1ea;box-shadow:0 1px 0 rgba(0,0,0,.4)}
.cgx .cgcal b,.cgx .cgans .cgcal b{display:block;background:#d9534f;color:#fff;font:700 6.5px/9px Raleway,sans-serif;letter-spacing:.5px;text-align:center}.cgx .cgcal i{font:700 13px/19px Raleway,sans-serif;color:#2b2b2b;font-style:normal;text-align:center}
.cgx .cgctt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cgx .cgctt small{font-size:10px;letter-spacing:1.8px;color:#d4af37;font-weight:700}
.cgx .cgctt strong{font-size:16px;color:#fff;font-weight:700;overflow-wrap:anywhere}.cgx .cgctt em{font-style:normal;font-size:12.5px;color:#cfc9bd;line-height:1.35}
.cgx .cgctb{flex:none;padding:9px 13px;border-radius:999px;background:linear-gradient(135deg,#f5d67b,#d4af37 55%,#b8901f);color:#141414;font-weight:800;font-size:13.5px;box-shadow:0 4px 14px rgba(212,175,55,.3)}
@media (prefers-reduced-motion:reduce){.cgx .cgans .cgcta{transition:none}}   /* 28.32.3: Option B card */
@media (max-width:359px){.cgx .cgctb{display:none}}   /* 28.32.3 R18 F2: on 320 px phones the whole card is the button; the pill would squeeze the text to 76 px */
.cgx .cgq{width:0}   /* 28.32.2 (R18 NEW-1): the box's built-in ~200 px width made the whole column grow 304 → 340 px on a 320 px phone once the clear ✕ appeared (since 28.30); it now shares the line instead */
@media (prefers-reduced-motion:reduce){.cgx .cgfr,.cgx .cgs,.cgx .cggo::after,.cgx .cgthink{animation:none}.cgx .cgthink{color:#bdb7ab;background:none}}