/* The coach lives over the real controls, with no full-screen illustrated slide. */
.empress-guide{position:fixed;inset:0;z-index:7000;pointer-events:none;color-scheme:only light;font-family:inherit;isolation:isolate}
.empress-guide[hidden],.empress-guide [hidden]{display:none!important}
.empress-spotlight{position:fixed;border:2px solid #72caca;border-radius:18px;box-shadow:0 0 0 9999px #15385529,0 0 0 6px #d7ffff75,0 8px 35px #5ca8b52a;pointer-events:none;transition:left .4s ease,top .4s ease,width .4s ease,height .4s ease;background:transparent}
.empress-guide-target{scroll-margin-top:40px!important}
.empress-coach{position:fixed;width:442px;max-width:calc(100vw - 24px);display:grid;grid-template-columns:120px minmax(0,1fr);gap:0 5px;padding:22px 21px 16px 12px;box-sizing:border-box;pointer-events:auto;border:2px solid #fff;border-radius:23px;background:linear-gradient(120deg,#fffef8 4%,#fff 51%,#f0fcff);box-shadow:0 0 0 1px #aad6e1,0 16px 48px #14456635,0 5px 0 #accfd645;color:#294965;animation:empress-arrive .55s cubic-bezier(.16,1,.3,1);transition:top .42s ease,left .42s ease;max-height:calc(100dvh - 30px);overflow:visible}
.empress-character{position:relative;align-self:center;display:flex;align-items:center;justify-content:center;min-width:0;min-height:128px;padding-bottom:20px;pointer-events:none;animation:empress-enter .65s cubic-bezier(.2,1.3,.4,1)}
.empress-character>img{position:relative;z-index:1;display:block;width:125px;max-width:125px;height:auto;max-height:150px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 6px 3px #678daa21)}
.empress-character.is-fallback>img{width:100%;max-height:135px;border-radius:16px;object-fit:contain;image-rendering:auto}
.empress-character-shadow{position:absolute;left:17%;right:10%;bottom:24px;height:12px;border-radius:50%;background:#accfd24d;filter:blur(4px)}
.empress-name{position:absolute;left:50%;bottom:0;transform:translateX(-50%);white-space:nowrap;padding:4px 11px;border:1px solid #c9e3e2;border-radius:20px;background:#f3fffc;color:#428379;font-size:10px;font-weight:800;letter-spacing:.4px}
.empress-coach-body{min-width:0;position:relative;padding-top:2px}
.empress-eyebrow{display:flex;align-items:center;gap:8px;justify-content:space-between;padding-right:17px;font-size:9px;line-height:1.4;font-weight:800;color:#428d91;letter-spacing:.15px;margin:0 0 9px}
.empress-counter{font-variant-numeric:tabular-nums;color:#93a3b0;white-space:nowrap;font-weight:700}
.empress-guide .empress-close{position:absolute;right:9px;top:7px;width:28px;min-width:28px;height:28px;min-height:28px;border:0;border-radius:50%;padding:0;background:transparent;color:#7c9cac;box-shadow:none;font-size:23px;font-weight:400;line-height:1;cursor:pointer}
.empress-guide .empress-close:hover{background:#ebf7f8;color:#24727c;transform:none}
.empress-guide .empress-title{margin:0 0 9px;color:#244d68;font-size:18px;font-weight:850;letter-spacing:-.6px;line-height:1.45;text-wrap:balance}
.empress-guide .empress-speech{margin:0;color:#537080;font-size:12px;line-height:1.85;letter-spacing:-.2px;word-break:keep-all;overflow-wrap:anywhere}
.empress-guide .empress-apply-result{margin:10px 0 0;padding:8px 10px;border:1px solid #cfebe2;border-radius:9px;background:#f1fcf7;color:#387b65;font-size:10px;line-height:1.65;word-break:keep-all}
.empress-guide .empress-apply-result.is-warning{background:#fff7e9;color:#966b27;border-color:#f1dbaf}
.empress-preview-detail{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0 0}
.empress-preview-detail:empty{display:none}
.empress-state-chip{padding:4px 7px;border-radius:6px;background:#edf7ff;color:#4a779a;font-size:9px;line-height:1.45;font-weight:750;animation:empress-chip .35s ease-out}
.empress-footer{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:16px;padding-top:12px;border-top:1px solid #e1eff2}
.empress-guide .empress-previous,.empress-guide .empress-next,.empress-guide .empress-keep{font-family:inherit;font-size:12px;font-weight:800;line-height:1.4;border-radius:10px;min-height:40px;padding:10px 17px;cursor:pointer;transition:transform .15s,box-shadow .15s}
.empress-guide .empress-previous{margin-right:auto;border:1px solid #e0eaf0;background:#fff;color:#8299a7;box-shadow:none;padding:9px 13px}
.empress-guide .empress-previous:disabled{opacity:.35;cursor:default}
.empress-guide .empress-next,.empress-guide .empress-keep{border:1px solid #48a6b6;background:linear-gradient(#7bd5d6,#50b6c0);color:#174f63;box-shadow:0 3px 0 #3c8f9f,0 5px 10px #61b5c52b}
.empress-guide .empress-next:disabled,.empress-guide .empress-keep:disabled{opacity:.5;cursor:wait}
.empress-guide .empress-next:hover:not(:disabled),.empress-guide .empress-keep:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 0 #3c8f9f,0 6px 14px #61b5c53d}
.empress-guide .empress-next:active:not(:disabled),.empress-guide .empress-keep:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #3c8f9f}
.empress-guide button:focus-visible{outline:3px solid #d9a633;outline-offset:4px}
.empress-pointer{position:fixed;z-index:3;display:flex;align-items:flex-start;gap:7px;pointer-events:none;filter:drop-shadow(0 2px 3px #3759632d);transition:left .8s cubic-bezier(.22,1,.36,1),top .8s cubic-bezier(.22,1,.36,1);transform:translate(-5px,-3px)}
.empress-pointer-arrow{font-size:29px;line-height:1;color:#ecffff;-webkit-text-stroke:1.4px #348595;transform:rotate(-130deg);text-shadow:0 2px 2px #3e859b33}
.empress-pointer-label{max-width:125px;margin-top:18px;padding:6px 9px;background:#fff;color:#377b85;border:1px solid #afd9df;border-radius:7px;font-size:10px;font-weight:800;line-height:1.3;white-space:nowrap}
.empress-pointer.toward-left .empress-pointer-label{position:absolute;right:34px;top:0}.empress-pointer.is-tapping .empress-pointer-arrow{animation:empress-tap .5s ease-out}
.empress-pointer.is-tapping::before{content:'';position:absolute;left:-7px;top:-11px;width:26px;height:26px;border:3px solid #59c0bc;border-radius:50%;animation:empress-ripple .65s ease-out both}
#dopingPanel .empress-demo-pressed{transform:translateY(3px)!important;box-shadow:0 0 0 5px #74d9d670,0 1px 0 #458dab!important;transition:transform .15s}
@keyframes empress-arrive{from{opacity:0;transform:translateY(22px) scale(.93)}to{opacity:1;transform:none}}
@keyframes empress-enter{from{opacity:0;transform:translateY(25px) scale(.7)}70%{transform:translateY(-4px) scale(1.03)}to{opacity:1;transform:none}}
@keyframes empress-tap{35%{transform:rotate(-130deg) scale(.78)}70%{transform:rotate(-130deg) scale(1.06)}to{transform:rotate(-130deg) scale(1)}}
@keyframes empress-ripple{from{opacity:1;transform:scale(.45)}to{opacity:0;transform:scale(2.2)}}
@keyframes empress-chip{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:759px){.empress-coach{width:auto;grid-template-columns:84px minmax(0,1fr);gap:0 7px;padding:17px 18px 13px 8px;border-radius:19px;max-height:min(52dvh,370px)}.empress-character{min-height:115px;align-self:center}.empress-character>img{width:100px;max-width:100px;margin-left:-4px}.empress-character.is-fallback>img{max-width:80px}.empress-name{font-size:9px;padding:3px 8px;bottom:8px}.empress-character-shadow{bottom:31px}.empress-eyebrow{font-size:8px;margin-bottom:6px;letter-spacing:-.2px}.empress-guide .empress-title{font-size:16px;line-height:1.4;margin-bottom:7px}.empress-guide .empress-speech{font-size:11px;line-height:1.75}.empress-guide .empress-apply-result{font-size:9px;line-height:1.55;margin-top:7px;padding:6px 8px}.empress-preview-detail{gap:4px;margin-top:6px}.empress-state-chip{font-size:8px;padding:3px 5px}.empress-footer{margin-top:11px;padding-top:10px}.empress-guide .empress-next,.empress-guide .empress-keep,.empress-guide .empress-previous{min-height:39px;padding:9px 11px;font-size:11px}.empress-spotlight{border-radius:13px}.empress-pointer-label{font-size:9px;margin-top:19px;max-width:90px;white-space:normal}.empress-pointer{max-width:110px}}
@media(max-height:600px){.empress-coach{max-height:calc(100dvh - 24px);overflow:auto}.empress-guide .empress-speech{font-size:11px;line-height:1.6}.empress-guide .empress-title{font-size:16px}.empress-footer{margin-top:9px;padding-top:9px}}
@media(prefers-reduced-motion:reduce){.empress-guide *,.empress-guide *::before,.empress-guide *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
