.companion-section{position:relative}.companion-intro{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.companion-intro h2{font-size:clamp(30px,4vw,56px);max-width:750px}.companion-intro p{max-width:600px;color:#adb6c7;line-height:1.8}.companion-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:22px}.companion-tile{background:radial-gradient(ellipse at 80% 5%,#c9d8ff10,transparent 60%),#0d1118;border:1px solid #323946;border-radius:23px;padding:32px;min-width:0}.companion-tile h3{font-size:24px;margin:15px 0}.companion-tile p{color:#aab4c5;line-height:1.8;font-size:14px}.companion-tile .glyph{font-size:52px;line-height:1;color:#d6deee;font-weight:300;display:block;margin:14px 0 28px;text-shadow:0 0 40px #ccd8ed44}.companion-tile code{display:inline-block;background:#1a2130;color:#dce5f7;padding:6px 10px;font-size:12px;border-radius:6px;margin:4px 0}.companion-tile .chip{display:inline-flex;padding:5px 10px;background:#242c3c;border:1px solid #455168;border-radius:5px;font-size:9px;letter-spacing:1px;color:#e1e9fa}.companion-desktop{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:linear-gradient(120deg,#171e2b,#0c1017);border:1px solid #384151;border-radius:24px;padding:40px;margin-top:26px}.companion-desktop h3{font-size:28px;margin:10px 0}.companion-desktop p{color:#b1bbce;line-height:1.8}.desktop-details{display:grid;gap:12px;padding:0;list-style:none}.desktop-details li{border-bottom:1px solid #30394b;padding:10px 0;display:flex;justify-content:space-between;gap:20px}.desktop-details strong{color:#eef2fa}.desktop-details span{color:#9ca9bf;font-size:12px}.new-season-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:linear-gradient(105deg,#29171b,#16121d);border:1px solid #763d34;border-radius:12px;padding:18px 24px;color:#e3ad99;margin:0 0 25px;font-size:12px}.new-season-banner strong{letter-spacing:2px;font-size:10px}.new-season-banner button{background:#2c1b21;border:1px solid #734539;color:#ecc4b3;border-radius:7px;padding:8px 12px;cursor:pointer}.halloween .companion-tile{border-color:#583b3a}.halloween .companion-tile .glyph{color:#e2a595;text-shadow:0 0 38px #a5474877}.halloween .companion-section:before{content:'☾';position:absolute;right:8%;top:80px;font-size:180px;color:#edb08b08;pointer-events:none}.access-modal .modal-card{width:min(92vw,690px);max-width:690px;padding:44px}.access-modal .owner-reveal{padding:24px 28px;min-height:120px}.access-modal #accessContact{font-size:clamp(23px,4vw,35px)!important;font-weight:750;line-height:1.5;overflow-wrap:anywhere;color:#f4f5fa;text-shadow:0 0 22px #c8d8ff33}.access-modal .support-join{display:inline-block;padding:12px 18px;border:1px solid #6b778d;border-radius:8px;font-size:16px;margin-top:12px;background:#202938}.install-dialog{color:#edf1fa;background:#10151e;border:1px solid #5c687f;border-radius:22px;padding:35px;width:min(92vw,720px);box-shadow:0 30px 120px #000b}.install-dialog::backdrop{background:#03050bd9;backdrop-filter:blur(8px)}.install-dialog h2{font-size:31px;margin:8px 0 10px}.install-dialog p{color:#aebad0;line-height:1.7}.install-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}.install-option{display:block;padding:26px;background:#1a2333;border:1px solid #505f7a;border-radius:15px;color:#f2f5fd}.install-option strong{display:block;font-size:22px;margin-bottom:12px}.install-option span{font-size:13px;line-height:1.8;color:#b8c5de}.install-option:hover{background:#26334a;border-color:#aebbd5}.install-close{float:right;border:1px solid #536078;background:#1d2738;border-radius:8px;color:#e9effb;padding:8px 13px;cursor:pointer}.companion-footnote{font-size:12px!important;color:#96a4ba!important}.website-access-map{margin-top:25px;color:#b2bdd0;font-size:14px;line-height:2}.website-access-map b{color:#e8eef9}.nav-shell nav{gap:15px}@media(max-width:1000px){.companion-grid{grid-template-columns:1fr}.companion-desktop{grid-template-columns:1fr}.companion-intro{display:block}.companion-tile{padding:26px}}@media(max-width:550px){.install-options{grid-template-columns:1fr}.access-modal .modal-card{padding:25px}.companion-desktop{padding:26px}.install-dialog{padding:24px}}[data-seasonal][hidden]{display:none!important}@media(prefers-reduced-motion:reduce){.companion-section *{animation:none!important;transition:none!important}}

#companion{scroll-margin-top:110px}
