/* Alpha 5.5 — sanctuary with actual slot-based furniture, non-3D. */
#a54CompanionJourney>.a54-section:has(.a54-decor){display:none!important}
.a55-stage.a49-pet-art.a51-sanctuary{height:300px!important;isolation:isolate;overflow:hidden!important;border:1px solid #a17c4b99!important;box-shadow:inset 0 0 35px #0009,0 14px 34px #0005!important;transition:background .3s}
.a55-stage.a55-room-initial{background:radial-gradient(ellipse at 60% 30%,#7e603d55,transparent 60%),linear-gradient(160deg,#37302c,#181a1e 70%)!important}
.a55-stage.a55-room-garden{background:radial-gradient(ellipse at 40% 25%,#5b865b60,transparent 60%),linear-gradient(150deg,#24392d,#171b1b 65%)!important}
.a55-stage.a55-room-obsidian{background:radial-gradient(ellipse at 50% 18%,#b3895338,transparent 55%),linear-gradient(145deg,#303038,#0b0e13 75%)!important}
.a55-stage:before{content:'';position:absolute;inset:0 0 20%;background:linear-gradient(90deg,transparent 14%,#dfb88112 14.5%,transparent 15%,transparent 85%,#dfb88116 85.5%,transparent 86%);z-index:0;pointer-events:none}
.a55-stage:after{content:'';position:absolute;left:-10%;right:-10%;bottom:-11%;height:35%;background:linear-gradient(180deg,#57402c40,#171616ee);transform:perspective(130px) rotateX(18deg);box-shadow:0 -2px 10px #cc995833;z-index:0;pointer-events:none}
.a55-stage #a49PetArt{position:relative!important;z-index:4!important;height:195px!important;max-height:195px!important;width:88%!important;margin-top:18px!important;filter:drop-shadow(0 12px 9px #000c) drop-shadow(0 0 9px #bb8c4928)!important}
.a55-room-decor{position:absolute;inset:0;pointer-events:none;z-index:3}
.a55-object{position:absolute;font-size:36px;line-height:1;filter:drop-shadow(0 8px 5px #000b);transition:all .25s}
.a55-slot-left{left:6%;bottom:27px;font-size:41px}.a55-slot-right{right:6%;bottom:28px}.a55-slot-backLeft{left:9%;top:55px;font-size:32px}.a55-slot-backRight{right:9%;top:51px;font-size:32px}
.a55-stage .a51-cozy-floor{z-index:1!important}.a55-stage .a51-ambient-glow,.a55-stage .a51-warm-light{z-index:1!important}
.a55-studio{border:1px solid #66523b;border-radius:17px;background:linear-gradient(145deg,#24201c,#141619);padding:14px 11px;margin:12px 0 18px;color:#e9d9c3}
.a55-title{display:flex;justify-content:space-between;align-items:start;gap:10px}.a55-title small{font-size:9px;letter-spacing:.15em;color:#d9b57e}.a55-title h3{font:normal 21px Georgia,serif;color:#efd6ac;margin:5px 0}.a55-status{font-size:9px;letter-spacing:.06em;border:1px solid #6e5738;border-radius:20px;padding:7px;color:#d5ad70}.a55-intro,.a55-foot{font-size:11px;line-height:1.5;color:#b9a791}.a55-foot{margin:12px 0 0;font-size:10px}.a55-headline{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #554333;background:#181718;border-radius:12px;padding:10px 11px;color:#e5c48c;font-size:12px;margin:12px 0}.a55-balance{display:flex;align-items:center;gap:4px}.a55-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.a55-controls button{padding:12px 6px;border-radius:12px;border:1px solid #655037;background:#1c1c1e;color:#c9b59b;font-weight:700;font-size:12px}.a55-controls button.on{background:linear-gradient(#5b4028,#30241d);border-color:#bc915d;color:#ffe3b1}
.a55-market{display:grid;gap:8px;margin-top:12px}.a55-choice{min-width:0;width:100%;display:flex;align-items:center;gap:9px;text-align:left;padding:10px;border-radius:12px;background:#171719;border:1px solid #544538;color:#e4c9a3}.a55-choice.equipped{border-color:#c49a62;background:#32281f}.a55-choice-icon{font-size:28px;flex:none;width:34px;text-align:center}.a55-choice-copy{flex:1;min-width:0;display:grid;gap:3px}.a55-choice-copy strong{font-size:12px;color:#e7d1b2}.a55-choice-copy small{font-size:10px;color:#b4a48f}.a55-choice-cost{font-size:10px;color:#f0c990;display:flex;gap:3px;align-items:center;white-space:nowrap}.a55-slot-note{font-size:10px;color:#b7a590;line-height:1.5;margin:0 0 2px}.a55-message{color:#d5b885;font-size:11px;line-height:1.5;min-height:24px;margin:12px 0 0}
@media(max-width:360px){.a55-choice-icon{font-size:23px;width:26px}.a55-choice-cost{font-size:9px}.a55-title h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){.a55-stage *{animation:none!important;transition:none!important}}
