.companion-panel{position:fixed;z-index:40;box-sizing:border-box;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;padding:22px;color:#eee2bd;background:#1c3025;border:1px solid #54664a;border-radius:12px;box-shadow:0 8px 24px #08161080;font:15px/1.4 'Trebuchet MS',sans-serif;overflow:hidden}
.companion-panel *{box-sizing:border-box}
.companion-panel[hidden],.companion-panel [hidden],#companion-orders[hidden],.companion-notice[hidden]{display:none!important}
.companion-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.companion-heading small{font-size:8px;letter-spacing:1.8px;color:#a7b299}.companion-heading h2{font:normal 30px/1.1 Georgia,serif;letter-spacing:.2px;margin:3px 0 0}
.companion-panel button{font:inherit;cursor:pointer;background:#2a4130;color:inherit;border:1px solid #54664a;padding:8px 12px;border-radius:5px;min-height:36px;touch-action:manipulation}
.companion-panel button:hover{background:#38503a;border-color:#98a46e}.companion-panel button:focus-visible{outline:2px solid #e6c37c;outline-offset:2px}.companion-panel button:disabled{opacity:.35;cursor:default}
.companion-panel [data-close]{display:flex;align-items:center;gap:9px;min-width:40px;padding:4px 6px;background:transparent;border-color:transparent}.companion-panel [data-close] kbd{font:10px monospace;color:#a7b299}.companion-panel [data-close] span{font:24px/1 Georgia,serif;color:#e5d5a6}
.companion-path{display:flex;align-items:center;justify-content:space-between;min-height:45px;padding-bottom:8px;border-bottom:1px solid #405540;color:#a7b299;font-size:12px}.companion-path>kbd{font:10px monospace}
.companion-layout{min-height:0;display:grid;grid-template-columns:288px minmax(0,1fr);gap:24px;align-items:center;overflow:auto;scrollbar-width:thin;scrollbar-color:#526949 transparent}
.companion-options{--orbit-radius:108px;--ring-size:var(--menu-circle-size,64px);position:relative;width:288px;height:288px;margin:auto;flex-shrink:0}
.companion-options:before,.companion-options:after{content:'';position:absolute;inset:35px;border:1px solid #657453;border-radius:50%;pointer-events:none}.companion-options:after{inset:81px;border-color:#3e543d}
.companion-options>button{position:absolute;left:calc(50% + var(--ring-x,0)*var(--orbit-radius));top:calc(50% + var(--ring-y,0)*var(--orbit-radius));transform:translate(-50%,-50%);width:var(--ring-size);height:var(--ring-size);min-height:0;padding:4px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:#263c2c;border-color:#53654a;text-align:center;line-height:1.15;font-size:10px}
.companion-options i{font:24px/1 Georgia,serif;font-style:normal;color:#dfc185}.companion-options .companion-center{left:50%;top:50%;background:#203425;border-color:#62704d}.companion-center svg{width:24px;height:24px;color:#cbb77f}.companion-center small{font-size:8px;color:#a7b299}
.companion-detail{min-width:0}.companion-detail>small{display:block;margin-bottom:7px;font-size:8px;letter-spacing:1.3px;color:#a7b299}.companion-detail h3{font:normal 28px/1.1 Georgia,serif;margin:0 0 7px;color:#ecd6a3;overflow-wrap:anywhere}.companion-detail p{font-size:13px;line-height:1.6;color:#a7b299;margin:0 0 16px}.companion-detail [data-status]{padding-top:12px;border-top:1px solid #405540;color:#d6c599}
.companion-panel footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:27px;border-top:1px solid #405540;padding-top:10px;color:#a7b299;font-size:10px}.companion-panel [data-sound]{background:transparent;font-size:10px;min-height:30px;padding:4px 8px}
#companion-orders,#game-experience #companion-orders{position:fixed;z-index:29;box-sizing:border-box;min-width:0;min-height:0;width:var(--menu-circle-size,64px);height:var(--menu-circle-size,64px);border-radius:50%;background:#263c2c;color:#e5d5a6;border:1px solid #899467;padding:0;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 8px #08161066}#companion-orders svg{width:var(--shortcut-icon-size,24px);height:var(--shortcut-icon-size,24px)}#companion-orders kbd{position:absolute;bottom:-2px;right:-1px;padding:1px 4px;background:#203425;border:1px solid #62704d;border-radius:5px;font:10px monospace}#companion-orders:disabled{opacity:.4}
.companion-targeting{cursor:crosshair}.companion-notice{box-sizing:border-box;overflow-wrap:anywhere;position:fixed;z-index:30;left:50%;bottom:62px;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:9px 14px;margin:0;background:#142119;border:1px solid #89916c;border-radius:6px;color:#f0dfb3;font:13px/1.4 'Trebuchet MS',sans-serif;pointer-events:none;text-align:center}

.companion-panel.ring-compact{padding:8px;gap:6px;border-radius:8px}.ring-compact .companion-heading small{display:none}.ring-compact .companion-heading h2{font-size:19px;margin:0}.ring-compact [data-close]{min-height:26px;padding:0 4px}.ring-compact .companion-path{min-height:32px;padding-bottom:5px;font-size:10px}
.ring-compact .companion-layout{grid-template-columns:164px minmax(0,1fr);gap:8px}.ring-compact .companion-options{--orbit-radius:62px;--ring-size:var(--menu-circle-size,40px);width:164px;height:164px}.ring-compact .companion-options:before{inset:20px}.ring-compact .companion-options:after{inset:45px}.ring-compact .companion-options>button{font-size:7px;padding:2px;gap:1px}.ring-compact .companion-options i{font-size:16px}.ring-compact .companion-center svg{width:16px;height:16px}.ring-compact .companion-center small{font-size:6px}
.ring-compact .companion-detail>small{font-size:7px;letter-spacing:.6px;margin-bottom:4px}.ring-compact .companion-detail h3{font-size:16px;margin-bottom:5px}.ring-compact .companion-detail p{font-size:10px;line-height:1.4;margin-bottom:10px}.ring-compact .companion-detail [data-status]{padding-top:6px}.ring-compact footer{min-height:24px;padding-top:5px;font-size:8px}.ring-compact [data-sound]{min-height:24px;font-size:9px;padding:3px 5px}.ring-compact footer>span{display:none}
.companion-panel.ring-tiny{padding:6px;gap:4px}.ring-tiny .companion-heading h2{font-size:16px}.ring-tiny [data-close]{min-width:24px;min-height:22px}.ring-tiny [data-close] kbd{display:none}.ring-tiny .companion-path{display:none}.ring-tiny .companion-layout{grid-template-columns:minmax(0,1fr);gap:8px}.ring-tiny .companion-options{--orbit-radius:48px;--ring-size:var(--menu-circle-size,32px);width:132px;height:132px}.ring-tiny .companion-options:before{inset:18px}.ring-tiny .companion-options:after{inset:39px}.ring-tiny .companion-options i{font-size:12px}.ring-tiny .companion-options>button{font-size:6px}.ring-tiny .companion-center svg{width:12px;height:12px}.ring-tiny .companion-center small{font-size:5px}
@media(prefers-reduced-motion:no-preference){.companion-panel:not([hidden]){animation:dog-ring-open 180ms ease-out}@keyframes dog-ring-open{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}

.companion-options>button[data-selected=true]{background:#5a6040;border-color:#e3c17b;outline:2px solid #8d8654;outline-offset:2px;color:#fff0be}
.companion-layout{width:100%;max-width:570px;margin-inline:auto}
.ring-compact .companion-layout{max-width:414px}

.companion-notice-compact{padding:6px 8px;font-size:12px}

@media(pointer:coarse),(max-width:650px){.ring-compact .companion-options>button:after{content:'';position:absolute;inset:-2px;border-radius:50%}.ring-compact .companion-detail p{font-size:12px;line-height:1.35}.ring-compact [data-close],.ring-compact [data-sound]{min-width:40px;min-height:36px}}
