/* Portrait and accessory share one coordinate system at every rendered size. */
.orbit-pet-avatar.companion-rig { position:relative; isolation:isolate; display:block; width:230px; height:auto; max-width:100%; aspect-ratio:1; padding:0; border:0; border-radius:0; background:transparent; overflow:visible; }
.companion-rig .companion-head { position:absolute; display:block; top:12%; left:12%; width:76%; height:76%; z-index:1; }
.companion-rig .companion-head .pet-image { display:block; width:100%; height:100%; object-fit:contain; margin:0; }
.companion-rig .companion-accessory { position:absolute; inset:0; display:block; width:100%; height:100%; pointer-events:none; overflow:visible; filter:drop-shadow(0 1.3px 1px #0c182536); }
.companion-rig .accessory-back { z-index:0; }
.companion-rig .accessory-front { z-index:2; }
.pet-delighted .companion-rig .pet-image { animation:none; }
.pet-delighted .companion-rig { animation:companion-bounce .8s ease; }
.sample-habitat .companion-rig { width:136px; height:auto; margin:0 auto; }
.orbit-pet-home .pet-home-scene { min-height:270px; height:auto; }
.orbit-pet-home .companion-rig { margin:12px auto; }
.companion-home-actions { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 6px; }
.companion-home-actions button { flex:1 1 135px; min-height:44px; font-size:12px; }
.companion-team-teaser,.character-teaser { display:flex; align-items:center; flex-wrap:wrap; gap:18px; width:100%; text-align:left; padding:20px; margin:18px 0; border:1px solid #a5bed92b; border-radius:18px; background:#1c2c40; color:#e0eafa; }
.companion-team-teaser>span:last-child,.character-teaser>span:last-child { flex:1; min-width:150px; }
.companion-team-teaser strong,.character-teaser strong { display:block; font-size:15px; line-height:1.4; }
.companion-team-teaser small,.character-teaser small { display:block; margin-top:6px; color:#a0b5d0; font-size:11px; line-height:1.5; }
.companion-teaser-portraits,.character-teaser-art { display:flex; align-items:center; }
.companion-teaser-portraits .pet-image { width:57px; height:57px; object-fit:contain; margin-left:-8px; }
.companion-teaser-portraits .pet-image:first-child { margin:0; }
.companion-card { display:flex; flex-direction:column; align-items:center; position:relative; padding:14px 12px; min-width:0; }
.companion-card .companion-rig { width:140px; height:auto; margin:4px auto 8px; }
.companion-card h3 { font-size:16px; overflow-wrap:anywhere; margin:4px 0 8px; }
.companion-card .companion-nature { color:#bccee5; font-size:10px; line-height:1.5; }
.companion-card p { color:#8fa5c2; font-size:11px; line-height:1.6; flex:1; margin:10px 0; }
.companion-card>small { color:#c5b38b; font-size:10px; margin:8px 0 12px; }
.companion-card button { width:100%; min-height:44px; white-space:normal; }
.companion-new { align-self:flex-start; font-size:8px; letter-spacing:.09em; padding:5px 7px; border:1px solid #c1b7f12b; border-radius:7px; color:#c8bfea; background:#b29ded09; }
.companion-team .orbit-pills { margin:18px 0 0; }
.companion-studio { padding:24px; }
.companion-studio>p { color:#9cb0ca; font-size:13px; line-height:1.6; }
.companion-studio-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; margin:22px 0; align-items:start; }
.companion-studio-preview { min-width:0; border:1px solid #ffffff12; background:#172538; border-radius:18px; overflow:hidden; position:sticky; top:16px; }
.companion-studio-scene { min-height:295px; }
.companion-studio-scene .companion-rig { margin:12px auto; width:260px; height:auto; }
.companion-studio-caption { padding:16px; text-align:center; }
.companion-studio-caption strong { display:block; font-size:20px; overflow-wrap:anywhere; }
.companion-studio-caption span { display:block; font-size:11px; color:#a7bdd6; margin-top:6px; }
.companion-studio-controls { min-width:0; }
.companion-style-select { display:block; color:#acbfd9; font-size:12px; margin-bottom:14px; }
.companion-style-select select { display:block; width:100%; min-width:0; min-height:46px; margin-top:7px; border:1px solid #7894b74d; background:#172538; color:#d7e4f6; padding:10px 12px; border-radius:12px; font-size:14px; }
.companion-colors { border:0; padding:0; margin:20px 0; min-width:0; }
.companion-colors legend { color:#acbfd9; font-size:12px; margin-bottom:12px; }
.companion-colors>div { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px; }
.companion-colors button { display:flex; flex-direction:column; align-items:center; gap:7px; min-height:56px; min-width:0; padding:8px 2px; background:transparent; border:1px solid transparent; border-radius:10px; color:#a5bbd7; font-size:9px; }
.companion-colors button[aria-pressed=true] { border-color:#9dbdea; background:#ffffff08; color:#e2ecfa; }
.companion-colors i { width:25px; height:25px; border:1px solid #ffffff2b; border-radius:50%; }
.companion-fit { border-top:1px solid #ffffff12; padding-top:14px; }
.companion-fit summary { color:#c2d2e7; font-size:12px; cursor:pointer; min-height:30px; }
.companion-fit p { color:#8ea7c6; font-size:11px; line-height:1.5; }
.companion-fit label { display:block; margin:18px 0; }
.companion-fit label>span { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#aabed8; font-size:12px; }
.companion-fit input[type=range] { display:block; width:100%; height:44px; accent-color:#adbee3; padding:0; border:0; background:transparent; }
.companion-fit output { font-variant-numeric:tabular-nums; color:#d5e4f7; }
.companion-fit button { font-size:11px; }
.companion-studio-footer { display:flex; flex-wrap:wrap; align-items:center; gap:10px; border-top:1px solid #ffffff12; margin-top:20px; padding-top:16px; }
.companion-studio-footer p { flex:1 1 180px; color:#8fa7c7; font-size:11px; line-height:1.6; margin:0; }
.companion-studio-footer button { min-height:44px; font-size:11px; }
.orbit-character { display:block; width:100%; height:100%; }
.character-sample { width:86px; height:86px; }
.character-teaser-art .orbit-character { width:50px; height:50px; margin-left:-9px; }
.character-teaser-art .orbit-character:first-child { margin:0; }
.player-avatar>.orbit-character { padding:2px; border-radius:inherit; }
.top-avatar>.orbit-character { width:100%; height:100%; padding:2px; }
@keyframes companion-bounce { 0%,100%{transform:translateY(0)} 35%{transform:translateY(-10px) rotate(-3deg)} 65%{transform:translateY(-4px) rotate(3deg)} }
@media(max-width:740px) {
 .companion-studio { padding:18px; }
 .companion-studio-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
 .companion-studio-preview { position:static; }
 .companion-studio-scene { min-height:245px; }
 .companion-studio-scene .companion-rig { width:230px; height:auto; margin:4px auto; }
 .companion-style-select select { font-size:16px; }
 .companion-team .orbit-adopt-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .companion-card .companion-rig { width:125px; height:auto; }
 .companion-team-teaser,.character-teaser { padding:16px; gap:12px; }
}
@media(max-width:370px) {
 .companion-team .orbit-adopt-grid { grid-template-columns:minmax(0,1fr); }
 .companion-card { display:flex; flex-direction:column; }
 .companion-card .companion-rig { width:165px; height:auto; }
 .companion-colors>div { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .companion-studio .orbit-actions button { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .pet-delighted .companion-rig { animation:none; } }

.painted-name{background:linear-gradient(var(--name-angle,120deg),var(--name-first),var(--name-second));background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-weight:800}
.name-paint-preview{width:100%;min-height:125px;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff18;border-radius:16px;padding:14px;background:radial-gradient(ellipse at 15% 110%,var(--name-first,#335366) 0,transparent 65%),radial-gradient(ellipse at 100% 0%,var(--name-second,#555066) 0,transparent 65%),#111a24;isolation:isolate;position:relative;overflow:hidden}
.name-paint-preview:before{content:"";position:absolute;inset:0;background:#0b1017bb;z-index:-1}.name-paint-preview .painted-name{font-size:clamp(16px,3.5vw,24px);overflow-wrap:anywhere}
.orbit-style-card[data-rarity=rare]{border-color:#638fc0}.orbit-style-card[data-rarity=epic]{border-color:#a084c9}.orbit-style-card[data-rarity=legendary]{border-color:#c5a466;box-shadow:0 0 15px #c5a46612}
.name-editor form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.name-editor input[type=color]{display:block;width:100%;height:44px;margin-top:8px}.name-editor .name-angle,.name-editor form>button{grid-column:1/-1}.name-angle input{width:100%}
.pet-perk{display:grid;gap:8px;background:#153a38;border:1px solid #41665c;border-radius:12px;padding:12px;margin:12px 0;font-size:14px;line-height:1.5}.pet-perk small{color:#bbd7cd}
.inbox-bell{margin-left:auto;position:relative;min-width:42px;min-height:42px;padding:8px;flex:none}.inbox-bell svg{display:block;width:24px;height:24px}.inbox-bell b{position:absolute;top:0;right:0;background:#dc827a;color:#172331;border-radius:12px;padding:1px 5px;font-size:11px}.inbox-bell b[hidden]{display:none}.app>header{gap:10px}.inbox-item.unread{border-color:#67aa9d}.inbox-item h2{font-size:20px}.inbox-item p{white-space:pre-wrap;overflow-wrap:anywhere}.inbox-list{display:grid;gap:12px}.inbox-item button{min-height:44px}.orbit-adopt.companion-card{display:flex;flex-direction:column}.companion-card>button{margin-top:auto}
.app>header .brand{min-width:0;flex-shrink:0}.app>header #balance{display:flex;align-items:center;gap:5px;min-width:0;max-width:40%;flex-shrink:1}.app>header #balance span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app>header #balance .balance-coin{flex:none}
@media(max-width:400px){.app>header{gap:7px}.app>header .brand-tag{display:none}.app>header .brand-icon{width:29px;height:29px}.app>header .brand{font-size:24px}.app>header #balance{padding:10px;font-size:13px}.inbox-bell{min-width:42px}}

.profile-inbox-link{display:flex;align-items:center;gap:12px;width:100%;min-width:0;margin:0 0 18px;padding:17px 18px;text-align:left;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink)}
.profile-inbox-copy{display:grid;gap:6px;min-width:0;flex:1}.profile-inbox-copy strong{font-size:16px}.profile-inbox-copy small{font-size:12px;line-height:1.4;font-weight:400;color:var(--muted);overflow-wrap:anywhere}.profile-inbox-count{flex:none;padding:4px 8px;min-width:26px;text-align:center;background:#2e5360;color:#d8faf2;border-radius:20px;font-size:12px}
.orbit-profile-hero.profile-identity{padding:0;margin-bottom:16px;border:0;box-shadow:none;background:transparent;border-radius:0;min-height:0}
.profile-identity .player-card{border:0;box-shadow:none;margin:0;min-width:0}
.profile-pet-spotlight{display:grid;gap:10px;margin:0 0 18px;padding:14px;background:linear-gradient(125deg,#243f48,#1d2a39 75%);border-radius:20px;min-width:0}
.profile-pet-main{display:flex;align-items:center;gap:14px;padding:0;border:0;background:none;color:var(--ink);text-align:left;min-width:0;width:100%}
.profile-pet-main>span:last-child{display:grid;gap:7px;min-width:0;flex:1;overflow-wrap:anywhere}
.profile-pet-main strong{font-size:24px;line-height:1.15;display:flex;justify-content:space-between;gap:12px}
.profile-pet-main small{font-size:12px;line-height:1.4;font-weight:400;color:var(--muted)}
.profile-pet-art{flex:0 0 84px;width:84px;height:94px;position:relative;overflow:hidden}.profile-pet-art .orbit-pet-avatar{width:100%;height:100%;margin:0;max-height:94px}
.profile-pet-travel{width:100%;min-height:44px;white-space:normal}.profile-destinations{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-destinations button{min-width:0;overflow-wrap:anywhere}
.pending-game{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pending-game>span{min-width:0;overflow-wrap:anywhere}.pending-game button{flex-shrink:0}
@media(max-width:360px){.profile-pet-art{flex-basis:64px;width:64px;height:80px}.profile-pet-main strong{font-size:21px}.profile-pet-main{gap:10px}.pending-game{flex-wrap:wrap}}
