/* Scholar Quest v3.0 companion / collection experience */
.companion-v3{display:grid;gap:18px}
.companion-v3 .companion-shell-v3{display:grid;grid-template-columns:minmax(560px,1.35fr) minmax(340px,.65fr);gap:0;padding:0;overflow:hidden;border:0;background:#0b1d2c;box-shadow:0 22px 55px rgba(7,23,38,.18)}
.companion-v3 .companion-main-v3{position:relative;min-height:650px;background:#0b1d2c;color:#fff;overflow:hidden}
.companion-v3 .companion-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 26px 8px;position:relative;z-index:5}
.companion-v3 .companion-name{font-size:28px;font-weight:900;letter-spacing:-.02em;margin:4px 0 2px}
.companion-v3 .companion-sub{color:#a9bdca;font-size:13px;max-width:430px;line-height:1.45}
.companion-v3 .species-toggle-v3{display:flex;gap:5px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:4px;border-radius:999px}
.companion-v3 .species-toggle-v3 button{border:0;background:transparent;color:#9eb3c0;padding:7px 11px;border-radius:999px;font-size:11px;font-weight:850;cursor:pointer}
.companion-v3 .species-toggle-v3 button.active{background:#fff;color:#163044}
.companion-v3 .bond-panel{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:10px 26px 0;padding:11px 13px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.06);border-radius:15px;position:relative;z-index:5}
.companion-v3 .bond-badge{height:37px;min-width:37px;border-radius:12px;background:linear-gradient(145deg,#70f0dc,#739cff);display:grid;place-items:center;color:#082235;font-weight:950}
.companion-v3 .bond-copy b{font-size:12px}.companion-v3 .bond-copy span{display:block;color:#9fb4c2;font-size:10px;margin-top:1px}
.companion-v3 .bond-track{height:7px;background:rgba(255,255,255,.10);border-radius:999px;overflow:hidden;margin-top:5px}.companion-v3 .bond-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#58e5ce,#6d91ff)}
.companion-v3 .bond-next{font-size:10px;color:#9fb4c2;text-align:right}
.companion-v3 .companion-stage-v3{height:490px;margin-top:8px;border-radius:0;position:relative;display:grid;place-items:center;overflow:hidden;isolation:isolate;cursor:pointer;user-select:none}
.companion-v3 .companion-stage-v3:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,.58),rgba(255,255,255,.08) 43%,transparent 69%);z-index:0}
.companion-v3 .companion-stage-v3:after{content:"";position:absolute;left:9%;right:9%;bottom:25px;height:34px;border-radius:50%;background:rgba(3,16,27,.24);filter:blur(13px);z-index:1}
.companion-v3 .stage-character-v3{position:relative;z-index:3;transform-origin:50% 90%;animation:companionIdleV3 4.8s ease-in-out infinite}
.companion-v3 .stage-character-v3 svg{max-width:min(390px,64vw)}
.companion-v3 .stage-character-v3.react{animation:companionTapV3 .55s ease-out}
.companion-v3 .mood-bubble{position:absolute;z-index:6;left:50%;top:52px;transform:translateX(60px);max-width:220px;background:#fff;color:#173248;border-radius:16px 16px 16px 5px;padding:10px 13px;font-size:12px;font-weight:750;box-shadow:0 12px 30px rgba(0,0,0,.16);opacity:0;pointer-events:none}
.companion-v3 .mood-bubble.show{animation:bubbleV3 2.7s ease forwards}
.companion-v3 .stage-hint{position:absolute;bottom:11px;left:0;right:0;text-align:center;z-index:6;color:rgba(255,255,255,.68);font-size:10px;letter-spacing:.04em}
@keyframes companionIdleV3{0%,100%{transform:translateY(1px) rotate(-.4deg)}50%{transform:translateY(-7px) rotate(.5deg)}}
@keyframes companionTapV3{0%{transform:scale(1)}35%{transform:scale(1.06) translateY(-10px) rotate(2deg)}70%{transform:scale(.985) rotate(-1deg)}100%{transform:scale(1)}}
@keyframes bubbleV3{0%{opacity:0;transform:translate(60px,7px) scale(.95)}12%,78%{opacity:1;transform:translate(60px,0) scale(1)}100%{opacity:0;transform:translate(60px,-5px) scale(.98)}}
.companion-v3 .companion-stage-v3.lagoon{background:radial-gradient(circle at 18% 15%,rgba(255,255,255,.72),transparent 13%),linear-gradient(145deg,#83dfd4,#a7d9ef 52%,#c5bce8)}
.companion-v3 .companion-stage-v3.camp{background:radial-gradient(circle at 72% 57%,rgba(255,190,86,.62),transparent 10%),radial-gradient(circle at 72% 57%,rgba(255,147,59,.22),transparent 26%),linear-gradient(165deg,#0c2631,#183a42 58%,#2f493c)}
.companion-v3 .companion-stage-v3.tidepool{background:radial-gradient(circle at 25% 18%,rgba(189,248,255,.38),transparent 15%),radial-gradient(ellipse at 52% 77%,rgba(80,238,223,.34),transparent 26%),linear-gradient(165deg,#062236,#0d5270 55%,#11354a)}
.companion-v3 .companion-stage-v3.aurora{background:radial-gradient(circle at 18% 13%,rgba(82,255,213,.62),transparent 27%),radial-gradient(circle at 83% 14%,rgba(144,107,255,.55),transparent 31%),linear-gradient(165deg,#071727,#11354b 58%,#173e53)}
.companion-v3 .companion-stage-v3.observatory{background:radial-gradient(circle at 77% 18%,rgba(255,219,105,.95) 0 3px,transparent 4px),radial-gradient(circle at 25% 14%,#fff 0 1px,transparent 2px),radial-gradient(circle at 45% 24%,#fff 0 1px,transparent 2px),linear-gradient(180deg,#071326,#152e50 72%,#1e4258)}
.companion-v3 .companion-stage-v3.crystal{background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.82),transparent 13%),linear-gradient(145deg,#9be9f4,#b7d6f4 48%,#c1adeb)}
.companion-v3 .companion-stage-v3.library{background:radial-gradient(circle at 50% 18%,rgba(255,213,133,.32),transparent 22%),linear-gradient(150deg,#2e2434,#3b2b3b 52%,#173442)}
.companion-v3 .companion-stage-v3.cloudstudy{background:radial-gradient(ellipse at 50% 82%,rgba(255,255,255,.95),rgba(255,255,255,.35) 33%,transparent 55%),linear-gradient(#77b9e5,#c7e9f7 64%,#e9f8ff)}
.companion-v3 .companion-stage-v3.moonbase{background:radial-gradient(circle at 78% 19%,#e8f5ff 0 22px,rgba(232,245,255,.15) 23px,transparent 34px),radial-gradient(circle at 18% 20%,#fff 0 1px,transparent 2px),radial-gradient(circle at 40% 10%,#fff 0 1px,transparent 2px),linear-gradient(170deg,#030915,#0d1b38 58%,#26324a)}
.companion-v3 .companion-detail-v3{background:#fff;padding:24px 23px;display:flex;flex-direction:column;min-width:0}
.companion-v3 .wallet-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.companion-v3 .wallet{font-size:16px;font-weight:900;color:#825903;background:#fff5d8;border:1px solid #f1dfae;border-radius:999px;padding:7px 10px;white-space:nowrap}
.companion-v3 .selected-title{font-size:25px;margin:4px 0}.companion-v3 .set-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#eef5f8;color:#476176;font-size:10px;font-weight:850}
.companion-v3 .detail-preview-v3{height:190px;border:1px solid #dce7ed;border-radius:20px;background:linear-gradient(145deg,#eff7f8,#fff 60%,#f4f1ff);display:grid;place-items:center;margin:13px 0;overflow:hidden}.companion-v3 .detail-preview-v3 svg{width:160px;height:175px}
.companion-v3 .aspiration-card{border:1px solid #dce7ed;border-radius:16px;padding:12px 13px;background:#f7fafc;margin-top:12px}.companion-v3 .aspiration-card strong{font-size:12px}.companion-v3 .aspiration-card .tiny{margin-top:3px}
.companion-v3 .loadout-v3{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:12px}.companion-v3 .loadout-slot-v3{border:1px solid #e2e9ee;border-radius:12px;padding:8px 9px;background:#fbfdfe;min-width:0}.companion-v3 .loadout-slot-v3 span{display:block;text-transform:uppercase;font-size:8px;letter-spacing:.1em;color:#8a9ba7;font-weight:900}.companion-v3 .loadout-slot-v3 b{display:block;font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.companion-v3 .collection-mini{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;margin-top:auto;padding-top:15px}.companion-v3 .collection-mini .progress{margin:0}
.companion-v3 .store-v3{padding:22px}.companion-v3 .store-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:14px}.companion-v3 .store-heading h2{margin:4px 0}.companion-v3 .category-tabs-v3{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.companion-v3 .category-tabs-v3 button{border:1px solid #dbe5eb;background:#fff;color:#607588;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:850;cursor:pointer}.companion-v3 .category-tabs-v3 button.active{background:#132f43;color:#fff;border-color:#132f43}
.companion-v3 .set-strip{display:flex;gap:10px;overflow:auto;padding:0 0 13px;scrollbar-width:thin}.companion-v3 .set-card{flex:0 0 185px;border:1px solid #dce6ec;border-radius:14px;padding:10px 11px;background:linear-gradient(145deg,#f9fcfd,#f3f7fb);cursor:pointer}.companion-v3 .set-card.active{border-color:#62cfc4;box-shadow:0 0 0 2px rgba(70,201,188,.12)}.companion-v3 .set-card b{font-size:12px}.companion-v3 .set-card span{display:block;font-size:9px;color:#80909d;margin-top:2px}.companion-v3 .set-card .set-count{margin-top:7px;font-weight:850;color:#38556a}
.companion-v3 .shop-grid-v3{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.companion-v3 .shop-card-v3{position:relative;border:1px solid #dde7ed;border-radius:17px;padding:11px;background:#fff;cursor:pointer;transition:.16s ease;min-width:0}.companion-v3 .shop-card-v3:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(14,35,55,.08)}.companion-v3 .shop-card-v3.selected{border-color:#2bbdb1;box-shadow:0 0 0 3px rgba(43,189,177,.10)}.companion-v3 .shop-card-v3.locked .shop-thumb-v3{filter:saturate(.35);opacity:.75}.companion-v3 .shop-thumb-v3{height:100px;border-radius:13px;background:linear-gradient(145deg,#edf7f8,#f4f0ff);display:grid;place-items:center;overflow:hidden}.companion-v3 .shop-thumb-v3 svg{width:95px;height:102px}.companion-v3 .shop-card-v3 h4{font-size:12px;margin:8px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.companion-v3 .shop-card-v3 .card-meta{display:flex;justify-content:space-between;gap:5px;align-items:center}.companion-v3 .shop-card-v3 .price-v3{font-size:10px;font-weight:900;color:#815a0c}.companion-v3 .shop-card-v3 .set-name{font-size:9px;color:#8797a3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.companion-v3 .shop-state-tag{position:absolute;right:7px;top:7px;z-index:2;border-radius:999px;padding:4px 6px;font-size:8px;font-weight:950;letter-spacing:.05em;background:#102d42;color:#fff}.companion-v3 .shop-state-tag.owned{background:#e4faf7;color:#08766e}.companion-v3 .shop-state-tag.locked{background:#edf0f3;color:#72818d}
.companion-v3 .wishlist-btn{border:1px solid #d8e3e9;background:#fff;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:850;color:#567084;cursor:pointer}.companion-v3 .wishlist-btn.on{background:#fff3d7;border-color:#ebd59e;color:#805b11}
.companion-v3 .detail-actions-v3{display:flex;gap:8px;margin-top:13px}.companion-v3 .detail-actions-v3 .btn{flex:1}
.companion-bond-result{margin:13px 0;padding:12px 14px;border:1px solid #cfe6e3;border-radius:15px;background:linear-gradient(135deg,#effcf9,#f4f7ff);display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left}.companion-bond-result .bond-star{width:36px;height:36px;border-radius:12px;background:linear-gradient(145deg,#6ce7d3,#7b91ff);display:grid;place-items:center;font-weight:950;color:#0c2940}.companion-bond-result strong{display:block}.companion-bond-result span{font-size:11px;color:#65798a}.companion-bond-result .bond-gain{font-weight:900;color:#197d71}
@media(max-width:1180px){.companion-v3 .companion-shell-v3{grid-template-columns:1fr}.companion-v3 .companion-main-v3{min-height:590px}.companion-v3 .shop-grid-v3{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){.companion-v3 .shop-grid-v3{grid-template-columns:repeat(2,minmax(0,1fr))}.companion-v3 .store-heading{display:block}.companion-v3 .category-tabs-v3{justify-content:flex-start;margin-top:10px}.companion-v3 .companion-topbar{padding:18px 17px 6px}.companion-v3 .bond-panel{margin-left:17px;margin-right:17px}.companion-v3 .companion-stage-v3{height:420px}.companion-v3 .companion-stage-v3 svg{width:300px}.companion-v3 .mood-bubble{transform:translateX(15px)}@keyframes bubbleV3{0%{opacity:0;transform:translate(15px,7px) scale(.95)}12%,78%{opacity:1;transform:translate(15px,0) scale(1)}100%{opacity:0;transform:translate(15px,-5px) scale(.98)}}}
.companion-v3 .habitat-swatch-v3{width:100%;height:100%;display:grid;place-items:end start;padding:9px;border-radius:13px;color:#fff;font-size:9px;font-weight:850;letter-spacing:.03em;position:relative;overflow:hidden}
.companion-v3 .habitat-swatch-v3:after{content:"";position:absolute;inset:auto 10% 12% 10%;height:15%;border-radius:50%;background:rgba(3,18,29,.22);filter:blur(6px)}
.companion-v3 .habitat-swatch-v3 span{position:relative;z-index:2;background:rgba(5,22,34,.42);padding:4px 6px;border-radius:7px}
.companion-v3 .habitat-swatch-v3.camp{background:radial-gradient(circle at 72% 60%,rgba(255,191,84,.78),transparent 12%),linear-gradient(150deg,#102d36,#355042)}
.companion-v3 .habitat-swatch-v3.tidepool{background:radial-gradient(ellipse at 52% 76%,rgba(80,238,223,.5),transparent 30%),linear-gradient(150deg,#09283d,#12647e)}
.companion-v3 .habitat-swatch-v3.aurora{background:radial-gradient(circle at 25% 15%,rgba(79,255,211,.7),transparent 30%),radial-gradient(circle at 80% 20%,rgba(147,104,255,.65),transparent 35%),#102b41}
.companion-v3 .habitat-swatch-v3.observatory{background:radial-gradient(circle at 75% 20%,#ffe08a 0 3px,transparent 4px),linear-gradient(#08172c,#193c59)}
.companion-v3 .habitat-swatch-v3.crystal{background:linear-gradient(145deg,#9eeef7,#a9c8f0,#c6aff0)}
.companion-v3 .habitat-swatch-v3.cloudstudy{background:radial-gradient(ellipse at 50% 82%,#fff,rgba(255,255,255,.25) 42%,transparent 50%),linear-gradient(#79bce7,#d7f1fb)}
.companion-v3 .habitat-swatch-v3.library{background:radial-gradient(circle at 55% 20%,rgba(255,211,127,.38),transparent 23%),linear-gradient(145deg,#302536,#173746)}
.companion-v3 .habitat-swatch-v3.moonbase{background:radial-gradient(circle at 78% 22%,#ecf7ff 0 10px,transparent 11px),linear-gradient(#050a16,#172642)}
/* v3.0 expanded collectible system */
.companion-v3 .companion-stage-v3.tower{background:radial-gradient(circle at 74% 18%,rgba(245,229,255,.9) 0 24px,transparent 25px),radial-gradient(circle at 24% 22%,rgba(184,125,255,.3),transparent 25%),linear-gradient(160deg,#17102f,#37245b 56%,#57375f)}
.companion-v3 .companion-stage-v3.workshop{background:radial-gradient(circle at 76% 56%,rgba(255,177,67,.4),transparent 14%),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 2px,transparent 2px 42px),linear-gradient(155deg,#172a32,#31545a 57%,#5b4a39)}
.companion-v3 .companion-stage-v3.castle{background:radial-gradient(circle at 80% 16%,rgba(255,247,199,.9) 0 18px,transparent 19px),radial-gradient(ellipse at 50% 90%,rgba(255,255,255,.75),transparent 35%),linear-gradient(#79b9e0,#dcebf1 63%,#7c91a0)}
.companion-v3 .companion-stage-v3.treehouse{background:radial-gradient(circle at 72% 56%,rgba(255,192,81,.55),transparent 12%),radial-gradient(circle at 22% 35%,rgba(71,149,95,.55),transparent 32%),linear-gradient(155deg,#17392f,#315b3a 55%,#6f5137)}
.companion-v3 .companion-stage-v3.icecave{background:radial-gradient(circle at 48% 18%,rgba(255,255,255,.8),transparent 18%),linear-gradient(145deg,#87d5ee,#c9eff8 48%,#739bc6)}
.companion-v3 .companion-stage-v3.dragonpeak{background:radial-gradient(circle at 78% 76%,rgba(255,121,48,.62),transparent 17%),radial-gradient(circle at 18% 18%,rgba(245,210,106,.22),transparent 18%),linear-gradient(160deg,#211c28,#4c3030 55%,#6d3825)}
.companion-v3 .habitat-swatch-v3.tower{background:radial-gradient(circle at 75% 20%,#efe0ff 0 9px,transparent 10px),linear-gradient(145deg,#1d1236,#5c3b72)}
.companion-v3 .habitat-swatch-v3.workshop{background:radial-gradient(circle at 75% 60%,rgba(255,185,72,.65),transparent 18%),linear-gradient(145deg,#1c3438,#68543d)}
.companion-v3 .habitat-swatch-v3.castle{background:radial-gradient(ellipse at 50% 85%,rgba(255,255,255,.9),transparent 40%),linear-gradient(#79bce2,#bfd9e8)}
.companion-v3 .habitat-swatch-v3.treehouse{background:radial-gradient(circle at 70% 55%,rgba(255,190,76,.7),transparent 14%),linear-gradient(145deg,#1c4a35,#765334)}
.companion-v3 .habitat-swatch-v3.icecave{background:linear-gradient(145deg,#80d8f1,#e2f9ff 50%,#829eca)}
.companion-v3 .habitat-swatch-v3.dragonpeak{background:radial-gradient(circle at 75% 75%,rgba(255,104,36,.75),transparent 18%),linear-gradient(145deg,#281f29,#6f3928)}
.companion-v3 .loadout-v3{grid-template-columns:repeat(2,minmax(0,1fr))}
.companion-v3 .category-tabs-v3{max-width:760px}
.companion-v3 .shop-grid-v3{grid-template-columns:repeat(6,minmax(0,1fr))}
.companion-v3 .shop-thumb-v3{height:112px}
.companion-v3 .shop-card-v3 h4{font-size:11.5px}
.companion-v3 .store-v3{overflow:hidden}
.companion-v3 .category-tabs-v3 button{transition:.15s ease}.companion-v3 .category-tabs-v3 button:hover{transform:translateY(-1px);border-color:#9fc8c5}
.companion-v3 .rarity.legendary{box-shadow:0 0 0 1px rgba(164,116,255,.18),0 3px 12px rgba(139,101,235,.13)}
.propeller-spin{transform-origin:128px 38px;animation:propellerV3 1.7s linear infinite}.gear-spin{animation:gearV3 5s linear infinite}.gear-spin.reverse{animation-direction:reverse}.aura-drift{animation:auraDriftV3 4.4s ease-in-out infinite}.snowflake{animation:snowV3 3.6s ease-in-out infinite}.ember{animation:emberV3 2.8s ease-in-out infinite}.steam{animation:steamV3 2.3s ease-in-out infinite}.blob-wobble{transform-origin:center;animation:blobV3 2.2s ease-in-out infinite}
@keyframes propellerV3{to{transform:rotate(360deg)}}
@keyframes gearV3{to{transform:rotate(360deg)}}
@keyframes auraDriftV3{0%,100%{opacity:.28;transform:translateY(0)}50%{opacity:.66;transform:translateY(-5px)}}
@keyframes snowV3{0%,100%{opacity:.45;transform:translateY(-5px)}50%{opacity:1;transform:translateY(8px)}}
@keyframes emberV3{0%{opacity:.15;transform:translateY(7px)}50%{opacity:1}100%{opacity:.1;transform:translateY(-16px)}}
@keyframes steamV3{0%,100%{opacity:.2;transform:translateY(4px)}50%{opacity:.8;transform:translateY(-4px)}}
@keyframes blobV3{0%,100%{transform:scaleX(1) scaleY(1)}50%{transform:scaleX(1.08) scaleY(.94)}}
@media(max-width:1400px){.companion-v3 .shop-grid-v3{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1180px){.companion-v3 .shop-grid-v3{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){.companion-v3 .shop-grid-v3{grid-template-columns:repeat(2,minmax(0,1fr))}}
.reward-unlock-v3{margin-top:7px;padding:7px 9px;border-radius:9px;background:#fff7d9;color:#765713;font-size:10px;line-height:1.35;border:1px solid #eedca4}
