:root{--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom);--d3-bg-dark: #0a0606;--d3-bg-darker: #050303;--d3-gold: #c9a227;--d3-gold-light: #e8c547;--d3-gold-dark: #8b6914;--d3-red: #8b0000;--d3-red-glow: #ff3300;--d3-red-bright: #ff4444;--d3-orange: #ff6600;--d3-stone: #2a2420;--d3-stone-light: #3d3530;--d3-text: #d4c4a8;--d3-text-bright: #fff5e0;--d3-border: #4a3c2a;--d3-shadow: rgba(0, 0, 0, .8);--d3-transition: .15s ease}.layout-container{padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);min-height:100vh;box-sizing:border-box;overflow-x:hidden;overflow-y:auto}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;min-height:100vh;background:var(--d3-bg-dark);font-family:Georgia,Times New Roman,serif;color:var(--d3-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:radial-gradient(ellipse at 50% 0%,rgba(139,105,20,.06) 0%,transparent 60%),var(--d3-bg-dark);overflow-x:hidden}#root{position:relative;z-index:1;min-height:100vh}h1,h2,h3{font-family:Palatino Linotype,Palatino,Georgia,serif;color:var(--d3-gold);text-shadow:0 2px 4px rgba(0,0,0,.8);letter-spacing:2px;margin-top:0}a{color:var(--d3-gold);text-decoration:none;transition:color var(--d3-transition)}@media(hover:hover){a:hover{color:var(--d3-gold-light)}}.navlink{position:relative;display:inline-block;padding:14px 28px;font-family:Georgia,Times New Roman,serif;font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--d3-text-bright);background:linear-gradient(180deg,var(--d3-stone-light) 0%,var(--d3-stone) 50%,#1a1512 100%);border:1px solid var(--d3-gold-dark);border-bottom:2px solid var(--d3-gold-dark);border-radius:4px;cursor:pointer;text-decoration:none;box-shadow:0 1px 3px #0006,inset 0 1px #ffffff0a;overflow:hidden;transition:transform var(--d3-transition),border-color var(--d3-transition);will-change:transform}@media(hover:hover){.navlink:hover{border-color:var(--d3-gold);box-shadow:0 2px 12px #c9a22726,inset 0 1px #ffffff0f;transform:translateY(-1px)}}.navlink:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #00000080;transition-duration:50ms}.navlink.disabled{pointer-events:none;opacity:.4}.navlink.pending{position:relative;z-index:0;pointer-events:none}.navlink.pending:after{content:"";position:absolute;inset:-8px;background:radial-gradient(ellipse,rgba(255,51,0,.5),rgba(139,0,0,.3),transparent 70%);border-radius:8px;animation:demonic-pulse 1s ease-in-out infinite;z-index:-1}@keyframes demonic-pulse{0%,to{opacity:.3}50%{opacity:1}}.error-message{padding:12px 20px;background:linear-gradient(180deg,#8b00004d,#50000080);border:1px solid rgba(139,0,0,.6);border-radius:4px;color:var(--d3-red-bright);font-weight:600;font-size:.9rem}.info{padding:14px 22px;background:linear-gradient(180deg,#2a2420cc,#1a1512e6);border:1px solid var(--d3-border);border-radius:4px;color:var(--d3-text);font-size:.9rem;max-width:400px;text-align:center;box-shadow:0 2px 8px #0000004d}input[type=checkbox]{appearance:none;width:20px;height:20px;background:var(--d3-stone);border:2px solid var(--d3-gold-dark);border-radius:3px;cursor:pointer;position:relative;vertical-align:middle;margin-right:8px;transition:background var(--d3-transition),border-color var(--d3-transition)}input[type=checkbox]:checked{background:linear-gradient(135deg,var(--d3-gold-dark) 0%,var(--d3-gold) 50%,var(--d3-gold-dark) 100%);border-color:var(--d3-gold)}input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--d3-bg-dark);font-size:14px;font-weight:700}label{cursor:pointer;font-size:.95rem;color:var(--d3-text)}@media(max-width:449px)and (orientation:portrait){.game.game-landscape{position:fixed;top:0;left:100vw;width:100vh;height:100vw;min-height:0;transform:rotate(90deg);transform-origin:top left;overflow-y:auto;padding-bottom:0}}.home-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:40px 20px 60px;min-height:100%;font-family:Georgia,Times New Roman,serif;gap:4px}.home-container h1{font-family:Palatino Linotype,Palatino,Georgia,serif;font-size:2.4rem;margin-bottom:8px;color:var(--d3-gold);text-shadow:0 2px 4px rgba(0,0,0,.8),0 0 30px rgba(201,162,39,.1);letter-spacing:4px;text-transform:uppercase;text-align:center;line-height:1.2}.home-container p{color:var(--d3-text);font-size:1rem;letter-spacing:2px;text-shadow:0 2px 4px rgba(0,0,0,.5);margin:6px 0}.home-container .tagline{color:var(--d3-text);font-size:.95rem;font-style:italic;letter-spacing:3px;text-shadow:0 2px 4px rgba(0,0,0,.5);margin:0 0 4px;opacity:.7}.home-container hr{width:220px;height:1px;border:none;background:linear-gradient(90deg,transparent 0%,var(--d3-gold-dark) 25%,var(--d3-gold) 50%,var(--d3-gold-dark) 75%,transparent 100%);margin:18px 0 22px;opacity:.7}.home-container .error-banner{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 20px;margin:0 0 12px;max-width:320px;border:1px solid var(--d3-red);border-radius:6px;background:#8b000026;text-align:center}.home-container .error-banner-close{position:absolute;top:4px;right:4px;background:none;border:none;color:var(--d3-red-bright);font-size:.85rem;cursor:pointer;padding:2px 6px;line-height:1;opacity:.7}.home-container .error-banner-close:hover{opacity:1}.home-container .error-banner strong{color:var(--d3-red-bright);font-size:.95rem;letter-spacing:1px}.home-container .error-banner span{color:var(--d3-text);font-size:.85rem;line-height:1.4}.home-container small{color:var(--d3-text);opacity:.4;font-size:.75rem;letter-spacing:2px;margin-top:auto;padding-top:40px;text-transform:uppercase}.category-list{display:flex;flex-direction:column;gap:8px;width:100%;max-width:320px;margin:8px 0}.game-category{border:1px solid var(--d3-gold-dark);border-radius:6px;overflow:hidden}.game-category-header{display:flex;align-items:center;gap:12px;width:100%;padding:14px 18px;background:linear-gradient(180deg,var(--d3-stone-light) 0%,var(--d3-stone) 100%);border:none;cursor:pointer;font-family:Palatino Linotype,Palatino,Georgia,serif;transition:background var(--d3-transition)}.game-category-header.open{border-bottom:1px solid var(--d3-gold-dark)}.game-category-arrow{color:var(--d3-gold);font-size:.7rem;transition:transform .2s ease;flex-shrink:0}.game-category-header.open .game-category-arrow{transform:rotate(90deg)}.game-category-label{font-size:.95rem;font-weight:600;color:var(--d3-gold);letter-spacing:3px;text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,.6)}.game-category-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.game-category-content.open{max-height:500px}.game-list{display:flex;flex-direction:column;gap:0;width:100%;margin:0}.game-card{display:flex;align-items:center;gap:16px;padding:14px 20px;background:linear-gradient(180deg,#1e191499,#14100ccc);border:none;border-bottom:1px solid rgba(74,60,42,.3);border-radius:0;cursor:pointer;transition:background var(--d3-transition),box-shadow var(--d3-transition);text-align:left;font-family:Georgia,Times New Roman,serif}.game-card:last-child{border-bottom:none}.game-card.selected{background:#c9a22714;box-shadow:inset 3px 0 0 var(--d3-gold)}@media(hover:hover){.game-card:hover{background:#c9a2270f}}.game-card:active{background:#c9a2271a;transition-duration:50ms}.game-card-icon{width:48px;height:48px;margin:-16px 0 -16px -20px;padding:10px;object-fit:contain;flex-shrink:0;box-sizing:content-box}.game-card-name{flex:1;font-size:1rem;font-weight:600;color:var(--d3-text-bright);letter-spacing:1.5px;text-transform:uppercase;text-align:center}.bottom-sheet{background:linear-gradient(180deg,var(--d3-stone-light) 0%,var(--d3-stone) 40%,var(--d3-bg-dark) 100%);border-top:2px solid var(--d3-gold-dark)}.bottom-sheet-handle{background:var(--d3-gold-dark)}.bottom-sheet-title{font-size:1.2rem;margin:4px 0 8px;letter-spacing:3px;text-transform:uppercase}.bottom-sheet-actions{display:flex;flex-direction:column;gap:10px;width:100%}.bottom-sheet-actions .navlink{width:100%;text-align:center;box-sizing:border-box}.bottom-sheet-close{color:var(--d3-text);opacity:.5;transition:opacity var(--d3-transition)}.bottom-sheet-close:active{opacity:.8}.platform-badge{position:fixed;bottom:calc(12px + var(--safe-bottom));left:12px;z-index:999;color:var(--d3-text);opacity:.4;font-size:.7rem;letter-spacing:2px;text-transform:uppercase;font-family:Georgia,Times New Roman,serif;pointer-events:none;-webkit-user-select:none;user-select:none}.leonard-bar-button{position:fixed;bottom:calc(12px + var(--safe-bottom));right:12px;z-index:999;width:48px;height:48px;border-radius:50%;border:2px solid var(--d3-gold-dark);background:var(--d3-stone);padding:0;cursor:pointer;box-shadow:0 0 12px #c9a22726,0 2px 8px #00000080;overflow:hidden;transition:box-shadow var(--d3-transition),border-color var(--d3-transition)}.leonard-bar-button:active{border-color:var(--d3-gold);box-shadow:0 0 18px #c9a22740,0 2px 8px #00000080}.leonard-bar-button-img{width:100%;height:100%;object-fit:cover;object-position:center 15%;border-radius:50%}.game-card-tictactoe .game-card-icon{filter:invert(78%) sepia(15%) saturate(600%) hue-rotate(5deg) brightness(95%);opacity:.85}.game-card-mancala .game-card-icon{filter:invert(70%) sepia(20%) saturate(500%) hue-rotate(15deg) brightness(90%);opacity:.85}.game-card-bloodpit .game-card-icon{filter:invert(40%) sepia(80%) saturate(600%) hue-rotate(340deg) brightness(90%);opacity:.85}.game-card-oathburn .game-card-icon{filter:invert(55%) sepia(90%) saturate(900%) hue-rotate(355deg) brightness(95%);opacity:.85}.game-card-hnefatafl .game-card-icon,.game-card-reversi .game-card-icon{opacity:.85}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bottom-sheet-clicktrap{position:fixed;inset:0;z-index:999}.bottom-sheet-backdrop{position:fixed;inset:0;background:#0009;z-index:1000;display:flex;align-items:flex-end;justify-content:center;animation:fade-in .15s ease}.bottom-sheet{width:100%;max-width:480px;border-radius:16px 16px 0 0;padding:12px 24px calc(24px + var(--safe-bottom));display:flex;flex-direction:column;align-items:center;gap:12px;animation:slide-up .2s ease}.bottom-sheet-handle{width:40px;height:4px;border-radius:2px;opacity:.6}.bottom-sheet-close{margin-top:4px;padding:10px 24px;background:none;border:none;font-family:Georgia,Times New Roman,serif;font-size:.85rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer}.leonard-backdrop{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 30%,#0a0606eb,#050303fa);z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px calc(24px + var(--safe-bottom));animation:leonard-fade-in .6s ease}.leonard-backdrop.exiting{animation:leonard-fade-out .5s ease forwards}@keyframes leonard-fade-in{0%{opacity:0}to{opacity:1}}@keyframes leonard-fade-out{0%{opacity:1}to{opacity:0}}.leonard-portrait-wrapper{position:relative;margin-bottom:24px;animation:leonard-portrait-enter .8s ease .2s both}@keyframes leonard-portrait-enter{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.leonard-portrait{width:140px;height:140px;border-radius:50%;object-fit:cover;object-position:center 15%;border:3px solid var(--d3-gold-dark);box-shadow:0 0 20px #c9a22726,0 0 60px #c9a2270d,0 4px 20px #0009}.leonard-portrait-glow{position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(201,162,39,.2);animation:portrait-glow-pulse 3s ease-in-out infinite}@keyframes portrait-glow-pulse{0%,to{opacity:.3;box-shadow:0 0 15px #c9a2271a}50%{opacity:1;box-shadow:0 0 25px #c9a22733}}.leonard-dialogue{max-width:340px;width:100%;padding:20px 24px;background:linear-gradient(180deg,#2a2420e6,#1a1512f2);border:1px solid var(--d3-border);border-radius:6px;box-shadow:0 4px 20px #0006;text-align:center;animation:leonard-dialogue-enter .5s ease .6s both}@keyframes leonard-dialogue-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.leonard-name{font-family:Palatino Linotype,Palatino,Georgia,serif;font-size:.8rem;color:var(--d3-gold);letter-spacing:3px;text-transform:uppercase;margin-bottom:12px;opacity:.7}.leonard-text{font-family:Georgia,Times New Roman,serif;font-size:.95rem;color:var(--d3-text);line-height:1.6;letter-spacing:.5px;min-height:3.2em}.leonard-text .typewriter-cursor{display:inline-block;width:2px;height:1em;background:var(--d3-gold);margin-left:2px;vertical-align:text-bottom;animation:cursor-blink .8s steps(1) infinite}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.leonard-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:20px;width:100%}.leonard-actions .navlink{width:100%;text-align:center;box-sizing:border-box;animation:leonard-btn-enter .3s ease both}@keyframes leonard-btn-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.leonard-input-group{display:flex;flex-direction:column;gap:12px;width:100%;animation:leonard-btn-enter .3s ease both}.leonard-tag-input{width:100%;padding:12px 16px;font-family:Georgia,Times New Roman,serif;font-size:1rem;color:var(--d3-text-bright);background:var(--d3-stone);border:2px solid var(--d3-gold-dark);border-radius:4px;outline:none;text-align:center;letter-spacing:1px;transition:border-color var(--d3-transition),box-shadow var(--d3-transition);box-sizing:border-box}.leonard-tag-input::placeholder{color:var(--d3-text);opacity:.35;letter-spacing:2px}.leonard-tag-input:focus{border-color:var(--d3-gold);box-shadow:0 0 12px #c9a22726}.leonard-error{font-size:.8rem;color:var(--d3-red-bright);letter-spacing:1px;margin-top:-4px}.leonard-bar-backdrop{position:fixed;inset:0;background:#000000bf;z-index:1500;display:flex;align-items:flex-end;justify-content:center;padding:0 16px calc(16px + var(--safe-bottom));animation:leonard-bar-fade-in .2s ease}.leonard-bar-backdrop.exiting{animation:leonard-bar-fade-out .3s ease forwards}@keyframes leonard-bar-fade-in{0%{opacity:0}to{opacity:1}}@keyframes leonard-bar-fade-out{0%{opacity:1}to{opacity:0}}.leonard-bar-panel{display:flex;flex-direction:column;align-items:center;width:100%;max-width:340px;animation:leonard-bar-slide-up .25s ease}@keyframes leonard-bar-slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.leonard-bar-portrait-wrapper{position:relative;margin-bottom:-40px;z-index:1}.leonard-bar-portrait{width:80px;height:80px;border-radius:50%;object-fit:cover;object-position:center 15%;border:2px solid var(--d3-gold-dark);box-shadow:0 0 16px #c9a22726,0 2px 12px #0009}.leonard-bar-portrait-glow{position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(201,162,39,.2);animation:portrait-glow-pulse 3s ease-in-out infinite}.leonard-bar-dialogue{width:100%;padding:52px 24px 20px;background:linear-gradient(180deg,#2a2420f2,#1a1512fa);border:1px solid var(--d3-border);border-radius:8px;text-align:center}.leonard-bar-name{font-family:Palatino Linotype,Palatino,Georgia,serif;font-size:.75rem;color:var(--d3-gold);letter-spacing:3px;text-transform:uppercase;margin-bottom:10px;opacity:.7}.leonard-bar-text{font-family:Georgia,Times New Roman,serif;font-size:.9rem;color:var(--d3-text);line-height:1.6;letter-spacing:.5px;min-height:1.6em}.leonard-bar-text .typewriter-cursor{display:inline-block;width:2px;height:1em;background:var(--d3-gold);margin-left:2px;vertical-align:text-bottom;animation:cursor-blink .8s steps(1) infinite}.leonard-bar-options{display:flex;flex-direction:column;gap:10px;margin-top:16px;animation:leonard-bar-options-enter .25s ease both}.leonard-bar-options .navlink{width:100%;text-align:center;box-sizing:border-box}@keyframes leonard-bar-options-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.leonard-bar-input-group{display:flex;flex-direction:column;gap:10px;margin-top:16px;width:100%;animation:leonard-bar-options-enter .25s ease both}.leonard-bar-tag-input{width:100%;padding:10px 14px;font-family:Georgia,Times New Roman,serif;font-size:.95rem;color:var(--d3-text-bright);background:var(--d3-stone);border:2px solid var(--d3-gold-dark);border-radius:4px;outline:none;text-align:center;letter-spacing:1px;transition:border-color var(--d3-transition),box-shadow var(--d3-transition);box-sizing:border-box}.leonard-bar-tag-input::placeholder{color:var(--d3-text);opacity:.35;letter-spacing:2px}.leonard-bar-tag-input:focus{border-color:var(--d3-gold);box-shadow:0 0 12px #c9a22726}.leonard-bar-input-group .navlink{width:100%;text-align:center;box-sizing:border-box}.leonard-bar-error{font-size:.8rem;color:var(--d3-red-bright);letter-spacing:1px;margin-top:-4px}.leonard-bar-close{margin-top:8px;padding:10px 24px;background:none;border:none;color:var(--d3-text);opacity:.5;font-family:Georgia,Times New Roman,serif;font-size:.85rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:opacity var(--d3-transition)}.leonard-bar-close:active{opacity:.8}.google-signin-btn{width:100%;height:44px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 16px;font-family:Roboto,Segoe UI,system-ui,sans-serif;font-size:.9rem;font-weight:600;color:#1f1f1f;background:#fff;border:1px solid #dadce0;border-radius:8px;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .12s,box-shadow .12s}@media(hover:hover){.google-signin-btn:hover{background:#f7f8f8;box-shadow:0 1px 3px #00000040}}.google-signin-btn:active{transform:translateY(1px)}.google-signin-btn:disabled{opacity:.7;cursor:default}.google-signin-btn-icon{flex-shrink:0}.login-page{position:fixed;inset:0;z-index:2500;background:#000;display:flex;align-items:center;justify-content:center;padding:24px}.login-page-inner{width:100%;max-width:300px;display:flex;flex-direction:column;align-items:center;text-align:center}.login-page-title{margin:0 0 8px;font-family:Palatino Linotype,Palatino,Georgia,serif;font-size:1.4rem;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--d3-gold);text-shadow:0 1px 8px rgba(201,162,39,.3)}.login-page-subtitle{margin:0 0 28px;font-family:Georgia,Times New Roman,serif;font-size:.9rem;color:var(--d3-text);opacity:.85}.login-page-options{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px}.login-page-error{margin:0 0 16px;font-family:Georgia,Times New Roman,serif;font-size:.82rem;color:var(--d3-red-bright, #ff6b6b)}.login-page-cancel{width:100%;height:44px;font-family:Georgia,Times New Roman,serif;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--d3-text);background:transparent;border:1px solid var(--d3-border);border-radius:6px;cursor:pointer;transition:background .12s,color .12s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media(hover:hover){.login-page-cancel:hover{background:#ffffff0a;color:var(--d3-text-bright)}}.board{display:grid;grid-template-columns:repeat(3,90px);grid-template-rows:repeat(3,90px);gap:3px;padding:10px;background:linear-gradient(145deg,#4a3c2acc,#2a2420f2,#1a1512);border:2px solid var(--d3-gold-dark);border-radius:6px;box-shadow:0 4px 20px #00000080,inset 0 1px #ffffff08}.square{width:90px;height:90px;background:var(--d3-stone);border:1px solid var(--d3-border);border-radius:3px;font-family:Palatino Linotype,Palatino,Georgia,serif;font-size:2.8rem;font-weight:700;cursor:pointer;box-shadow:inset 0 1px #ffffff0a;color:var(--d3-gold);text-shadow:0 2px 4px rgba(0,0,0,.8);transition:background var(--d3-transition);will-change:transform}@media(hover:hover){.square:not([disabled]):hover{background:var(--d3-stone-light)}}.square:active{transform:scale(.97);transition-duration:50ms}.ai,.reset{margin-top:20px;padding:12px 25px;font-family:Georgia,Times New Roman,serif;font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--d3-text-bright);background:linear-gradient(180deg,#6b2020,#4a1515,#2d0a0a);border:1px solid #8b3030;border-bottom:2px solid #8b3030;border-radius:4px;cursor:pointer;box-shadow:0 1px 4px #0006;transition:transform var(--d3-transition),box-shadow var(--d3-transition),border-color var(--d3-transition);will-change:transform}@media(hover:hover){.ai:not(:disabled):hover,.reset:not(:disabled):hover{border-color:#b04040;box-shadow:0 2px 12px #8b000033;transform:translateY(-1px)}}.ai:active,.reset:active{transform:translateY(1px);box-shadow:inset 0 2px 5px #00000080;transition-duration:50ms}.ai:disabled,.reset:disabled{background:linear-gradient(180deg,#3d3530,#2a2420,#1a1512);border-color:var(--d3-border);color:#555;cursor:not-allowed;box-shadow:none}.game .info{margin-top:20px}.game .info p{margin:0;line-height:1.6}.square-x{color:var(--d3-red-glow)!important;text-shadow:0 1px 2px rgba(0,0,0,.8)!important}.square-o{color:var(--d3-gold-light)!important;text-shadow:0 1px 2px rgba(0,0,0,.8)!important}.worker-toggle{margin-top:16px;display:flex;align-items:center;gap:8px;padding:8px 14px;background:#1a1512cc;border:1px solid var(--d3-border);border-radius:4px;font-size:.8rem}.game-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;align-self:stretch;height:48px;padding:0 6px;margin:0 -12px 16px;background:linear-gradient(180deg,#2a2420,#1a1512);border-bottom:1px solid var(--d3-border)}.game-header-title{position:absolute;left:0;right:0;text-align:center;pointer-events:none;font-family:Palatino Linotype,Palatino,Georgia,serif;font-size:.95rem;font-weight:600;color:var(--d3-gold);text-transform:uppercase;letter-spacing:2.5px;text-shadow:0 1px 3px rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-header-opponent-avatar{width:36px;height:36px;border-radius:50%;border:1px solid var(--d3-border);object-fit:cover;object-position:center 15%;flex-shrink:0;background:#0000004d}.game-header-opponent-avatar--online{filter:invert(50%)}.game-header-menu-btn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:auto;flex-shrink:0;color:var(--d3-text);background:none;border:none;border-radius:6px;cursor:pointer;transition:color .15s,background .15s;-webkit-tap-highlight-color:transparent}.game-header-menu-btn.active{color:var(--d3-gold);background:#ffffff0a}@media(hover:hover){.game-header-menu-btn:hover{color:var(--d3-gold);background:#ffffff0a}}.game-header-menu-btn:active{color:var(--d3-gold);background:#ffffff0f}.game-menu-panel{position:absolute;top:44px;right:6px;z-index:60;min-width:170px;background:linear-gradient(180deg,#2a2420fa,#16120efc);border:1px solid var(--d3-border);border-radius:8px;box-shadow:0 8px 30px #0009,0 2px 8px #0000004d;overflow:hidden;animation:menu-appear .12s ease-out}@keyframes menu-appear{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.game-menu-item{display:flex;align-items:center;width:100%;padding:14px 20px;font-family:Georgia,Times New Roman,serif;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--d3-text);background:none;border:none;text-align:left;cursor:pointer;text-decoration:none;transition:background .1s,color .1s;-webkit-tap-highlight-color:transparent}.game-menu-item+.game-menu-item{border-top:1px solid rgba(74,60,42,.3)}@media(hover:hover){.game-menu-item:hover{background:#ffffff0d;color:var(--d3-text-bright)}}.game-menu-item:active{background:#ffffff14}.game-menu-surrender{color:var(--d3-red-bright)}@media(hover:hover){.game-menu-surrender:hover{color:var(--d3-red-bright);background:#8b00001f}}.game-menu-surrender:active{background:#8b00002e}.game-header-dialog{position:absolute;inset:6px 64px;z-index:55;pointer-events:none}.game-header-dialog-bubble{position:absolute;inset:0;padding:0 14px;background:#f0ddb0;border:1.5px solid rgba(120,85,30,.35);border-radius:10px;font-family:Georgia,Times New Roman,serif;font-size:.8rem;font-weight:600;color:#2a1a08;text-align:center;display:flex;align-items:center;justify-content:center;line-height:1.2;box-shadow:0 2px 10px #00000038,0 1px 3px #00000024}.game-header-dialog-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes bubble-your-turn{0%{transform:scale(.92);background:#f0ddb0;box-shadow:0 2px 10px #00000038,0 1px 3px #00000024}12%{transform:scale(1.07);background:#f7e8b8;box-shadow:0 0 0 3px #d4af3780,0 4px 16px #0003}25%{transform:scale(1);background:#f0ddb0}45%{transform:scale(1.04);background:#f7e8b8;box-shadow:0 0 0 2px #d4af3759,0 4px 14px #0000002e}65%{transform:scale(1);background:#f0ddb0}80%{transform:scale(1.02);background:#f7e8b8;box-shadow:0 0 0 1px #d4af372e}to{transform:scale(1);background:#f0ddb0;box-shadow:0 2px 10px #00000038,0 1px 3px #00000024}}.game-header-dialog-bubble--flash{animation:bubble-your-turn 1.8s ease-out}.game-header-dialog-bubble:before{content:"";position:absolute;left:-18px;top:50%;transform:translateY(-50%);border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:18px solid rgba(0,0,0,.15)}.game-header-dialog-bubble:after{content:"";position:absolute;left:-16px;top:50%;transform:translateY(-50%);border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:16px solid #f0ddb0}.confirm-modal-backdrop{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000d1;animation:confirm-backdrop-in .15s ease-out}@keyframes confirm-backdrop-in{0%{opacity:0}to{opacity:1}}.confirm-modal{width:100%;max-width:340px;background:linear-gradient(180deg,#302822fc,#14100c);border:1px solid var(--d3-border);border-radius:10px;box-shadow:0 24px 60px #000000d9,0 4px 16px #00000080,inset 0 1px #ffffff0a;overflow:hidden;animation:confirm-modal-in .18s cubic-bezier(.34,1.3,.64,1)}@keyframes confirm-modal-in{0%{opacity:0;transform:scale(.88) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-modal-header{padding:20px 20px 0;text-align:center}.confirm-modal-title{display:block;font-family:Palatino Linotype,Palatino,Georgia,serif;font-size:1.05rem;font-weight:700;text-transform:uppercase;letter-spacing:2.5px;color:var(--d3-gold);text-shadow:0 1px 6px rgba(201,162,39,.3)}.confirm-modal-message{margin:14px 20px 0;font-family:Georgia,Times New Roman,serif;font-size:.88rem;color:var(--d3-text);text-align:center;line-height:1.55}.confirm-modal-actions{display:flex;gap:10px;padding:20px}.confirm-modal-btn{flex:1;height:46px;font-family:Georgia,Times New Roman,serif;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;border:1px solid;border-radius:6px;cursor:pointer;transition:background .12s,transform .1s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.confirm-modal-btn-cancel{color:var(--d3-text);background:linear-gradient(180deg,#2a2420,#1a1512);border-color:var(--d3-border)}@media(hover:hover){.confirm-modal-btn-cancel:hover{background:linear-gradient(180deg,#3a322c,#241e18);color:var(--d3-text-bright)}}.confirm-modal-btn-cancel:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #0006}.confirm-modal-btn-confirm{color:var(--d3-text-bright);background:linear-gradient(180deg,#4a3c2a,#302618);border-color:var(--d3-gold-dark);box-shadow:0 1px 4px #0006,inset 0 1px #ffffff0d}@media(hover:hover){.confirm-modal-btn-confirm:hover{border-color:var(--d3-gold);box-shadow:0 2px 10px #c9a2272e,inset 0 1px #ffffff0f}}.confirm-modal-btn-confirm:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #00000080}.confirm-modal-btn-confirm.dangerous{color:var(--d3-red-bright);background:linear-gradient(180deg,#5a0a0ae6,#320505fa);border-color:#8b0000cc;box-shadow:0 1px 4px #0006,inset 0 1px #ff64640d}@media(hover:hover){.confirm-modal-btn-confirm.dangerous:hover{border-color:var(--d3-red-bright);box-shadow:0 2px 12px #ff444438,inset 0 1px #ff646414}}.confirm-modal-btn-confirm.dangerous:active{transform:translateY(1px);box-shadow:inset 0 2px 6px #0009}.game-status{position:relative;display:flex;align-items:center;align-self:stretch;height:32px;margin-bottom:20px}.game-status-text{flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;font-size:.72rem;font-weight:600;color:var(--d3-text);text-transform:uppercase;letter-spacing:2.5px;text-shadow:0 1px 3px rgba(0,0,0,.5);text-align:center}.game-status-text::-webkit-scrollbar{display:none}.game-status-arrow{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:100%;padding:0;color:var(--d3-gold);background:none;border:none;cursor:pointer;opacity:.7;transition:opacity .15s;-webkit-tap-highlight-color:transparent}@media(hover:hover){.game-status-arrow:hover{opacity:1}}.game{display:flex;flex-direction:column;align-items:center;padding:0 12px 60px;min-height:100%;font-family:Georgia,Times New Roman,serif}.mancala-board{display:flex;align-items:stretch;gap:3px;padding:10px;background:linear-gradient(145deg,#4a3c2acc,#2a2420f2,#1a1512);border:2px solid var(--d3-gold-dark);border-radius:8px;box-shadow:0 4px 20px #00000080,inset 0 1px #ffffff08}.mancala-store{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:50px;min-height:120px;background:var(--d3-stone);border:1px solid var(--d3-border);border-radius:25px;box-shadow:inset 0 2px 6px #0006}.store-seeds{font-family:Palatino Linotype,Palatino,Georgia,serif;font-size:1.6rem;font-weight:700;color:var(--d3-gold);text-shadow:0 2px 4px rgba(0,0,0,.8)}.store-label{font-size:.6rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--d3-text);opacity:.5}.mancala-store-mine .store-seeds{color:var(--d3-gold-light)}.mancala-store-opp .store-seeds{color:var(--d3-red-glow)}.mancala-pits{display:flex;flex-direction:column;justify-content:space-between;flex:1}.pit-row{display:flex;gap:3px}.pit{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--d3-stone);border:1px solid var(--d3-border);border-radius:50%;box-shadow:inset 0 1px #ffffff0a;font-family:Palatino Linotype,Palatino,Georgia,serif}.pit-seeds{font-size:1.2rem;font-weight:700;color:var(--d3-text-bright);text-shadow:0 1px 2px rgba(0,0,0,.6)}.pit-opp{opacity:.7}.pit-opp .pit-seeds{color:var(--d3-red-glow)}.pit-mine{cursor:pointer;transition:background var(--d3-transition),border-color var(--d3-transition),transform var(--d3-transition)}.pit-mine .pit-seeds{color:var(--d3-gold-light)}.pit-playable{border-color:var(--d3-gold-dark)}@media(hover:hover){.pit-playable:not(:disabled):hover{background:var(--d3-stone-light);border-color:var(--d3-gold);transform:scale(1.05)}}.pit-mine:active:not(:disabled){transform:scale(.95);transition-duration:50ms}.pit-mine:disabled{cursor:not-allowed;opacity:.5}.pit-highlight{animation:seed-drop .2s ease-out;box-shadow:0 0 12px 3px var(--d3-gold),inset 0 1px #ffffff0a;border-color:var(--d3-gold)!important}.mancala-store.pit-highlight{box-shadow:0 0 16px 4px var(--d3-gold),inset 0 2px 6px #0006}@keyframes seed-drop{0%{transform:scale(1.15)}to{transform:scale(1)}}.mancala-score{margin-top:12px;font-size:.9rem;font-weight:600;color:var(--d3-text);letter-spacing:2px;text-transform:uppercase}.game-landscape.mancala-tutorial{padding-bottom:0}.mancala-tutorial .game-header,.mancala-tutorial .game-status{margin-bottom:4px}.tutorial-description{max-width:400px;margin:4px auto 0;font-size:.72rem;line-height:1.3;color:var(--d3-text);text-align:center}.tutorial-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:4px}.tutorial-nav button{padding:4px 16px;font-family:Georgia,Times New Roman,serif;font-size:.85rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--d3-text-bright);background:linear-gradient(180deg,#782828e6,#501414f2);border:1px solid var(--d3-gold-dark);border-radius:4px;cursor:pointer;transition:background var(--d3-transition),border-color var(--d3-transition)}@media(hover:hover){.tutorial-nav button:not(:disabled):hover{background:linear-gradient(180deg,#8c3232f2,#641e1e);border-color:var(--d3-gold)}}.tutorial-nav button:active{transform:scale(.97)}.tutorial-nav button:disabled{opacity:.35;cursor:not-allowed;border-color:var(--d3-border)}.tutorial-step-indicator{font-size:.8rem;font-weight:600;letter-spacing:2px;color:var(--d3-gold)}.bpt-board{position:relative;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:5px;padding:10px;background:linear-gradient(145deg,#4a3c2acc,#2a2420f2,#1a1512);border:2px solid var(--d3-gold-dark);border-radius:10px;box-shadow:0 4px 20px #00000080,inset 0 1px #c9a2271a;aspect-ratio:1;width:100%;max-width:min(96vw,96vh - 232px,420px);margin:0 auto}.bpt-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--d3-stone);border:2px solid var(--d3-border);border-radius:6px;font-size:1rem;font-weight:700;color:var(--d3-text);cursor:default;padding:0;transition:none;position:relative;line-height:1.2;gap:2px;min-height:0}.bpt-cell .cell-art{width:65%;height:65%;display:flex;align-items:center;justify-content:center;opacity:.85;margin-top:-8px}.bpt-cell .cell-art svg{width:100%;height:100%}.bpt-cell .cell-dmg{position:absolute;bottom:1px;right:3px;font-size:.75rem;font-weight:700;opacity:.7}.bpt-cell .cell-stamina{position:absolute;bottom:1px;left:3px;font-size:.65rem;font-weight:600;opacity:.8;color:#a5d8f1}.bpt-cell.cell-exhausted{opacity:.5;filter:grayscale(40%)}.bpt-cell.cell-sleeping{opacity:.9;filter:grayscale(60%) blur(.5px)}.bpt-cell .cell-web-turns{position:absolute;bottom:1px;left:3px;font-size:.65rem;font-weight:600;color:#4caf50;opacity:.9}.cell-web-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:.55}.cell-web-overlay svg{width:90%;height:90%}.bpt-cell.cell-exhausted.cell-selected-source,.bpt-cell.cell-sleeping.cell-selected-source,.bpt-cell.cell-exhausted.cell-battle-target,.bpt-cell.cell-sleeping.cell-battle-target,.bpt-cell.cell-exhausted.cell-spell-source,.bpt-cell.cell-sleeping.cell-spell-source,.bpt-cell.cell-exhausted.cell-spell-attack,.bpt-cell.cell-sleeping.cell-spell-attack,.bpt-cell.cell-exhausted.cell-spell-target,.bpt-cell.cell-sleeping.cell-spell-target{opacity:1!important;filter:none!important}.bpt-cell.tier-1{color:#aaa}.bpt-cell.tier-2{color:#4ecdc4}.bpt-cell.tier-3{color:gold}.bpt-cell.tier-4{color:#f94}.bpt-cell.tier-5{color:#f44;text-shadow:0 0 6px rgba(255,68,68,.4)}.bpt-cell.has-bonus{background:#b41e1e26}.cell-selected-source{background:#d4af3733!important;border-color:gold!important;box-shadow:0 0 10px #d4af3766}.cell-battle-target{border-color:#e55!important;box-shadow:inset 0 0 8px #c832324d}.cell-empty{background:#d4af371a;border-color:var(--d3-gold-dark);color:var(--d3-gold)}@keyframes cell-empty-flash{0%{background:#d4af371a;box-shadow:none}40%{background:#d4af3773;box-shadow:0 0 10px #d4af37b3}to{background:#d4af371a;box-shadow:none}}.cell-empty-flash{animation:cell-empty-flash .55s ease-out}.cell-clickable{cursor:pointer}@media(hover:hover){.cell-clickable:hover{background:#d4af3740}.cell-battle-target.cell-clickable:hover{background:#c8323240}}.cell-spell-source{border-color:#58ed5d!important;box-shadow:inset 0 0 8px #4caf5059}@media(hover:hover){.cell-spell-source.cell-clickable:hover{background:#4caf5040}}.cell-spell-attack{border-color:#e55!important;box-shadow:inset 0 0 8px #c832324d}@media(hover:hover){.cell-spell-attack.cell-clickable:hover{background:#c8323240}}.cell-spell-target{border-color:#03ecfc!important;box-shadow:inset 0 0 8px #03ecfc59}@media(hover:hover){.cell-spell-target.cell-clickable:hover{background:#03ecfc33}}.cell-devouring-overlay{position:absolute;top:1px;right:2px;font-size:.6rem;pointer-events:none;line-height:1}.cell-haunt-overlay{position:absolute;top:4px;right:2px;font-size:.6rem;pointer-events:none;line-height:1}@keyframes cell-quest-match{0%{box-shadow:0 0 #ffd70000;border-color:var(--d3-border)}20%{box-shadow:0 0 16px #ffd700e6;border-color:gold}60%{box-shadow:0 0 12px #ffd700b3;border-color:gold}to{box-shadow:0 0 #ffd70000;border-color:var(--d3-border)}}.cell-quest-match{animation:cell-quest-match 1.2s ease-out forwards}.cell-move-from-left{animation:slide-from-left .18s ease-out}.cell-move-from-right{animation:slide-from-right .18s ease-out}.cell-move-from-top{animation:slide-from-top .18s ease-out}.cell-move-from-bottom{animation:slide-from-bottom .18s ease-out}.cell-place-pop{animation:place-pop .2s ease-out}@keyframes slide-from-left{0%{transform:translate(calc(-100% - 5px))}}@keyframes slide-from-right{0%{transform:translate(calc(100% + 5px))}}@keyframes slide-from-top{0%{transform:translateY(calc(-100% - 5px))}}@keyframes slide-from-bottom{0%{transform:translateY(calc(100% + 5px))}}@keyframes place-pop{0%{transform:scale(.3);opacity:0}}.bpt-monster-bar{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:min(96vw,96vh - 232px,420px);margin:4px auto 0;padding:2px 4px;background:#1a151299;border:1px solid rgba(201,162,39,.15);border-radius:6px;box-sizing:border-box}.bpt-monster-bar-item{display:flex;flex-direction:column;align-items:center;gap:1px;flex:1}.bpt-monster-bar-icon{width:14px;height:14px;display:flex;align-items:center;justify-content:center;opacity:.8}.bpt-monster-bar-icon svg{width:100%;height:100%}.bpt-monster-bar-count{font-size:.76rem;font-weight:600;line-height:1;opacity:.65}.bpt-monster-bar-count.is-capped{color:#e55;opacity:.8}.bpt-monster-bar-count.is-close-to-capped{color:#e1ee55;opacity:.8}.bpt-hand-zone{position:relative;z-index:100;margin:3px auto 0;padding:2px 0}.bpt-hand-fan{position:relative;height:86px;margin:0 auto;overflow:visible;transition:height .15s ease}.bpt-hand-zone.is-expanded .bpt-hand-fan{height:132px}.bpt-card-stack{position:absolute;bottom:0;left:50%;margin-left:-34px;width:68px;height:104px;transform-origin:50% 100%;transition:transform .15s ease}.bpt-card{position:absolute;top:0;left:0;width:68px;height:104px;border-radius:8px;background:linear-gradient(160deg,#342c22fa,#16120e);border:1.5px solid var(--d3-border);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:6px 4px 5px;transition:none;cursor:pointer;box-shadow:0 2px 8px #0009,inset 0 1px #ffffff0a}.bpt-card-zzz{position:absolute;top:0;left:50%;transform:translate(-50%,-75%);color:#ffe600;font-size:.68rem;font-weight:900;letter-spacing:1px;line-height:1;pointer-events:none;z-index:1;text-shadow:0 1px 4px rgba(0,0,0,.95)}.bpt-card-ghost{pointer-events:none;opacity:.5;border-color:currentColor!important}.bpt-card.card-selected{border-color:var(--d3-gold)!important;box-shadow:0 0 14px #d4af3780,0 4px 12px #0009}.bpt-card.card-capped{opacity:.35;filter:grayscale(70%);cursor:not-allowed;pointer-events:none}@media(hover:hover){.bpt-card:hover{border-color:currentColor}}.card-name{font-size:.58rem;font-weight:700;text-align:center;line-height:1.1;opacity:.85}.card-art{width:100%;height:54px;display:flex;align-items:center;justify-content:center;opacity:.85}.card-art svg{width:100%;height:100%}.card-stats{display:flex;justify-content:space-between;align-items:flex-end;width:100%}.card-dmg{font-size:.85rem;font-weight:900;line-height:1}.card-stamina{font-size:.85rem;font-weight:600;color:#6cf;opacity:.8;line-height:1}.bpt-spell-card{justify-content:center}.bpt-spell-card .spell-name{color:#d8c2c2}.bpt-spell-card.spell-disabled{pointer-events:none;filter:grayscale(.85)}.bpt-spell-cost{position:absolute;top:0;left:50%;transform:translate(-50%,-55%);min-width:20px;padding:1px 6px;border-radius:10px;background:linear-gradient(160deg,#5a4316,#2a1f08);border:1.5px solid var(--d3-gold);color:var(--d3-gold);font-size:.7rem;font-weight:900;line-height:1;text-align:center;pointer-events:none;z-index:2;box-shadow:0 1px 4px #000000b3}.bpt-spell-cost-unaffordable{border-color:#b43232b3;color:#d96666;background:linear-gradient(160deg,#3a1a1a,#1a0a0a)}.spell-name{position:absolute;bottom:5px;left:0;right:0;font-size:.55rem;font-weight:700;text-align:center;line-height:1.1;text-transform:uppercase;letter-spacing:.5px;opacity:.85}.spell-monster-icon{position:absolute;top:4px;left:4px;width:17px;height:17px;display:flex;align-items:center;justify-content:center}.spell-monster-icon svg{width:100%;height:100%}.spell-generic-icon{font-size:.85rem;line-height:1;color:#ffffffd9}.spell-icon{font-size:1.7rem;line-height:1}.spell-effect{font-size:.55rem;font-weight:600;opacity:.6;text-transform:uppercase}@media(min-height:740px){.bpt-hand-zone{padding-bottom:calc(60px + var(--safe-bottom))}}@media(max-width:390px){.bpt-hand-fan{height:70px}.bpt-hand-zone.is-expanded .bpt-hand-fan{height:106px}.bpt-card-stack{margin-left:-26px;width:52px;height:80px}.bpt-card{width:52px;height:80px;border-radius:7px;padding:5px 3px 4px}.card-name{font-size:.48rem}.card-art{height:42px}.card-dmg,.card-stamina{font-size:.75rem}.spell-name{font-size:.45rem}.spell-icon{font-size:1.4rem}.spell-effect{font-size:.45rem}.spell-monster-icon{width:13px;height:13px}.quest-name{font-size:.45rem}.quest-points{font-size:.95rem}.quest-desc{font-size:.38rem}}.bpt-quest-card{background:linear-gradient(160deg,#14342cfa,#0a1c16)!important;border-color:#50c8a066!important;color:#50c8a0;cursor:default;justify-content:center}.quest-points{position:absolute;top:4px;right:5px;font-size:.65rem;font-weight:800;color:#50c8a0}.bpt-quest-card .bpt-quest-pattern-cell{width:11px;height:11px}.bpt-quest-pattern{display:grid;gap:2px}.bpt-quest-pattern-cell{width:18px;height:18px;border-radius:2px;display:flex;align-items:center;justify-content:center}.bpt-quest-pattern-cell:not(.filled){background:#ffffff0d}.bpt-quest-pattern-cell svg{width:100%;height:100%}.bpt-quest-shop-title{position:relative;font-size:.85rem;font-weight:700;color:#ffb088;text-align:center;margin-bottom:10px}.bpt-spell-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 8px 8px;flex:1;min-height:0;overflow-y:auto}.bpt-spell-shop-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:110px;padding:8px 6px;border-radius:10px;background:linear-gradient(160deg,#dc5a461f,#dc5a460a);border:1px solid rgba(220,90,70,.3);box-shadow:0 2px 8px #00000059,inset 0 1px #ffffff0d;color:#ffd2b8}.bpt-spell-shop-icon{font-size:1.8rem;line-height:1}.bpt-spell-shop-name{position:absolute;bottom:6px;left:4px;right:4px;font-size:.6rem;font-weight:600;text-align:center;opacity:.8;line-height:1.1}.bpt-spell-shop-effect{position:absolute;top:4px;right:6px;font-size:.6rem;font-weight:800;color:#ff9a7a}.bpt-spell-shop-count{position:absolute;top:4px;left:6px;font-size:.7rem;font-weight:800;color:gold}.bpt-opp-spell-grid{padding:0 8px 8px}.bpt-opp-spell-item{cursor:default}.bpt-opp-quest-sheet{max-height:40vh;background:linear-gradient(145deg,#1a2e4a,#0d1a2a)!important;border-top-color:#50a0ff8c!important}.bpt-opp-quest-sheet .bpt-quest-shop-title{color:#70b8ff}.bpt-opp-quest-empty{text-align:center;color:#ffc8aa80;font-size:.8rem;padding:16px}.bpt-firebreath-overlay{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:5px;padding:10px;pointer-events:none;z-index:5;box-sizing:border-box}.bpt-firebreath-beam{pointer-events:none;align-self:stretch;justify-self:stretch;min-width:0;min-height:0;border-radius:8px;filter:blur(.5px);mix-blend-mode:screen;will-change:transform,opacity,filter;opacity:1}.bpt-firebreath-beam.beam-h{transform:scaleX(0);animation:bpt-firebreath-grow-h var(--bpt-fb-grow-ms, .28s) cubic-bezier(.22,.9,.4,1) forwards,bpt-firebreath-flicker .14s steps(2,jump-end) infinite,bpt-firebreath-fade var(--bpt-fb-fade-ms, .24s) ease-in forwards;animation-delay:0ms,0ms,var(--bpt-fb-grow-ms, .28s)}.bpt-firebreath-beam.beam-v{transform:scaleY(0);animation:bpt-firebreath-grow-v var(--bpt-fb-grow-ms, .28s) cubic-bezier(.22,.9,.4,1) forwards,bpt-firebreath-flicker .14s steps(2,jump-end) infinite,bpt-firebreath-fade var(--bpt-fb-fade-ms, .24s) ease-in forwards;animation-delay:0ms,0ms,var(--bpt-fb-grow-ms, .28s)}.bpt-firebreath-beam.beam-h.dir-right{background:linear-gradient(90deg,#fff578,#ffb41ef2 25%,#ff6400e6,#dc2800b3 85%,#78000066);box-shadow:0 0 18px #ff8c00d9,0 0 36px #ff50008c}.bpt-firebreath-beam.beam-h.dir-left{background:linear-gradient(270deg,#fff578,#ffb41ef2 25%,#ff6400e6,#dc2800b3 85%,#78000066);box-shadow:0 0 18px #ff8c00d9,0 0 36px #ff50008c}.bpt-firebreath-beam.beam-v.dir-down{background:linear-gradient(180deg,#fff578,#ffb41ef2 25%,#ff6400e6,#dc2800b3 85%,#78000066);box-shadow:0 0 18px #ff8c00d9,0 0 36px #ff50008c}.bpt-firebreath-beam.beam-v.dir-up{background:linear-gradient(0deg,#fff578,#ffb41ef2 25%,#ff6400e6,#dc2800b3 85%,#78000066);box-shadow:0 0 18px #ff8c00d9,0 0 36px #ff50008c}@keyframes bpt-firebreath-grow-h{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes bpt-firebreath-grow-v{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes bpt-firebreath-flicker{0%{filter:blur(.5px) brightness(1)}50%{filter:blur(1.4px) brightness(1.3)}to{filter:blur(.6px) brightness(1.05)}}@keyframes bpt-firebreath-fade{0%{opacity:1;filter:blur(2px) brightness(1.2)}60%{opacity:.6;filter:blur(5px) brightness(1)}to{opacity:0;filter:blur(10px) brightness(.8)}}.bpt-firebreath-cell-burn{pointer-events:none;align-self:stretch;justify-self:stretch;min-width:0;min-height:0;border-radius:6px;background:radial-gradient(circle at center,#fff082f2,#ff8c14cc,#c81e0073 70%,#50000000);box-shadow:inset 0 0 22px #ffdc50d9,0 0 18px #ff5000b3;opacity:0;transform:scale(.7);mix-blend-mode:screen;will-change:transform,opacity,filter;animation:bpt-firebreath-burn .32s ease-out forwards;animation-delay:var(--bpt-fb-burn-delay, 0ms)}@keyframes bpt-firebreath-burn{0%{opacity:0;transform:scale(.6);filter:brightness(1.2)}25%{opacity:1;transform:scale(1.12);filter:brightness(1.6)}60%{opacity:.8;transform:scale(1);filter:brightness(1.2)}to{opacity:0;transform:scale(.95);filter:brightness(.9)}}.bpt-web-overlay{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:5px;padding:10px;pointer-events:none;z-index:5;box-sizing:border-box}.bpt-web-strand{pointer-events:none;align-self:center;justify-self:center;will-change:transform,opacity;mix-blend-mode:screen;background:linear-gradient(90deg,#fff0,#e6f5ffd9 20%,#fff,#e6f5ffd9 80%,#fff0);box-shadow:0 0 4px #c8e6ffe6,0 0 10px #a0c8ff8c;opacity:0}.bpt-web-strand.strand-h{width:calc(50% + 2.5px);height:2px;transform:scaleX(0);animation:bpt-web-strand-grow-h var(--bpt-web-strand-ms, .26s) cubic-bezier(.15,.8,.35,1) forwards,bpt-web-strand-fade var(--bpt-web-fade-ms, .24s) ease-out forwards;animation-delay:0ms,calc(var(--bpt-web-strand-ms, .26s) + var(--bpt-web-hold-ms, .52s))}.bpt-web-strand.strand-v{height:calc(50% + 2.5px);width:2px;transform:scaleY(0);animation:bpt-web-strand-grow-v var(--bpt-web-strand-ms, .26s) cubic-bezier(.15,.8,.35,1) forwards,bpt-web-strand-fade var(--bpt-web-fade-ms, .24s) ease-out forwards;animation-delay:0ms,calc(var(--bpt-web-strand-ms, .26s) + var(--bpt-web-hold-ms, .52s))}@keyframes bpt-web-strand-grow-h{0%{opacity:0;transform:scaleX(0)}15%{opacity:1}to{opacity:1;transform:scaleX(1)}}@keyframes bpt-web-strand-grow-v{0%{opacity:0;transform:scaleY(0)}15%{opacity:1}to{opacity:1;transform:scaleY(1)}}@keyframes bpt-web-strand-fade{0%{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(3px)}}.bpt-web-capture{pointer-events:none;align-self:stretch;justify-self:stretch;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(2.1) rotate(-18deg);filter:drop-shadow(0 0 6px rgba(200,230,255,.85)) drop-shadow(0 0 14px rgba(120,180,255,.45));will-change:transform,opacity,filter;animation:bpt-web-capture-land var(--bpt-web-capture-ms, .52s) cubic-bezier(.18,.7,.3,1.2) forwards;animation-delay:var(--bpt-web-strand-ms, .26s)}.bpt-web-capture svg{width:100%;height:100%}.bpt-web-capture svg [fill="#4caf50"],.bpt-web-capture svg [fill="#4CAF50"]{fill:#e6f0ff;animation:bpt-web-capture-fill var(--bpt-web-capture-ms, .52s) ease-out forwards;animation-delay:var(--bpt-web-strand-ms, .26s)}@keyframes bpt-web-capture-fill{0%{fill:#e6f0ff}55%{fill:#e6f0ff}to{fill:#4caf50}}@keyframes bpt-web-capture-land{0%{opacity:0;transform:scale(2.1) rotate(-18deg);filter:blur(2px) drop-shadow(0 0 10px rgba(200,230,255,.9))}35%{opacity:1;transform:scale(1.15) rotate(-4deg);filter:blur(0) drop-shadow(0 0 12px rgba(200,230,255,.95))}55%{opacity:1;transform:scale(.9) rotate(2deg)}80%{opacity:1;transform:scale(1.02) rotate(0)}to{opacity:1;transform:scale(1) rotate(0);filter:blur(0) drop-shadow(0 0 4px rgba(120,200,140,.35))}}.bpt-web-burst{pointer-events:none;align-self:stretch;justify-self:stretch;min-width:0;min-height:0;border-radius:50%;background:radial-gradient(circle at center,#ffffffe6,#c8e6ff99 35%,#a0c8ff33 65%,#0000);opacity:0;transform:scale(.4);mix-blend-mode:screen;will-change:transform,opacity;animation:bpt-web-burst var(--bpt-web-capture-ms, .52s) ease-out forwards;animation-delay:var(--bpt-web-strand-ms, .26s)}@keyframes bpt-web-burst{0%{opacity:0;transform:scale(.4)}20%{opacity:.9;transform:scale(1.15)}45%{opacity:.4;transform:scale(1.4)}to{opacity:0;transform:scale(1.6)}}.bpt-gnaw-overlay{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:5px;padding:10px;pointer-events:none;z-index:5;box-sizing:border-box}.bpt-gnaw-victim{position:relative;align-self:stretch;justify-self:stretch;min-width:0;min-height:0;pointer-events:none;will-change:transform;animation:bpt-gnaw-victim-shake var(--bpt-gnaw-cycle-ms, .72s) ease-in-out forwards;animation-delay:var(--bpt-gnaw-stagger, 0ms)}@keyframes bpt-gnaw-victim-shake{0%,8%,90%,to{transform:translate(0) rotate(0)}15%,31%,47%,63%,79%{transform:translate(-3px,1px) rotate(-1.2deg)}23%,39%,55%,71%,87%{transform:translate(3px,-1px) rotate(1.2deg)}}.bpt-gnaw-jaw{position:absolute;left:0;width:100%;height:50%;filter:drop-shadow(0 1px 2px rgba(60,25,0,.55)) drop-shadow(0 0 4px rgba(255,240,200,.45));will-change:transform,opacity}.bpt-gnaw-jaw path{fill:#fff8e6;stroke:#78461ed9;stroke-width:1.2;stroke-linejoin:miter;stroke-linecap:round}.bpt-gnaw-jaw-upper{top:0;transform:translateY(-110%);opacity:0;animation:bpt-gnaw-chomp-upper var(--bpt-gnaw-cycle-ms, .72s) cubic-bezier(.3,.65,.4,1) forwards;animation-delay:var(--bpt-gnaw-stagger, 0ms)}.bpt-gnaw-jaw-lower{bottom:0;transform:translateY(110%);opacity:0;animation:bpt-gnaw-chomp-lower var(--bpt-gnaw-cycle-ms, .72s) cubic-bezier(.3,.65,.4,1) forwards;animation-delay:var(--bpt-gnaw-stagger, 0ms)}@keyframes bpt-gnaw-chomp-upper{0%{transform:translateY(-110%);opacity:0}10%{transform:translateY(0);opacity:1}22%{transform:translateY(80%);opacity:1}34%{transform:translateY(0);opacity:1}48%{transform:translateY(80%);opacity:1}60%{transform:translateY(0);opacity:1}74%{transform:translateY(80%);opacity:1}86%{transform:translateY(0);opacity:1}to{transform:translateY(-110%);opacity:0}}@keyframes bpt-gnaw-chomp-lower{0%{transform:translateY(110%);opacity:0}10%{transform:translateY(0);opacity:1}22%{transform:translateY(-80%);opacity:1}34%{transform:translateY(0);opacity:1}48%{transform:translateY(-80%);opacity:1}60%{transform:translateY(0);opacity:1}74%{transform:translateY(-80%);opacity:1}86%{transform:translateY(0);opacity:1}to{transform:translateY(110%);opacity:0}}.bpt-gnaw-burst{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at center,#ffdcc8d9,#dc321ed9 25%,#7800008c 60%,#32000000);box-shadow:inset 0 0 18px #ff503cb3,0 0 14px #b414008c;opacity:0;transform:scale(.4);mix-blend-mode:screen;will-change:transform,opacity,filter;animation:bpt-gnaw-burst var(--bpt-gnaw-burst-ms, .38s) ease-out forwards;animation-delay:calc(var(--bpt-gnaw-stagger, 0ms) + var(--bpt-gnaw-cycle-ms, .72s) - .12s)}@keyframes bpt-gnaw-burst{0%{opacity:0;transform:scale(.4);filter:brightness(1.4)}20%{opacity:1;transform:scale(1.12);filter:brightness(1.6)}55%{opacity:.7;transform:scale(1.3);filter:brightness(1.1)}to{opacity:0;transform:scale(1.55);filter:brightness(.85)}}.bpt-bonemeld-overlay{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:5px;padding:10px;pointer-events:none;z-index:5;box-sizing:border-box}.bpt-bonemeld-dissipate{align-self:stretch;justify-self:stretch;min-width:0;min-height:0;position:relative;border-radius:50%;background:radial-gradient(circle at center,#dce6ffd9,#9682dc8c 45%,#3c285a00);box-shadow:inset 0 0 18px #c8c8ff99;mix-blend-mode:screen;opacity:0;transform:scale(.55);pointer-events:none;will-change:transform,opacity;animation:bpt-bonemeld-dissipate var(--bpt-bonemeld-dissipate-ms, .22s) ease-out forwards}@keyframes bpt-bonemeld-dissipate{0%{opacity:0;transform:scale(.55)}35%{opacity:.95;transform:scale(1.15)}to{opacity:0;transform:scale(1.5)}}.bpt-bonemeld-trail{position:relative;align-self:stretch;justify-self:stretch;min-width:0;min-height:0;pointer-events:none}.bpt-bonemeld-bone{position:absolute;font-size:1.2rem;line-height:1;filter:drop-shadow(0 0 6px rgba(220,210,255,.85)) drop-shadow(0 0 2px rgba(80,60,140,.7));opacity:0;pointer-events:none;will-change:transform,opacity,left,top;animation-duration:var(--bpt-bonemeld-fly-ms, .52s);animation-delay:var(--bpt-bonemeld-bone-delay, 0ms);animation-fill-mode:forwards;animation-timing-function:cubic-bezier(.45,0,.5,1)}.bpt-bonemeld-trail-left .bpt-bonemeld-bone{top:50%;animation-name:bpt-bonemeld-fly-right}.bpt-bonemeld-trail-right .bpt-bonemeld-bone{top:50%;animation-name:bpt-bonemeld-fly-left}.bpt-bonemeld-trail-top .bpt-bonemeld-bone{left:50%;animation-name:bpt-bonemeld-fly-down}.bpt-bonemeld-trail-bottom .bpt-bonemeld-bone{left:50%;animation-name:bpt-bonemeld-fly-up}@keyframes bpt-bonemeld-fly-right{0%{left:25%;opacity:0;transform:translate(-50%,calc(-50% + var(--bpt-bonemeld-bone-spread, 0px))) scale(.5) rotate(0)}18%{opacity:1}82%{opacity:1;transform:translate(-50%,calc(-50% + var(--bpt-bonemeld-bone-spread, 0px))) scale(1.1) rotate(calc(var(--bpt-bonemeld-bone-rot, 720deg) * .85))}to{left:75%;opacity:0;transform:translate(-50%,calc(-50% + var(--bpt-bonemeld-bone-spread, 0px) * .4)) scale(.45) rotate(var(--bpt-bonemeld-bone-rot, 720deg))}}@keyframes bpt-bonemeld-fly-left{0%{left:75%;opacity:0;transform:translate(-50%,calc(-50% + var(--bpt-bonemeld-bone-spread, 0px))) scale(.5) rotate(0)}18%{opacity:1}82%{opacity:1;transform:translate(-50%,calc(-50% + var(--bpt-bonemeld-bone-spread, 0px))) scale(1.1) rotate(calc(var(--bpt-bonemeld-bone-rot, 720deg) * -.85))}to{left:25%;opacity:0;transform:translate(-50%,calc(-50% + var(--bpt-bonemeld-bone-spread, 0px) * .4)) scale(.45) rotate(calc(var(--bpt-bonemeld-bone-rot, 720deg) * -1))}}@keyframes bpt-bonemeld-fly-down{0%{top:25%;opacity:0;transform:translate(calc(-50% + var(--bpt-bonemeld-bone-spread, 0px)),-50%) scale(.5) rotate(0)}18%{opacity:1}82%{opacity:1;transform:translate(calc(-50% + var(--bpt-bonemeld-bone-spread, 0px)),-50%) scale(1.1) rotate(calc(var(--bpt-bonemeld-bone-rot, 720deg) * .85))}to{top:75%;opacity:0;transform:translate(calc(-50% + var(--bpt-bonemeld-bone-spread, 0px) * .4),-50%) scale(.45) rotate(var(--bpt-bonemeld-bone-rot, 720deg))}}@keyframes bpt-bonemeld-fly-up{0%{top:75%;opacity:0;transform:translate(calc(-50% + var(--bpt-bonemeld-bone-spread, 0px)),-50%) scale(.5) rotate(0)}18%{opacity:1}82%{opacity:1;transform:translate(calc(-50% + var(--bpt-bonemeld-bone-spread, 0px)),-50%) scale(1.1) rotate(calc(var(--bpt-bonemeld-bone-rot, 720deg) * -.85))}to{top:25%;opacity:0;transform:translate(calc(-50% + var(--bpt-bonemeld-bone-spread, 0px) * .4),-50%) scale(.45) rotate(calc(var(--bpt-bonemeld-bone-rot, 720deg) * -1))}}.bpt-bonemeld-flash{align-self:stretch;justify-self:stretch;min-width:0;min-height:0;position:relative;border-radius:50%;background:radial-gradient(circle at center,#fffaebf2,#c8b4ffbf 28%,#825fdc73 58%,#28145000);box-shadow:inset 0 0 22px #dcc8ffb3,0 0 28px #a078f08c;mix-blend-mode:screen;opacity:0;transform:scale(.45);pointer-events:none;will-change:transform,opacity,filter;animation:bpt-bonemeld-flash var(--bpt-bonemeld-flash-ms, .42s) ease-out forwards;animation-delay:var(--bpt-bonemeld-flash-offset-ms, .38s)}@keyframes bpt-bonemeld-flash{0%{opacity:0;transform:scale(.45);filter:brightness(1.3)}22%{opacity:1;transform:scale(1.3);filter:brightness(1.8)}55%{opacity:.85;transform:scale(1.15);filter:brightness(1.3)}to{opacity:0;transform:scale(1.45);filter:brightness(.9)}}.bpt-kamikaze-overlay{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:5px;padding:10px;pointer-events:none;z-index:6;box-sizing:border-box}.bpt-kamikaze-primer{align-self:stretch;justify-self:stretch;min-width:0;min-height:0;position:relative;border-radius:35%;background:radial-gradient(circle at center,#fff0c8d9,#ffa03ca6 40%,#b4281459 75%,#280a0000);box-shadow:inset 0 0 14px #ffc864b3,0 0 18px #ff78288c;mix-blend-mode:screen;opacity:0;transform:scale(.6);pointer-events:none;will-change:transform,opacity,filter;animation:bpt-kamikaze-primer var(--bpt-kamikaze-primer-ms, .18s) ease-out forwards}@keyframes bpt-kamikaze-primer{0%{opacity:0;transform:scale(.6);filter:brightness(1)}60%{opacity:1;transform:scale(1.1);filter:brightness(1.6)}to{opacity:.9;transform:scale(1.25);filter:brightness(2)}}.bpt-kamikaze-blast{position:relative;align-self:stretch;justify-self:stretch;min-width:0;min-height:0;pointer-events:none}.bpt-kamikaze-blast-core{position:absolute;top:50%;left:50%;width:110%;height:110%;border-radius:50%;background:radial-gradient(circle at center,#fffff0fa,#ffdc82e6 22%,#ff8228bf 48%,#b4281473 72%,#28080000);box-shadow:inset 0 0 30px #ffdca0bf,0 0 36px #ff8c32a6;mix-blend-mode:screen;opacity:0;transform:translate(-50%,-50%) scale(.2);pointer-events:none;will-change:transform,opacity,filter;animation:bpt-kamikaze-blast-core var(--bpt-kamikaze-blast-ms, .52s) cubic-bezier(.18,.68,.34,1) forwards;animation-delay:var(--bpt-kamikaze-blast-delay, .18s)}@keyframes bpt-kamikaze-blast-core{0%{opacity:0;transform:translate(-50%,-50%) scale(.2);filter:brightness(1.4)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.05);filter:brightness(2.2)}46%{opacity:.95;transform:translate(-50%,-50%) scale(1.25);filter:brightness(1.8)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5);filter:brightness(.9)}}.bpt-kamikaze-blast-ring{position:absolute;top:50%;left:50%;width:60%;height:60%;border-radius:50%;border:3px solid rgba(255,220,140,.85);box-shadow:0 0 18px #ffaa46b3,inset 0 0 12px #ffdca080;opacity:0;transform:translate(-50%,-50%) scale(.3);pointer-events:none;mix-blend-mode:screen;will-change:transform,opacity,border-width;animation:bpt-kamikaze-blast-ring var(--bpt-kamikaze-ring-ms, .56s) cubic-bezier(.22,.6,.32,1) forwards;animation-delay:var(--bpt-kamikaze-blast-delay, .18s)}@keyframes bpt-kamikaze-blast-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.3);border-width:3px}20%{opacity:1;transform:translate(-50%,-50%) scale(1);border-width:4px}to{opacity:0;transform:translate(-50%,-50%) scale(2.4);border-width:1px}}.bpt-kamikaze-shard{position:absolute;top:50%;left:50%;width:9px;height:9px;border-radius:40%;background:radial-gradient(circle at center,#fffadcf2,#ffb450d9,#b4321400);box-shadow:0 0 10px #ffaa46d9;mix-blend-mode:screen;opacity:0;transform:translate(-50%,-50%) rotate(var(--bpt-kamikaze-shard-angle, 0deg)) translate(0) rotate(0) scale(.6);pointer-events:none;will-change:transform,opacity;animation:bpt-kamikaze-shard var(--bpt-kamikaze-shard-ms, .62s) cubic-bezier(.2,.55,.3,1) forwards;animation-delay:calc(var(--bpt-kamikaze-blast-delay, .18s) + var(--bpt-kamikaze-shard-delay, 0ms))}@keyframes bpt-kamikaze-shard{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--bpt-kamikaze-shard-angle, 0deg)) translate(0) rotate(0) scale(.4)}18%{opacity:1;transform:translate(-50%,-50%) rotate(var(--bpt-kamikaze-shard-angle, 0deg)) translate(calc(var(--bpt-kamikaze-shard-distance, 60%) * .3)) rotate(calc(var(--bpt-kamikaze-shard-rot, 360deg) * .2)) scale(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--bpt-kamikaze-shard-angle, 0deg)) translate(var(--bpt-kamikaze-shard-distance, 60%)) rotate(var(--bpt-kamikaze-shard-rot, 360deg)) scale(.5)}}.bpt-haunt-overlay{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:5px;padding:10px;pointer-events:none;z-index:6;box-sizing:border-box}.bpt-haunt-spirit{pointer-events:none;align-self:stretch;justify-self:stretch;min-width:0;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;opacity:0;will-change:transform,opacity,filter;filter:drop-shadow(0 0 8px rgba(200,170,255,.85)) drop-shadow(0 0 18px rgba(140,90,220,.55))}.bpt-haunt-spirit-glyph{font-size:1.6rem;line-height:1;display:inline-block;transform:translateZ(0);will-change:transform,opacity}.bpt-haunt-spirit-trail{position:absolute;inset:0;pointer-events:none;border-radius:50%;background:radial-gradient(circle at center,#dcc8ff8c,#a06ee64d 40%,#50288c1a,#0000);mix-blend-mode:screen;filter:blur(4px);opacity:0;animation:bpt-haunt-trail var(--bpt-haunt-drift-ms, .52s) ease-out forwards}.bpt-haunt-spirit.dir-right{animation:bpt-haunt-drift-right var(--bpt-haunt-drift-ms, .52s) cubic-bezier(.3,.05,.2,1) forwards,bpt-haunt-fade var(--bpt-haunt-fade-ms, .26s) ease-out forwards;animation-delay:0ms,calc(var(--bpt-haunt-drift-ms, .52s) + var(--bpt-haunt-possess-ms, .42s))}.bpt-haunt-spirit.dir-left{animation:bpt-haunt-drift-left var(--bpt-haunt-drift-ms, .52s) cubic-bezier(.3,.05,.2,1) forwards,bpt-haunt-fade var(--bpt-haunt-fade-ms, .26s) ease-out forwards;animation-delay:0ms,calc(var(--bpt-haunt-drift-ms, .52s) + var(--bpt-haunt-possess-ms, .42s))}.bpt-haunt-spirit.dir-down{animation:bpt-haunt-drift-down var(--bpt-haunt-drift-ms, .52s) cubic-bezier(.3,.05,.2,1) forwards,bpt-haunt-fade var(--bpt-haunt-fade-ms, .26s) ease-out forwards;animation-delay:0ms,calc(var(--bpt-haunt-drift-ms, .52s) + var(--bpt-haunt-possess-ms, .42s))}.bpt-haunt-spirit.dir-up{animation:bpt-haunt-drift-up var(--bpt-haunt-drift-ms, .52s) cubic-bezier(.3,.05,.2,1) forwards,bpt-haunt-fade var(--bpt-haunt-fade-ms, .26s) ease-out forwards;animation-delay:0ms,calc(var(--bpt-haunt-drift-ms, .52s) + var(--bpt-haunt-possess-ms, .42s))}@keyframes bpt-haunt-drift-right{0%{opacity:0;transform:translate(0) translateY(0) scale(.4) rotate(-6deg)}15%{opacity:1;transform:translate(calc(15% + 1px)) translateY(-3px) scale(.95) rotate(-3deg)}50%{opacity:1;transform:translate(calc(50% + 2.5px)) translateY(-5px) scale(1.05) rotate(2deg)}85%{opacity:1;transform:translate(calc(85% + 4px)) translateY(-2px) scale(1) rotate(-1deg)}to{opacity:1;transform:translate(calc(100% + 5px)) translateY(0) scale(1) rotate(0)}}@keyframes bpt-haunt-drift-left{0%{opacity:0;transform:translate(0) translateY(0) scale(.4) rotate(6deg)}15%{opacity:1;transform:translate(calc(-15% - 1px)) translateY(-3px) scale(.95) rotate(3deg)}50%{opacity:1;transform:translate(calc(-50% - 2.5px)) translateY(-5px) scale(1.05) rotate(-2deg)}85%{opacity:1;transform:translate(calc(-85% - 4px)) translateY(-2px) scale(1) rotate(1deg)}to{opacity:1;transform:translate(calc(-100% - 5px)) translateY(0) scale(1) rotate(0)}}@keyframes bpt-haunt-drift-down{0%{opacity:0;transform:translateY(0) translate(0) scale(.4) rotate(-4deg)}15%{opacity:1;transform:translateY(calc(15% + 1px)) translate(3px) scale(.95) rotate(2deg)}50%{opacity:1;transform:translateY(calc(50% + 2.5px)) translate(-3px) scale(1.05) rotate(-3deg)}85%{opacity:1;transform:translateY(calc(85% + 4px)) translate(2px) scale(1) rotate(1deg)}to{opacity:1;transform:translateY(calc(100% + 5px)) translate(0) scale(1) rotate(0)}}@keyframes bpt-haunt-drift-up{0%{opacity:0;transform:translateY(0) translate(0) scale(.4) rotate(4deg)}15%{opacity:1;transform:translateY(calc(-15% - 1px)) translate(3px) scale(.95) rotate(-2deg)}50%{opacity:1;transform:translateY(calc(-50% - 2.5px)) translate(-3px) scale(1.05) rotate(3deg)}85%{opacity:1;transform:translateY(calc(-85% - 4px)) translate(2px) scale(1) rotate(-1deg)}to{opacity:1;transform:translateY(calc(-100% - 5px)) translate(0) scale(1) rotate(0)}}@keyframes bpt-haunt-fade{0%{opacity:1;filter:drop-shadow(0 0 8px rgba(200,170,255,.85)) drop-shadow(0 0 18px rgba(140,90,220,.55))}to{opacity:0;filter:drop-shadow(0 0 0 rgba(200,170,255,0)) drop-shadow(0 0 0 rgba(140,90,220,0)) blur(2px)}}@keyframes bpt-haunt-trail{0%{opacity:0;transform:scale(.3)}30%{opacity:.9;transform:scale(1)}70%{opacity:.5;transform:scale(1.25)}to{opacity:0;transform:scale(1.4)}}.bpt-haunt-aura{pointer-events:none;align-self:stretch;justify-self:stretch;min-width:0;min-height:0;border-radius:8px;background:radial-gradient(circle at center,#dcc8ff73,#a06ee64d 45%,#50288c1a 75%,#0000);mix-blend-mode:screen;opacity:0;transform:scale(.6);will-change:transform,opacity,filter;filter:blur(2px);animation:bpt-haunt-aura-pulse var(--bpt-haunt-possess-ms, .42s) cubic-bezier(.2,.7,.3,1.1) forwards,bpt-haunt-fade var(--bpt-haunt-fade-ms, .26s) ease-out forwards;animation-delay:var(--bpt-haunt-drift-ms, .52s),calc(var(--bpt-haunt-drift-ms, .52s) + var(--bpt-haunt-possess-ms, .42s))}@keyframes bpt-haunt-aura-pulse{0%{opacity:0;transform:scale(.6);filter:blur(4px)}25%{opacity:.95;transform:scale(1.25);filter:blur(2px)}55%{opacity:.85;transform:scale(1.05);filter:blur(1px)}80%{opacity:.95;transform:scale(1.15);filter:blur(2px)}to{opacity:.9;transform:scale(1);filter:blur(2px)}}.bpt-trample-overlay{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:5px;padding:10px;pointer-events:none;z-index:5;box-sizing:border-box}.bpt-trample-beam{pointer-events:none;align-self:stretch;justify-self:stretch;min-width:0;min-height:0;border-radius:10px;filter:blur(1px);mix-blend-mode:screen;will-change:transform,opacity,filter;opacity:1}.bpt-trample-beam.beam-h{transform:scaleX(0);animation:bpt-trample-grow-h var(--bpt-trample-grow-ms, .32s) cubic-bezier(.18,.85,.35,1) forwards,bpt-trample-rumble 90ms steps(2,jump-end) infinite,bpt-trample-fade var(--bpt-trample-fade-ms, .26s) ease-in forwards;animation-delay:0ms,0ms,var(--bpt-trample-grow-ms, .32s)}.bpt-trample-beam.beam-v{transform:scaleY(0);animation:bpt-trample-grow-v var(--bpt-trample-grow-ms, .32s) cubic-bezier(.18,.85,.35,1) forwards,bpt-trample-rumble 90ms steps(2,jump-end) infinite,bpt-trample-fade var(--bpt-trample-fade-ms, .26s) ease-in forwards;animation-delay:0ms,0ms,var(--bpt-trample-grow-ms, .32s)}.bpt-trample-beam.beam-h.dir-right{background:linear-gradient(90deg,#f5d7a0f2,#c89650e6 25%,#a05f28d9,#783214b3 85%,#3c190a59);box-shadow:0 0 14px #c8823cb3,0 0 28px #8c461e80}.bpt-trample-beam.beam-h.dir-left{background:linear-gradient(270deg,#f5d7a0f2,#c89650e6 25%,#a05f28d9,#783214b3 85%,#3c190a59);box-shadow:0 0 14px #c8823cb3,0 0 28px #8c461e80}.bpt-trample-beam.beam-v.dir-down{background:linear-gradient(180deg,#f5d7a0f2,#c89650e6 25%,#a05f28d9,#783214b3 85%,#3c190a59);box-shadow:0 0 14px #c8823cb3,0 0 28px #8c461e80}.bpt-trample-beam.beam-v.dir-up{background:linear-gradient(0deg,#f5d7a0f2,#c89650e6 25%,#a05f28d9,#783214b3 85%,#3c190a59);box-shadow:0 0 14px #c8823cb3,0 0 28px #8c461e80}@keyframes bpt-trample-grow-h{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes bpt-trample-grow-v{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes bpt-trample-rumble{0%{filter:blur(1px) brightness(1)}50%{filter:blur(2.4px) brightness(1.25)}to{filter:blur(1.2px) brightness(1.05)}}@keyframes bpt-trample-fade{0%{opacity:1;filter:blur(2px) brightness(1.1)}60%{opacity:.5;filter:blur(6px) brightness(.95)}to{opacity:0;filter:blur(12px) brightness(.8)}}.bpt-trample-stomp{pointer-events:none;align-self:stretch;justify-self:stretch;min-width:0;min-height:0;border-radius:8px;background:radial-gradient(circle at center,#ffebaff2,#d29646d9,#8c411980 70%,#28120800);box-shadow:inset 0 0 18px #ffdc96b3,0 0 16px #b45a1ea6;opacity:0;transform:scale(.55);mix-blend-mode:screen;will-change:transform,opacity,filter;animation:bpt-trample-stomp-flash .42s cubic-bezier(.22,.9,.4,1) forwards;animation-delay:var(--bpt-trample-stomp-delay, 0ms)}.bpt-trample-stomp-ring{pointer-events:none;align-self:center;justify-self:center;width:60%;height:60%;border-radius:50%;border:2px solid rgba(245,210,150,.85);box-shadow:0 0 12px #dc9646b3,inset 0 0 8px #ffe6aa73;opacity:0;transform:scale(.3);mix-blend-mode:screen;will-change:transform,opacity;animation:bpt-trample-ring .52s ease-out forwards;animation-delay:var(--bpt-trample-stomp-delay, 0ms)}@keyframes bpt-trample-stomp-flash{0%{opacity:0;transform:scale(.5);filter:brightness(1.3)}20%{opacity:1;transform:scale(1.15);filter:brightness(1.7)}55%{opacity:.85;transform:scale(1);filter:brightness(1.15)}to{opacity:0;transform:scale(.95);filter:brightness(.85)}}@keyframes bpt-trample-ring{0%{opacity:0;transform:scale(.3);border-width:3px}25%{opacity:.95;transform:scale(.9);border-width:2.5px}to{opacity:0;transform:scale(1.9);border-width:.5px}}.bpt-stomp-overlay{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:5px;padding:10px;pointer-events:none;z-index:5;box-sizing:border-box}.bpt-stomp-windup{pointer-events:none;align-self:stretch;justify-self:stretch;min-width:0;min-height:0;border-radius:12px;background:radial-gradient(circle at center,#dcb4788c,#96643766 55%,#3c231200);opacity:0;transform:scale(.85);mix-blend-mode:screen;will-change:transform,opacity,filter;animation:bpt-stomp-windup var(--bpt-stomp-windup-ms, .32s) ease-out forwards}.bpt-stomp-windup-glow{pointer-events:none;align-self:center;justify-self:center;width:110%;height:110%;border-radius:50%;border:2px solid rgba(255,220,140,.5);box-shadow:0 0 18px #dca04680,inset 0 0 12px #ffd78c66;opacity:0;transform:scale(.5);mix-blend-mode:screen;will-change:transform,opacity;animation:bpt-stomp-windup-glow var(--bpt-stomp-windup-ms, .32s) ease-out forwards}@keyframes bpt-stomp-windup{0%{opacity:0;transform:scale(.8) translateY(0);filter:brightness(1) blur(0)}35%{opacity:.7;transform:scale(1.08) translateY(-2px);filter:brightness(1.4) blur(1px)}55%{opacity:.95;transform:scale(1.15) translateY(-4px);filter:brightness(1.7) blur(2px)}80%{opacity:.7;transform:scale(1.1) translateY(-2px);filter:brightness(1.4) blur(1px)}to{opacity:0;transform:scale(.95) translateY(0);filter:brightness(.9) blur(0)}}@keyframes bpt-stomp-windup-glow{0%{opacity:0;transform:scale(.5);border-width:2px}60%{opacity:.9;transform:scale(1);border-width:2.5px}to{opacity:0;transform:scale(1.55);border-width:.5px}}.bpt-stomp-shadow{pointer-events:none;align-self:stretch;justify-self:stretch;min-width:0;min-height:0;border-radius:14px;background:radial-gradient(ellipse at center,#0f0804f2,#28190ebf 45%,#462d1959 75%,#3c281400);opacity:0;transform:scale(2.8);filter:blur(12px);will-change:transform,opacity,filter;animation:bpt-stomp-shadow var(--bpt-stomp-windup-ms, .32s) cubic-bezier(.4,.05,.7,1) forwards}@keyframes bpt-stomp-shadow{0%{opacity:0;transform:scale(2.8);filter:blur(12px)}35%{opacity:.55;transform:scale(2);filter:blur(8px)}78%{opacity:.85;transform:scale(1.2);filter:blur(3px)}94%{opacity:.95;transform:scale(1.02);filter:blur(1px)}to{opacity:0;transform:scale(1);filter:blur(0)}}.bpt-stomp-flash{pointer-events:none;align-self:center;justify-self:center;width:110%;height:110%;border-radius:50%;background:radial-gradient(circle at center,#fffff5,#ffebb4e6 25%,#ffc87899 55%,#b4642833 80%,#28140800);filter:blur(2px);opacity:0;transform:scale(.2);mix-blend-mode:screen;will-change:transform,opacity,filter;animation:bpt-stomp-flash .28s cubic-bezier(.1,.9,.3,1) forwards;animation-delay:var(--bpt-stomp-impact-delay, 0ms)}@keyframes bpt-stomp-flash{0%{opacity:0;transform:scale(.2);filter:blur(1px) brightness(1.8)}18%{opacity:1;transform:scale(1.2);filter:blur(2px) brightness(2.4)}55%{opacity:.6;transform:scale(1);filter:blur(4px) brightness(1.4)}to{opacity:0;transform:scale(.95);filter:blur(8px) brightness(.9)}}.bpt-stomp-impact{pointer-events:none;align-self:stretch;justify-self:stretch;min-width:0;min-height:0;border-radius:10px;background:radial-gradient(circle at center,#fff0c8f2,#e6af6ed9 30%,#965523a6,#28140800);box-shadow:inset 0 0 24px #ffdc96bf,0 0 28px #d28237cc;opacity:0;transform:scale(.4);mix-blend-mode:screen;will-change:transform,opacity,filter;animation:bpt-stomp-impact var(--bpt-stomp-impact-ms, .46s) cubic-bezier(.22,.9,.4,1) forwards;animation-delay:var(--bpt-stomp-impact-delay, 0ms)}.bpt-stomp-impact-side{background:radial-gradient(circle at center,#f5dcafd9,#c8965fbf,#7d4b208c 70%,#1e100600);box-shadow:inset 0 0 18px #f5d29b99,0 0 22px #be6e32a6}@keyframes bpt-stomp-impact{0%{opacity:0;transform:scale(.35) translateY(-2px);filter:brightness(1.5)}14%{opacity:1;transform:scale(1.25) translateY(0);filter:brightness(2.1)}30%{opacity:.95;transform:scale(1.05) translateY(0);filter:brightness(1.5)}60%{opacity:.7;transform:scale(.98) translateY(0);filter:brightness(1.1)}to{opacity:0;transform:scale(.92) translateY(0);filter:brightness(.8)}}.bpt-stomp-ring{pointer-events:none;align-self:center;justify-self:center;width:60%;height:60%;border-radius:50%;border:3px solid rgba(245,215,160,.9);box-shadow:0 0 14px #e1a050bf,inset 0 0 10px #ffebaf80;opacity:0;transform:scale(.25);mix-blend-mode:screen;will-change:transform,opacity;animation:bpt-stomp-ring var(--bpt-stomp-ring-ms, .72s) ease-out forwards;animation-delay:var(--bpt-stomp-impact-delay, 0ms)}.bpt-stomp-ring-1{animation-delay:var(--bpt-stomp-impact-delay, 0ms)}.bpt-stomp-ring-2{animation-delay:calc(var(--bpt-stomp-impact-delay, 0ms) + 90ms);border-color:#ffc882b3;width:56%;height:56%}.bpt-stomp-ring-3{animation-delay:calc(var(--bpt-stomp-impact-delay, 0ms) + .18s);border-color:#ffb4648c;width:52%;height:52%}.bpt-stomp-ring-side{width:55%;height:55%;border-color:#ebc88ccc}@keyframes bpt-stomp-ring{0%{opacity:0;transform:scale(.25);border-width:4px}22%{opacity:1;transform:scale(.95);border-width:3px}to{opacity:0;transform:scale(2.3);border-width:.5px}}.bpt-stomp-crack{pointer-events:none;align-self:stretch;justify-self:stretch;min-width:0;min-height:0;opacity:0;mix-blend-mode:screen;will-change:transform,opacity,filter;animation-delay:var(--bpt-stomp-crack-delay, 0ms)}.bpt-stomp-crack.crack-h{background:linear-gradient(90deg,#ffe6aaf2,#e6aa5ad9,#96552399 70%,#3c1e0c00);height:22%;align-self:center;filter:blur(1.5px);box-shadow:0 0 12px #e6a050cc,0 0 20px #b464288c;border-radius:6px;transform:scaleX(0);animation-name:bpt-stomp-crack-grow-h,bpt-stomp-crack-fade;animation-duration:var(--bpt-stomp-crack-ms, .54s),var(--bpt-stomp-fade-ms, .28s);animation-timing-function:cubic-bezier(.18,.85,.35,1),ease-in;animation-fill-mode:forwards,forwards;animation-delay:var(--bpt-stomp-crack-delay, 0ms),calc(var(--bpt-stomp-crack-delay, 0ms) + var(--bpt-stomp-crack-ms, .54s))}.bpt-stomp-crack.crack-v{background:linear-gradient(180deg,#ffe6aaf2,#e6aa5ad9,#96552399 70%,#3c1e0c00);width:22%;justify-self:center;filter:blur(1.5px);box-shadow:0 0 12px #e6a050cc,0 0 20px #b464288c;border-radius:6px;transform:scaleY(0);animation-name:bpt-stomp-crack-grow-v,bpt-stomp-crack-fade;animation-duration:var(--bpt-stomp-crack-ms, .54s),var(--bpt-stomp-fade-ms, .28s);animation-timing-function:cubic-bezier(.18,.85,.35,1),ease-in;animation-fill-mode:forwards,forwards;animation-delay:var(--bpt-stomp-crack-delay, 0ms),calc(var(--bpt-stomp-crack-delay, 0ms) + var(--bpt-stomp-crack-ms, .54s))}@keyframes bpt-stomp-crack-grow-h{0%{opacity:0;transform:scaleX(0)}15%{opacity:1;transform:scaleX(.3)}to{opacity:1;transform:scaleX(1)}}@keyframes bpt-stomp-crack-grow-v{0%{opacity:0;transform:scaleY(0)}15%{opacity:1;transform:scaleY(.3)}to{opacity:1;transform:scaleY(1)}}@keyframes bpt-stomp-crack-fade{0%{opacity:1;filter:blur(1.5px) brightness(1.1)}60%{opacity:.4;filter:blur(4px) brightness(.95)}to{opacity:0;filter:blur(8px) brightness(.8)}}.bpt-stomp-burst{pointer-events:none;position:relative;align-self:stretch;justify-self:stretch;min-width:0;min-height:0}.bpt-stomp-shard{position:absolute;left:50%;top:50%;width:16%;height:7%;margin-left:-8%;margin-top:-3.5%;border-radius:2px;background:linear-gradient(90deg,#fadca5f2,#c89655eb 35%,#784b23d9 75%,#371e0cb3);box-shadow:0 0 8px #e1a04ba6,inset 0 0 4px #ffe6aa80;opacity:0;transform-origin:center;transform:rotate(var(--bpt-stomp-shard-angle, 0deg)) translate(0) rotate(0) scale(0);mix-blend-mode:screen;will-change:transform,opacity;animation:bpt-stomp-shard-fly var(--bpt-stomp-shard-ms, .76s) cubic-bezier(.2,.7,.4,1) forwards;animation-delay:calc(var(--bpt-stomp-impact-delay, 0ms) + var(--bpt-stomp-shard-delay, 0ms))}.bpt-stomp-shard-side{width:13%;height:6%;margin-left:-6.5%;margin-top:-3%}@keyframes bpt-stomp-shard-fly{0%{opacity:0;transform:rotate(var(--bpt-stomp-shard-angle, 0deg)) translate(0) rotate(0) scale(.3);filter:brightness(1.6)}12%{opacity:1;transform:rotate(var(--bpt-stomp-shard-angle, 0deg)) translate(18%) rotate(calc(var(--bpt-stomp-shard-rot, 360deg) * .18)) scale(var(--bpt-stomp-shard-size, 1));filter:brightness(1.7)}70%{opacity:.9;transform:rotate(var(--bpt-stomp-shard-angle, 0deg)) translate(calc(var(--bpt-stomp-shard-distance, 80%) * .85)) rotate(calc(var(--bpt-stomp-shard-rot, 360deg) * .75)) scale(calc(var(--bpt-stomp-shard-size, 1) * .9));filter:brightness(1.2)}to{opacity:0;transform:rotate(var(--bpt-stomp-shard-angle, 0deg)) translate(var(--bpt-stomp-shard-distance, 80%)) rotate(var(--bpt-stomp-shard-rot, 360deg)) scale(calc(var(--bpt-stomp-shard-size, 1) * .55));filter:brightness(.7)}}.bpt-stomp-dust{pointer-events:none;align-self:stretch;justify-self:stretch;min-width:0;min-height:0;border-radius:50%;background:radial-gradient(circle at center,#c8aa82b3,#96735080 45%,#50371e33 75%,#3c281400);opacity:0;transform:scale(.55);filter:blur(3px);will-change:transform,opacity,filter;animation:bpt-stomp-dust var(--bpt-stomp-dust-ms, .82s) ease-out forwards;animation-delay:var(--bpt-stomp-impact-delay, 0ms)}.bpt-stomp-dust-side{background:radial-gradient(circle at center,#bea0788c,#8c694666,#3c281400)}@keyframes bpt-stomp-dust{0%{opacity:0;transform:scale(.5) translateY(0);filter:blur(2px)}18%{opacity:.95;transform:scale(1.15) translateY(-2px);filter:blur(4px)}55%{opacity:.65;transform:scale(1.45) translateY(-6px);filter:blur(7px)}to{opacity:0;transform:scale(1.85) translateY(-12px);filter:blur(12px)}}.bpt-stomp-aftershock{pointer-events:none;align-self:center;justify-self:center;width:65%;height:65%;border-radius:50%;border:2px solid rgba(245,210,150,.7);box-shadow:0 0 12px #dc96468c,inset 0 0 8px #ffe1a566;opacity:0;transform:scale(.4);mix-blend-mode:screen;will-change:transform,opacity;animation:bpt-stomp-aftershock var(--bpt-stomp-aftershock-ms, .32s) ease-out forwards;animation-delay:var(--bpt-stomp-aftershock-delay, 0ms)}@keyframes bpt-stomp-aftershock{0%{opacity:0;transform:scale(.4);border-width:3px}30%{opacity:.8;transform:scale(.9);border-width:2px}to{opacity:0;transform:scale(1.7);border-width:.5px}}.bpt-devouring-overlay{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:5px;padding:10px;pointer-events:none;z-index:6;box-sizing:border-box}.bpt-devouring-aura{align-self:stretch;justify-self:stretch;min-width:0;min-height:0;position:relative;border-radius:35%;background:radial-gradient(circle at center,#b4ff78d9,#50c83ca6 35%,#28821e66 65%,#0a320a00);box-shadow:inset 0 0 14px #b4ff8ca6,0 0 22px #6edc468c;mix-blend-mode:screen;opacity:0;transform:scale(.55);will-change:transform,opacity,filter;animation:bpt-devouring-aura-build var(--bpt-devouring-build-ms, .22s) ease-out forwards,bpt-devouring-aura-pulse var(--bpt-devouring-pulse-ms, .52s) cubic-bezier(.2,.6,.3,1) forwards;animation-delay:0ms,var(--bpt-devouring-build-ms, .22s)}@keyframes bpt-devouring-aura-build{0%{opacity:0;transform:scale(.55);filter:brightness(.9) saturate(1)}to{opacity:.9;transform:scale(1);filter:brightness(1.5) saturate(1.4)}}@keyframes bpt-devouring-aura-pulse{0%{opacity:.9;transform:scale(1);filter:brightness(1.5) saturate(1.4)}25%{opacity:1;transform:scale(1.18);filter:brightness(1.9) saturate(1.6)}55%{opacity:.85;transform:scale(1.05);filter:brightness(1.5) saturate(1.4)}78%{opacity:.95;transform:scale(1.12);filter:brightness(1.7) saturate(1.5)}to{opacity:0;transform:scale(.95);filter:brightness(1) saturate(1)}}.bpt-devouring-fangs{align-self:stretch;justify-self:stretch;min-width:0;min-height:0;position:relative;pointer-events:none;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 6px rgba(255,240,200,.85)) drop-shadow(0 0 14px rgba(120,220,70,.6))}.bpt-devouring-fang{position:absolute;top:50%;font-size:.95rem;line-height:1;opacity:0;will-change:transform,opacity;animation:bpt-devouring-fang var(--bpt-devouring-fangs-ms, .64s) cubic-bezier(.25,.6,.3,1) forwards;animation-delay:var(--bpt-devouring-build-ms, .22s)}.bpt-devouring-fang-left{left:18%;transform:translate(-50%,-50%) rotate(-12deg) scale(.4)}.bpt-devouring-fang-right{left:82%;transform:translate(-50%,-50%) rotate(12deg) scale(.4)}@keyframes bpt-devouring-fang{0%{opacity:0;transform:translate(-50%,-10%) rotate(0) scale(.4)}25%{opacity:1;transform:translate(-50%,-55%) rotate(var(--rot, 0deg)) scale(1.1)}55%{opacity:1;transform:translate(-50%,-50%) rotate(var(--rot, 0deg)) scale(1)}85%{opacity:.9;transform:translate(-50%,-45%) rotate(var(--rot, 0deg)) scale(1.05)}to{opacity:0;transform:translate(-50%,-30%) rotate(var(--rot, 0deg)) scale(.7)}}.bpt-devouring-fang-left{--rot: -12deg}.bpt-devouring-fang-right{--rot: 12deg}.bpt-devouring-yummy{align-self:stretch;justify-self:stretch;min-width:0;min-height:0;position:relative;pointer-events:none;display:flex;align-items:center;justify-content:center}.bpt-devouring-yummy-text{position:absolute;top:50%;left:50%;font-family:Comic Sans MS,Chalkboard SE,cursive,system-ui,sans-serif;font-weight:800;font-size:1.1rem;letter-spacing:.02em;color:#f4ffd6;text-shadow:0 0 6px rgba(180,255,120,.95),0 0 14px rgba(110,220,70,.75),0 2px 0 rgba(20,60,10,.85);opacity:0;white-space:nowrap;transform:translate(-50%,-50%) scale(.4) rotate(-6deg);will-change:transform,opacity;animation:bpt-devouring-yummy var(--bpt-devouring-yummy-ms, .9s) cubic-bezier(.2,.7,.3,1) forwards;animation-delay:var(--bpt-devouring-build-ms, .22s)}@keyframes bpt-devouring-yummy{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(-6deg)}20%{opacity:1;transform:translate(-50%,-90%) scale(1.2) rotate(-4deg)}40%{opacity:1;transform:translate(-50%,-105%) scale(1) rotate(2deg)}70%{opacity:1;transform:translate(-50%,-120%) scale(1.05) rotate(-2deg)}to{opacity:0;transform:translate(-50%,-150%) scale(.95) rotate(0)}}.bpt-spell-selection-area{position:fixed;left:0;right:0;bottom:0;z-index:91;display:flex;align-items:stretch;padding:0 8px calc(8px + var(--safe-bottom));gap:6px}.bloodpit-game.spell-selection-active .bpt-hand-zone{visibility:hidden}@media(min-height:740px){.bpt-spell-selection-area{bottom:calc(68px + var(--safe-bottom));padding-bottom:8px}}.bpt-selected-spell-slot{width:40%;display:flex;align-items:center;justify-content:center;padding:8px;box-sizing:border-box}.bpt-selected-spell-slot .bpt-card-stack{position:relative;bottom:auto;left:auto;margin-left:0}.bpt-spell-description-panel{position:relative;width:60%;flex-shrink:0;padding:48px 16px 12px 18px;border-radius:14px;border:1px solid rgba(220,90,70,.55);background:linear-gradient(160deg,#461812f5,#1e0c0afa);box-shadow:0 -2px 14px #0000008c,inset 0 1px #ffffff0d;color:#ffd2b8;overflow:visible;display:flex;flex-direction:column;gap:6px}.bpt-spell-description-panel.is-cast{border-color:#ff8c508c;background:linear-gradient(160deg,#3c1a0ef5,#1a0c08fa);color:#ffe0c4}.bpt-spell-description-header{display:flex;align-items:baseline;padding-right:36px;min-width:0}.bpt-spell-description-title{flex:1;min-width:0;font-size:.92rem;font-weight:800;color:#ffb088;letter-spacing:1.4px;text-transform:uppercase;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpt-spell-description-panel.is-cast .bpt-spell-description-title{color:#ffc89a}.bpt-spell-description-cost{position:absolute;top:8px;left:8px;height:26px;min-width:26px;padding:0 9px;border-radius:999px;border:1.5px solid rgba(212,175,55,.7);background:#3c2808e6;font-size:.78rem;font-weight:800;color:var(--d3-gold);letter-spacing:.4px;line-height:1;display:flex;align-items:center;justify-content:center;box-sizing:border-box;box-shadow:0 0 8px #d4af372e,0 1px 4px #00000080}.bpt-spell-description-effect{font-size:.7rem;font-weight:500;color:#ffd2b8d1;line-height:1.4}.bpt-spell-description-panel.is-cast .bpt-spell-description-effect{color:#ffdcc4d1}.bpt-spell-step-hints{display:flex;flex-direction:column;gap:2px;margin-top:0}.bpt-spell-step-hint{display:flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700;color:#ffd2b8;letter-spacing:.2px;line-height:1.3}.bpt-spell-step-hint:before{content:"▸";font-size:.95rem;color:#ff965af2;line-height:1;flex-shrink:0}.bpt-spell-step-hint.is-done{opacity:.55}.bpt-spell-step-hint.is-done:before{content:"✓"}.bpt-spell-step-hint.is-future{opacity:.3}.bpt-cast-step-visual{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding-top:6px}.bpt-cast-cell{width:30px;height:30px;border-radius:3px;background:#ffffff0f;display:flex;align-items:center;justify-content:center;font-size:15px;line-height:1;flex-shrink:0}.bpt-cast-cell svg{width:100%;height:100%}.bpt-cast-demon-large{position:relative;width:34px;height:34px;display:flex;align-items:center;justify-content:center}.bpt-cast-demon-art{display:block;width:100%;height:100%}.bpt-cast-demon-art svg{width:100%;height:100%}.bpt-cast-tap-finger{position:absolute;right:-6px;bottom:-10px;font-size:16px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.bpt-cast-enrage-badge{position:absolute;left:1px;top:-4px;font-size:22px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.bpt-cast-glyph-large{font-size:44px;line-height:1;color:#ffd2b8;text-shadow:0 0 8px rgba(255,180,130,.35)}.bpt-cast-swap-stack{flex-direction:column;gap:3px}.bpt-cast-trample-stack{flex-direction:column;gap:4px}.bpt-cast-bonemeld-stack{flex-direction:column;gap:2px}.bpt-cast-stomp-stack{flex-direction:column;gap:3px}.bpt-cast-stomp-row{display:flex;gap:3px}.bpt-cast-bonemeld-heart{font-size:18px;line-height:1;color:#ff5a6a;filter:drop-shadow(0 0 4px rgba(255,90,106,.5))}.bpt-cast-bonemeld-pair,.bpt-cast-trample-row{display:flex;gap:3px}.bpt-cast-cell-victim{position:relative}.bpt-cast-cell-art{display:block;width:100%;height:100%}.bpt-cast-cell-art svg{width:100%;height:100%}.bpt-cast-victim-x{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#ff3030;font-size:26px;font-weight:900;line-height:1;text-shadow:0 0 3px rgba(0,0,0,.95),0 0 1px #000;pointer-events:none}.bpt-cast-gnaw-cross{display:grid;grid-template-columns:repeat(3,auto);grid-template-rows:repeat(3,auto);column-gap:3px;row-gap:0;padding-top:10px}.bpt-cast-gnaw-cross .bpt-cast-gnaw-top{grid-column:2;grid-row:1;transform:translateY(8px)}.bpt-cast-gnaw-cross .bpt-cast-gnaw-left{grid-column:1;grid-row:2}.bpt-cast-gnaw-cross .bpt-cast-gnaw-center{grid-column:2;grid-row:2}.bpt-cast-gnaw-cross .bpt-cast-gnaw-right{grid-column:3;grid-row:2}.bpt-cast-gnaw-cross .bpt-cast-gnaw-bottom{grid-column:2;grid-row:3;transform:translateY(-8px)}.bpt-cast-gnaw-zzz{position:absolute;top:0;left:50%;transform:translate(-50%,-85%);color:#ffe600;font-size:9px;font-weight:900;letter-spacing:.5px;line-height:1;pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.95);z-index:1}.bpt-cast-swap-pair{display:flex;gap:0}.bpt-cast-swap-arrow{width:60px;height:10px;overflow:visible;color:#eee53ee6;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.bpt-spell-panel-actions{margin-top:auto;display:flex;justify-content:flex-end;gap:8px}.bpt-spell-buy-btn{min-width:140px;height:42px;padding:0 28px;border-radius:8px;border:1.5px solid rgba(212,175,55,.8);background:linear-gradient(180deg,#785010f2,#3c2808);color:var(--d3-gold);font-size:.95rem;font-weight:800;letter-spacing:1.6px;cursor:pointer;box-shadow:0 0 12px #d4af3740,0 2px 6px #00000080;transition:filter .1s ease,box-shadow .1s ease}.bpt-spell-buy-btn:active:not(:disabled){filter:brightness(1.2);border-color:#d4af37;box-shadow:0 0 16px #d4af3780,0 2px 6px #00000080}.bpt-spell-buy-btn:disabled{cursor:not-allowed;border-color:#d4af374d;color:#d4af3766;background:linear-gradient(180deg,#281c08e6,#1c1204);box-shadow:none}.bpt-spell-close-btn{position:absolute;top:8px;right:8px;width:26px;height:26px;padding:0;border-radius:50%;border:1.5px solid rgba(220,110,110,.7);background:#3a1616e6;color:#ff9a9a;font-weight:800;cursor:pointer;box-shadow:0 0 8px #dc6e6e2e,0 1px 4px #00000080;display:flex;align-items:center;justify-content:center}.bpt-spell-close-btn:before{content:"✕";font-size:.78rem;line-height:1}.bpt-spell-close-btn:active{border-color:#dc6e6e;background:#501c1cf2;box-shadow:0 0 12px #dc6e6e66,0 1px 4px #00000080}@media(max-width:390px){.bpt-spell-description-panel{padding:12px 12px 10px 14px;gap:5px}.bpt-spell-description-title{font-size:.82rem;letter-spacing:1.1px}.bpt-spell-description-cost{height:22px;min-width:22px;padding:0 7px;font-size:.7rem}.bpt-spell-description-effect{font-size:.64rem}.bpt-spell-step-hint{font-size:.66rem}.bpt-spell-buy-btn{min-width:124px;height:38px;font-size:.85rem;padding:0 22px}.bpt-cast-demon-large{width:28px;height:28px}.bpt-cast-tap-finger{right:-4px;bottom:-6px;font-size:10px}.bpt-cast-enrage-badge{left:1px;top:-4px;font-size:12px}.bpt-cast-cell{width:20px;height:20px;font-size:13px}.bpt-cast-glyph-large{font-size:24px}.bpt-cast-swap-arrow{width:40px;height:8px}.bpt-cast-trample-stack{gap:3px}.bpt-cast-trample-row{gap:2px}.bpt-cast-victim-x{font-size:18px}.bpt-cast-bonemeld-heart{font-size:14px}.bpt-cast-bonemeld-pair,.bpt-cast-stomp-stack,.bpt-cast-stomp-row{gap:2px}.bpt-cast-gnaw-cross{column-gap:2px;row-gap:0;padding-top:8px}.bpt-cast-gnaw-cross .bpt-cast-gnaw-top{transform:translateY(5px)}.bpt-cast-gnaw-cross .bpt-cast-gnaw-bottom{transform:translateY(-5px)}.bpt-cast-gnaw-zzz{font-size:7px;letter-spacing:.3px}}.bloodpit-game{max-width:100vw;margin:0 auto;width:100%;padding:0 8px 60px;box-sizing:border-box}.bloodpit-game .game-header{margin-left:-8px;margin-right:-8px}.bloodpit-game.drawer-open .game-header,.bloodpit-game.drawer-open .bpt-context-row{display:none}.bloodpit-game.drawer-open .bpt-board,.bloodpit-game.drawer-open .bpt-monster-bar{max-width:min(96vw,96vh - 146px,420px)}.bloodpit-game.drawer-open .bpt-board{pointer-events:none}.bpt-context-row{display:flex;align-items:stretch;gap:6px;margin-bottom:6px;min-height:32px}.bpt-score-bar{flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 10px;background:#26211cb3;border:1px solid var(--d3-border);border-radius:6px}.bpt-score{min-width:48px;font-size:.78rem;font-weight:700;line-height:1}.bpt-score-me{color:var(--d3-gold);text-align:left}.bpt-score-opp{color:#e55;text-align:right;position:relative;cursor:pointer;background:none;border:none;font:inherit;padding:0}.bpt-turn-counter{flex:1;text-align:center;font-size:.62rem;text-transform:uppercase;letter-spacing:1.2px;color:var(--d3-text);opacity:.65}.bpt-ap-counter{display:flex;align-items:center;justify-content:center;width:64px;flex-shrink:0;padding:0 8px;font-weight:400;font-size:.7rem;color:var(--d3-gold-light);letter-spacing:1px;background:#26211cb3;border:1px solid var(--d3-border);border-radius:6px;white-space:nowrap}@keyframes bpt-ap-flash{0%{color:#ffe000;background:#26211cb3;transform:scale(1)}20%{color:#fff;background:#c00;transform:scale(1.25)}60%{color:#fff;background:#c00;transform:scale(1.2)}to{color:#ffe000;background:#26211cb3;transform:scale(1)}}.bpt-ap-low{animation:bpt-ap-flash .6s ease-out 1 forwards}@keyframes bpt-ap-phase-flash{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.bpt-ap-phase-flash{animation:bpt-ap-phase-flash .45s ease-out 1}.bpt-bottom-bar{position:fixed;bottom:calc(12px + var(--safe-bottom));left:12px;right:12px;z-index:90;display:grid;grid-template-columns:repeat(3,minmax(0,22vw));justify-content:center;gap:8px;height:48px}.bpt-bottom-quest-slot{position:relative;height:48px}.bpt-bottom-quest{position:absolute;inset:0;padding:2px .4rem;border-radius:24px;display:flex;align-items:center;background:linear-gradient(145deg,#6e2820,#3e1410);border:2px solid rgba(240,120,90,.6);color:#ffc8a0;box-shadow:0 0 12px #dc5a4640,0 2px 8px #00000080;overflow:hidden;transform-origin:50% 50%;will-change:transform,opacity}.bpt-bottom-quest.is-lifting{animation:bpt-quest-lift .7s cubic-bezier(.4,0,.6,1) forwards;pointer-events:none;z-index:2}.bpt-bottom-quest.is-entering{animation:bpt-quest-enter .38s ease-out}@keyframes bpt-quest-lift{0%{transform:translateY(0) scale(1);opacity:1;border-color:#f0785a99;box-shadow:0 0 12px #dc5a4640,0 2px 8px #00000080}18%{transform:translateY(-6px) scale(1.08);opacity:1;border-color:#ffdc82f2;box-shadow:0 0 28px #ffc85ad9,0 0 56px #ffc85a73,0 4px 12px #0000008c}to{transform:translateY(-220px) scale(.45);opacity:0;border-color:#ffdc8200;box-shadow:0 0 60px #ffc85a00}}@keyframes bpt-quest-enter{0%{transform:translateY(10px) scale(.7);opacity:0}60%{transform:translateY(0) scale(1.05);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}.bpt-bottom-quest-pts{flex-shrink:0;font-size:.62rem;font-weight:800;color:#ff8c5a;line-height:1}.bpt-bottom-quest-pattern-wrap{flex:1;display:flex;justify-content:center;align-items:center}.bpt-bottom-quest .bpt-quest-pattern-cell{width:.7rem;height:.7rem}.bpt-bottom-quest .bpt-quest-pattern-cell:not(.filled){background:#ffdcc41f}.bpt-spell-card-buy.card-selected{border-color:var(--d3-gold);box-shadow:0 0 14px #d4af3773,0 2px 8px #00000080}.bpt-place-toggle-btn{position:fixed;bottom:calc(8px + var(--safe-bottom));left:50%;transform:translate(-50%);z-index:95;padding:4px 14px;border-radius:999px;border:1px solid rgba(212,175,55,.55);background:#140d03d1;color:#d4af37e6;font-size:.68rem;font-weight:600;letter-spacing:.3px;cursor:pointer;white-space:nowrap}.bpt-place-toggle-btn:active{border-color:#d4af37cc;color:#d4af37}.bpt-end-turn-btn{width:64px;flex-shrink:0;padding:0;font-size:.72rem;font-weight:600;border:1px solid rgba(255,255,255,.25);border-radius:6px;background:#ffffff14;color:#fffc;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s;white-space:nowrap}.bpt-end-turn-btn:hover:not(:disabled){background:#ffffff26;border-color:#fff6}.bpt-end-turn-btn:disabled{opacity:.4;cursor:default}@keyframes bpt-end-turn-pulse{0%,to{background:#d4af372e;border-color:#d4af3799;color:var(--d3-gold);box-shadow:0 0 #d4af3700}50%{background:#d4af3759;border-color:#d4af37;color:#fff;box-shadow:0 0 12px #d4af3799}}.bpt-end-turn-btn.bpt-end-turn-pulse{animation:bpt-end-turn-pulse 1.2s ease-in-out infinite}.bpt-sheet{border-top:2px solid rgba(220,90,70,.55);border-radius:14px 14px 0 0;background:linear-gradient(180deg,#461812f5,#280e0cfa 42%,#140808);padding:10px 12px calc(18px + var(--safe-bottom));align-items:stretch;min-height:100%;max-height:100%;box-sizing:border-box;overflow:hidden}.bpt-sheet .bottom-sheet-handle{margin:0 auto 8px;background:#ff965a99}.bpt-sheet .bottom-sheet-close{margin-top:10px;width:100%;background:#ffffff14;color:#ffffffe6;border-radius:6px;padding:8px 10px;font-size:.72rem;letter-spacing:.8px}.bpt-quest-badge{position:absolute;top:-6px;right:-8px;background:#50c8a0;color:#000;font-size:.55rem;font-weight:800;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}.hnf-board{display:grid;grid-template-columns:repeat(11,1fr);grid-template-rows:repeat(11,1fr);gap:1px;width:min(92vw,440px);aspect-ratio:1;padding:4px;background:linear-gradient(145deg,#4a3c2acc,#2a2420f2,#1a1512);border:2px solid var(--d3-gold-dark);border-radius:6px;box-shadow:0 4px 20px #00000080,inset 0 1px #ffffff08}.hnf-cell{position:relative;display:flex;align-items:center;justify-content:center;background:var(--d3-stone);border:1px solid var(--d3-border);border-radius:2px;cursor:pointer;padding:0;transition:background var(--d3-transition)}.hnf-cell:active{transform:scale(.95);transition-duration:50ms}.hnf-cell-throne{background:linear-gradient(145deg,rgba(139,105,20,.25) 0%,var(--d3-stone) 100%);border-color:var(--d3-gold-dark)}.hnf-cell-throne:before{content:"";position:absolute;inset:20%;border:1px solid rgba(201,162,39,.2);border-radius:50%;pointer-events:none}.hnf-cell-corner{background:linear-gradient(145deg,#8b69144d,#c9a22726);border-color:var(--d3-gold-dark)}.hnf-cell-corner:before{content:"";position:absolute;inset:15%;border:1px solid rgba(201,162,39,.3);pointer-events:none}.hnf-cell-own{cursor:pointer}@media(hover:hover){.hnf-cell-own:hover{background:var(--d3-stone-light)}}.hnf-cell-selected{background:#c9a22733!important;border-color:var(--d3-gold)!important;box-shadow:inset 0 0 6px #c9a2274d}.hnf-cell-valid{cursor:pointer}@media(hover:hover){.hnf-cell-valid:hover{background:#c9a22726}}.hnf-move-dot{width:25%;height:25%;border-radius:50%;background:var(--d3-gold-dark);opacity:.5}.hnf-cell-last-from{background:#c9a22714}.hnf-cell-last-to{background:#c9a2271f}.hnf-piece{width:78%;height:78%;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform var(--d3-transition);pointer-events:none}.hnf-piece-attacker{background:radial-gradient(circle at 35% 35%,#c44,#8b0000 60%,#5a0000);border:1px solid #cc3333;box-shadow:0 2px 4px #00000080,inset 0 1px 2px #ff646433}.hnf-piece-defender{background:radial-gradient(circle at 35% 35%,#e8c547,#c9a227 60%,#8b6914);border:1px solid #c9a227;box-shadow:0 2px 4px #00000080,inset 0 1px 2px #ffe6964d}.hnf-piece-king{background:radial-gradient(circle at 35% 35%,#ffe066,#e8c547,#c9a227);border:2px solid #e8c547;box-shadow:0 2px 6px #c9a22766,0 2px 4px #00000080,inset 0 1px 2px #ffffc84d;font-size:clamp(12px,3vw,20px);color:#5a3a00;text-shadow:0 1px 1px rgba(255,255,200,.3);width:84%;height:84%}.hnf-legend{display:flex;gap:16px;margin-top:14px;font-size:.75rem;color:var(--d3-text);opacity:.7}.hnf-legend-item{display:flex;align-items:center;gap:5px}.hnf-legend-swatch{width:14px;height:14px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px}.hnf-legend-attacker{background:#8b0000;border:1px solid #cc3333}.hnf-legend-defender{background:#c9a227;border:1px solid #e8c547}.hnf-legend-king{background:#e8c547;border:1px solid #ffe066;color:#5a3a00}.square-highlight{box-shadow:0 0 8px 2px #daa52066,inset 0 0 6px #daa52026;border-color:var(--d3-gold);animation:square-pulse 1.8s ease-in-out infinite}@keyframes square-pulse{0%,to{box-shadow:0 0 8px 2px #daa52066,inset 0 0 6px #daa52026}50%{box-shadow:0 0 14px 4px #daa52099,inset 0 0 10px #daa52040}}.tutorial-description{max-width:300px;margin:8px 0 16px;padding:0 8px;font-family:Georgia,Times New Roman,serif;font-size:.85rem;line-height:1.5;color:var(--d3-text);text-align:center}.tutorial-nav{display:flex;align-items:center;gap:12px;margin-top:20px}.tutorial-nav button{padding:10px 20px;font-family:Georgia,Times New Roman,serif;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--d3-text-bright);background:linear-gradient(180deg,#6b2020,#4a1515,#2d0a0a);border:1px solid #8b3030;border-bottom:2px solid #8b3030;border-radius:4px;cursor:pointer;box-shadow:0 1px 4px #0006;transition:transform var(--d3-transition),box-shadow var(--d3-transition),border-color var(--d3-transition);will-change:transform}@media(hover:hover){.tutorial-nav button:not(:disabled):hover{border-color:#b04040;box-shadow:0 2px 12px #8b000033;transform:translateY(-1px)}}.tutorial-nav button:active{transform:translateY(1px);box-shadow:inset 0 2px 5px #00000080;transition-duration:50ms}.tutorial-nav button:disabled{background:linear-gradient(180deg,#3d3530,#2a2420,#1a1512);border-color:var(--d3-border);color:#555;cursor:not-allowed;box-shadow:none}.tutorial-step-indicator{font-family:Georgia,Times New Roman,serif;font-size:.8rem;color:var(--d3-gold);letter-spacing:1px;min-width:40px;text-align:center}.reversi-game{display:flex;flex-direction:column;align-items:center;padding:0 12px 60px;min-height:100%;font-family:Georgia,Times New Roman,serif}.reversi-score{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:1.1rem;letter-spacing:1px}.score-b{color:#bbb}.score-w{color:var(--d3-gold-light)}.score-you{font-weight:700;text-decoration:underline;text-underline-offset:3px}.score-separator{color:var(--d3-border)}.reversi-board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);gap:1px;padding:6px;width:min(340px,calc(100vw - 32px));height:min(340px,calc(100vw - 32px));background:linear-gradient(145deg,#143214f2,#0a1e0afa,#051205);border:2px solid var(--d3-gold-dark);border-radius:6px;box-shadow:0 4px 20px #00000080,inset 0 1px #ffffff08}.reversi-cell{background:#1e461e99;border:1px solid rgba(20,50,20,.8);border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background var(--d3-transition);position:relative}@media(hover:hover){.reversi-cell.cell-valid:hover{background:#326432b3}}.reversi-cell:active{transform:scale(.95);transition-duration:50ms}.reversi-piece{display:block;width:80%;height:80%;border-radius:50%;transition:transform .3s ease}.piece-b{background:radial-gradient(circle at 35% 35%,#555,#111 70%);box-shadow:0 2px 4px #0009,inset 0 1px 2px #ffffff26}.piece-w{background:radial-gradient(circle at 35% 35%,#fff,#c9a227 70%);box-shadow:0 2px 4px #0006,inset 0 1px 2px #ffffff80}.reversi-hint{display:block;width:25%;height:25%;border-radius:50%;background:#c9a2274d}.cell-highlight{box-shadow:0 0 8px 2px #daa52066,inset 0 0 6px #daa52026;border-color:var(--d3-gold);animation:cell-pulse 1.8s ease-in-out infinite}@keyframes cell-pulse{0%,to{box-shadow:0 0 8px 2px #daa52066,inset 0 0 6px #daa52026}50%{box-shadow:0 0 14px 4px #daa52099,inset 0 0 10px #daa52040}}.reversi-game:has(.tutorial-nav){padding-bottom:12px}.reversi-game:has(.tutorial-nav) .reversi-board{width:min(300px,calc(100vw - 32px));height:min(300px,calc(100vw - 32px))}.obn-hand-zone{position:absolute;left:0;right:0;bottom:26px;z-index:100}.obn-hand-fan{position:relative;height:96px;margin:0 auto;overflow:visible}.obn-hand-slot{position:absolute;bottom:0;left:50%;margin-left:-31px;width:62px;height:92px;transform-origin:50% 100%;transition:transform .15s ease}.obn-card{position:absolute;top:0;left:0;width:62px;height:92px;border-radius:8px;background:linear-gradient(160deg,#2e241efa,#140e0c);border:1.5px solid var(--d3-border);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:7px 4px 4px;cursor:pointer;box-shadow:0 2px 8px #0009,inset 0 1px #ffffff0a}.obn-card.obn-card-selected{border-color:var(--d3-gold)!important;box-shadow:0 0 14px #d4af3780,0 4px 12px #0009}@media(hover:hover){.obn-card:hover{border-color:currentColor}}.obn-card-cost{position:absolute;top:-7px;left:-6px;min-width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#3a7bd5,#142850);border:1.5px solid #6fa8ff;color:#d8e8ff;font-size:.7rem;font-weight:900;line-height:16px;text-align:center;pointer-events:none;z-index:2;box-shadow:0 1px 4px #000000b3}.obn-card-burst{position:absolute;top:-7px;right:-5px;color:#ffce54;font-size:.8rem;line-height:1;pointer-events:none;z-index:2;text-shadow:0 0 6px rgba(255,170,0,.9)}.obn-card-art{width:100%;height:44px;display:flex;align-items:center;justify-content:center;opacity:.85}.obn-card-art svg{width:100%;height:100%}.obn-card-name{font-size:.52rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;line-height:1;opacity:.8}.obn-card-stats{display:flex;justify-content:space-between;align-items:flex-end;width:100%;padding:0 2px}.obn-card-atk{font-size:.82rem;font-weight:900;line-height:1;color:#ffce54}.obn-card-hp{font-size:.82rem;font-weight:900;line-height:1;color:#ff6b6b}.obn-opp-hand{position:relative;z-index:1;height:30px;margin-top:-24px;pointer-events:none}.obn-opp-card-slot{position:absolute;top:0;left:50%;margin-left:-17px;width:34px;height:48px;transform-origin:50% 0%;transition:transform .2s ease}.obn-card-back{width:100%;height:100%;border-radius:5px;border:1px solid rgba(212,175,55,.35);background:radial-gradient(circle at 50% 45%,rgba(212,175,55,.16),transparent 62%),repeating-linear-gradient(135deg,rgba(212,175,55,.07) 0 3px,transparent 3px 7px),linear-gradient(160deg,#2a2118,#120d0a);box-shadow:0 2px 6px #0009,inset 0 0 0 2px #00000073;display:flex;align-items:flex-end;justify-content:center;padding-bottom:7px}.obn-card-back:after{content:"✦";color:#d4af3780;font-size:.8rem;line-height:1;text-shadow:0 0 5px rgba(255,170,0,.4)}.obn-opp-card-slot-selected .obn-card-back{border-color:var(--d3-gold);box-shadow:0 0 12px #d4af37bf,0 2px 6px #0009}.obn-opp-card-slot-selected .obn-card-back:after{color:var(--d3-gold)}.oathburn-game{position:relative;display:flex;flex-direction:column;min-height:100%}@media not all and (max-width:449px)and (orientation:portrait){.oathburn-game{height:calc(100dvh - var(--safe-top) - var(--safe-bottom))}}.oathburn-game .game-header-dialog{right:auto;width:calc((100% - 128px)*.3)}.obn-table{flex:1;display:flex;flex-direction:column;justify-content:flex-start;gap:4px;padding:4px 130px 126px 145px}.obn-side-row{display:flex;align-items:center;gap:8px;min-height:76px}.obn-divider{height:1px;margin:0 12px;background:linear-gradient(90deg,transparent,var(--d3-border),transparent)}.obn-face{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:118px;padding:6px 8px;border-radius:8px;border:1.5px solid var(--d3-border);background:linear-gradient(160deg,#28201ae6,#120e0cf2);color:inherit;font:inherit;cursor:default}.obn-face:disabled{opacity:1}.obn-opp-corner{position:absolute;top:56px;left:10px;z-index:110;display:flex;flex-direction:column}.obn-opp-corner .obn-face{position:relative;z-index:2}.obn-face-corner-bottom{position:absolute;bottom:10px;left:10px;z-index:110}.obn-face-targetable{cursor:pointer;border-color:#ff503cd9;box-shadow:0 0 12px #ff503c73;animation:obn-target-pulse 1.1s ease-in-out infinite}@keyframes obn-target-pulse{0%,to{box-shadow:0 0 6px #ff503c59}50%{box-shadow:0 0 16px #ff503cb3}}.obn-shields{display:flex;gap:3px;min-height:16px}.obn-shield{color:#ffce54;font-size:.85rem;line-height:1;text-shadow:0 0 6px rgba(255,170,0,.7)}.obn-shields-empty{color:#ff6b6b;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:1px}.obn-face-meta{display:flex;gap:8px;font-size:.68rem;opacity:.85}.obn-meta-mana{color:#6fa8ff;font-weight:800}.obn-mana-shake{animation:obn-mana-shake .42s ease}@keyframes obn-mana-shake{0%,to{transform:translate(0)}15%{transform:translate(-3px);color:#ff6b6b}35%{transform:translate(3px);color:#ff6b6b}55%{transform:translate(-3px);color:#ff6b6b}75%{transform:translate(2px)}90%{transform:translate(-1px)}}.obn-board-row{flex:1;display:flex;align-items:center;justify-content:center;justify-content:safe center;gap:6px;min-height:70px;padding:10px 4px 2px;overflow-x:auto}.obn-summon-slot{width:54px;height:66px;flex-shrink:0;border-radius:7px;border:1.5px dashed currentColor;background:#d4af370f;display:flex;align-items:center;justify-content:center;padding:4px;cursor:pointer;animation:obn-summon-pulse 1.2s ease-in-out infinite}@keyframes obn-summon-pulse{0%,to{box-shadow:0 0 4px #d4af3740}50%{box-shadow:0 0 12px #d4af3799}}.obn-minion{position:relative;width:54px;height:66px;flex-shrink:0;border-radius:7px;border:1.5px solid currentColor;background:linear-gradient(160deg,#241e18f2,#100c0a);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:4px 3px 3px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.obn-minion-zzz{position:absolute;top:0;left:50%;transform:translate(-50%,-75%);color:#ffe600;font-size:.62rem;font-weight:900;letter-spacing:1px;line-height:1;pointer-events:none;z-index:1;text-shadow:0 1px 4px rgba(0,0,0,.95)}.obn-minion-ready{box-shadow:0 0 8px #d4af3773}.obn-minion-selected{transform:translateY(-4px);box-shadow:0 0 14px #d4af37d9!important;border-color:var(--d3-gold)!important}.obn-minion-targetable{box-shadow:0 0 10px #ff503c8c;border-color:#ff503cd9!important}.obn-minion-art{width:100%;height:38px;display:flex;align-items:center;justify-content:center;opacity:.85;pointer-events:none}.obn-minion-art svg{width:100%;height:100%}.obn-minion-stats{display:flex;justify-content:space-between;width:100%;padding:0 2px;pointer-events:none}.obn-minion-atk{font-size:.78rem;font-weight:900;color:#ffce54}.obn-minion-hp{font-size:.78rem;font-weight:900;color:#9be59b}.obn-minion-hp-damaged{color:#ff6b6b}.obn-minion-flying{visibility:hidden}.obn-attack-fx{position:absolute;z-index:200;pointer-events:none;border-color:var(--d3-gold);box-shadow:0 0 14px #d4af37d9;animation:obn-attack-lunge .52s forwards}@keyframes obn-attack-lunge{0%{transform:translate(0);animation-timing-function:ease-out}22%{transform:translateY(-10px) scale(1.07);animation-timing-function:ease-in-out}42%{transform:translate(calc(var(--obn-lunge-x) * -.16),calc(var(--obn-lunge-y) * -.16 - 8px)) scale(1.07);animation-timing-function:cubic-bezier(.55,0,.8,.5)}63%,70%{transform:translate(var(--obn-lunge-x),var(--obn-lunge-y)) scale(1.12);animation-timing-function:ease-in-out}to{transform:translate(0)}}.obn-card-detail{position:absolute;top:50%;right:10px;transform:translateY(-50%);z-index:90;width:200px;max-height:72%;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 12px 10px;border-radius:10px;border:1.5px solid currentColor;background:linear-gradient(160deg,#241e18f5,#0e0a08fa);box-shadow:0 4px 18px #000000a6;pointer-events:none;animation:obn-detail-in .14s ease-out}@keyframes obn-detail-in{0%{opacity:0;transform:translateY(-50%) translate(8px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.obn-detail-art{width:56px;height:56px;display:flex;opacity:.9}.obn-detail-art svg{width:100%;height:100%}.obn-detail-name{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px}.obn-detail-statline{display:flex;gap:12px;font-size:.74rem;font-weight:900}.obn-detail-cost{color:#6fa8ff}.obn-detail-atk{color:#ffce54}.obn-detail-hp{color:#9be59b}.obn-detail-effect{font-size:.62rem;line-height:1.45;text-align:center;color:var(--d3-text);opacity:.85}.obn-detail-effect-burst{color:#ffce54;opacity:1}.obn-detail-lore{font-size:.6rem;line-height:1.45;font-style:italic;text-align:center;color:var(--d3-text);opacity:.55}.obn-end-turn-btn{position:absolute;right:12px;bottom:12px;z-index:110;padding:10px 14px;border-radius:8px;border:1.5px solid var(--d3-gold);background:linear-gradient(160deg,#5a4316,#2a1f08);color:var(--d3-gold);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;cursor:pointer}.obn-end-turn-btn:disabled{opacity:.35;cursor:not-allowed}.obn-end-turn-btn.obn-end-turn-ready{border-color:#3ddc7a;background:linear-gradient(160deg,#1c5a32,#0a2a14);color:#7dffb0;animation:obn-end-turn-pulse 1.4s ease-in-out infinite}@keyframes obn-end-turn-pulse{0%,to{box-shadow:0 0 6px #3ddc7a59}50%{box-shadow:0 0 16px #3ddc7ab3}}.obn-reveal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:500}.obn-reveal-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 18px;border-radius:10px;border:2px solid currentColor;background:linear-gradient(160deg,#28201af7,#0e0a08fc);box-shadow:0 0 30px #000c;animation:obn-reveal-pop 2.2s ease forwards}.obn-reveal-burst .obn-reveal-card{box-shadow:0 0 36px #ffaa008c}@keyframes obn-reveal-pop{0%{transform:scale(.4) rotate(-6deg);opacity:0}12%{transform:scale(1.08) rotate(2deg);opacity:1}20%{transform:scale(1) rotate(0)}80%{transform:scale(1);opacity:1}to{transform:scale(.92);opacity:0}}.obn-reveal-art{width:64px;height:64px;display:flex}.obn-reveal-art svg{width:100%;height:100%}.obn-reveal-label{font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:1.5px}.obn-reveal-burst .obn-reveal-label{color:#ffce54;text-shadow:0 0 8px rgba(255,170,0,.8)}.waiting-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px 60px;min-height:100%;font-family:Georgia,Times New Roman,serif;gap:8px}.waiting-container h1{font-family:Palatino Linotype,Palatino,Georgia,serif;font-size:2rem;margin-bottom:4px;color:var(--d3-gold);text-shadow:0 2px 4px rgba(0,0,0,.8);letter-spacing:3px;text-transform:uppercase;text-align:center}.waiting-container .tagline{color:var(--d3-text);font-size:.95rem;font-style:italic;letter-spacing:3px;text-shadow:0 2px 4px rgba(0,0,0,.5);margin:4px 0 0;opacity:.7}.waiting-container hr{width:200px;height:1px;border:none;background:linear-gradient(90deg,transparent 0%,var(--d3-gold-dark) 25%,var(--d3-gold) 50%,var(--d3-gold-dark) 75%,transparent 100%);margin:18px 0 22px;opacity:.7}.waiting-container h2{font-family:Palatino Linotype,Palatino,Georgia,serif;font-size:1.4rem;color:var(--d3-gold);text-shadow:0 2px 4px rgba(0,0,0,.8);letter-spacing:2px;text-transform:uppercase;text-align:center;animation:waiting-pulse 2.5s ease-in-out infinite;margin:0}@keyframes waiting-pulse{0%,to{opacity:.55}50%{opacity:1}}.waiting-challenge-id{color:var(--d3-text);font-size:.75rem;opacity:.5;letter-spacing:1px;margin:8px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px;text-align:center;font-family:monospace}.waiting-container .navlink{margin-top:auto;font-size:.85rem}.error-page-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;min-height:100%;font-family:Georgia,Times New Roman,serif;gap:12px;text-align:center}.error-page-container h1{color:var(--d3-red-bright);font-size:1.8rem;letter-spacing:2px;text-transform:uppercase}.error-page-container p{color:var(--d3-text);font-size:1rem;max-width:400px;line-height:1.5}
