.firePortalSlot{display:flex;align-items:center;justify-content:flex-end;height:44px;margin:0 10px 8px;position:relative;z-index:31}.firePortalSpark{width:44px;height:44px;min-height:44px;padding:0;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:50%;display:grid;place-items:center;cursor:pointer}.firePortalSpark>span{display:block;width:17px;height:20px;border-radius:60% 40% 65% 35%;background:radial-gradient(ellipse at 45% 70%,#fffbd1 0 15%,#ffcf46 28%,#ff731f 55%,#e52a0b 75%,transparent 90%);box-shadow:0 0 8px #ffbf50,0 0 17px #ff5d2777;animation:fireSparkBreathe 2.8s ease-in-out infinite;transform:rotate(24deg)}.firePortalSpark:focus-visible{outline:2px solid #ffc768;outline-offset:2px}.fireSigilPortal[hidden]{display:none!important}.fireSigilPortal{position:absolute;inset:12px;z-index:70;max-height:calc(100% - 24px);overflow-y:auto;overflow-x:hidden;border:1px solid #ff9d5677;border-radius:22px;padding:20px 14px;background:radial-gradient(ellipse at center,#6d201bdc,#100609f5 75%);box-shadow:inset 0 0 35px #ff652b40,0 0 18px #ff602b50;color:#fff3d9;isolation:isolate;overscroll-behavior:contain}.fireSigilPortal>svg{position:absolute;inset:0;width:100%;height:100%;max-height:650px;fill:none;stroke:#ff983e;stroke-width:1.2;opacity:.45;pointer-events:none;z-index:-1;filter:drop-shadow(0 0 4px #ff6b22)}.fireSigilPortal>strong{display:block;font-size:13px;letter-spacing:.12em;text-align:center;margin:6px 0 14px;text-shadow:0 0 12px #ff9539}.firePortalClose{display:block;margin:0 auto 18px!important}.fireSigilPortal nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fireSigilPortal button{min-height:44px;width:100%;margin:0;padding:10px 8px;font-size:12px;line-height:1.4;white-space:normal;border:1px solid #ffb36388;border-radius:12px;background:#1b0c0ee0;color:#fff0db;box-shadow:inset 0 1px 0 #ffd18b33,0 0 9px #ff5c1f25;letter-spacing:.03em}.fireSigilPortal button:hover,.fireSigilPortal button:focus-visible{background:#6d2619;outline:2px solid #ffd087;outline-offset:2px}.fireSigilPortal button:active{transform:scale(.98)}@keyframes fireSparkBreathe{50%{opacity:.75;transform:rotate(20deg) scale(.88)}}@media(prefers-reduced-motion:reduce){.firePortalSpark>span{animation:none}}
/* BOFE geometry and fire/ice flip, with twelve fixed room circles. */
.fireSigilPortal{--sigil-ink:#ffeddd;--sigil-accent:#ff994e;--sigil-line:#ff914b80;--sigil-surface:#160b0bee;inset:18px 10px auto;max-height:calc(100% - 36px);padding:48px 4px 10px;background:radial-gradient(circle,#421b12 0,#08080cf5 70%);border-color:var(--sigil-line);box-shadow:0 0 24px #ff661a30;color:var(--sigil-ink);transition:background .6s,color .6s}
.fireSigilPortal.fireSigilIce{--sigil-ink:#102b48;--sigil-accent:#087ac7;--sigil-line:#6bbde880;--sigil-surface:#f3f9fff2;background:radial-gradient(circle,#d3f2ff,#f3f9fff5 70%);box-shadow:0 0 24px #21aaff30}.fireSigilPortal>strong{font-size:10px;margin:0;position:absolute;top:20px;left:12px;right:52px;color:var(--sigil-accent);text-shadow:none}.fireSigilPortal .firePortalClose{position:absolute;top:4px;right:4px;width:40px;min-height:40px;margin:0!important;background:transparent;border:0;box-shadow:none;color:var(--sigil-ink);padding:6px;font-size:18px}.fireSigilWheel{width:100%;aspect-ratio:1;position:relative;max-width:500px;margin:auto;isolation:isolate}.fireSigilArtwork{position:absolute;inset:0;width:100%;height:100%;color:var(--sigil-accent);fill:none;stroke:currentColor;stroke-width:1;filter:drop-shadow(0 0 8px #ff602b50);transition:transform 1s;transform:rotate(calc(180deg + var(--sigil-turn,0deg)));pointer-events:none}.fireSigilIce .fireSigilArtwork{transform:rotate(var(--sigil-turn,0deg));filter:drop-shadow(0 0 8px #21aaff30)}.fireSigilArtwork circle{opacity:.4}.fireSigilArtwork .fine{opacity:.25}.fireSigilArtwork .star{opacity:.22}.fireSigilArtwork .geometry{transform-origin:250px 250px;animation:portalGeometryCycle 15s ease-in-out infinite;opacity:0}.fireSigilArtwork .geometry-a{animation-delay:0s}.fireSigilArtwork .geometry-b{animation-delay:-5s}.fireSigilArtwork .geometry-c{animation-delay:-10s}.fireSigilArtwork .geometry path{stroke-width:1.4}.fireKnowledgeMarks{opacity:.25}.fireSigilPortal nav{position:absolute;inset:0;display:block}.fireSigilPortal .fireRoomCircle{position:absolute;transform:translate(-50%,-50%);width:clamp(44px,14%,64px);height:clamp(44px,14%,64px);min-height:44px;border-radius:50%;padding:4px 1px;margin:0;background:var(--sigil-surface);border:1px solid var(--sigil-line);color:var(--sigil-ink);box-shadow:0 0 8px #ff661a22;display:flex;flex-direction:column;align-items:center;justify-content:center;letter-spacing:0;line-height:1.2}.fireRoomCircle b{font-size:13px}.fireRoomCircle small{font-size:8px;white-space:nowrap}.fireSigilPortal .fireRoomCircle:active{transform:translate(-50%,-50%) scale(.95)}.fireSigilPortal .fireSigilCore{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(72px,25%,110px);height:clamp(72px,25%,110px);border-radius:50%;padding:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--sigil-surface);color:var(--sigil-ink);border:1px solid var(--sigil-line);box-shadow:0 0 25px #ff661a30;letter-spacing:2px}.fireSigilCore strong{font-size:clamp(16px,4vw,25px)}.fireSigilCore small{font-size:6px;letter-spacing:.05em;margin-top:7px}.fireSigilPortal.fireSigilIce button:hover{background:#d6efff;outline-color:#087ac7}.fireSigilPortal .fireSigilCore:active{transform:translate(-50%,-50%) scale(.97)}
@keyframes portalGeometryCycle{0%,8%{opacity:0;transform:scale(.92) rotate(-8deg)}20%,38%{opacity:.8;transform:scale(1) rotate(0)}50%,100%{opacity:0;transform:scale(1.03) rotate(8deg)}}@media(prefers-reduced-motion:reduce){.fireSigilArtwork .geometry{animation:none}.fireSigilArtwork .geometry-a{opacity:.7}.fireSigilArtwork .geometry-b,.fireSigilArtwork .geometry-c{opacity:0}.fireSigilArtwork,.fireSigilPortal{transition:none}}
/* Glass sigil: appearance only; existing geometry and controls remain intact. */
.fireSigilPortal{--sigil-surface:#140b101c;--sigil-line:#ffad758c;background:radial-gradient(circle at 50% 48%,#ff70200d,transparent 72%);border-color:#ffa3668c;box-shadow:inset 0 1px 0 #ffffff45,0 0 18px #ff702026;color:#fff9f4}
.fireSigilPortal.fireSigilIce{--sigil-ink:#f5fcff;--sigil-accent:#8eeaff;--sigil-line:#91ddff9c;--sigil-surface:#edfaff18;background:radial-gradient(circle at 50% 48%,#9945ff0c,#14f19506 60%,transparent 78%);box-shadow:inset 0 1px 0 #ffffff65,0 0 18px #4eafff26}
.fireSigilPortal>strong,.fireSigilPortal .fireRoomCircle,.fireSigilPortal .fireSigilCore{ text-shadow:0 1px 3px #000,0 0 7px #0009 }
.fireSigilPortal .fireRoomCircle,.fireSigilPortal .fireSigilCore{background:var(--sigil-surface);box-shadow:inset 0 1px 0 #ffffff40,0 0 10px #ff813530}
.fireSigilPortal .fireSigilArtwork{filter:drop-shadow(0 0 4px #ff803c80)}
.fireSigilPortal::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;background:linear-gradient(115deg,transparent 42%,#ffffff12 48%,#ffffff35 50%,#ffffff12 52%,transparent 58%);background-size:350% 100%;animation:sigilGlassPulse 7s ease-in-out infinite}
.fireSigilIce .fireSigilArtwork{stroke:#9bdfff;filter:drop-shadow(0 0 4px #65bfff80)}
.fireSigilIce .fireSigilArtwork .star{stroke:#14f195}.fireSigilIce .fireSigilArtwork .geometry-b{stroke:#bc88ff}
.fireSigilPortal .fireRoomCircle:hover,.fireSigilPortal .fireRoomCircle:focus-visible,.fireSigilPortal .fireSigilCore:hover,.fireSigilPortal .fireSigilCore:focus-visible{background:#ff833533;outline-color:#fff3e7}
.fireSigilPortal.fireSigilIce button:hover,.fireSigilPortal.fireSigilIce button:focus-visible{background:#75d5ff33;outline-color:#e9fbff}
@keyframes sigilGlassPulse{0%,15%{background-position:100% 0;opacity:0}35%{opacity:.75}70%,100%{background-position:0% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){.fireSigilPortal::after{animation:none;opacity:0}}

.queenShopping{margin:12px 0;padding:10px 12px;border:1px solid #a9e4ff55;border-radius:14px;background:#c1edff08}.queenShopping>summary{cursor:pointer;color:#e9f8ff;font-weight:700}.queenShopping textarea{display:block;width:100%;margin:8px 0;box-sizing:border-box}.queenShopping p{font-size:14px;line-height:1.5}.shoppingActions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.shoppingActions>a{color:#c7efff;padding:10px}.queenShopping small{display:block;line-height:1.5;opacity:.85}.queenShopping details{margin-top:10px}

.fireSigilArtwork{will-change:transform;transition:none!important}.sigilOpticalTrail{pointer-events:none!important;filter:none!important;stroke-width:.8!important}.sigilBloom{opacity:.1;stroke-width:.8;fill:none}.sigilMotionControls{display:flex;gap:10px;justify-content:center;padding:14px 18px 0}.sigilMotionControls button{width:auto;min-width:100px}.sigilMagicReadout{font:12px/1.6 system-ui;text-align:center;color:#d9eff6;padding:4px 16px;max-width:450px;margin:10px auto}.sigilCalm .fireSigilArtwork .geometry{animation:none!important;opacity:.25}.sigilCalm::after{animation:none!important;opacity:0}.sigilCalm .sigilOpticalTrail{display:none!important}.fireSigilPortal .fireRoomCircle small{font-size:9px}.fireSigilPortal .fireSigilCore{touch-action:manipulation}@media(prefers-reduced-motion:reduce){.sigilOpticalTrail{display:none!important}.fireSigilArtwork{transform:none!important}}
/* Keep the heart centered despite the general button stability rules. */
html body .fireSigilPortal button.fireRoomCircle,
html body .fireSigilPortal button.fireRoomCircle:hover,
html body .fireSigilPortal button.fireRoomCircle:active,
html body .fireSigilPortal button.fireRoomCircle:focus-visible{transform:translate(-50%,-50%)!important;translate:none!important;width:clamp(44px,11.5%,58px)!important;height:clamp(44px,11.5%,58px)!important;min-width:44px;min-height:44px!important;max-width:none;flex-shrink:0;aspect-ratio:1;padding:3px 1px!important;border-radius:50%!important;background:color-mix(in srgb,var(--sigil-accent) 12%,#101724e8)!important;color:#fff!important;line-height:1.15;overflow:visible;z-index:3}
html body .fireSigilPortal button.fireSigilCore,
html body .fireSigilPortal button.fireSigilCore:hover,
html body .fireSigilPortal button.fireSigilCore:active,
html body .fireSigilPortal button.fireSigilCore:focus-visible{transform:translate(-50%,-50%)!important;translate:none!important;width:clamp(72px,22%,100px)!important;height:clamp(72px,22%,100px)!important;min-height:72px!important;max-width:none;aspect-ratio:1;border-radius:50%!important;background:color-mix(in srgb,var(--sigil-accent) 15%,#101724df)!important;color:#fff!important;z-index:4;box-shadow:inset 0 0 20px #ffffff10,0 0 24px var(--sigil-line)}
.fireSigilPortal .fireRoomCircle b{font-size:clamp(12px,3.5vw,16px)}
.fireSigilPortal .fireRoomCircle small{font-size:9px;line-height:1.2;letter-spacing:0}
.fireSigilPortal .fireSigilCore strong{font-size:clamp(18px,5vw,27px);letter-spacing:.12em}
.fireSigilPortal .fireSigilCore small{font-size:7px;letter-spacing:.08em}
html body .fireSigilPortal button.firePortalClose{width:40px!important;height:40px!important;min-height:40px!important;padding:6px!important;border-radius:12px;z-index:5}
.fireSigilPortal{background:radial-gradient(ellipse at center,#17202edb,#080b12eb 80%);padding-top:58px}
.fireSigilPortal.fireSigilIce{background:radial-gradient(ellipse at center,#102539db,#080b12eb 80%)}
.fireSigilWheel{max-width:500px;margin:4px auto 0;overflow:visible}
.fireSigilPortal>strong{top:17px;right:54px;left:14px;line-height:1.5}
.fireSigilPortal .sigilMotionControls{flex-wrap:wrap;gap:8px;padding:10px 12px 0}
.fireSigilPortal .sigilMotionControls button{min-height:44px;padding:9px 12px;width:auto;flex:0 1 auto}
.fireSigilPortal .sigilMagicReadout{font-size:11px;padding:4px 14px;margin:8px auto;line-height:1.5}
@media(max-width:380px){.fireSigilPortal{inset-inline:6px;padding-inline:2px}.fireSigilPortal .fireRoomCircle small{font-size:8px}}
