.orb-facility-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:8px 0 12px; }
.ga-ui .orb-facility-nav>button { display:flex; align-items:center; justify-content:center; gap:4px; min-width:0; min-height:44px; padding:8px; font-size:var(--ga-font-control); }
.orb-facility-nav>button>span { min-width:0; overflow-wrap:anywhere; }
.orb-facility-nav .orb-facility-current { flex:none; font-size:var(--ga-font-note); }
.ga-ui .orb-facility-nav>[aria-current="page"] { border-color:var(--selected-border); color:var(--selected-text); background:linear-gradient(145deg,color-mix(in srgb,var(--selected-start),var(--surface) 45%),var(--surface)); box-shadow:inset 0 1px rgb(255 225 147 / 16%),inset 0 0 0 1px rgb(var(--accent-rgb) / 12%); }
.orb-alchemy-page { min-width:0; }
.orb-alchemy-page :is(p,li) { font-size:var(--ga-font-body); line-height:1.65; overflow-wrap:anywhere; }
.orb-alchemy-page h2 { margin:0; font-size:var(--ga-font-section); line-height:1.5; }
.orb-alchemy-page .alchemy-page-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; margin-bottom:4px; }
.orb-alchemy-page .alchemy-page-toolbar .text-button { font-size:var(--ga-font-note); min-height:44px; }
.orb-alchemy-page :is(.alchemy-pot,.alchemy-review,.alchemy-result,.alchemy-help) { min-width:0; padding:16px; border:1px solid var(--line); border-radius:var(--ga-radius-panel); background:var(--surface); }
.orb-alchemy-page :is(.alchemy-pot,.alchemy-review) { border-inline:0; }
.orb-alchemy-page .alchemy-layout { display:grid; grid-template-columns:minmax(260px, 1fr) minmax(0,2fr); gap:16px; align-items:start; }
.orb-alchemy-page .alchemy-help { margin-bottom:12px; }
.orb-alchemy-page .alchemy-help h3 { margin:16px 0 8px; font-size:var(--ga-font-body); }
.orb-alchemy-page .alchemy-guide-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:0; margin:12px 0 8px; list-style:none; }
.orb-alchemy-page .alchemy-guide-flow>li { position:relative; display:grid; justify-items:center; align-content:start; gap:4px; min-width:0; text-align:center; }
.orb-alchemy-page .alchemy-guide-art { display:flex; align-items:center; justify-content:center; width:100%; height:72px; }
.orb-alchemy-page .alchemy-guide-art img { object-fit:contain; max-width:100%; }
.orb-alchemy-page .alchemy-guide-materials img { width:36px; height:36px; margin:0 -7px; }
.orb-alchemy-page .alchemy-guide-materials img:nth-child(2) { align-self:flex-start; margin-top:8px; }
.orb-alchemy-page .alchemy-guide-flow>li>span { color:var(--muted); font-size:var(--ga-font-note); }
.orb-alchemy-page .alchemy-guide-arrow { position:absolute; top:24px; right:-16px; color:var(--gold-strong); font-size:var(--ga-font-page); }
.orb-alchemy-page .alchemy-guide-caption { margin:8px 0; color:var(--muted); font-size:var(--ga-font-note); }
.orb-alchemy-page .alchemy-guide-qualities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.orb-alchemy-page .alchemy-guide-quality { display:grid; justify-items:center; align-content:start; gap:4px; min-width:0; padding:8px 4px; border:1px solid var(--line); border-radius:var(--ga-radius-panel); background:var(--surface-2); text-align:center; }
.orb-alchemy-page .alchemy-guide-quality strong { font-size:var(--ga-font-note); overflow-wrap:anywhere; }
.orb-alchemy-page .alchemy-guide-quality>b { font-size:var(--ga-font-body); }
.orb-alchemy-page .alchemy-guide-quality-art { position:relative; width:40px; height:40px; }
.orb-alchemy-page .alchemy-guide-quality-art span { position:absolute; right:-4px; bottom:0; min-width:16px; border:1px solid var(--line); border-radius:4px; background:var(--surface); font-size:var(--ga-font-caption); line-height:1.4; }
.orb-alchemy-page .alchemy-guide-quality.is-quality { border-color:var(--gold-strong); }
.orb-alchemy-page .alchemy-guide-quality.is-corrupted { border-color:var(--red); }
.orb-alchemy-page .alchemy-guide-quality.is-corrupted>b { color:var(--red); }
.orb-alchemy-page .alchemy-guide-probabilities table { width:100%; margin:12px 0; border-collapse:collapse; font-size:var(--ga-font-note); text-align:center; }
.orb-alchemy-page .alchemy-guide-probabilities caption { margin-bottom:6px; font-size:var(--ga-font-note); text-align:left; }
.orb-alchemy-page .alchemy-guide-probabilities :is(th,td) { padding:6px 2px; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.orb-alchemy-page .alchemy-guide-rules { display:grid; gap:10px; margin:16px 0; padding:0; list-style:none; }
.orb-alchemy-page .alchemy-guide-rules>li { display:flex; align-items:flex-start; gap:8px; }
.orb-alchemy-page .alchemy-guide-rules img { flex:none; object-fit:contain; }
.orb-alchemy-page .alchemy-guide-rules>li>div { display:grid; gap:2px; }
.orb-alchemy-page .alchemy-guide-warning { padding:12px; border:1px solid color-mix(in srgb,var(--red),var(--line) 40%); border-radius:var(--ga-radius-panel); background:color-mix(in srgb,var(--red),var(--surface) 95%); font-size:var(--ga-font-body); }
.orb-alchemy-page .alchemy-guide-warning>strong { color:var(--red); }
.orb-alchemy-page .alchemy-guide-warning p { margin:6px 0 0; }
.orb-alchemy-page .alchemy-section-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; padding-bottom:8px; border-bottom:1px solid var(--line); }
.orb-alchemy-page .alchemy-section-heading>strong { color:var(--gold-strong); font-size:var(--ga-font-page); }
.orb-alchemy-page .alchemy-section-heading :is(small,span) { font-size:var(--ga-font-note); color:var(--muted); }
.orb-alchemy-page .alchemy-pot-empty { display:grid; justify-items:center; padding:6px 0; text-align:center; }
.orb-alchemy-page .alchemy-pot-empty p { margin:8px 0; color:var(--muted); }
.orb-alchemy-page .alchemy-pot>button { display:block; width:100%; min-height:48px; }
.orb-alchemy-page .alchemy-rates { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding:10px 0; color:var(--muted); font-size:var(--ga-font-note); text-align:center; }
.orb-alchemy-page .alchemy-rates span { display:grid; gap:2px; }
.orb-alchemy-page .alchemy-rates b { color:var(--gold-strong); font-size:var(--ga-font-body); font-variant-numeric:tabular-nums; }
.orb-alchemy-page .alchemy-gold-cost { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 12px; margin:8px 0; padding:8px 0; border-block:1px solid var(--line); font-size:var(--ga-font-body); line-height:1.65; }
.orb-alchemy-page .alchemy-gold-cost strong { color:var(--gold-strong); }
.orb-alchemy-page .alchemy-gold-shortfall { color:var(--red); }
.orb-alchemy-page .alchemy-cost-note { margin:0 0 12px; }
.orb-alchemy-page .alchemy-materials { list-style:none; padding:0; margin:0; }
.orb-alchemy-page .alchemy-materials>li { display:flex; align-items:center; gap:8px; padding:8px 0; border-bottom:1px solid var(--line); }
.orb-alchemy-page .alchemy-materials .magic-orb { width:40px; height:40px; flex:0 0 40px; }
.orb-alchemy-page .alchemy-materials li>div { flex:1; min-width:0; display:grid; gap:4px; }
.orb-alchemy-page .alchemy-materials strong { font-size:var(--ga-font-item-name); overflow-wrap:anywhere; }
.orb-alchemy-page .alchemy-materials button { flex:0 0 44px; min-height:44px; padding:4px; }
.orb-alchemy-page .alchemy-materials span { color:var(--muted); font-size:var(--ga-font-note); }
.orb-alchemy-page .alchemy-stock { min-width:0; }
.orb-alchemy-page .alchemy-category-tabs { display:flex; flex-wrap:wrap; gap:4px; margin:6px 0; }
#app > .orb-alchemy-page .alchemy-category-tabs > .orb-category-button {
  flex:1 0 auto; gap:4px; min-height:44px; padding:6px 10px; border:0;
  border-bottom:2px solid transparent; border-radius:0; background:transparent;
  box-shadow:none; color:var(--muted); font-size:var(--ga-font-control);
}
#app > .orb-alchemy-page .alchemy-category-tabs > .orb-category-button[aria-pressed="true"] {
  border-bottom-color:var(--selected-border); background:var(--surface); color:var(--selected-text);
}
#app > .orb-alchemy-page .alchemy-sort-tabs > .orb-category-button { flex:0 1 auto; font-size:var(--ga-font-note); }
.orb-alchemy-page .alchemy-category-check { font-size:var(--ga-font-note); }
.orb-alchemy-page .alchemy-stock-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:8px; }
.orb-alchemy-page .alchemy-stock-card {
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 8px; align-content:start;
  min-width:0; padding:8px 10px 0; border-bottom:1px solid var(--line); border-radius:var(--ga-radius-panel);
  background:var(--surface);
}
.orb-alchemy-page .alchemy-stock-card.is-selected {
  border-bottom-color:var(--selected-border);
  background:linear-gradient(105deg,color-mix(in srgb,var(--selected-start),var(--surface) 62%),var(--surface));
}
.orb-alchemy-page .alchemy-stock-card header { grid-column:1; grid-row:1; display:flex; align-items:center; gap:8px; min-width:0; }
.orb-alchemy-page .alchemy-stock-card .magic-orb { flex:0 0 40px; width:40px; height:40px; }
.orb-alchemy-page .alchemy-stock-card header>div { min-width:0; display:grid; gap:2px; }
.orb-alchemy-page .alchemy-stock-card strong { font-size:var(--ga-font-item-name); overflow-wrap:anywhere; }
.orb-alchemy-page .alchemy-stock-card header span { color:var(--muted); font-size:var(--ga-font-note); }
.orb-alchemy-page .alchemy-stock-actions { grid-column:2; grid-row:1; align-self:center; min-width:0; }
.orb-alchemy-page .alchemy-stock-actions>button { width:100%; min-height:44px; padding:6px 8px; font-size:var(--ga-font-control); }
.orb-alchemy-page .alchemy-stock-card details { grid-column:1/-1; grid-row:2; min-width:0; }
.orb-alchemy-page .alchemy-stock-card summary { display:flex; align-items:center; gap:6px; padding:6px 0; min-height:44px; box-sizing:border-box; color:var(--muted); font-size:var(--ga-font-note); cursor:pointer; list-style:none; }
.orb-alchemy-page .alchemy-stock-card summary::-webkit-details-marker { display:none; }
.orb-alchemy-page .alchemy-stock-card summary::before { content:"\203a"; flex:none; font-size:var(--ga-font-body); }
.orb-alchemy-page .alchemy-stock-card details[open] summary::before { transform:rotate(90deg); }
.orb-alchemy-page .alchemy-stock-card details p { margin:0 0 10px; padding-top:8px; border-top:1px solid var(--line); }
.orb-alchemy-page .alchemy-empty { grid-column:1/-1; padding:12px; }
.orb-alchemy-page .alchemy-error,.orb-alchemy-page .alchemy-loss-note { padding:12px; border:1px solid color-mix(in srgb,var(--red),var(--line) 40%); color:var(--red); background:color-mix(in srgb,var(--red),var(--surface) 95%); }
.orb-alchemy-page .alchemy-page-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.orb-alchemy-page .alchemy-page-actions>button { flex:1 1 160px; min-width:0; min-height:48px; }
.orb-alchemy-page .alchemy-transmuting { display:grid; justify-items:center; padding:12px 0; text-align:center; }
.orb-alchemy-page .alchemy-transmuting-stage { position:relative; width:240px; max-width:100%; height:220px; background:radial-gradient(ellipse at center,rgb(var(--accent-rgb) / 16%),transparent 68%); }
.orb-alchemy-page .alchemy-transmuting-pot { position:absolute; left:50%; top:50%; transform:translate(-50%,-30%); filter:drop-shadow(0 0 12px rgb(var(--accent-rgb) / 40%)); }
.orb-alchemy-page .alchemy-transmuting-ring { position:absolute; width:180px; height:72px; left:calc(50% - 90px); bottom:8px; border:2px solid var(--gold-strong); border-radius:50%; opacity:.5; animation:alchemy-ring-pulse 1.8s ease-in-out infinite; }
.orb-alchemy-page .alchemy-transmuting-orbit { position:absolute; left:calc(50% - 95px); top:0; width:190px; height:190px; animation:alchemy-orbit-turn 3.6s linear infinite; }
.orb-alchemy-page .alchemy-transmuting-orbit>span { position:absolute; left:calc(50% - 16px); top:calc(50% - 16px); width:32px; height:32px; transform:rotate(var(--alchemy-orbit-angle)) translateY(-80px) rotate(calc(-1 * var(--alchemy-orbit-angle))); }
.orb-alchemy-page .alchemy-transmuting-orbit .magic-orb { width:32px; height:32px; filter:drop-shadow(0 0 6px rgb(var(--accent-rgb) / 45%)); }
.orb-alchemy-page .alchemy-transmuting-bubble { position:absolute; left:43%; top:44%; width:8px; height:8px; border:1px solid var(--gold-strong); border-radius:50%; background:rgb(var(--accent-rgb) / 28%); opacity:0; animation:alchemy-bubble-rise 1.8s ease-out infinite; }
.orb-alchemy-page .alchemy-transmuting-bubble:nth-last-child(2) { left:53%; animation-delay:.6s; }
.orb-alchemy-page .alchemy-transmuting-bubble:last-child { left:48%; animation-delay:1.2s; }
.orb-alchemy-page .alchemy-transmuting p { margin:8px 0 0; }
.orb-alchemy-page .alchemy-transmuting .alchemy-transmuting-note { color:var(--muted); font-size:var(--ga-font-note); }
@keyframes alchemy-orbit-turn { to { transform:rotate(360deg); } }
@keyframes alchemy-ring-pulse { 50% { transform:scale(.9); opacity:.25; } }
@keyframes alchemy-bubble-rise { 15% { opacity:.8; } to { transform:translateY(-50px) scale(.4); opacity:0; } }
@media(prefers-reduced-motion:reduce) {
  .orb-alchemy-page :is(.alchemy-transmuting-orbit,.alchemy-transmuting-ring,.alchemy-transmuting-bubble,.pending-action-spinner) { animation:none; }
  .orb-alchemy-page .alchemy-transmuting-bubble { display:none; }
}
.orb-alchemy-page .alchemy-result { position:relative; isolation:isolate; overflow:hidden; text-align:center; }
.orb-alchemy-page .alchemy-result-backdrop { position:absolute; inset:0; z-index:-1; overflow:hidden; border-radius:inherit; pointer-events:none; }
.orb-alchemy-page .alchemy-result-backdrop img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 40%; }
.orb-alchemy-page .alchemy-result-backdrop::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgb(var(--chrome-rgb) / 62%) 0%,rgb(var(--chrome-rgb) / 13%) 25%,rgb(var(--chrome-rgb) / 12%) 55%,rgb(var(--chrome-rgb) / 90%) 82%,var(--surface) 100%); }
.orb-alchemy-page .alchemy-result:is([data-alchemy-quality="Q"],[data-alchemy-quality="K"]) :is(h2,h3) { text-shadow:0 2px 5px rgb(0 0 0 / 85%); }
.orb-alchemy-page .alchemy-result.is-revealing .alchemy-result-backdrop { animation:alchemy-backdrop-enter var(--alchemy-reveal-duration) ease-out both; animation-delay:var(--alchemy-reveal-delay); }
@keyframes alchemy-backdrop-enter { from { opacity:0; transform:scale(1.025); } to { opacity:1; transform:scale(1); } }
.orb-alchemy-page .alchemy-result-stage { position:relative; width:240px; max-width:100%; height:220px; margin:12px auto; }
.orb-alchemy-page .alchemy-result-outgoing { position:absolute; inset:0; pointer-events:none; }
.orb-alchemy-page .alchemy-result-outgoing :is(.alchemy-transmuting-orbit,.alchemy-transmuting-ring,.alchemy-transmuting-bubble) { animation:none; }
.orb-alchemy-page .alchemy-result-glow { position:absolute; left:50%; top:59%; width:180px; height:180px; border-radius:50%; background:radial-gradient(circle,rgb(var(--accent-rgb) / 45%),rgb(var(--accent-rgb) / 18%) 35%,transparent 70%); transform:translate(-50%,-50%); pointer-events:none; }
.orb-alchemy-page .alchemy-result-pearl { position:absolute; inset:0; display:grid; place-items:center; padding-top:38px; }
.orb-alchemy-page .alchemy-result-pearl>.magic-orb { width:96px; height:96px; }
.orb-alchemy-page .alchemy-result.is-revealing .alchemy-result-outgoing { animation:alchemy-result-dissolve .45s ease-out both; animation-delay:var(--alchemy-reveal-delay); }
.orb-alchemy-page .alchemy-result.is-revealing .alchemy-result-glow { animation:alchemy-result-glow var(--alchemy-reveal-duration,.8s) ease-out both; animation-delay:var(--alchemy-reveal-delay); }
.orb-alchemy-page .alchemy-result.is-revealing .alchemy-result-pearl>.magic-orb { animation:alchemy-result-appear var(--alchemy-reveal-duration,.8s) cubic-bezier(.2,.7,.3,1) both; animation-delay:var(--alchemy-reveal-delay); }
.orb-alchemy-page .alchemy-result.is-revealing :is(h2,.alchemy-result-copy) { animation:alchemy-result-copy .65s ease-out both; animation-delay:var(--alchemy-reveal-delay); }
.orb-alchemy-page .alchemy-result.is-revealing .alchemy-page-actions { animation:alchemy-result-actions .5s ease-out both; animation-delay:var(--alchemy-reveal-delay); }
@keyframes alchemy-result-dissolve { to { opacity:0; transform:scale(.94); } }
@keyframes alchemy-result-glow { 0% { opacity:0; transform:translate(-50%,-50%) scale(.45); } 30% { opacity:1; } 100% { opacity:0; transform:translate(-50%,-50%) scale(1.35); } }
@keyframes alchemy-result-appear { 0%,15% { opacity:0; transform:translateY(8px) scale(.82); } 70% { opacity:1; transform:translateY(0) scale(1.03); } 100% { opacity:1; transform:translateY(0) scale(1); } }
@keyframes alchemy-result-copy { from { opacity:.3; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@keyframes alchemy-result-actions { from { opacity:.6; } to { opacity:1; } }
.orb-alchemy-page .alchemy-result[data-alchemy-quality="Q"] { --alchemy-rarity-rgb:var(--accent-rgb); --alchemy-rarity-color:var(--gold-strong); --alchemy-rarity-secondary:var(--gold-strong); border-color:var(--gold-strong); }
.orb-alchemy-page .alchemy-result[data-alchemy-quality="K"] { --alchemy-rarity-rgb:var(--abyss-violet-rgb); --alchemy-rarity-color:var(--purple); --alchemy-rarity-secondary:var(--red); border-color:var(--purple); }
.orb-alchemy-page .alchemy-result:is([data-alchemy-quality="Q"],[data-alchemy-quality="K"]) h2 { color:var(--alchemy-rarity-color); }
.orb-alchemy-page .alchemy-result:is([data-alchemy-quality="Q"],[data-alchemy-quality="K"]) .alchemy-result-glow { width:220px; height:220px; background:radial-gradient(circle,rgb(var(--alchemy-rarity-rgb) / 70%),rgb(var(--alchemy-rarity-rgb) / 25%) 35%,transparent 70%); }
.orb-alchemy-page .alchemy-rarity-effects { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.orb-alchemy-page .alchemy-rarity-circle { position:absolute; left:50%; top:64%; width:210px; height:210px; border:2px solid var(--alchemy-rarity-color); border-radius:50%; box-shadow:0 0 10px rgb(var(--alchemy-rarity-rgb) / 45%),inset 0 0 10px rgb(var(--alchemy-rarity-rgb) / 20%); animation:alchemy-rare-circle var(--alchemy-reveal-duration) ease-out both; animation-delay:var(--alchemy-reveal-delay); }
.orb-alchemy-page .alchemy-rarity-circle::after { content:""; position:absolute; inset:8px; border:1px dotted var(--alchemy-rarity-secondary); border-radius:50%; }
.orb-alchemy-page .alchemy-rarity-circle.is-inner { width:146px; height:146px; border-style:dashed; border-color:var(--alchemy-rarity-secondary); animation-name:alchemy-rare-circle-inner; }
.orb-alchemy-page .alchemy-rarity-particles { position:absolute; left:50%; top:59%; }
.orb-alchemy-page .alchemy-rarity-particles>i { position:absolute; left:-2px; top:-2px; width:4px; height:4px; border-radius:1px; background:var(--alchemy-rarity-color); box-shadow:0 0 6px currentColor; color:var(--alchemy-rarity-color); animation:alchemy-rare-spark var(--alchemy-reveal-duration) ease-out both; animation-delay:var(--alchemy-reveal-delay); }
.orb-alchemy-page .alchemy-rarity-particles>i:nth-child(even) { background:var(--alchemy-rarity-secondary); color:var(--alchemy-rarity-secondary); }
.orb-alchemy-page .alchemy-rarity-vortex { position:absolute; left:50%; top:59%; width:210px; height:210px; border-radius:50%; background:conic-gradient(transparent 0deg,rgb(var(--abyss-violet-rgb) / 70%) 70deg,transparent 130deg,color-mix(in srgb,var(--red) 75%,transparent) 220deg,transparent 280deg,rgb(var(--abyss-violet-rgb) / 65%)); mask-image:radial-gradient(circle,transparent 25%,#000 43%,transparent 70%); animation:alchemy-corrupt-vortex var(--alchemy-reveal-duration) ease-in-out both; animation-delay:var(--alchemy-reveal-delay); }
.orb-alchemy-page .alchemy-rarity-beam { position:absolute; left:50%; top:59%; width:64px; height:190px; background:linear-gradient(transparent,rgb(var(--abyss-violet-rgb) / 65%) 25%,var(--alchemy-rarity-secondary) 50%,rgb(var(--abyss-violet-rgb) / 65%) 75%,transparent); border-radius:50%; animation:alchemy-corrupt-beam var(--alchemy-reveal-duration) ease-out both; animation-delay:var(--alchemy-reveal-delay); }
.orb-alchemy-page .alchemy-result.is-revealing[data-alchemy-quality="Q"] .alchemy-result-pearl>.magic-orb { animation-name:alchemy-quality-appear; }
.orb-alchemy-page .alchemy-result.is-revealing[data-alchemy-quality="K"] .alchemy-result-pearl>.magic-orb { animation-name:alchemy-corrupt-appear; }
@keyframes alchemy-rare-circle { 0% { opacity:0; transform:translate(-50%,-50%) rotateX(62deg) rotateZ(-70deg) scale(.4); } 35% { opacity:.95; } 100% { opacity:0; transform:translate(-50%,-50%) rotateX(62deg) rotateZ(55deg) scale(1.05); } }
@keyframes alchemy-rare-circle-inner { 0% { opacity:0; transform:translate(-50%,-50%) rotateX(62deg) rotateZ(100deg) scale(.4); } 35% { opacity:1; } 100% { opacity:0; transform:translate(-50%,-50%) rotateX(62deg) rotateZ(-80deg) scale(1.1); } }
@keyframes alchemy-rare-spark { 0%,15% { opacity:0; transform:rotate(var(--alchemy-spark-angle)) translateX(18px) scale(.2); } 40% { opacity:1; } 100% { opacity:0; transform:rotate(var(--alchemy-spark-angle)) translateX(106px) scale(.2); } }
@keyframes alchemy-corrupt-vortex { 0% { opacity:0; transform:translate(-50%,-50%) rotate(-140deg) scale(1.05); } 25% { opacity:1; } 65% { opacity:.8; transform:translate(-50%,-50%) rotate(70deg) scale(.65); } 100% { opacity:0; transform:translate(-50%,-50%) rotate(170deg) scale(.2); } }
@keyframes alchemy-corrupt-beam { 0%,20% { opacity:0; transform:translate(-50%,-50%) scale(.1,.3); } 42% { opacity:.8; transform:translate(-50%,-50%) scale(1,1); } 100% { opacity:0; transform:translate(-50%,-50%) scale(.3,.5); } }
@keyframes alchemy-quality-appear { 0%,20% { opacity:0; transform:translateY(10px) scale(.75); } 75% { opacity:1; transform:translateY(0) scale(1.06); } 100% { opacity:1; transform:translateY(0) scale(1); } }
@keyframes alchemy-corrupt-appear { 0%,38% { opacity:0; transform:translateY(10px) scale(.6); } 78% { opacity:1; transform:translateY(0) scale(1.1); } 100% { opacity:1; transform:translateY(0) scale(1); } }
@media(prefers-reduced-motion:reduce) {
  .orb-alchemy-page .alchemy-result.is-revealing :is(.alchemy-result-backdrop,.alchemy-result-outgoing,.alchemy-result-glow,.alchemy-result-pearl>.magic-orb,h2,.alchemy-result-copy,.alchemy-page-actions) { animation:none; }
  .orb-alchemy-page .alchemy-result :is(.alchemy-result-outgoing,.alchemy-result-glow,.alchemy-rarity-effects) { display:none; }
  .orb-alchemy-page .alchemy-rarity-effects :is(i,.alchemy-rarity-circle.is-inner),
  .orb-alchemy-page .alchemy-result.is-revealing:is([data-alchemy-quality="Q"],[data-alchemy-quality="K"]) .alchemy-result-pearl>.magic-orb { animation:none; }
}
.orb-alchemy-page .alchemy-result h3 { font-size:var(--ga-font-page); overflow-wrap:anywhere; }
.orb-alchemy-page .alchemy-result p { max-width:600px; margin:12px auto; }
.orb-alchemy-page .alchemy-result-copy { padding:8px; border-radius:var(--ga-radius-panel); background:color-mix(in srgb,var(--surface) 88%,transparent); }
.orb-alchemy-page .alchemy-repeat { margin:16px 0 0; padding:12px 0; border-top:1px solid var(--line); text-align:left; }
.orb-alchemy-page .alchemy-repeat h3 { margin:0 0 8px; font-size:var(--ga-font-section); }
.orb-alchemy-page .alchemy-repeat-materials { display:grid; gap:8px; list-style:none; margin:0; padding:0; }
.orb-alchemy-page .alchemy-repeat-materials li { display:flex; align-items:center; flex-wrap:wrap; gap:4px 8px; }
.orb-alchemy-page .alchemy-repeat-materials .magic-orb { width:28px; height:28px; flex:none; }
.orb-alchemy-page .alchemy-repeat-materials strong { min-width:0; font-size:var(--ga-font-body); overflow-wrap:anywhere; }
.orb-alchemy-page .alchemy-repeat-stock { margin-left:auto; color:var(--muted); font-size:var(--ga-font-note); }
.orb-alchemy-page .alchemy-repeat>button { width:100%; min-height:48px; }
.orb-alchemy-page .alchemy-repeat .alchemy-repeat-shortage { margin:8px 0; color:var(--red); }
.orb-alchemy-page .alchemy-repeat .alchemy-repeat-guide { margin:8px 0 0; color:var(--muted); font-size:var(--ga-font-note); }
.orb-alchemy-page :is(#alchemy-review-title,#alchemy-result-title) { scroll-margin-top:12px; }
.orb-alchemy-page .alchemy-check-bar { display:none; }
@media(max-width:760px) {
  .orb-alchemy-page .alchemy-layout { grid-template-columns:minmax(0,1fr); }
  .orb-alchemy-page .alchemy-pot-empty { grid-template-columns:64px minmax(0,1fr); align-items:center; gap:8px; text-align:left; }
  .orb-alchemy-page .alchemy-pot-empty img { width:64px; height:64px; }
}
@media(max-width:700px) {
  #app>.orb-alchemy-page { --alchemy-action-bottom:calc(var(--mobile-navigation-height) + 8px); }
  body.chat-ready #app>.orb-alchemy-page { --alchemy-action-bottom:calc(var(--mobile-navigation-height) + var(--mobile-chat-peek-height) + 8px); }
  body.background-battle-monitor-visible #app>.orb-alchemy-page { --alchemy-action-bottom:calc(var(--mobile-navigation-height) + var(--mobile-chat-peek-height) + 105px); }
  .orb-alchemy-page .alchemy-check-bar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; position:sticky; bottom:var(--alchemy-action-bottom,8px); z-index:40; padding:8px; margin-top:12px; background:var(--surface); border:1px solid var(--line); border-radius:var(--ga-radius-panel); box-shadow:0 -4px 16px rgb(0 0 0 / 25%); }
  .orb-alchemy-page .alchemy-check-bar>span { font-size:var(--ga-font-note); }
  .orb-alchemy-page .alchemy-check-bar>button { min-height:48px; flex:1 1 160px; }
}
@media(max-width:480px) {
  .orb-alchemy-page :is(.alchemy-review[aria-busy="true"],.alchemy-result)>h2 { min-height:3em; }
  .orb-alchemy-page :is(.alchemy-pot,.alchemy-review,.alchemy-result,.alchemy-help) { padding:12px; }
}
