.creature{display:inline-block;flex-shrink:0;width:34px;height:34px;background-image:var(--creature-sheet);background-size:600% 100%;background-position:0 0;background-repeat:no-repeat;animation:creature-frames 3.6s steps(6,end) infinite;vertical-align:middle;filter:drop-shadow(0 2px 1px #130b1b66)}
.hand-object:not(.selected):not(.locked){animation:none}.hand-object:not(.selected):not(.locked) .hand-card .card-art{animation:paper-breathe 6s ease-in-out infinite;animation-delay:var(--delay)}.hand-object:hover .hand-card .card-art,.hand-object:focus-within .hand-card .card-art{animation-play-state:paused}.calm .hand-card .card-art{animation:none}
@keyframes paper-breathe{50%{translate:0 -3px}}
.overflow-forecast{width:100%;max-width:285px;border-top:1px solid #94748a;padding:8px 0 0;margin:4px auto 5px}.overflow-forecast>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.76rem;color:#e7cbb1}.overflow-forecast b{font:1.4rem Georgia,serif;color:#ffdaa1}.overflow-forecast>small{display:block;font-size:.63rem;color:#cbb3a5;text-align:center;margin-top:3px}.rival-space{display:flex;justify-content:space-between;gap:3px;margin-top:4px}.rival-space>span{display:flex;align-items:center;gap:1px}.rival-space .creature{width:26px;height:26px}.rival-space small{font-size:.7rem}.forecast-types{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.forecast-types .creature{width:25px;height:25px}.has-overflow{border-color:#f3c28a}.has-overflow b{background:#efd2a0;color:#33213b;padding:1px 9px;border-radius:50%}
@media(max-width:760px){.overflow-forecast{max-width:185px;padding-top:5px}.overflow-forecast>div:first-child{font-size:.64rem}.overflow-forecast>small{font-size:.58rem}.rival-space .creature{width:21px;height:21px}.rival-space small{font-size:.6rem}}
.recipe-caption-flow{gap:2px;min-height:34px;flex-wrap:wrap}.recipe-caption-flow .creature{width:20px;height:20px}.recipe-caption-flow>.flow-input,.recipe-caption-flow>.flow-output{display:flex;align-items:center;justify-content:center;gap:1px;flex-wrap:wrap}.recipe-amount b{font-size:.7rem;margin-left:-2px}.recipe-amount .hybrid-separator{font-size:.65rem;margin:0 -3px;color:#efd4b4}.recipe-caption-flow .flow-symbol{padding:0 1px;font-size:.95rem}.board-dialog .bench{max-width:440px;margin:auto}.board-dialog .creature{animation-duration:4s}.mobile-undo{display:none}.undo-button{min-width:68px;padding:.5rem .65rem;white-space:nowrap;overflow-wrap:normal}
@media(max-width:760px){.mobile-undo{display:block}}
.creature-t{--creature-sheet:url('/assets/creature-t.webp');animation-delay:-.3s}.creature-s{--creature-sheet:url('/assets/creature-s.webp');animation-delay:-1.1s}.creature-m{--creature-sheet:url('/assets/creature-m.webp');animation-delay:-2s}.creature-d{--creature-sheet:url('/assets/creature-d.webp');animation-delay:-2.7s}.creature-h{--creature-sheet:url('/assets/creature-h.webp');animation-delay:-.7s}
.cube,.cube.h,.cube.d,.cube.m,.cube.s,.cube.t{padding:0;background:transparent;box-shadow:none;border:0;border-radius:0}.cube .creature{width:100%;height:100%}.stock-count{gap:3px}.stock-count .creature{width:32px;height:32px}.bench-row>.creature{width:35px;height:35px}.bench-row{padding:3px 7px;gap:5px;min-height:38px}.slots{gap:2px}.slot{height:25px;max-width:28px}.slot.filled{background:#ceb99565;box-shadow:inset 0 0 0 1px #765e4560;border-radius:4px}.slot .cube{width:29px;height:29px}.slot .creature{animation-duration:4.8s}.slot:nth-child(3n) .creature{animation-delay:-1.3s}.slot:nth-child(3n+1) .creature{animation-delay:-3.2s}.bench-resources{gap:5px;bottom:5%;left:4%;right:4%}.bench-score{top:4%;width:27%;left:36.5%}.bench-score .circle-total{font-size:2.25rem}.circle-inventory{gap:7px;margin-top:10px}.circle-inventory .creature{width:28px;height:28px}.bench .capacity{min-width:30px}.bench .capacity small{font-size:.65rem}
.cauldron{width:290px;height:245px;margin-top:25px}.brew-summary .cauldron{width:min(290px,100%);height:245px}.cauldron-rim{height:113px;border-width:6px;background:#222136;border-color:#9b7a86;box-shadow:0 5px 0 #101020,inset 0 2px 0 #dcc2aa;overflow:visible}.brew-surface{inset:5px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 35% 20%,#fbd17a 0%,#cc8745 45%,#9f4e3f 78%,#64324b 100%);box-shadow:inset 0 4px 8px #66374a,inset 0 -5px 9px #f4be6780}.cauldron-body{top:50px;height:155px;padding-top:36px;border-color:#786076;background:linear-gradient(100deg,#151a2d,#3d304d 35%,#251e39 72%,#11172b);box-shadow:inset 10px 0 0 #6d52621a,inset -8px -10px 0 #0b102699}.cauldron-body>span{font-size:2.7rem;color:#ffe5a8}.cauldron-handles{top:62px;height:70px;border-width:9px;left:-21px;right:-21px;border-color:#7b5b73}.cauldron-feet{bottom:17px;height:45px;border-color:#35263e}.brew-piece{z-index:3;transform:translate(-50%,-50%) rotate(var(--turn));animation:potion-swim var(--swim-time) ease-in-out infinite;animation-delay:var(--swim-delay);will-change:transform}.brew-piece .cube{width:65px;height:65px}.brew-piece .creature{animation-duration:1.15s;animation-delay:var(--swim-delay);filter:drop-shadow(0 4px 2px #5a2f3e77)}.living-s .creature{animation-duration:.9s}.living-m .creature{animation-duration:1.45s}.living-h .creature{animation-duration:1.8s}.potion-currents{position:absolute;inset:-12%;z-index:0;background:repeating-radial-gradient(ellipse at 50% 50%,transparent 0 15px,#ffe9a01a 17px 20px,transparent 23px 40px);border-radius:50%;animation:potion-turn 9s linear infinite;transform:rotate(-15deg)}.potion-currents:after{content:'';position:absolute;inset:25%;border:2px solid #ffdc8980;border-radius:50%;transform:rotate(18deg)}.potion-bubble{position:absolute;left:var(--bubble-x);bottom:20%;width:var(--bubble-size);height:var(--bubble-size);border:2px solid #ffe7a6;border-radius:50%;box-shadow:inset 1px 1px 0 #fff4c380;z-index:4;opacity:0;animation:potion-bubble 1.8s ease-in infinite;animation-delay:var(--bubble-delay)}.potion-front-ripple{position:absolute;bottom:12%;height:22%;left:9%;right:9%;border-top:3px solid #f9d98c99;border-radius:50%;z-index:5;pointer-events:none;animation:potion-lap 2.4s ease-in-out infinite}.cauldron-steam{position:absolute;left:29%;right:29%;top:-43px;height:75px;pointer-events:none;z-index:4}.cauldron-steam i{position:absolute;bottom:0;left:12%;width:23px;height:58px;border-left:5px solid #f2d8b361;border-radius:50%;filter:blur(2px);opacity:0;animation:potion-steam 3.1s ease-out infinite}.cauldron-steam i:nth-child(2){left:45%;animation-delay:-1s}.cauldron-steam i:nth-child(3){left:77%;animation-delay:-2s}.cauldron-fire{position:absolute;left:24%;right:24%;bottom:1px;height:45px;z-index:0;display:flex;align-items:end;justify-content:center;gap:4px;filter:drop-shadow(0 0 8px #dc863660)}.cauldron-fire i{width:26px;height:36px;border-radius:75% 20% 60% 40%;background:linear-gradient(25deg,#e68331,#ffc571 70%,#ffe1a0);transform:rotate(-12deg);animation:fire-dance .9s ease-in-out infinite alternate;transform-origin:50% 100%}.cauldron-fire i:nth-child(2n){height:28px;animation-delay:-.4s;transform:rotate(12deg)}.cauldron-fire i:nth-child(3n){height:43px;animation-delay:-.65s}.is-warming .cauldron-steam{opacity:.45}.is-warming .potion-bubble{animation-duration:3s}.is-warming .cauldron-fire{opacity:.65}
.entry-art .cube{filter:drop-shadow(0 4px 3px #100a1b88)}.entry-art .flying-token .cube{width:85px;height:85px}.entry-art .brew-piece .cube{width:65px;height:65px}.entry-art .cauldron{height:250px}.entry-art .cauldron-body{height:160px}.entry-art .cauldron-rim{height:110px}
#topbar{min-height:70px;padding-top:11px;padding-bottom:11px}.game-table{padding-top:15px}.phase-banner{min-height:85px;margin-bottom:15px}.phase-banner h1{font-size:2.4rem}.phase-banner p{font-size:.86rem;line-height:1.4;margin-top:6px}.round-marker{font-size:.8rem;margin-bottom:3px}.opponents{margin-bottom:20px;gap:9px}.opponent{padding:8px 10px}.opponent.active{padding:7px 9px}.personality-strip{gap:12px;padding-top:12px}.personality-thumb{width:60px;min-width:60px;max-height:85px}.personality-strip p{display:none}.personality-strip h3{font-size:1rem;margin-bottom:0}.personality-strip button:not(.personality-thumb){margin-top:5px}.flow-note{font-size:.68rem;margin-top:10px}.read-recipe{display:block;width:100%;border:0;background:transparent;text-decoration:underline;text-underline-offset:3px;font-size:.78rem;min-height:44px;padding:5px}.recipe-object.missing-inputs .card-art{filter:saturate(.65) brightness(.8)}.missing-inputs .brew-tag{background:#ead8b6;color:#44313c;font-size:.7rem}.recipe-spread{gap:15px}.recipe-collection .section-title{margin-bottom:12px}.recipe-collection .section-title h2{font-size:1.2rem}.mobile-stock-bar,.mobile-phase-action{display:none}.output-counts{gap:8px;padding:7px 0;min-height:25px}.output-counts p{font-size:.8rem}.recipe-caption-flow{display:flex;align-items:center;justify-content:center;gap:3px;padding:5px 0;background:#3c2c44;font-size:.8rem}.recipe-caption-flow .creature{width:25px;height:25px}.recipe-caption-flow .flow-symbol{font-size:1.1rem;color:#f9d59f;padding:0 3px}.recipe-caption-flow .recipe-amount{display:flex;align-items:center;gap:0}
@keyframes creature-frames{to{background-position-x:120%}}
@keyframes potion-swim{0%,100%{transform:translate(-50%,-50%) rotate(var(--turn)) scale(1)}25%{transform:translate(calc(-50% + 7px * var(--drift)),calc(-50% - 7px)) rotate(calc(var(--turn) + 8deg)) scale(1.04)}55%{transform:translate(calc(-50% - 3px * var(--drift)),calc(-50% + 6px)) rotate(calc(var(--turn) - 5deg)) scale(.9)}78%{transform:translate(calc(-50% - 6px * var(--drift)),calc(-50% - 3px)) rotate(calc(var(--turn) - 8deg)) scale(1.02)}}
@keyframes potion-turn{to{transform:rotate(345deg)}}
@keyframes potion-bubble{0%{transform:translate(-50%,15px) scale(.2);opacity:0}15%{opacity:.8}65%{opacity:.6}100%{transform:translate(-50%,-32px) scale(1.7);opacity:0}}
@keyframes potion-steam{0%{transform:translateY(12px) scale(.65);opacity:0}25%{opacity:.6}100%{transform:translate(8px,-30px) scale(1.3);opacity:0}}
@keyframes potion-lap{50%{transform:translateY(3px) scaleX(.9);opacity:.45}}
@keyframes fire-dance{to{transform:rotate(7deg) scaleY(.72);opacity:.8}}
@media(min-width:1050px){
 body[data-phase=brew] .game-table{display:grid;grid-template-columns:minmax(280px,330px) minmax(240px,310px) minmax(300px,1fr);gap:0 24px;align-items:start;max-width:1600px}
 body[data-phase=brew] .phase-banner{grid-column:1/-1;grid-row:1}body[data-phase=brew] .opponents{grid-column:1/-1;grid-row:2}body[data-phase=brew] .worktable{display:contents}body[data-phase=brew] .bench-area{grid-column:1;grid-row:3}body[data-phase=brew] .alchemy-area{grid-column:2;grid-row:3;display:flex;flex-direction:column;gap:5px;min-width:0}body[data-phase=brew] .recipe-collection{grid-column:3;grid-row:3;margin-top:0;min-width:0}body[data-phase=brew] .recipe-spread{grid-template-columns:repeat(auto-fill,minmax(min(var(--card-size),155px),1fr));gap:18px 14px}body[data-phase=brew] .recipe-object{max-width:220px}body[data-phase=brew] .brew-summary{align-self:stretch;min-height:0;padding-top:3px}body[data-phase=brew] .brew-summary h2{font-size:1.3rem}body[data-phase=brew] .arcana-row{flex-direction:row;width:100%;padding-top:8px;gap:6px;margin-top:5px}body[data-phase=brew] .arcana-token{flex-direction:column;flex:1;padding:5px 3px;gap:3px;min-width:0}body[data-phase=brew] .arcana-token img{width:34px;height:34px}body[data-phase=brew] .arcana-token span{font-size:.75rem;text-align:center}body[data-phase=brew] .arcana-token b{float:none;display:block;font-size:1.1rem}body[data-phase=brew] .arcana-token small{font-size:.65rem}body[data-phase=brew] .personality-strip{width:100%;margin-top:8px}body[data-phase=brew] .flow-note{display:none}body[data-phase=brew] .initiative-option{grid-column:1/3;grid-row:4;margin-top:12px;font-size:.7rem;gap:5px}body[data-phase=brew] .initiative-option span{max-width:300px}body[data-phase=brew] .view-notice{grid-column:1/-1;grid-row:3}body[data-phase=brew] .game-table:has(.view-notice) .bench-area,body[data-phase=brew] .game-table:has(.view-notice) .alchemy-area,body[data-phase=brew] .game-table:has(.view-notice) .recipe-collection{grid-row:4}body[data-phase=brew] .game-table:has(.view-notice) .initiative-option{grid-row:5}
}
@media(min-width:761px) and (max-width:1049px){.worktable{grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:22px}.alchemy-area{min-width:0}.brew-summary .cauldron{width:245px;height:225px}.cauldron-rim{height:95px}.cauldron-body{top:42px;height:145px}.brew-piece .cube{width:58px;height:58px}.arcana-row{margin-top:0}.personality-strip{margin-top:5px}}
@media(max-width:760px){
 #topbar{min-height:64px;padding:9px 12px}.top-controls>.text-button{min-height:44px!important}.phase-banner{min-height:0;margin-bottom:14px}.phase-banner h1{font-size:1.8rem}.phase-banner p{font-size:.77rem;max-width:270px}.phase-actions{min-width:110px;max-width:145px}.phase-actions button{min-height:44px;padding:7px 10px;font-size:.8rem}.phase-actions .connection{font-size:.62rem}.opponents{gap:6px;margin-bottom:13px}.opponent{padding:6px 8px}.opponent.active{padding:5px 7px}.player-state{font-size:.63rem}.player-name{font-size:.8rem}.game-table{padding-top:12px}.stock-count .creature{width:30px;height:30px}.bench-row>.creature{width:33px;height:33px}.slot .cube{width:27px;height:27px}.bench-row{min-height:37px}.personality-strip h3{font-size:1rem}.personality-thumb{width:48px;min-width:48px;max-height:65px}.personality-strip{padding-top:10px;margin-top:0}.brew-summary .cauldron{width:190px;height:175px;margin-top:22px}.cauldron-rim{height:79px;border-width:4px}.cauldron-body{top:36px;height:110px;padding-top:21px;border-width:2px}.cauldron-body>span{font-size:2rem}.cauldron-handles{left:-12px;right:-12px;top:43px;height:48px;border-width:6px}.cauldron-feet{bottom:14px;height:31px;border-width:10px}.cauldron-fire{height:29px;bottom:0}.cauldron-fire i{width:16px;height:23px}.cauldron-fire i:nth-child(2n){height:19px}.cauldron-fire i:nth-child(3n){height:29px}.cauldron-steam{top:-31px;height:49px}.cauldron-steam i{width:15px;height:40px;border-width:4px}.brew-piece .cube{width:47px;height:47px}.potion-bubble{border-width:1.5px}.output-counts{gap:5px}.output-counts .stock-count{font-size:.8rem}.output-counts .creature{width:26px;height:26px}.alchemy-area{gap:10px}.brew-summary h2{font-size:1.2rem}.brew-summary p{font-size:.75rem}.arcana-token img{width:29px;height:29px}.arcana-row{gap:5px;padding:0;margin:0}.arcana-token{padding:6px;min-height:45px}.personality-strip button:not(.personality-thumb){font-size:.75rem}.entry-art .flying-token .cube{width:52px;height:52px}.entry-art .cauldron{width:160px;height:145px}.entry-art .cauldron-rim{height:64px}.entry-art .cauldron-body{height:92px;top:27px}.entry-art .brew-piece .cube{width:39px;height:39px}.entry-art .cauldron-handles{top:35px;height:42px}.entry-art .cauldron-feet{bottom:9px}.entry-art .cauldron-fire{height:25px}.entry-art .cauldron-steam{display:none}
 body[data-phase=brew] .game-table{display:flex;flex-direction:column;padding-bottom:90px}body[data-phase=brew] .phase-banner{order:0;width:100%}body[data-phase=brew] .opponents{order:1;width:100%}body[data-phase=brew] .view-notice{order:2;width:100%}body[data-phase=brew] .mobile-stock-bar{order:3;display:flex;justify-content:space-between;align-items:center;width:100%;position:sticky;top:5px;z-index:25;padding:7px 8px;background:#32233e;border:1px solid #b29789;border-radius:5px;box-shadow:0 4px 9px #110b2280;gap:5px;margin-bottom:15px}body[data-phase=brew] .mobile-stock-bar>.stock-totals{display:flex;gap:6px;justify-content:space-around;flex:1}body[data-phase=brew] .stock-totals>span{display:flex;flex-direction:column;align-items:center;font-size:.8rem;font-weight:bold;line-height:1.1}body[data-phase=brew] .stock-totals small{font-size:.6rem;color:#d4bfae}body[data-phase=brew] .stock-totals .creature{width:32px;height:32px}body[data-phase=brew] .mobile-stock-bar>button{font-size:.7rem;padding:5px 7px;max-width:70px;min-height:50px}body[data-phase=brew] .worktable{display:contents}body[data-phase=brew] .bench-area{display:none}body[data-phase=brew] .alchemy-area{order:4;width:100%;grid-template-columns:minmax(160px,1.1fr) minmax(120px,1fr);max-width:500px;margin:0 auto 10px;gap:5px 18px}body[data-phase=brew] .flow-note{display:none}body[data-phase=brew] .recipe-collection{order:5;width:100%;margin-top:8px}body[data-phase=brew] .initiative-option{order:6;margin-top:15px}body[data-phase=brew] .mobile-phase-action{display:block;position:fixed;z-index:35;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(340px,calc(100vw - 30px));text-align:center;padding:5px;background:#271d33;border:1px solid #9c827a;border-radius:8px;box-shadow:0 5px 18px #0c081aaa}body[data-phase=brew] .mobile-phase-action>button{width:100%;min-height:46px}body[data-phase=brew] .recipe-caption-flow .creature{width:24px;height:24px}
}
.passing-pot .cauldron{width:125px;height:110px}.passing-pot .cauldron-rim{height:48px;border-width:3px}.passing-pot .cauldron-body{height:72px;top:22px;padding-top:12px;border-width:2px}.passing-pot .cauldron-body>span{font-size:1.6rem}.passing-pot .cauldron-handles{left:-10px;right:-10px;top:29px;height:35px;border-width:5px}.passing-pot .cauldron-feet{height:25px;bottom:0;border-width:8px}.passing-pot .brew-piece .cube{width:26px;height:26px}.passing-pot .cauldron-fire,.passing-pot .cauldron-steam{display:none}.passing-pot .potion-bubble{border-width:1px}.passing-pot .potion-front-ripple{border-width:1px}.travelling-ingredient .cube{width:64px;height:64px}.overflow-flight .cube{width:50px;height:50px}.victory-ingredients .cube{width:65px;height:65px}.help-ingredients .cube{width:44px;height:44px}
.calm .creature,.calm .brew-piece,.calm .potion-currents,.calm .potion-bubble,.calm .potion-front-ripple,.calm .cauldron-steam i,.calm .cauldron-fire i{animation:none}.calm .potion-bubble,.calm .cauldron-steam{display:none}.reduced .creature,.reduced .brew-piece,.reduced .potion-currents,.reduced .potion-bubble,.reduced .potion-front-ripple,.reduced .cauldron-steam i,.reduced .cauldron-fire i{animation:none!important}.reduced .potion-bubble,.reduced .cauldron-steam{display:none}
@media(prefers-reduced-motion:reduce){.creature,.brew-piece,.potion-currents,.potion-bubble,.potion-front-ripple,.cauldron-steam i,.cauldron-fire i{animation:none!important}.potion-bubble,.cauldron-steam{display:none}}
.bench .slots,.bench .slot{min-width:0}.bench .slot .cube{width:100%;max-width:29px;height:auto;aspect-ratio:1}
.hand-object.collection-preview{width:min(180px,100%);max-width:180px;transform:none;margin:10px 0 65px}.staged-hand-slot{aspect-ratio:.7;border:1px dashed #bda38b;display:flex;align-items:center;justify-content:center;padding:16px;color:#dfc7b4;font-size:.85rem;text-align:center;transform:none}.collection-preview .hand-card .card-art{animation:none}.collection-preview .recipe-card:hover{transform:none}
.cauldron-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:6;cursor:grab;touch-action:none;border-radius:12px}.cauldron-canvas:active{cursor:grabbing}.cauldron-canvas:focus-visible{outline:3px solid #ffc285;outline-offset:3px}.three-ready>.cauldron-rim,.three-ready>.cauldron-handles,.three-ready>.cauldron-feet,.three-ready>.cauldron-fire,.three-ready>.cauldron-steam{visibility:hidden}.three-ready>.cauldron-body{background:none;border:0;box-shadow:none;z-index:7;pointer-events:none;top:auto;bottom:28px;height:auto;padding:0}.three-ready>.cauldron-body>span{font-size:1.7rem;text-shadow:0 2px 3px #160e22}.brew-summary .three-ready:after{content:'Drag to stir';position:absolute;bottom:-9px;left:0;right:0;text-align:center;font-size:.67rem;color:#d4bfae;pointer-events:none}.brew-summary .three-ready:lang(fr):after{content:'Glissez pour remuer'}
@media(max-width:760px){.three-ready>.cauldron-body{bottom:20px}.three-ready>.cauldron-body>span{font-size:1.25rem}.brew-summary .three-ready:after{font-size:.6rem;bottom:-5px}}
.three-ready>.cauldron-body{bottom:24%}.three-ready>.cauldron-body>span{width:auto;height:auto;border:0;background:none;box-shadow:none}
.three-ready>.cauldron-steam{visibility:visible;top:4px;z-index:8}
@media(min-width:1050px){body[data-phase=brew] .recipe-spread{grid-template-columns:repeat(auto-fill,minmax(min(calc(var(--card-size) - 15px),100%),1fr))}body[data-phase=brew] .recipe-object{max-width:var(--card-size)}}
